Você está na página 1de 229

COPPE/UFRJ

UMA ARQUITETURA MECATRÔNICA DE NAVEGAÇÃO PARA VEÍCULOS


COM REBOQUES GUIADOS AUTOMATICAMENTE EM AMBIENTES DE
SISTEMAS FLEXÍVEIS DE MANUFATURA

Omar Lengerke Pérez

Tese de Doutorado apresentada ao Programa de


Pós-graduação em Engenharia Mecânica,
COPPE, da Universidade Federal do Rio de
Janeiro, como parte dos requisitos necessários à
obtenção do título de Doutor em Engenharia
Mecânica.

Orientador: Max Suell Dutra

Rio de Janeiro
Março 2010
Lengerke, Pérez Omar
Uma Arquitetura Mecatrônica de Navegação para
Veículos com Reboques Guiados Automaticamente em
Ambientes de Sistemas Flexíveis de Manufatura/ Omar
Lengerke Pérez. – Rio de Janeiro: UFRJ/COPPE, 2010.
XXVI, 203 p.: il.; 29,7 cm.
Orientador: Max Suell Dutra
Tese (doutorado) – UFRJ/ COPPE/ Programa de
Engenharia Mecânica, 2010.
Referencias Bibliográficas: p. 153-174.
1. Projeto de Máquinas e Robótica. 2. Veículos
Guiados Automaticamente. 3. Sistemas Flexíveis de
Manufatura. I. Dutra, Max Suell. II. Universidade Federal
do Rio de Janeiro, COPPE, Programa de Engenharia
Mecânica. III. Titulo.

iii
A minha esposa por ser
o centro da minha vida.
Ao meu pai pelos ensinamentos
que eu vou carregar pela minha
vida inteira (in memoriam).

iv
AGRADECIMENTOS

Ao Deus por ter me dado força e determinação, na busca pelos meus objetivos,
pela coragem para superar os desafios e o cansaço e dessa forma transformar meu sonho
em realidade.
À minha esposa, Magda Judith, pelo incentivo, paciência, carinho e amor. Sem
seu amor nada faria sentido. Amo você!
Aos meus pais, Jorge (in memmorian) e Susana pelo amor, apoio e por terem
ajudado a construir a pessoa que sou hoje. Aos meus irmãos Jorge, Susana e Janeth,
pelo amor e carinho. Às minhas sobrinhas Alma Janeth, Leidy Tatiana, Nathali, Laurita
e Sofi e aos meus cunhados Alma, William e Jaimito pela fonte de energia que foram e
são para mim.
À Dona Zoraida, pelo carinho, apoio e lições de vida durante esta caminhada.
À Família Tavera, em especial a Dona Zoraida pelo carinho, apoio e exemplo de
vida.
Especialmente, agradeço ao meu orientador Prof. Max Suell Dutra pela disposição e
confiança para discutir idéias e ampliar as minhas metas. Com sua visão empreendedora,
alcançamos realizar sonhos e idéias conjuntas. Sempre oferece oportunidades de
crescimento profissional e eu fui um dos privilegiados. Muitas lições que espero guardar ao
longo da minha vida. É meu exemplo e alvo a seguir. Muito Obrigado, Doutor. A Dilce,
muito obrigado pelo carinho.
Agradeço ao Prof. Felipe Maia Galvão França e a sua esposa Priscila, pela
orientação, dedicação e amizade na realização deste trabalho, que não seria possível sem
a presença de vocês.
Ofereço os meus agradecimentos aos membros da banca da examinadora, a
começar pelo Prof. Fernando Augusto de Noronha Castro Pinto pelas discussões, apoio
e confiança das questões acerca das simulações. Ao Prof. Jules Slama pelas suas
experiências e ao Prof. Marco Antonio Meggiolaro pelas correções sugeridas ao
trabalho final.
Ao Prof. Jaime Humberto Carvajal pela sua confiança e apoio para iniciar este
estudo. Ao Prof. Vitor Romano pelo apoio e amizade durante esta jornada.

v
Ao Dr. Gabriel Burgos Mantilla, pela ajuda, incentivo e compreensão que me
fizeram superar para chegar até este objetivo. Agradeço de coração por você ser uma pessoa
iluminada, por estar tão presente na minha formação profissional (Engenharia, Mestrado e
Doutorado) e por confiar em mim.
Ao Dr. Alberto Montoya Puyana pela confiança, apoio e por me continuar a
acompanhar nesta jornada de formação, o que me representou uma oportunidade ímpar de
crescimento acadêmico e também pessoal. Obrigado pela oportunidade de aprender e
contribuir ao crescimento da nossa região e nosso país.
Ao Dr. Gilberto Ramirez Valbuena e à Dra. Eulália García pelo enorme interesse e
disposição em colaborar sempre que solicitada a sua ajuda.
À Dra. Maria Teresa Camargo pelos conselhos sempre pertinentes e pelo grande
incentivo e apoio durante meus estudos.
Especialmente, agradeço ao Dr. Germán Oliveros pela amizade, apoio, motivação,
compreensão e dedicação que foram indispensáveis para a realização dos meus estudos.
Aos amigos, Alox, Fabrício, Cristiano, Abenildo, Julio Jesuz, Marcos Motta,
Wellington, Ronaldo, Joilson, Trajano e Daniel Suescún pela ajuda, apoio e
conhecimentos compartilhados. Em especial, agradecimento ao Abrahão, pela sua
disposição e a quem desejo muitos êxitos na sua vida profissional.
Aos funcionários do Departamento de Mecânica COPPE/UFRJ, Maysa, Tito, Sr.
Marquinhos, o Boca, Vitória, Bia e em especial a Verinha (e família) pelo carinho,
atenção e paciência.
Aos meus alunos e ex-alunos, que me obrigam a evoluir, a me tornar cada dia
melhor.
A todos meus colegas do Laboratório de Robótica pelo convívio.
Sou grato ao CNPq e à Universidade Autônoma de Bucaramanga (UNAB), pela
bolsa e oportunidade concedida durante a pesquisa.

vi
Resumo da Tese apresentada à COPPE/UFRJ como parte dos requisitos necessários
para a obtenção do grau de Doutor em Ciências (D.Sc.)

UMA ARQUITETURA MECATRÔNICA DE NAVEGAÇÃO PARA VEÍCULOS


COM REBOQUES GUIADOS AUTOMATICAMENTE EM AMBIENTES DE
SISTEMAS FLEXÍVEIS DE MANUFATURA

Omar Lengerke Pérez

Março/2010

Orientador: Max Suell Dutra

Programa: Engenharia Mecânica

Os Veículos Guiados Automaticamente (AGVs) têm sido frequentemente


utilizados como equipamentos para transporte de materiais em sistema de manufatura.
Particularmente, AGVs com reboques são e continuam sendo a espinha dorsal da
indústria na manipulação de material. Nesta pesquisa, um estudo de uma arquitetura
mecatrônica sobre a navegação e a simulação de um modelo hipotético, que inclui um
Sistema Flexível de Manufatura (SFM) foi desenvolvido. A nova abordagem baseia-se
no mapeamento de sistemas Job Shop na dinâmica de grafos por Escalonamento por
Reversão de Arestas (ERA), a partir de uma orientação acíclica inicial sobre G´s arestas,
que pode ser definido através de heurísticas tradicionais, permitindo aos Jobs e AGVs
proceder livres de bloqueios perpétuos (deadlock) e fome (starvation), sem a
necessidade de uma coordenação central. Adicionalmente, apresenta-se o método de
campo potencial para geração de caminhos em espaços com obstáculos e com
parâmetros de claro significado geométrico. Por último é apresentada a modelagem
computacional de dois veículos com reboque, seguida de uma descrição metodológica
implementando o controle de manobras. Os veículos e um conjunto de trajetórias
específicas foram desenvolvidos para testar os modelos.

vii
Abstract of Thesis presented to COPPE/UFRJ as a partial fulfillment of the
requirements for the degree of Doctor of Science (D.Sc.)

MECHATRONICS ARCHITECTURE FOR NAVIGATION FOR AUTOMATED


GUIDED VEHICLES WITH TRAILERS ON ENVIRONMENTS OF FLEXIBLE
MANUFACTURING SYSTEMS

Omar Lengerke Pérez

March/2010

Advisors: Max Suell Dutra

Department: Mechanical Engineering

Automated Guided Vehicle (AGV) systems have been frequently used as


material handling equipment in manufacturing systems since the last two decades.
Particularly, AGVs with trailers are, and will continue to be, the backbone of the
industry of material manipulation. In this thesis, a study of the trajectories and
simulation model of hypothetical systems, which include a FMS (Flexible
Manufacturing System) environment, were developed. The new approach is based on
the Scheduling by Edge Reversal (SER) graph dynamics which, from an initial acyclic
orientation over G’s edges, that can be defined through traditional efficient heuristics, so
as to let jobs and AGVs to proceed in free way of deadlock and starvation-free, without
the need of any central coordination. Also a simulation model has been developed to
support this condition. In addition, the potential field method is used for generating
paths on spaces with obstacles and parameters of a clear meaning. Finally is providing a
computational modeling of two vehicles with trailer, which is followed with a
description of methodology and a maneuvers control. The vehicles and a set of specific
paths were developed to models test.

viii
SUMÁRIO

ÍNDICE DE FIGURAS .............................................................................................XIII

ÍNDICE DE TABELAS ..............................................................................................XX

ABREVIATURAS ..................................................................................................... XXI

GLOSSÁRIO .......................................................................................................... XXIII

LISTA DE SÍMBOLOS ......................................................................................... XXVI

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

1.1 Estado da Técnica............................................................................................... 4


1.1.1 Aplicações Industriais .................................................................................. 5
1.1.2 Pesquisas Desenvolvidas.............................................................................. 7

1.2 Objetivos............................................................................................................ 12

1.3 Motivação .......................................................................................................... 13

1.4 Organização da Tese ........................................................................................ 14

2 SISTEMAS E ARQUITETURAS MECATRÔNICAS EM AGVS ................. 17

2.1 Robôs Móveis .................................................................................................... 17

2.2 Veículos Inteligentes ......................................................................................... 23

2.3 Veículos Guiados Automaticamente ............................................................... 26


2.3.1 Técnicas de Orientação em AGVs .............................................................. 31

2.4 Tipos de AGVs .................................................................................................. 35


2.4.1 AGVs de Reboques (Towing ou Tugger AGVs) .......................................... 35
2.4.2 AGVs de Unidades de Carga (Unit Load AGVs) ....................................... 36
2.4.3 AGVs de Empilhadeira (Fork Truck AGVs) ............................................... 37
ix
2.4.4 AGVs de Carga Leve (Light Load AGVs)................................................... 37
2.4.5 AGVs para Linha de Montagem (AGVs Assembly Line Vehicles) ............. 38

2.5 Funções Básicas dos AGVs .............................................................................. 38


2.5.1 Orientação .................................................................................................. 38
2.5.2 Encaminhamento ........................................................................................ 39
2.5.3 Administração do Tráfego .......................................................................... 40
2.5.4 Transferência de Carga.............................................................................. 40
2.5.5 Gerenciamento do Sistema ......................................................................... 41
2.5.6 Diretrizes de Sistemas de Segurança em AGVs ......................................... 42

2.6 Arquitetura Mecatrônica em Sistemas AGVs ............................................... 42

3 ARQUITETURA MECATRÔNICA DE NAVEGAÇÃO BASEADA EM


SISTEMAS JOB SHOP................................................................................................ 48

3.1 Navegação de AGVs em SFM.......................................................................... 51


3.1.1 Políticas de Controle de AGVs em SFM .................................................... 52
3.1.2 Modelagem do Ambiente ............................................................................ 53

3.2 Configurações de Fluxo de Caminhos para AGVs ........................................ 54

3.3 Planejamento de Tarefas em AGVs ................................................................ 56

3.4 Algoritmo de Planejamento de Rotas em Job Shop ...................................... 58


3.4.1 Regras de Prioridade de Liberação ........................................................... 60
3.4.2 Exemplo ...................................................................................................... 61

3.5 Controle Distribuído de Sistemas Job Shop utilizando Escalonamento por


Reversão de Arestas ..................................................................................................... 63
3.5.1 Generalizações do ERA .............................................................................. 65
3.5.2 Desenvolvimento do ERA em Sistemas Job Shop para o Planejamento de
Rotas de AGVs ............................................................................................................ 70
3.5.3 Exemplo ...................................................................................................... 73

3.6 Desenvolvimento do ERA em SFM para o Planejamento de Caminhos de


AGVs.............................................................................................................................. 75

x
3.7 Desenvolvimento do ERA em SFM para o Planejamento de Trajetórias de
AGVs - Único Trecho ................................................................................................... 79

3.8 Desenvolvimento do ERA em SFM para o Planejamento de Trajetórias de


AGVs - Múltiplos Trechos ........................................................................................... 83

4 MODELAGEM CINEMÁTICA E GERAÇÃO DE CAMINHOS DE AGVS


COM REBOQUES ....................................................................................................... 89

4.1 Modelo Cinemático 1........................................................................................ 90

4.2 Modelo Cinemático 2........................................................................................ 97

4.3 Geração de Caminhos baseado em Campos Potenciais .............................. 100


4.3.1 Simulação para Geração de Caminhos.................................................... 107

5 CONTROLE DE MANOBRAS DE SISTEMAS DE VEÍCULOS COM


REBOQUES PARA AVALIAÇÕES DE DESEMPENHO .................................... 112

5.1 Metodologia..................................................................................................... 114


5.1.1 Veículo de Referência............................................................................... 115
5.1.2 Controle de Manobras.............................................................................. 120
5.1.3 Simulação ................................................................................................. 123
5.1.4 Validação do modelo ................................................................................ 143
5.1.5 Discussão de resultados ........................................................................... 144
5.1.1 Desempenho Computacional.................................................................... 147

6 CONCLUSÕES E CONTRIBUIÇÕES DA PESQUISA ................................ 148

6.1 Trabalhos Futuros .......................................................................................... 151

7 REFERÊNCIAS BIBLIOGRÁFICAS ............................................................. 153

APÊNDICE A ............................................................................................................. 175

Lista de Publicações como Resultado da Pesquisa .................................................. 175

xi
APÊNDICE B.............................................................................................................. 180

Programa em C++ para o Escalonamento por Reversão de Arestas..................... 180

APÊNDICE C ............................................................................................................. 190

Programa em Matlab e Simulink para o Cálculo Cinemático do AGV com


Reboques – Modelo Cinemático 1 (Figura 4.3)........................................................ 190

APÊNDICE D ............................................................................................................. 192

Programa em Matlab para o Cálculo Cinemático do AGV com Reboques – Modelo


Cinemático 2 (Figura 4.7). ......................................................................................... 192

APÊNDICE E.............................................................................................................. 196

Estudo do Veículo. Posição e Orientação ................................................................. 196

APÊNDICE F.............................................................................................................. 200

Parâmetros de Entrada (Universal Mechanism) – Simulação 1 ............................ 200

APÊNDICE G ............................................................................................................. 202

Parâmetros do Controle de Manobras (Universal Mechanism) – Simulação 2.... 202

xii
ÍNDICE DE FIGURAS

Figura 1.1 AGVs de Indumat Handimat na Denso Manufacturing, Telford, Reino


Unido (Rooks, 2001). ............................................................................................... 6
Figura 1.2 AGV EGEMIN guiado por laser (Rooks, 2001)............................................. 7
Figura 1.3 Veículo articulado e trajetória de um círculo desejado (SAMPEI et al., 1995).
.................................................................................................................................. 8
Figura 1.4 Protótipo de veículo utilizado por ALTAFINI (2003).................................... 9
Figura 1.5 Robô móvel Hílare e o método de campo potencial utilizado para calcular a
trajetória desejada (SEKHAVAT, et al., 1999)...................................................... 11
Figura 1.6 Projeto para o transporte dos componentes do Airbus A380 utilizando o
Kineo CAM (LAUMOND, 2006). ......................................................................... 11
Figura 1.7 Organização da tese. ..................................................................................... 16
Figura 2.1 Reconstrução do autômato inventado por Leonardo da Vinci (ROSHEIM,
2006)....................................................................................................................... 18
Figura 2.2 (a) Robô PLUSTECH de seis pernas (PFEIFFER et al. 1998), (b)
Helicóptero autônomo da Yamaha RMAX (KAESTNER et al., 2006)................. 18
Figura 2.3 Protótipo do robô para tubulações MRINSPECT (Multifunctional Robot for
IN-pipe inSPECTion I, II, III e IV) (ROH et al. 2005). .......................................... 19
Figura 2.4 Veículo subaquático Romeo (ANTONELLI, 2006). .................................... 19
Figura 2.5 Robô híbrido com rodas e pernas, HyLoS (BESSERON et al., 2005). ........ 20
Figura 2.6 Sven Wahlstrom e Nils Nilsson com o Shakey (NILSSON, 1984, ARKIN,
1998)....................................................................................................................... 22
Figura 2.7 Arquitetura Subsumption. (BROOKS, 1986)................................................ 22
Figura 2.8 Teste de veículos do projeto CHAUFFEUR (FRITZ, 1999). ....................... 25
Figura 2.9 Robô navegador (WEISSER et al., 1999)..................................................... 25
Figura 2.10 Componentes de um AGV. ......................................................................... 28
Figura 2.11 Número de AGVs registrados pela HHIA desde 1997 até 2007 (Fonte:
Automatic Guided Vehicle Systems Product Section of the Material Handling
Industry of America – MHIA)................................................................................. 28
Figura 2.12 Visita aos Terminais de Contêineres Eurogate e Altenwerder (CTA),
Hamburgo (Alemanha). .......................................................................................... 29

xiii
Figura 2.13 (a,b,c) Transporte de carga utilizando AGVs no Terminal de Contêineres
Delta em Rotterdam (Holanda) e (d) Projeto Combi-Roads (ZHANG et al., 2002).
................................................................................................................................ 30
Figura 2.14 Terminal Patrick na Austrália (NELMES, 2006) e Sistema multi-trailer
(MTS) utilizado no terminal de contêineres em Maasvlakte na Holanda
(DUINKERKEN et al., 2007). ............................................................................... 30
Figura 2.15 Sistema de controle de testes com modelos em escala de AGVs
(VERBRAECK et al., 2001). ................................................................................. 31
Figura 2.16 Classificação das técnicas de orientado em AGVs. .................................... 32
Figura 2.17 Classificação dos sistemas de referência em AGVs. .................................. 34
Figura 2.18 Tipos de AGVs (KOFF et al., 1985, MILLER, 1987)................................ 35
Figura 2.19 AGV com reboques da FMC Technologies instalado na planta de
Twinsburg da Daimler Chrysler (FMC Technologies, 2001). ............................... 36
Figura 2.20 AGV tipo unidade de carga da FMC Technologies (FMC Technologies,
2003)....................................................................................................................... 36
Figura 2.21 AGV da Egemin Automation Inc. utilizado pelo jornal Toronto STAR
(EGEMIN, 2003). ................................................................................................... 37
Figura 2.22 Sistema AGV Packmobile® 4 & carrier packet (EGEMIN, 2000)............. 38
Figura 2.23 AGVs fabricados pela Jervis B. Web Company, instalados na planta de
montagem da John Deere em Horicon, Wisconsin (JERVIS, 2006)...................... 38
Figura 2.24 Sistemas de direção em AGVs.................................................................... 39
Figura 2.25 Tipos de administração de tráfego (MILLER, 1987).................................. 40
Figura 2.26 Classificação sistemática de transferência de carga para AGVs (MULLER
1983)....................................................................................................................... 41
Figura 2.27 Visão geral da arquitetura mecatrônica para sistemas AGVs. .................... 44
Figura 2.28 Descrição da arquitetura mecatrônica proposta para navegação de sistemas
AGVs. ..................................................................................................................... 46
Figura 3.1 Revolução e inovação nas indústrias de manufatura. ................................... 48
Figura 3.2 Sistema Flexível de Manufatura (KRIEG, 1988).......................................... 50
Figura 3.3 Efeito da capacidade e variedade em tecnologia de processos (HARRISON et
al., 2002)................................................................................................................. 51
Figura 3.4 Exemplo do ambiente estruturado de um SFM............................................. 54
Figura 3.5 Sistema AGV em linha simples (baixa flexibilidade)................................... 55
Figura 3.6 Sistema AGV em ciclo simples..................................................................... 55

xiv
Figura 3.7 Sistema AGV em tipo escada (ladder).......................................................... 55
Figura 3.8 Sistema AGV em rede complexa. ................................................................. 55
Figura 3.9 Arquitetura mecatrônica geral a partir do problema de programação Job
Shop. ....................................................................................................................... 57
Figura 3.10 Problema de programação de Job Shop. ..................................................... 59
Figura 3.11 Diagrama de fluxo para o algoritmo de planejamento de rotas em sistemas
Job Shop. ................................................................................................................ 60
Figura 3.12 Diagrama esquemático do problema - Tabela 3.2....................................... 62
Figura 3.13 Bloqueio perpetuo. Como cada nó tem precedência sobre o vizinho,
nenhum irá operar e todos ficarão bloqueados para sempre................................... 64
Figura 3.14 Exemplo da dinâmica do ERA.................................................................... 64
Figura 3.15 Definição de um sistema de direcionamento no ERAM, o número de arestas
entre dois nós está dado por eij .............................................................................. 67

Figura 3.16 Exemplo da dinâmica do ERAM, onde ri  3 e rj  2 . ............................. 68

Figura 3.17 Exemplo da dinâmica do ERAH. ................................................................. 69


Figura 3.18 Sistema geral de compartilhamento. ........................................................... 71
Figura 3.19 Compartilhamento AND. ............................................................................ 71
Figura 3.20 Compartilhamento OR. ............................................................................... 72
Figura 3.21 Compartilhamento XOR. ............................................................................ 72
Figura 3.22 Exemplo da dinâmica ERA reproduzindo a programação de rotas da Tabela
3.2.. ......................................................................................................................... 74
Figura 3.23 Diagrama de Gantt da dinâmica ERA reproduzindo a programação de rotas
da Tabela 3.2. ......................................................................................................... 74
Figura 3.24 Diagrama esquemático do exemplo proposto para geração dos caminhos. 76
Figura 3.25 Diagrama esquemático do problema da Figura 3.24................................... 76
Figura 3.26 Diagrama de Gantt da dinâmica ERA para a programação dos caminhos da
Figura 3.27.............................................................................................................. 77
Figura 3.27 Exemplo da dinâmica ERA reproduzindo o planejamento dos caminhos
para os deslocamentos dos AGVs da equação (3.16)............................................. 78
Figura 3.28 Trajetórias geradas com o software UM para três AGVs com um reboque.80
Figura 3.29 Diagrama esquemático do problema da Figura 3.28................................... 80
Figura 3.30 Dinâmica ERA reproduzindo o planejamento das trajetórias. .................... 82

xv
Figura 3.31 Diagrama de Gantt da dinâmica ERA reproduzindo o planejamento das
trajetórias gerados pela Figura 3.30........................................................................ 83
Figura 3.32 Trajetórias geradas com o software UM para três AGVs com reboque,
compartilhando múltiplos trechos no mesmo intervalo de tempo.......................... 84
Figura 3.33 Diagrama esquemático do problema da Figura 3.32................................... 84
Figura 3.34 Designação da dinâmica de ERA para a trajetória 1................................... 85
Figura 3.35 Dinâmica ERA reproduzindo o planejamento das trajetórias. .................... 87
Figura 3.36 Diagrama de Gantt da dinâmica ERA reproduzindo o planejamento das
trajetórias geradas pela Figura 3.36........................................................................ 87
Figura 4.1 Sistemas de tração e direção comuns em AGVs........................................... 90
Figura 4.2 Sistemas de reboques comuns em sistemas AGVs. ...................................... 90
Figura 4.3 Parâmetros para um AGV com n reboques. ................................................ 91
Figura 4.4 (a) sistema AGV simples de configuração tipo Ackerman (Figura 4.1(3)), e
(b) trajetória gerada com direção do ângulo fixada em  ...................................... 92
Figura 4.5 Trajetória gerada pelo sistema AGV com (a) um reboque, (b) dois reboques
(c) três reboques. .................................................................................................... 95
Figura 4.6 (a) Deslocamento gerado pelo AGV em x e y e (b) tendência dos ângulos 
para o caso com três reboques. ............................................................................... 96
Figura 4.7 Parâmetros para o modelo 2 de AGV com n reboques................................ 98
Figura 4.8 Simulação da trajetória gerada pelo AGV com dois reboques. .................... 99
Figura 4.9 Influência de um campo potencial em um AGV com reboques. ................ 100
Figura 4.10 Campo potencial atrativo gerado por um ponto objetivo e suas forças
induzidas (baseado em KHATIB, 1985). ............................................................. 102
Figura 4.11 Campo potencial repulsivo gerado pelos obstáculos e suas forças induzidas
(baseado em KHATIB, 1985)............................................................................... 102
Figura 4.12 Campo potencial resultante e forças induzidas pelo campo...................... 105
Figura 4.13 Esquema de iteração do método de campos potenciais sobre o AGV com
reboques................................................................................................................ 106
Figura 4.14 Diagrama de fluxo do algoritmo de geração de caminhos........................ 107
Figura 4.15 Caminho realizado utilizando o método de campo potencial sem obstáculos.
Parâmetros arbitrários utilizados, ponto de saída: (10.10), ponto objetivo: (90,90).
.............................................................................................................................. 108

xvi
Figura 4.16 Identificação de doze obstáculos fixos com campo potencial (5), localizados
em (20,30), (20,60), (20,90), (40,30), (40,60), (40,90), (60,30), (60,60), (60,90),
(80,30), (80,60), (80,90), (90,930), e o alvo localizado em (90,90) e campo
potencial (20)........................................................................................................ 108
Figura 4.17 Identificação do caminho e os campos potenciais gerados....................... 109
Figura 4.18 Identificação do caminho e os campos potenciais gerados especialmente
para os três obstáculos inferiores (Campo potencial = 85) .................................. 110
Figura 5.1 Perda da estabilidade durante a execução de uma manobra (BISHOP, 2005).
.............................................................................................................................. 113
Figura 5.2 Classificação dos veículos com rodas segundo a Federal Highway
Administration (FHWA) (JAZAR, 2008)............................................................. 117
Figura 5.3 Veículo trator e reboque utilizados nos aeroportos para o transporte de
cargas.................................................................................................................... 117
Figura 5.4 Veículo trator e sistema de direção desenvolvido para a modelagem em UM.
.............................................................................................................................. 118
Figura 5.5 AGVs utilizados para o transporte de contêineres em portos. .................... 119
Figura 5.6 Sistema AGV com reboque desenvolvido em UM para a modelagem....... 119
Figura 5.7 Trajetória desejada e prevista...................................................................... 121
Figura 5.8 Diagrama de blocos do controlador. ........................................................... 121
Figura 5.9 Velocidade do trator.................................................................................... 124
Figura 5.10 Trajetória do trator. ................................................................................... 124
Figura 5.11 Trajetória do reboque. ............................................................................... 125
Figura 5.12 Trajetória do reboque versus trajetória do trator....................................... 125
Figura 5.13 Trajetória gerada pelos pneus do trator versus trajetória dos pneus do
reboque. ................................................................................................................ 125
Figura 5.14 Velocidade Angular do trator (X e Y). ..................................................... 126
Figura 5.15 Velocidade Angular do reboque (X e Y). ................................................. 126
Figura 5.16 Velocidade angular do trator (Z e Módulo). ............................................. 126
Figura 5.17 Velocidade angular do reboque (Z e Módulo). ......................................... 127
Figura 5.18 Esforços no sistema de direção. ................................................................ 127
Figura 5.19 Reação normal dos pneus do trator. .......................................................... 127
Figura 5.20 Força lateral dos pneus do trator. .............................................................. 128
Figura 5.21 Roll (Mx) do trator. ................................................................................... 128
Figura 5.22 Roll (Mx) do reboque. ............................................................................... 128

xvii
Figura 5.23 Pitch (My) do trator. ................................................................................. 129
Figura 5.24 Pitch (My) do reboque. ............................................................................. 129
Figura 5.25 Yaw (Mz) do trator. ................................................................................... 129
Figura 5.26 Yaw (Mz) do reboque. ............................................................................... 130
Figura 5.27 Esquema para simulação das trajetórias.................................................... 130
Figura 5.28 Trajetória gerada pelo método de campos potenciais. .............................. 131
Figura 5.29 Comparação das trajetórias geradas pelo método de campos potencias e no
UM........................................................................................................................ 132
Figura 5.30 Trajetórias final implementada no UM. .................................................... 132
Figura 5.31 Velocidade do veículo............................................................................... 133
Figura 5.32 Comparação das trajetórias. ...................................................................... 134
Figura 5.33 Erro do controlador. .................................................................................. 134
Figura 5.34 Velocidade angular do veículo.................................................................. 134
Figura 5.35 Velocidade angular do reboque................................................................. 135
Figura 5.36 Ângulo de esterçamento............................................................................ 135
Figura 5.37 Força (Fx) dos pneus dianteiros do veículo. ............................................. 135
Figura 5.38 Força (Fx) dos pneus traseiros do veículo................................................. 136
Figura 5.39 Força (Fx) dos pneus dianteiros do reboque. ............................................ 136
Figura 5.40 Força (Fx) dos pneus traseiros do reboque. .............................................. 136
Figura 5.41 Força (Fy) dos pneus dianteiros do veículo. ............................................. 137
Figura 5.42 Força (Fy) dos pneus traseiros do veículo................................................. 137
Figura 5.43 Força (Fy) dos pneus traseiros do reboque. .............................................. 137
Figura 5.44 Força (Fy) dos pneus dianteiros do reboque. ............................................ 138
Figura 5.45 Força (Fz) dos pneus dianteiros do veículo. ............................................. 138
Figura 5.46 Força (Fz) dos pneus traseiros do veículo................................................. 138
Figura 5.47 Força (Fz) dos pneus do reboque. ............................................................. 139
Figura 5.48 Roll (Mx) do veículo. ................................................................................ 139
Figura 5.49 Roll (Mx) do reboque. ............................................................................... 139
Figura 5.50 Pitch (My) do veículo. .............................................................................. 140
Figura 5.51 Pitch (My) do reboque. ............................................................................. 140
Figura 5.52 Yaw (Mz) do veículo. ................................................................................ 140
Figura 5.53 Yaw (Mz) do reboque. ............................................................................... 141
Figura 5.54 Ângulo longitudinal Slip pneus dianteiros do veículo. ............................. 141
Figura 5.55 Ângulo longitudinal Slip pneus traseiros do veículo................................. 141

xviii
Figura 5.56 Ângulo longitudinal Slip pneus dianteiros do reboque. ............................ 142
Figura 5.57 Ângulo longitudinal Slip pneus traseiros do reboque. .............................. 142
Figura 5.58 Ângulo lateral Slip pneus traseiros do veículo.......................................... 142
Figura 5.59 Ângulo lateral Slip pneus dianteiros do veículo........................................ 143
Figura 5.60 Ângulo lateral Slip do reboque.................................................................. 143
Figura 5.61 Trajetória realizada pelo trator em 3D. ..................................................... 145
Figura 5.62 Trajetória realizada pelo AGV em 3D. ..................................................... 146
Figura 1 Sistema de eixos utilizando terminologia proposta pela SAE. ...................... 196

xix
ÍNDICE DE TABELAS

Tabela 2.1 Principais protótipos desenvolvidos em centros de pesquisa. ...................... 21


Tabela 2.2 Principais projetos de veículos inteligentes.................................................. 26
Tabela 2.3 Principais tipos de sensores para sistema AGVs. ......................................... 34
Tabela 2.4 Principais normas de funcionamento e operação para AGVs (DURBIN et al.,
1999)....................................................................................................................... 42
Tabela 3.1 Regras de prioridade de liberação ou sequenciamento................................. 61
Tabela 3.2 Exemplo do problema de programação de tarefas para AGVs (LIAO e YOU,
1992)....................................................................................................................... 61
Tabela 3.3 Construção da programação de jobs para o exemplo da Tabela 3.2 ............ 63
Tabela 3.4 Relação dos tempos de deslocamento para os AGVs gerada a partir da Figura
3.28. ........................................................................................................................ 80
Tabela 3.5 Planejamento da programação das trajetórias utilizando Job Shop.............. 81
Tabela 5.1 Características do modelo computacional do veículo trator com reboque. 118
Tabela 5.2 Características do modelo computacional do AGV com reboque.............. 119
Tabela 5.3 Parâmetros utilizados no método de campos potenciais............................. 131
Tabela 5.4 Parâmetros sistema de controle. ................................................................. 133
Tabela 5.5 Componentes principais do modelo do AGV com reboque. ...................... 147

xx
ABREVIATURAS

AGV: São as iniciais de veículo guiado automaticamente (da expressão inglesa


Automated Guided Vehicle).
AGV-R: AGV com Reboque(s).
AGVs: Plural de AGV.
AS/RS: São as iniciais de sistema de estocagem/recuperação automática (da expressão
inglesa Automated Storage and Retrieval Systems).
CIM: São as iniciais de manufatura integrada por computador (da expressão inglesa
Computer Integrated Manufacturing).
CNC: São as iniciais de controle numérico computadorizado (da expressão inglesa
Computer Numeric Control).
ERA: Escalonamento por reversão de arestas (da expressão inglesa Scheduling by Edge
Reversal - SER).
ERAH: Escalonamento por Reversão de Arestas com Hibernação (da expressão inglesa
Scheduling by Edge Reversal with Hibernation - SERH)
ERAM: Escalonamento por Reversão de Arestas Múltiplas (da expressão inglesa
Scheduling by Multiple Edge Reversal – SMER)
F(M/A)C: São as iniciais de célula (montagem) flexível de manufatura (da expressão
inglesa Flexible Manufacturing/Assembly Cell).
FMC: São as iniciais de célula de manufatura flexível (da expressão inglesa Flexible
manufacturing Cell).
FMG: São as iniciais de grupo flexível de manufatura (da expressão inglesa Flexible
Manufacturing Group).
FML: São as iniciais de linha flexível de manufatura (da expressão inglesa Flexible
Manufacturing Line).
FMM: São as iniciais de módulo flexível de manufatura (da expressão inglesa Flexible
Manufacturing Module).
FPS: São as iniciais de sistema de produção flexível (da expressão inglesa Flexible
Production Systems).
IRDAC: São as iniciais de comitê assessor para pesquisa e desenvolvimento industrial
da comunidade européia (da expressão inglesa Industrial Research and
Development Advisory Committee).

xxi
JSSP: São as iniciais de problema de programação da loja de trabalhos (da expressão
inglesa Job Shop Scheduling Problem).
OEM: Termo utilizado para empresas que revendem produtos de outras companhias
após fazer alguma alteração ou em conjunto com seus próprios produtos (da
expressão inglesa Original Equipment Manufacturer).
SCADA: São as iniciais de controle e aquisição de dados supervisórios (da expressão
inglesa Supervisory Control And Data Acquisition).
SFM: São as iniciais de sistema flexível de manufatura (da expressão inglesa Flexible
Manufacturing System).

xxii
GLOSSÁRIO

AGV filoguiado: AGV cujo sistema de navegação se baseia no seguimento do campo


magnético criado por anéis de corrente implantados no solo do layout de trabalho.
Ângulo de deriva (Slip Angle): Ângulo entre a linha de centro longitudinal do conjunto
roda-pneu e trajetória efetivamente percorrida por ele.
Armazenagem: É a parte da logística responsável pela guarda temporária de produtos
em geral (matérias-primas, insumos, componentes, etc.).
AS/RS: Sistema de armazenagem em estruturas porta paletes de alta densidade com
transelevadores que efetuam cargas e descargas automaticamente.
Caminho: Uma sequência de vértices de um grafo. Rota entre dois pontos.
Comboio: Conjunto de veículos que seguem juntos para um mesmo destino.
Contêiner: Equipamento de metal no formato de uma grande caixa, que serve para o
transporte de diversos materiais. São reutilizáveis e possuem quatro tamanhos
principais de 10, 20, 25 e 30 toneladas.
Deadlock: Termo inglês utilizado para blocagem, impasse ou bloqueio perpétuo. É uma
situação na qual um ciclo do grafo tem todas as arestas orientadas no mesmo
sentido, fazendo com que todos os nós fiquem sem operar por tempo infinito, uma
vez que cada nó tem precedência em relação a um de seus vizinhos, porém não tem
precedência em relação ao outro, formando uma cadeia cíclica e infinita de esperas.
Dispatching: Termo inglês utilizado para liberação. Alocação detalhada e subseqüente
controle dos recursos de produção para pedidos de produção individuais necessários
à conclusão dos pedidos, de acordo com o programa de produção.
Estoques: São todos os bens e materiais mantidos por uma organização, para suprir
demanda futura.
Fonte: Nó que tem todas as arestas partindo de si (da expressão inglesa, source).
Gráfico de Barras ou de Gantt: É um gráfico com todas as atividades seqüenciais de
operação, de projeto ou de produção, onde para cada operação tem uma barra com o
tamanho de sua duração. Foi desenvolvido por H. L. Gantt em 1917.
Grids: Um modelo computacional capaz de alcançar uma alta taxa de processamento
dividindo as tarefas entre diversas máquinas, podendo ser em rede local ou rede de
longa distância, que formam uma máquina virtual. Esses processos podem ser

xxiii
executados no momento em que as máquinas não estão sendo utilizadas pelo
usuário, assim evitando o desperdício de processamento da máquina utilizada.
Guided: Termo inglês utilizado para comandado, direcionado, orientado ou guiado.
Heurística: Metodologia ou algoritmo, utilizado para resolver problemas por métodos
que, embora não rigorosos, refletem o conhecimento humano e permitem obter uma
solução satisfatória.
Job Scheduling: Agendar tarefas. Fornece recomendações para se executar a
organização contínua de tarefas e processos em lote (batch) com uma sequência
eficiente, com a finalidade de alcançar as exigências programadas.
Job Shop: Termo inglês habitualmente utilizado na literatura para designar empresas
que fabricam uma grande variedade de produtos em pequenos lotes (ou
quantidades).
Job: Termo inglês habitualmente utilizado na literatura para designar um trabalho,
atividade, operação, processo, serviço ou tarefa.
Just in Time: Filosofia de manufatura baseada no fato de que os materiais e
componentes cheguem ao local de produção exatamente no momento em que são
necessários, permitindo a redução dos estoques a zero dos componentes básicos.
Resume-se em prover as partes necessárias no local correto e no momento certo.
Layout: Termo inglês utilizado para a configuração de instalação que estabelece a
relação física entre as várias atividades. O layout pode ser simplesmente o arranjo
ou o rearranjo de várias máquinas ou equipamentos até obter a disposição mais
conveniente.
Navegação: Metodologia ou técnica que permite guiar o curso de um robô até um
destino ao longo de um caminho desejado, em um ambiente determinado.
NP- difícil: Problema de otimização combinatória em que não existem algoritmos que
resolvem em tempo polinomial.
Palete: Designação utilizada para referir uma unidade de matéria prima, em curso de
fabricação ou de produto terminado, manuseada e transportada por um AGV. É um
estrado de madeira, metal ou plástico que é utilizado para movimentação de cargas.
A função do palete é a otimização do transporte de cargas, que é conseguido através
da empilhadeira e a paleteira.
Ralo ou sumidouro: Nó que tem todas as suas arestas direcionadas para si (da expressão
inglesa sink).

xxiv
Recursos: Dependendo da situação, podem assumir definições diferentes. Podem ser
máquinas em uma planta de montagem, CPU, memória e dispositivos I/O em um
sistema de computação, pistas em um aeroporto, etc.
Rota: Itinerário para ir de um lugar a outro. Programação de uma sucessão de
procedimentos.
Starvation: Termo inglês utilizado quando um processo nunca é executado (fome,
inanição).
Supply Chain: Termo inglês utilizado para cadeias de abastecimento. Conjunto de
organizações que se inter-relacionam, criando valor na forma de produtos e serviços,
desde os fornecedores de matéria prima até o consumidor final.
Trajetória: Em cinemática, a trajetória é o conjunto de todas as posições pelas quais um
corpo passa em movimento. A definição da trajetória deve ter em conta as
características cinemáticas do corpo e que os movimentos planejados sejam
consistentes com as restrições físicas.

xxv
LISTA DE SÍMBOLOS

Ap Conjunto de operações programadas na etapa p .

ek Tempo de operação ou processamento mais próximo que pode ser

executado k  Ap , que são os antecessores e máquinas que estão

disponíveis.
E Conjunto finito de aresta direcionadas do grafo.
G  N, E Grafo  N , E  .

i Normalmente, é o subscrito que percorre a uma máquina.


ij Se um job requer de vários passos de processo ou operações, utiliza o
passo do processo ou operação do job j na máquina i .
j Normalmente, é o subscrito que percorre a um job.
J Número finito de trabalhos (Jobs).
k Operação selecionada ou em processo.
m* Máquina que está sendo precisada por e* .
M Número finito de máquinas ou recursos.
N Conjunto finito de nós. Representa uma das atividades previstas, com
tempos pré-estabelecidos, a serem executadas de modo exclusivo sobre
um conjunto limitado de recursos.
Oij Operação do trabalho i na sequência de j .

p Etapa ou passo.
Pi Processo.

Sp Programação parcial de ( p  1 ) operações programadas.

tij Tempo de processamento. Se o job j requer processar na máquina i ,

então tij representa o tempo de processamento do job j na máquina i . O

subscrito i é omitido quando o job j só será processado em uma


máquina.
tf Tempo que falta de processamento.

T Tempo necessário para completar todas as operações (makespan).


 Orientação acíclica.

xxvi
1 INTRODUÇÃO

Neste capítulo introdutório é assinalado o conceito moderno da integração da


robótica móvel na indústria, procurando enquadrar a importância do desempenho dos
veículos guiados automaticamente (AGVs) na obtenção de um comportamento global e
satisfatório em sistemas de manufatura. Adicionalmente, são apontados os problemas
que são objetos de estudo desta tese. São também apresentados os objetivos do trabalho,
o estado da técnica, a motivação e a organização do documento, realizando uma breve
descrição dos assuntos abordados nos capítulos subseqüentes.
Inicialmente, a robótica entrou para ser parte de uma tecnologia fundamental dos
ambientes industriais atuais, e hoje em dia, se observa que sua evolução e mudança de
paradigma são usadas em algumas empresas. A robótica é uma área que estuda o enlace
entre a percepção e ação, e o robô é um dispositivo que realiza tarefas ou atividades
similares aos seres humanos e que vêm sendo influenciadas pelas novas exigências de
clientes relativas às características dos produtos e serviços (qualidade, quantidades e
tempos). Uma dessas evoluções são os manipuladores utilizados nos sistemas flexíveis
de manufatura (SFM), que possuem vantagens no desempenho em tarefas repetitivas
(montagem, pintura, soldagem, entre outras). A sua maior desvantagem é o seu
deslocamento no ambiente, já que é uma estrutura com movimentos limitados,
característica diferente dos robôs móveis. Os robôs móveis podem realizar movimentos
ao longo de uma fábrica, evitando obstáculos, produzindo flexibilidade; que é uma
procura incansável das indústrias.
Os robôs móveis são utilizados em diferentes ambientes (industriais, aquáticos,
aéreos, entre outros) e têm-se desenvolvido diversas pesquisas nas áreas da mecânica,
mecatrônica, sensoriamento, comunicações, navegação e otimização dos seus
movimentos. O campo de aplicação dos robôs móveis não se restringe à indústria, é
significativamente mais amplo, alcançando áreas de exploração subaquática e
oceanográfica, exploração planetária, bem como aplicações militares e logística
(distribuição e armazenagem). Atualmente, os projetos industriais realizados utilizando
robótica móvel, têm aplicação principalmente na manufatura (fábricas, células e
sistemas flexíveis de manufatura), na logística de cadeias de distribuição, na
armazenagem e nos serviços. Neste tipo de aplicações destacam-se dois tipos
fundamentais de sistemas: os AS/RS (Sistema de Estocagem/Recuperação Automática)

1
(LOWE, 2002, LENGERKE, LACHE et al., 2006) e os AGVs (LENGERKE,
ARCHILA et al., 2008). Nos últimos anos, houve interesse no desenvolvimento de
tecnologias aplicadas em AGVs, incluindo a automação de tarefas que abrange o
transporte, carga e descarga de materiais ou simples tarefas de inspeção, onde implique
o deslocamento do veículo desde um ponto inicial a outro ponto, oferecendo grandes
melhoras na redução de riscos, nos tempos de deslocamento e no consumo de energia.
Os sistemas de AGVs são considerados como um dos métodos mais apropriados
para o apoio da manipulação de material em ambientes de produção automatizada. Em
geral, tal sistema consiste em um conjunto de veículos sem condutor (piloto) operando
cooperativamente, que transportam bens e materiais entre as diferentes estações de
trabalho e locais de armazenamento, facilitando a produção. Usualmente, seguem um
jogo de caminhos predeterminados, físicos ou virtuais, incorporados no layout e
coordenados por um sistema de controle baseado em computadores centralizados ou
distribuídos. A movimentação dos veículos está baseada no estudo das diversas técnicas
de navegação existentes que utilizam diferentes tipos de sensores (infravermelho, ultra-
som, táctil, visão, magnéticos, ópticos, entre outros) ou caminhos guiados por fios como
parte do equipamento do robô móvel para realizar tarefas de deslocamento. Algumas
das vantagens desse tipo de sistema são: o incremento da flexibilidade do
encaminhamento dos veículos no layout, utilização do espaço e segurança, assim como
a redução do custo de operação (REVELIOTIS, 2000).
O uso desses veículos tem crescido extraordinariamente desde sua introdução
em 1973 na planta de produção de veículos na Volvo em Kalmar. O número de áreas de
aplicação e variação nos tipos tem aumentado significativamente, armazéns e centros
com muitas intersecções, são exemplos em áreas distribuídas. Também o uso para
transporte interno e externo de materiais e manipulação de peças e produtos entre
estações de trabalho no chão da fábrica (layout). Atualmente são utilizados em diversas
aplicações para tarefas de transporte repetitivas, como operações de manufatura que
trabalham com volume médio de produção, incluindo sistemas flexíveis de manufatura,
armazenagem e indústrias de serviço. Igualmente, são utilizados para diversos trabalhos
como correio, transporte de bagagem em aeroportos, transporte de contêineres
(STEENKEN et al., 2005), segurança, e até em hospitais (CERIC, 1990 e
KRISHNAMURTHY et al., 1992).
Os AGVs podem oferecer benefícios sobre os carros de empurrão ou de mão
(pushcarts), empilhadeiras (forklifts) ou sistemas de manipulação de material fixo

2
(esteiras transportadoras - conveyors). As vantagens primárias ocorrem em
flexibilidade, utilização espacial, segurança e custo operacional global. Os sistemas
AGVs são extremamente flexíveis, sempre que o caminho aonde o fluxo do material se
dirige (flowpath ou guidepath) consiga ser modificado instantaneamente. Assim, como
no sistema com fio-guia (guide wire), os veículos podem ser re-encaminhados
dinamicamente para responder às prioridades variáveis dentro de um sistema existente.
Diferente das esteiras transportadoras, os AGVs só ocupam uma área de trabalho
temporariamente, quando em operação, ou quando estacionam. Considerando que eles
não criam barreiras físicas dentro da fábrica (como fazem as esteiras transportadoras);
os sistemas AGVs podem compartilhar espaço com outros componentes da produção
(pedestres ou motoristas de empilhadeiras), melhorando assim a utilização espacial
global dentro de um SFM. Estes veículos são seguros, normalmente são equipados com
sistemas de segurança (luzes, buzinas, etc.) para advertir aos pedestres da sua presença.
O planejamento dos movimentos dos veículos e o controle de sistemas não
holonômicos com ou sem obstáculos, tem sido uma área de motivação de diversos
trabalhos nos últimos anos. A abordagem matemática a este tipo de problema é
realizada através de ferramentas da geometria diferencial. O desenvolvimento
sistemático da teoria iniciou-se na mecânica clássica há mais de 150 anos. Apesar disso,
apenas recentemente se iniciou o estudo de problemas de controle para tais sistemas
(KOLMANOVSKY et al., 1995). O termo não holonômico é atribuído a Heinrich
Rudolf Hertz, e significa universal, integral ou integrável. Etimologicamente (holo –
todo, nomia - lei) (ARNOLD et al., 1994, RABIER et al., 2000).
Existem basicamente três classes onde os sistemas não holonômicos aparecem:
(i) Restrição de não-deslize: a condição de não deslizamento ou de rolamento puro
significa que a velocidade linear no ponto de contato é zero. Esta restrição é não-
integrável, isto é, não redutível a uma restrição de posição, e, portanto é não
holonômica. (ii) Conservação do momento angular. (iii) Sistemas mecânicos sub-
atuados: nestes sistemas a dimensão do espaço de configurações excede o espaço das
entradas de controle. Um exemplo desse tipo de sistema são os AGVs com reboques
(AGV-R) utilizados para transporte, carga e descarga de materiais entre diferentes
estações de trabalho dentro dos SFM, principalmente que não se podem deslocar
instantaneamente na direção perpendicular à direção das suas rodas (LI et al., 1993,
CHOSET et al., 2005). Os sistemas não holonômicos se caracterizam por satisfazer
restrições não integráveis nas velocidades. Tais sistemas apresentam características

3
especiais, pois apesar de seus movimentos serem limitados, os mesmos conseguem
atingir qualquer configuração no espaço onde estão definidos. Infelizmente, as leis de
controle para a sua estabilização não são tão simples de serem geradas, e há a
necessidade de ferramentas matemáticas mais especiais para análise e projeto, tais como
geometria diferencial, controle não-linear, controle variante no tempo, entre outras. A
consideração das restrições no movimento melhora consideravelmente o controle dos
sistemas não holonômicos. Controlá-los é um desafio interessante, e tem propiciado o
desenvolvimento da teoria de controle não-linear, preditivo, entre outras.
O método do campo potencial é comumente utilizado para planejamento global
off-line, quanto o ambiente do AGV é conhecido a priori, como é o caso dos SFM. A
análise e o desempenho dos SFM típicos que têm uma capacidade de armazenamento e
transporte limitada fazem necessário o desenvolvimento de um modelo de simulação
dos caminhos, rotas e trajetórias, com a finalidade de representar os recursos e
limitações que envolvem o projeto.
Assim o desenvolvimento de AGVs com reboques, especialmente, e o estudo
dos mesmos é uma tarefa intensamente interdisciplinar que precisa envolver áreas
tecnológicas tão diversas como: eletrônica, mecânica, controle e sistemas de
computação, que integradas de forma sinérgica em projetos e manufatura de produtos e
processos, criam o conceito de MECATRÔNICA (LENGERKE e DUTRA, 2007). A
mecatrônica funciona como uma “engenharia do e para o futuro”.

1.1 Estado da Técnica

O deslocamento de materiais tem sido um dos componentes primordiais na


modernização e flexibilidade nos métodos modernos de manufatura, que em muitos
casos, são colocados em uma indústria como uma atividade crítica. Uma capacidade de
movimentação avançada de materiais é essencial, uma vez que não se tenha a habilidade
de suprir adequadamente às requisições de materiais para as estações de trabalho, no
tempo e quantidade exatos com extrema facilidade. Este fator acarretaria um menor
aproveitamento da produção e uma menor eficiência, além de um maior custo
operacional. O fator humano como ente integrador e de sincronização de operações, era
fundamental na automação inicial caracterizada por operações isoladas automatizadas e
distinguia-se por um elevado número de operários e uma grande quantidade de estoque.

4
Depois se encaminhou para soluções de automação centralizada, onde toda a
informação é concentrada em um único local e têm origem todas as ordens (tomada de
decisões). De igual maneira, o layout foi melhorado, o número de operários reduzido,
mas o nível de estoques ainda é considerável.
Após a década dos anos 60, com o desenvolvimento e a utilização crescente de
unidades de processamento de informação, as funções de condução dos processos foram
sendo cada vez mais distribuídas pelo terreno e adjacente aos locais onde são
necessários, surgindo assim o que é atualmente designado por arquiteturas distribuídas
ou por sistemas flexíveis de manufatura.
Estes sistemas caracterizam-se por uma gestão global e integrada da informação
e pela redução de estoques a níveis mínimos, utilizando técnicas e conceitos como justo
a tempo (Just-In-Time - JIT) e administração total da qualidade (Total Quality
Management - TQM); ainda por uma utilização intensiva dos equipamentos (CHEN et
al., 1994), além de uma inclusão de máquinas de controle numérico computadorizado
(CNC), de manipulação (Robôs), de manuseamento automático de materiais e pela
redução do número de operários na área diretamente relacionada com a produção.
Acompanhando esse crescimento, existe uma evolução constante de um sistema de
automação chamado AGV, que possui essa denominação por executar movimentos sem
a intervenção humana e que tem condições de realizar desde as tarefas mais simples até
as mais complexas de transporte. Esses veículos, atualmente se encontram em diferentes
estágios, que vão desde a exploração espacial (WILCOX et al., 1992, ESTIER et al.,
2000) até ambientes industriais (SCHILLING et al., 1997) e possuem sua própria fonte
de energia para seu funcionamento tanto em nível de alimentação do controlador,
memória, sensores, quanto a todo o sistema mecatrônico.

1.1.1 Aplicações Industriais

A primeira ampla aplicação industrial de um sistema de AGV conhecida


aconteceu em 1973 na planta de processo de fabricação da Volvo em Kalmar, Suécia
(CASTLEBERRY, 1991). Em pouco menos de uma década, diversas plantas no mundo
empregaram AGVs, como é o caso no ano 1987 na América do Norte na planta de
montagem de caminhões na General Motors (GM) em Oshawa, Canadá, onde AGVs
transportavam caminhões, corpos e chassi pela planta. Outras amplas aplicações
incluem AGVs que levam chassis e cabines dos veículos pelas estações de soldagem

5
automatizadas, impermeabilização e postos de trabalho manuais na planta de Geórgia
GM’s Doraville; além dos AGVs utilizados para transportar filmes, papel e substâncias
químicas ao centro de distribuição principal de Eastman Kodak em Rochester, Nova
Iorque. Nos últimos tempos, o Japão e a Europa lideram no uso deste tipo de sistemas.
As aplicações industriais e revisões do estado da técnica de sistemas AGVs, aparecem
regularmente em publicações da Modern Materials Handling and Material Handling
Engineering. Os primeiros congressos e reuniões realizadas sobre as implementações de
sistemas AGVs, foram discutidas em julho de 1990 na publicação da Modern Materials
Handling, onde foi informado que o 56% de todas as instalações de sistemas AGV em
1989 estavam em sistemas JIT (GANESHARAJAH et al., 1998). Os AGVs
transformaram-se em uma parte complementar de uma solução logística total, para um
local particular. Desde 2001, Denso manufacturing em sua fábrica de Telford no Reino
Unido, utiliza Handimats com reboques para o transporte de cargas nas linhas de
produção (Figura 1.1).

Figura 1.1 AGVs de Indumat Handimat na Denso Manufacturing, Telford, Reino Unido (Rooks, 2001).

Nos últimos anos, em Perkins Engines, Peterborough, AGVs transportam


equipamentos, partes e máquinas para as linhas de montagem e na Kodak (Londres)
controlam o serviço de rolos de papel pesado. Estas aplicações utilizam a tecnologia de
navegação de fio embarcado. Outras técnicas de orientação são utilizadas, como o
varredor de laser que é mais flexível e que está sendo adotado na planta de manufatura
da MVM em Hamworthy (Figura 1.2), transportando tábuas desde as máquinas
serradoras até um armazém. A mesma técnica está sendo utilizada pela empresa de
frutas VMV´s em Mechelen, Bélgica, para transportar produtos pré-empacotados e

6
despachados nas linhas de alimentos (ROOKS, 2001). No Brasil, como nova aplicação
da BT do Brasil, destaca-se a operação que a empresa realiza na fábrica da Volvo em
Curitiba, onde uma paleteira com sistema AGV (Primeira a ser instalada na América
Latina) movimenta blocos de motores de forma 100% automática entre várias estações
de trabalho. Deste modo, otimizando os recursos humanos para outras áreas onde a mão
de obra humana seja imprescindível. A EFACEC do Brasil trabalha com AGVs, o que
revela uma nova aplicação desses veículos dentro da empresa (CAPASSI, 2007).

Figura 1.2 AGV EGEMIN guiado por laser (Rooks, 2001).

1.1.2 Pesquisas Desenvolvidas

Os resultados mais interessantes e tendências neste campo, assim como a


evolução dos AGVs nas próximas décadas, são apresentados como resumos dos
trabalhos realizados por diferentes grupos de pesquisas em aplicações de sistemas de
transporte inteligente, integrando seus desenvolvimentos em soluções de controle de
movimentos automáticos. Diversos são os estudos realizados em sistemas AGVs,
particularmente com reboques, mas a maioria concentrados ao estacionamento e a
marcha ré dos mesmos (CUESTA et al., 2004), utilizando diferentes técnicas de
controle, como os estudos realizados com lógica fuzzy por KONG e KOSKO (1990),
KOSKO (1991), GONZALEZ-ROJO, SLAMA et al., (2002) e planejamento de
trajetórias utilizando sinais senoidais (MURRAY & SASTRY, 1993).
7
Em pesquisa realizada por LARSSON et al. (1994) se descreve dois testes: o
primeiro relacionado com a navegação de um veículo articulado e o segundo, a marcha
ré de um robô móvel com um reboque. Nesse caso, o robô segue uma trajetória
previamente especificada. Dentro dos estudos das geometrias usadas por AGVs está o
modelo proposto por WHYBREW et al. (1993), que resolve o problema da perda da
tração em veículos com reboques. No mesmo ano, um conjunto novo de coordenadas
para o modelo cinemático de um veículo com n-reboques é proposto por SORDALEN
(1993). Nesse desenvolvimento, a posição absoluta do sistema é dada pela posição do
reboque traseiro. Recentemente, o problema de estabilização para movimentos para
frente e atrás em retas e deslocamentos circulares de um sistema de semi-reboque,
foram desenvolvidos utilizando técnicas de Lyapunov. O problema de controlabilidade
é tratado também por ASTOLFI et al. (2004).
Uma trajetória que segue o controlador para um veículo articulado (um veículo
com semi-reboque) utilizando a transformação da escala de tempo e linearização exata,
foi proposto por SAMPEI et al. (1995). O controlador permite que os veículos
articulados sigam trajetos arbitrários, que consistem em arcos e linhas (Figura 1.3).

Figura 1.3 Veículo articulado e trajetória de um círculo desejado (SAMPEI et al., 1995).

Uma solução ao planejamento do movimento sem obstáculos para o sistema


padrão de n-reboques é proposta por ROUCHON et al. (1993). Esta solução confia

8
basicamente no fato que o sistema é plano (flatness) com as coordenadas cartesianas do
último reboque como uma saída linear. O sistema do primeiro reboque (onde o reboque
não é engatado diretamente ao carro no centro do eixo traseiro) é também plano. O
conceito de flatness é ilustrado nesse trabalho para o tipo de sistema não holonômico,
que pode ser utilizado em diversas aplicações industriais como: guindastes, controle de
aeronaves e reatores químicos.
Um esquema do controle de estabilização de manobras de marcha ré ao longo
dos trajetos simples para um veículo miniaturizado é proposto por ALTAFINI et al.
(2001) (Figura 1.4). O sistema é modelado como um sistema não linear instável. O
objetivo simplificado de estabilizar ao longo de uma trajetória (em vez de um ponto)
permite considerar um sistema com linearização controlável. De fato, o sistema não
pode ser dirigido para trás desde todos os estados iniciais, por causa dos efeitos do
jackknife 1 (engavetamento) entre as peças do veículo multicorpo. Às vezes é necessário
dirigir para frente para entrar em uma região específica, isto conduz ao uso de
controladores híbridos. A finalidade é fornecer uma formulação do seguimento de
trajetórias para a cinemática de veículos multicorpos que apontam manter o veículo em
uma distância reduzida de um determinado caminho; isto é, reduzir a distância do
alinhamento do veículo com respeito aos centros do eixo de um veículo que está no
mesmo plano. Na proposta, o problema de estabilização para caminhos de curvatura
constante é localmente solucionável por uma lei de avaliação linear simples
(ALTAFINI, 2003).

Figura 1.4 Protótipo de veículo utilizado por ALTAFINI (2003).

1
Jackknife é quando veículos articulados, como caminhões, reboques, etc. tombam e ficam na posição em L, como
um canivete. A situação geralmente ocorre após uma derrapagem. National Highway Traffic Safety Administration,
NHTSA3, Traffic Safety Facts, 1994.

9
Estudo sob controle de seguimento robusto para sistemas de veículos com
reboques é proposto por CHEN et al., (2000). Nesse estudo um controlador fuzzy
adaptável é utilizado para obter um desempenho de seguimento robusto, apesar das
incertezas do sistema e perturbações externas. Posteriormente, NAKAMURA et al.,
(2001), comprovou que um sistema de um trator e reboques com um mecanismo de
articulação apropriado, pode ser estabilizado em posições desejadas por controle de
movimentos não holonômicos.
Em pesquisa realizada por CHEW et al. (2005) é utilizado um modelo virtual,
com a finalidade de demonstrar as potencialidades de um veículo autônomo. O princípio
é baseado em modelar o engate do reboque, utilizado, como uma articulação entre o
veículo trator (veículo de reboque - towing vehicle) e os veículos rebocados (towed
vehicle). Esse método permite que o veículo autônomo acompanhe a trajetória estimada
do reboque virtual, que é predito das observações das manobras do veículo trator.
Nos sistemas flexíveis de manufatura que incorporam robôs para o transporte
(AGVs) é comumente necessária uma reestruturação significativa do ambiente de
trabalho. Na pesquisa desenvolvida por ARKIN e MURPHY, (1990), tem por resultado
uma arquitetura para robôs autônomos chamada AuRA (AUtonomous Robot
Architecture), aplicado ao domínio da manufatura. Essa arquitetura encaixa quantidades
significativas de conhecimento (ambiental e comportamento) para dar finalmente uma
latitude distante maior ao robô móvel na interação com seu ambiente. Esta pesquisa
apresenta a motivação, a simulação e os resultados experimentais que demonstram a
funcionalidade da navegação baseada em esquemas dentro de um SFM.
Recentemente, o Laboratoire d’Analyse et d’Architecture des Systemès du
Centre National de la Recherche Scientifique (LAAS-CNRS), foi selecionado para
tomar parte do projeto de transporte dos componentes do Airbus A380 (LAMIRAUX et
al, 2005) devido à sua especialização no domínio da robótica móvel no planejamento e
controle dos movimentos (Figura 1.5). O sistema de otimização chamado Kineo CAM
foi desenvolvido pelo LAAS-CNRS para integrar a tecnologia desenvolvida em sua
própria plataforma de software (Figura 1.6).

10
Figura 1.5 Robô móvel Hílare e o método de campo potencial utilizado para calcular a trajetória desejada
(SEKHAVAT, et al., 1999).

Figura 1.6 Projeto para o transporte dos componentes do Airbus A380 utilizando o Kineo CAM
(LAUMOND, 2006).

Ao nível da teoria do escalonamento de sistemas, procura-se migrar dos sistemas


de controle habitualmente centralizados para sistemas de controle distribuídos mais
robustos e eficientes, que assentam na exploração de mecanismos de cooperação e
coordenação entre os vários robôs móveis da mesma frota, reforçando assim a

11
autonomia e o nível de inteligência do controlador residente em cada AGV. O projeto
mecânico dos AGVs e os métodos de orientação deles são normalmente estudados pelos
engenheiros mecânicos e elétricos, e hoje em dia pelo surgimento de um novo ramo da
engenharia chamada mecatrônica (BISHOP, 2002).

1.2 Objetivos

Esta pesquisa gira em torno da obtenção de uma arquitetura mecatrônica para o


planejamento de rotas, caminhos e trajetórias de um AGV com reboques e assim poder
integrá-lo a um sistema flexível de manufatura (sistemas de terminais automatizados de
contêineres ou sistemas de transporte de bagagem em aeroportos). A modelagem
utilizando objetos orientados fornece um novo ponto de vista para centralizar o AGV
em sistemas flexíveis utilizando modelos organizados. Esta arquitetura é baseada no
controle distribuído com escalonamento por reversão de arestas (ERA) sendo uma
alternativa para ser implantada em ambientes estruturados. Neste trabalho,
especificamente, é estudado o desenvolvimento de um sistema de geração e controle de
trajetórias, referente ao sistema de transporte e manuseio de material como um dos
componentes principais de um SFM. A movimentação dos veículos guiados
automaticamente é baseada no estudo das diferentes técnicas de geração de trajetórias
existentes e métodos de evasão de obstáculos, as quais utilizam diferentes tipos de
algoritmos para o controle como parte do sistema de direcionamento e navegação do
veículo; com a finalidade de realizar tarefas de deslocamento do AGV desde uma
posição inicial até uma posição final. O projeto de sistemas AGVs envolve projetar
roteiros, caminhos e a determinação das trajetórias a seguir, que dependem de certa
forma da configuração do veículo e das plataformas (reboques). O estudo das diferentes
configurações para o planejamento dos caminhos para os AGVs considera o plano físico
da planta (layout) em linha simples, ciclo simples, tipo escada (ladder), e rede
complexa.
Paralelamente, são propostos os seguintes objetivos: (i) estudo dos diferentes
tipos de sistemas de AGVs existentes e suas aplicações, (ii) estudo e revisão das
diversas técnicas e estratégias de navegação usadas em AGVs, (iii) estudo e revisão das
diferentes técnicas de procura do caminho mais curto entre dois pontos a partir de um
modelo estruturado do ambiente (SFM), (iv) estudo e adaptação de algoritmos para

12
planejamento de trajetórias de AGVs com reboques, e (v) o desenvolvimento de um
protótipo de simulação de veículos com reboques.

1.3 Motivação

Devido ao grande avanço tecnológico que os sistemas de manufatura vêm


atravessando pelo surgimento da robótica industrial, aprimorou-se a forma de produção
seriada, com os sistemas flexíveis de manufatura. Esses sistemas agrupam processos
(equipamentos automatizados) capazes de executar diversas operações que
anteriormente eram realizadas em várias etapas e com diferentes equipamentos. Com
isso, as formas de movimentar os materiais dentro desses sistemas teriam que se
modernizar para conseguir acompanhar os ciclos produtivos. A partir dessa nova
necessidade, viabilizou-se uma arquitetura mecatrônica para navegação e planejamento
de rotas, caminhos e trajetórias dos veículos automaticamente guiados com reboques,
que automatizasse o transporte dos materiais entre os processos, equipamentos, estoque,
bem como o transporte de ferramentais. Enfim, todos os insumos necessários para os
sistemas de manufatura.
Os AGVs são particularmente úteis na manipulação de material em sistemas de
manufatura flexíveis. Juntamente com a sua crescente utilização, problemas de projeto
de sistemas AGVs têm sido uma das grandes preocupações do estudo. A simulação é
amplamente utilizada para avaliar o desempenho do sistema real e sistemas de AGVs
propostos. Muitas tentativas foram realizadas para desenvolver simuladores de AGVs
para problemas específicos ou genéricos, aplicáveis a qualquer desses sistemas
(LENGERKE, ARCHILA et al., 2008). No entanto, ainda há uma forte necessidade do
estudo de um sistema integrado de navegação de AGVs com reboques, que seja
genérico e extensível, com amplas capacidades e que envolva todo o conceito de uma
arquitetura mecatrônica. Assim, os esforços de pesquisa futuros podem ser direcionados
para criar esses sistemas de simulação para atuar em ambientes reais.
É assim, que esta pesquisa consiste no estudo do planejamento de rotas,
caminhos e trajetórias de veículos guiados automaticamente com reboques, com o
objetivo de estudar os parâmetros necessários para diminuição das variações nos
ângulos de direcionamento em cada uma das rodas do veículo automático e cada um dos
reboques; com o fim de diminuir o esforço do controle e intrinsecamente outras

13
variáveis como o desgaste ou fricção nas rodas e redução dos torques. Os resultados
oferecidos estão relacionados com o problema na navegação de AGVs. Supõe-se que a
tarefa que deve realizar se define através do uso de um mapeamento do ambiente e um
conjunto de pontos objetivos que se desejam alcançar. Com estes dados o planejador
constrói uma trajetória com propriedades bem definidas que minimiza o esforço do
controle sobre o AGV com reboque. A construção da trajetória é realizada em um
primeiro passo de planejamento espacial, para, posteriormente, realizar a segunda etapa
de planejamento temporal.
Finalmente, esta tese se centra na criação de novas teorias de navegação,
baseadas em arquiteturas de sistemas mecatrônicos para aplicações industriais e
fundamentadas em sistemas Job Shop utilizando o escalonamento por reversão de
arestas (ERA) onde a questão de concorrência é crucial no momento de programar
tarefas. Dessa forma, estudando a complexidade do problema para sistemas Job shop, é
demonstrado de que a complexidade do problema de decisão relacionado com a
minimização do makespan é NP-difícil. Um mapeamento de sistemas Job Shop na
dinâmica de grafos por escalonamento por reversão de arestas é introduzido nesta tese
pela primeira vez e que é apresentado por LENGERKE, CARVALHO et al., (2008) e
LENGERKE, CASTRO PINTO et al., (2009), como resultado do trabalho proposto.
Um benefício imediato desta abordagem está na descentralização do escalonamento de
jobs, o que torna possível ao controle distribuído acomodar qualquer eventual
modificação de prazo on line (algoritmo assíncrono).
Outras contribuições e resultados diretos e indiretos do presente projeto estão
relacionados nas publicações referidas no APÊNDICE A.

1.4 Organização da Tese

A seguinte tese está organizada por capítulos (Figura 1.7). Cada capítulo
descreve o estudo da técnica sobre uma percepção que pode ser orientada em diversas
pesquisas que surgem através dos estudos de cada um destes subcampos da robótica,
resultando uma contribuição de novas tecnologias e aplicações da robótica móvel na
solução de problemas nos ambientes domésticos e industriais.
Continuando com a introdução exposta no presente capítulo, é destinado o
capítulo 2 à revisão bibliográfica detalhada das tecnologias iniciais e recentes que estão

14
envolvidas neste trabalho, onde é enfatizado o estudo dos sistemas e arquiteturas
mecatrônicas envolvidas nos AGVs. Este ponto é fundamental para conhecer os
diferentes tipos de sistemas de navegação utilizados atualmente em robótica móvel e
especificamente nos AGVs industriais e sendo apresentados, de forma geral, os
diferentes tipos de navegações robóticas utilizadas atualmente, não só para sistemas de
navegação de AGVs, mas também para diversas aplicações da robótica móvel.
No capitulo 3 são apresentados os conceitos fundamentais que estão submersos
em uma manufatura flexível. Esses conceitos são importantes para entender o ambiente
onde o AGV realiza suas funções, como transportador de material, e bem como o
trabalho realizado por ele é fundamental para dar validade ao termo “flexível”, o qual
estabelece a diferença em uma manufatura automatizada. Nesse capítulo é estudado o
método de campos potenciais para evasão de obstáculos e proposto um mapeamento de
sistemas Job Shop na dinâmica de grafos por escalonamento por reversão de arestas
(ERA), que foi introduzido aqui pela primeira vez e desenvolvido para os planejamentos
de roteiros e caminhos dos AGVs. No capítulo 4 estão envolvidas as seções referentes à
modelagem cinemática dos AGVs com reboques. No capítulo 5 é realizada uma
modelagem computacional dos veículos com reboque para realizar os diferentes testes a
serem estudados.
Finalmente, no capítulo 6 são apresentados os resultados obtidos e algumas
sugestões para trabalhos futuros. Os resultados desta tese foram e estão sendo utilizados
na participação de congressos, artigos de revistas nacionais e internacionais que são
referenciados ao longo do presente documento.

15
Figura 1.7 Organização da tese.

16
2 SISTEMAS E ARQUITETURAS MECATRÔNICAS EM
AGVs

Desde os tempos mais remotos que o homem, através da automação, tem vindo a
desenvolver estratégias e mecanismos que lhe permitam libertar-se do trabalho de
origem muscular, animal e das atividades pesadas, tediosas, perigosas e pouco precisas.
Em simultâneo com essa libertação, prevalecem maiores velocidades na execução das
tarefas, menores tempos de parada, menor número de acidentes e fabricação de produtos
cada vez com maior qualidade. Neste capítulo se pretende realizar uma introdução geral
e básica à robótica móvel e condensar o estado da técnica de um tipo de robôs móveis
particular, chamados veículos guiados automaticamente (AGVs), imersos em uma
arquitetura mecatrônica.

2.1 Robôs Móveis

Inicialmente, foi Leonardo da Vinci (1452 - 1519) quem se dedicou amplamente


ao estudo da robótica, possuía uma grande capacidade de projetar e desenvolver
mecanismos que tentavam reproduzir as características naturais em que estava
interessado e que foram observados em seus cadernos Codex Atlanticus, Ms.B, Ms.I,
que se encontram no Museu da História da Ciência em Florença, Itália, ou coleções
particulares como é o caso do Codex Leicester que pertence ao William Bill Gates,
fundador da Microsoft (Figura 2.1) (ROSHEIM, 2006). Os primeiros robôs eram, na
verdade, autômatos complexos, verdadeiras obras de arte mecânicas, que executavam
tarefas de modo repetitivo. Esses robôs deram origem aos atuais braços manipuladores
de base fixa, que atualmente são amplamente adotados na indústria (e.g. indústria
automotiva). Recentemente surgiram os robôs móveis, que se caracterizam pela sua
capacidade de se deslocar de modo guiado (guided), semi-autônomo ou totalmente
autônomo.

17
Figura 2.1 Reconstrução do autômato inventado por Leonardo da Vinci (ROSHEIM, 2006).

Os robôs móveis são mecanismos computadorizados que podem movimentar-se


e reagir ao seu ambiente por uma combinação de comandado e operado, estabelecido
por meio de uma trajetória, plano definido ou ação transmitida em tempo real. A
informação é encaminhada por sensores, que fazem a medição do estado interno do robô
e do ambiente exterior. Uma das características principais dos robôs móveis são sua
mobilidade, normalmente realizada por rodas, esteiras, trilhos ou extremidades.
Os robôs móveis são classificados dependendo do tipo de aplicação ou tipo de
locomoção. Os robôs que usam extremidades (Figura 2.2a) conseguem-se movimentar
por terrenos mais abruptos que os robôs com rodas, mas necessitam mais energia e são
mais lentos (PFEIFFER et al. 1998). Os robôs também podem alcançar mobilidade
voando (Figura 2.2b) como no caso dos robôs utilizados em resgates aéreos e aplicações
espaciais (KAESTNER et al., 2006).

Figura 2.2 (a) Robô PLUSTECH de seis pernas (PFEIFFER et al. 1998), (b) Helicóptero autônomo da
Yamaha RMAX (KAESTNER et al., 2006).

Alguns deslizam ligeiramente pelo chão ou sobre linhas de serviços (dutos,


cabos, etc.) (Figura 2.3) e outros usam levitação magnética para o qual requerem de

18
superfícies especialmente preparadas. Por último, se encontra os robôs subaquáticos,
que possuem um problema (ao igual que os robôs espaciais), a estabilidade (Figura 2.4).

Figura 2.3 Protótipo do robô para tubulações MRINSPECT (Multifunctional Robot for IN-pipe
inSPECTion I, II, III e IV) (ROH et al. 2005).

Figura 2.4 Veículo subaquático Romeo (ANTONELLI, 2006).

Não obstante, tradicionalmente as rodas são os sistemas que mais têm sido
utilizados para lograr mobilidade. As rodas são mais simples de controlar, têm menos
problemas de estabilidade, necessitam de menos energia por unidade de deslocamento
realizado e são mais rápidas. O problema consiste no fato de que somente podem ser
utilizadas em terrenos relativamente lisos e sólidos. Para utilizar robôs com rodas em
terrenos acidentados ou irregulares, são propostas configurações híbridas (com rodas e
pernas) (Figura 2.5) ou ter um tamanho maior nas rodas que os obstáculos encontrados
(IAGNEMMA et al., 2004).

19
Figura 2.5 Robô híbrido com rodas e pernas, HyLoS (BESSERON et al., 2005).

Os pesquisadores SIEGWART e NOURBAKHSH, (2005) fizeram uma


classificação das configurações possíveis de rodas e dos tipos de rodas em um robô
móvel, porém há tendências importantes e agrupamentos que ajudam a compreender as
vantagens e desvantagens de cada uma das configurações.
Uma parte dos estudos em robótica móvel tem como referência às arquiteturas
dos robôs móveis, pois fazem citação principalmente ao conjunto de hardware e
software que controlam o robô. Entretanto o desenvolvimento de módulos de código e a
comunicação entre eles são as partes que começam a definir o que se conhece como
arquitetura. Os sistemas robóticos são complexos e difíceis de controlar devido à
utilização de múltiplos sensores e atuadores com vários graus de liberdade, além de ter
capacidade de integrar sistemas em tempo real com sistemas que não podem cumprir
com essas exigências. As arquiteturas normalmente são fortemente dependentes do
domínio e das tarefas particulares que realizam, portanto, carecem de soluções globais
apropriadas a um grande número de aplicações.
Dentro dos diversos protótipos experimentais que ajudaram ao desenvolvimento
desta área de pesquisa (Tabela 2.1), destaca-se uma das primeiras arquiteturas utilizadas
em robôs móveis, que divide o problema inicial em três fases seqüenciais e iterativas:
percepção, planejamento e ação, utilizada e testada no veículo shakey (Figura 2.6). Em
1986, BROOKS (1986) realizou uma das primeiras classificações das arquiteturas de
robôs que faz distinção entre as arquiteturas hierárquicas e reativas. De igual maneira,
trabalhou em uma arquitetura melhorada do trabalho realizado por NILSSON (1984),
por meio do argumento das interações entre esses três módulos. A arquitetura é
chamada de subsumption, baseada em módulos (camadas ou níveis) de comportamentos
assíncronos (evitar obstáculos, planejar trajetórias, entre outros), distribuindo a tarefa de
determinar uma ação do robô e tornando a navegação dinâmica e reativa (Figura 2.7).
20
As arquiteturas hierárquicas dividem a tarefa de controle do sistema em cinco funções:
(i) percepção, (ii) modelagem, (iii) planejamento, (iv) realização da tarefa; e, (v)
controle dos atuadores. Dentro dessas arquiteturas está o modelo conhecido como SPA
(Sense, Plan, Act) o que significa que um modelo do mundo é mantido pelo sistema,
através de conhecimento prévio ou sensoriamento.

Tabela 2.1 Principais protótipos desenvolvidos em centros de pesquisa.


Ano de
Grupo de Pesquisa Nome do Protótipo Referência e/ou Publicações
Criação
The Artificial Intelligence Center at SRI
Shakey The Robot 1966 (NILSSON, 1984)
International (Stanford Research Institute)
Autonomous Mobile Robots Laboratory -
The Robotics Institute Carnegie-Mellon Neptune 1984 (PODNAR et al., 1984)
University
IBM T.J. Watson Research Center, Nova (MAHADEVAN e
Obelix 1991
Iorque. CONNELL, 1991)
The Centre for Industrial Control of
Concordia University – Montreal, Quebec, CONCIC -2 1992 (CHENG et al., 1992)
Canada
(KRISHNAMURTHY et al.,
Joe Engelberger - US company TRC Helpmate 1992
1992, KOCHAN, 1997)
WALTER
(Weingarten’s
ESPRIT - Project RETRARO – União Autonomer Liefer-,
1997 (SCHILLING et al., 1997)
Européia Transport- und
Experimentier-
Roboter)
Department of Electrical, Computer, and
Systems Engineering at Rensselaer
CATmobile 1997 (DIVELBISS e WEN, 1997)
Polytechnic Institute - Reveo Corp.,
Hawthorne, Nova Iorque
The University of Michigan, Advanced
(BORENSTEIN e EVANS,
Technologies Lab and HRI - Helpmate OmniMate 1997
1997)
Robotics Inc.
Laboratoire d’Analyse et d’Architecture
des Systemès du Centre National de la
Hilare 2 1999 (SEKHAVAT et al., 1999)
Recherche Scientifique (LAAS-CNRS) –
Toulouse França
ROMEO-3 e
Universidade de Sevilla, Espanha 1999 (CUESTA et al., 2004)
ROMEO-4
Intelligence Robotics Research Center
PSR-2 (Pub1ic
Korea Institute of Science and Technology 2004 (PARK et al., 2004)
Service Robot)
Seoul, Korea

21
Figura 2.6 Sven Wahlstrom e Nils Nilsson com o Shakey (NILSSON, 1984, ARKIN, 1998).

Figura 2.7 Arquitetura Subsumption. (BROOKS, 1986).

Outras arquiteturas hierárquicas baseadas em regras estão representadas pela


arquitetura SOAR (State Operator And Result), que é uma teoria computacional da
cognição humana, que assume a forma de uma arquitetura cognitiva geral. SOAR pode
ser considerada a arquitetura mais próxima da cognição, tentando unificar uma série de
fenômenos cognitivos em um conjunto simples de mecanismos, e enfoca várias questões
metodológicas e teóricas comuns a todas as teorias computacionais da cognição
(LAIRD et al., 1991). Outras arquiteturas são a ICARUS (CHOI et al., 2004) e RCS
(Real-time Control System) (ALBUS et al., 2005). Na Arquitetura reativa, o paradigma
é chamado SA (Sense, Act), por não existir o planejamento. O robô apenas reage de
forma direta aos estímulos vindos dos seus sensores. Este paradigma produz adequados
resultados quanto ao desvio de obstáculos, mas não garante que o robô atinja o alvo.
Uma vez que não necessita de planejamento, a atuação do robô é realizada de forma
rápida. Posteriormente, a aparição de uma terceira filosofia de controle híbrida chamada
arquitetura baseada em comportamentos, permitiu uma extensão aos três níveis das
arquiteturas dos robôs. As arquiteturas baseadas em comportamento surgiram para dar
solução aos problemas da falta de precisão inerentes às arquiteturas reativas e
representam a tendência atual. Esta arquitetura combina as duas anteriores filosofias
22
conseguindo os benefícios delas (a precisão da arquitetura hierárquica e a robustez e
capacidade de reação das arquiteturas reativas). Deste modo, aumentam a capacidade de
robustez das arquiteturas reativas por meio de mecanismos deliberativos. Essa
arquitetura é chamada PSA (Plan, Sense, Act). Algumas propostas de arquiteturas
baseadas em comportamento foram surgindo, como o esquema baseado em motor
(ARKIN, 1987) e o uso da avaliação do estudo chamado sowbug proposto pelo
psicólogo Edward C. Tolman em 1939 e aplicado por ENDO e ARKIN (2001), sendo o
primeiro estudo na história em que se programou uma arquitetura apropriada baseada
em comportamentos para robótica. O esquema de navegação é baseado em dois tipos de
vetores: orientação e progressão, que são computados desde os valores dos sensores que
percebem a estimulação. Outros trabalhos baseados em comportamentos foram
realizados em lógica fuzzy (LI, 1994), Neuro-fuzzy (RUSU et al., 2003), programação
automática utilizando aprendizagem (MAHADEVAN et al., 1991), algoritmos
genéticos (DORIGO et al., 1993), entre outros.

2.2 Veículos Inteligentes

Durante as duas últimas décadas, a pesquisa e o desenvolvimento de AGVs têm


experimentado um alto grau de crescimento e sucesso em numerosas
aplicações. Interesses em veículos inteligentes são motivados principalmente pelo seu
grande potencial de melhoras significativas de condução, segurança e eficiência,
e eventualmente notável melhora da qualidade de vida na sociedade moderna. Como
uns dos componentes importantes dos AGVs é a utilização de sistemas mecatrônicos
(dispositivos de detecção, comunicação, computação e tecnologias de controle para
compreender estados de condução e de ambientes para propósitos de operações
auxiliares em veículos, controle de tráfego, gestão, administração de serviços e muitas
outras atividades). Além disso, atualmente os avanços em técnicas emergentes,
especialmente difundidas em computação, redes ad hoc e espaços inteligentes, oferecem
novos eixos de desenvolvimento nesse campo. É de confiar que com este trabalho sobre
AGVs ou mesmo no deslocamento em espaços inteligentes, é uma nova onda de
pesquisa e desenvolvimento em veículos inteligentes.
Especificamente, o conceito de veículos inteligentes se torna
publicamente conhecido desde os anos 90, apesar de muitas das tecnologias conexas

23
poderem ser datadas do início dos anos 70 ou até 80. Na última década, pesquisas com
veículos inteligentes foram sistematicamente impulsionadas por governos, entidades
públicas e empresas do setor automotivo (BISHOP, 2000, BISHOP, 2005). Agora,
pesquisadores e clientes acreditam que os veículos inteligentes rapidamente estão em
crescente exigência na segurança, confortos, tempo ou eficiência de energia e proteção
ao meio ambiente. Mas não há nenhuma conclusão comum sobre o que deveria ser um
veículo inteligente ou funções que são essenciais. Em outras palavras, ainda se
argumenta acerca de quais são os tipos de veículos que podem ser chamados “veículos
inteligentes”.
O aumento na utilização do automóvel nas cidades tem vindo a degradar
significativamente a qualidade de vida, devido ao excesso de tráfego, poluição, ruído,
segurança, entre outros. Esse assunto tem merecido atenção por parte da comunidade
científica, através da realização de projetos relacionados com sistemas cibernéticos de
transporte, de que é exemplo o projeto europeu CyberCars (YANG et al., 2003). A
motivação é o desenvolvimento de frotas de veículos guiados automaticamente (AGVs),
que complementem o sistema de transporte público com um serviço de flexibilidade
equiparado ao do automóvel particular, potenciando a utilização racional do automóvel
em percursos urbanos de curta distância. Dentre os projetos universitários de destaque,
encontram-se os protótipos desenvolvidos por universidades da América do Norte que
participaram do projeto Grand DARPA (Defense Advanced Research Projects Agency
Challenge - Autonomous Ground Vehicles), patrocinado pelas forças armadas dos
Estados Unidos. A tarefa consiste em um veículo terrestre que realize um percurso de
forma completamente autônoma (THRUN et al., 2006).
No setor do transporte de cargas, o primeiro foco da automação veicular
encontra-se na automatização dos veículos de carga e descarga. Destacam-se aqui os
projetos desenvolvidos pelas empresas alemãs FOX GmbH e Goetting KG
(GOETTING, 2001). Como exemplos, destacam-se retro-escavadeiras e empilhadeiras
portáteis, que podem ser transportadas sobre a carreta de um caminhão e que
minimizam o tempo de carga e descarga. O projeto CHAUFFEUR, é um projeto na
Europa centrado em tecnologias para que caminhões pesados sigam um ao outro do
modo automatizado (Figura 2.8). Esse projeto liderado pela Daimler-Chrysler em
parceria com IVECO (Industrial VEhicle COrporation), CRF (Centro Ricerche Fiat) e a
Renault, é centrado nos benefícios de rebocar ou dirigir um sistema automatizado que
consegue uma redução no consumo de combustível, redução do impacto ambiental,

24
melhora do fluxo de tráfego, condições de trabalho mais confortável e maior segurança.
Com o projeto CHAUFFEUR, foram demonstradas diferentes manobras em uma frota
de caminhões operados sob condições normais de velocidades.

Figura 2.8 Teste de veículos do projeto CHAUFFEUR (FRITZ, 1999).

Um dos projetos de grandes proporções na área de automação veicular foi


realizado na Alemanha pela empresa Volkswagen em parceria com pesquisadores do
Technische Universität Braunschweig (WEISSER et al., 1999). Nesse trabalho um
veículo de testes foi automatizado com inúmeros sensores e, como atuador, foi
construído um robô navegador, que se encontra ao volante no lugar do motorista (Figura
2.9). Esse robô substitui pilotos de prova que testam veículos em condições extremas,
para ensaios de durabilidade e resistência. Outras pesquisas e projetos na área de
veículos inteligentes têm sido desenvolvidos por diferentes entidades e que alguns são
relacionados na Tabela 2.2.

Figura 2.9 Robô navegador (WEISSER et al., 1999).

25
Tabela 2.2 Principais projetos de veículos inteligentes.
PROJETO REFERÊNCIA
DRIVE (Dedicated Road Infrastructure for Vehicle Safety in Europe) CATLING et al., 1991
AHSRA TAN et al., 1991
AHS Vehicle CHUN et al., 1995
TABASCO (Telematics Applications in BAvaria, SCotland and Others) CATLING et al., 1995
DIATS (Deployment of Interurban ATT Test Scenarios) BRACKSTONE et al., 1996
DEMO 97 Vehicle OZGUNER et al., 1997
Prometheus HELLAKER, 1999
Intelligent Multimode Transit System (IMTS) ASO et al., 2000
DEMO2000 TSUGAWA et al., 2001
ADASE (Advanced Driver Assistance Systems in Europe) BROOKHUIS et al., 2001
LIVIC - The Route Automatisée project – LARA MAMMAR et al., 2002
California PATH Experimentation with Truck Platoons VANDERWERF et al., 2004
Cooperative Vehicle-Highway Automation Systems (CVHAS) SHLADOVER et al., 2004
Phileas DE WAARD et al., 2004
CIVIS BOUCHERET, 2004
Smart Car DANKERS et al., 2006
ANU/NICTA Intelligent Vehicle BARNES et al., 2006
ARGO GROVER et al., 2006
John Deere 6410 Tractor WELLINGTON et al., 2006
ANU’s Autonomous Vehicle Project (AVP) PETERSSON et al., 2006
ParkShuttle LOHMANN, 2007
UGV Demo II Vehicle AHMED et al., 2007
PReVENT SCHULZE et al., 2008
Outros projetos:, UDC (Urban Drive Control), VASCO (Vehicle ATT Demonstrations, Evaluation and
Monitoring on a European Corridor Uniting Member States), TELSCAN (TELematic Standards and
Coordination of ATT Systems in RelatioN to Elderly and Disabled Travellers), RESPONSE, CONVERGE
(Telematics Sector Consensus and Support), AUSIAS (ATT in Urban Sites with Integration and
standardization), COSMOS (Congestion Management Strategies and Methods in Urban Sites),
DACCORD (Development and Application of Co-ordinated Control of Corridors), IN-RESPONSE
(Incident Response with on-line Innovative Sensing), PROMISE (Personal Mobile Traveler and Traffic
Information Service), EUROSPIN (EUROpean Seamless Passenger Information Network), COMETA
(Commercial Vehicle Electronic and Telematic Application), AC ASSIST/ROADSTER (Anti Collision
Autonomous Support and Safety Intervention System) entre outros.

2.3 Veículos Guiados Automaticamente

O AGV se define como um veículo de transporte conduzido por um sistema


computadorizado que admite diferentes configurações mecânicas, mas o acrônimo AGV
tem dois significados quase similares e utilizados frequentemente. Primeiramente o
veículo guiado automaticamente é relacionado com veículos guiados por computador.
Nenhum ser humano ou animal têm o controle direto ou (um tanto) indireto sobre o
veículo. O segundo é veículo guiado autônomo, nesse sentido um AGV é um veículo
com o uso da “inteligência” local que determina seu próprio comportamento. Sendo
que, o veículo é controlado por computador, mas o comportamento do veículo é
determinado por um computador independente. Esse computador não necessita estar

26
integrado ou embarcado no próprio AGV (BRÄUNL, 2006). Nesta tese, a diferença
entre automático e autônomo é irrelevante.
Os AGVs são uma das áreas mais emocionantes e dinâmicas na manipulação de
material hoje em dia, mas os AGVs não são realmente novos. Há Trinta anos
aproximadamente foram inventados e chamados de sistemas sem operário.
Desenvolvimentos tecnológicos podem ter dado flexibilidade e capacidade aos AGVs,
mas a aceitação no mercado tem sido realizada pela variedade de aplicações,
permitindo-se expandir dentro dos padrões de manipulação de material (KOFF et al.,
1985).
Geralmente, os AGVs são veículos industriais de diversos tamanhos, de tração
elétrica, sem motorista e com diferentes tipos de dispositivos para manipulação de
materiais ou cargas (Figura 2.10). São reconhecidos como o sistema mais flexível na
manipulação de materiais, já que são aptos para tarefas que vão desde distribuir o
correio, até transportar grandes quantidades de carga. Esses veículos podem ser
considerados como uma classe de robôs móveis com rodas, que surgiram como uma
forma de solucionar as necessidades de flexibilidade do sistema de transporte, para se
adaptar rapidamente a câmbios na demanda. Suas múltiplas aplicações incluem as
indústrias aeroespacial, automotiva, eletrônica, hospitalar, indústrias de papel e
indústrias de metais. Os primeiros veículos foram desenvolvidos em 1954 por Barrett
Electronic Corporation, que utilizavam um cabo elevado para dirigir um veículo com
reboque em uma loja de comestíveis (MORAVEC, 2003). Mas foi nos anos 60 e
posteriormente nos 70 quando a evolução da eletrônica permitiu uma ascendente
introdução no mercado, sendo assim numerosos os modelos construídos. Em 1988 foi
calculado que a indústria americana fez um investimento de 250 milhões de dólares na
fabricação de AGVs. Atualmente, os principais países fornecedores desses veículos são
a Suécia, os Estados Unidos, a Alemanha e o Taiwan. Historicamente a demanda e o
crescimento do mercado dos AGVs tem sido lenta, não obstante nos últimos anos
começou a ter um crescimento potencial (Figura 2.11).

27
Figura 2.10 Componentes de um AGV.

Figura 2.11 Número de AGVs registrados pela HHIA desde 1997 até 2007 (Fonte: Automatic Guided
Vehicle Systems Product Section of the Material Handling Industry of America – MHIA) 2

Uma das aplicações com maior crescimento potencial imediato é o transporte e


carga de contêineres nos portos. Todos os anos há um aumento no transporte de
contêineres ao longo do mundo, como no caso do Container Terminal Altenwerder (CTA)
em Hamburgo, na Alemanha (Figura 2.12) e Europe Combined Terminals (ECT) em
Rotterdam, na Holanda, que apresentam um alto grau de automação e uso de AGVs
(PARK et al., 2007). O terminal Delta Sealand (Figura 2.13a, b, c) em 1993 foi o
primeiro terminal totalmente automatizado (DUINKERKEN et al., 2002). Em anos
recentes, vários estudos foram realizados na viabilidade de aproveitar veículos
automatizados para o transporte de carga em Portos de Cingapura, Thamesport (Reino
2
MHIA (Material Handling Industry of America) é a principal associação comercial sem fins lucrativos que representa a indústria
da manipulação de material e da logística. Dessa associação são parte Danaher Motion Särö, Egemin Automation Inc., FMC
Technologies, Frog Navigation Systems, Inc., HK Systems Inc., Jervis B. Webb Company, SICK, Inc. e Transbotics Corporation.

28
Unido), Kawasaki (Japão), Kaoshiung (Taiwan) e Busan (Coréia); que estão
experimentando sistemas semelhantes para o uso massivo de AGVs, com a finalidade de
enfrentar o rápido crescimento do transporte de contêineres. No caso do terminal CTA em
Hamburgo, um controlador central comunica as instruções a todos os AGVs para a
realização de novas tarefas. O movimento dos AGVs é silencioso e guiado por
transponders situados abaixo do pavimento (ZHANG et al., 2006). O veículo é
totalmente simétrico e pode se mover nas duas direções com a mesma velocidade. Os
AGVs para portos usam quatro rodas motrizes e são equipados com sensores de detecção
de objetos, responsáveis de detectar eventuais obstáculos. A navegação desses AGVs é
realizada por um sistema de supervisão de controle central. Nos portos, diversos são os
estudos realizados para a otimização da utilização do espaço, distribuição de contêineres,
plano de ordem de carregamento e descarregamento do navio.

Figura 2.12 Visita aos Terminais de Contêineres Eurogate e Altenwerder (CTA), Hamburgo (Alemanha).

O Centro de tecnologia do transporte nos Países Baixos está estudando desde 1994
um sistema de transporte de contêineres chamado Combi-Road. Cada contêiner é puxado
por um semi-reboque e por um caminhão automatizado. Os caminhões são eletricamente
dirigidos e estão montados ao longo de trilhas especialmente projetadas (Figura 2.13d). O
plano é construir um grande sistema que ofereça o transporte de contêineres livre de
tráfego. No mesmo campo de aplicação, a empresa Patrick Corporation especializada na
logística do transporte de carga e descarga de navios, adquiriu e redesenhou no terminal
de contêineres na ilha de Fisherman em Brisbane (Austrália) um sistema automatizado
utilizando AGVs (NELMES, 2006). O sistema de controle dos veículos permite o
planejamento e execução de caminhos ao longo da zona portuária. Um sistema similar é

29
o MTS (multi-trailer system) que consiste em um conjunto de reboques carregados de
contêineres e utilizado no terminal de contêineres de Maasvlakte (Figura 2.14). O
compromisso de implantar AGVs em terminais de contêineres reside na sua capacidade
de atingir elevados rendimentos de transferência, com operação continua e a redução de
custos operacionais (IOANNOU, 2008).

(a) (b)

(c) (d)

Figura 2.13 (a,b,c) Transporte de carga utilizando AGVs no Terminal de Contêineres Delta em Rotterdam
(Holanda) e (d) Projeto Combi-Roads (ZHANG et al., 2002).

Figura 2.14 Terminal Patrick na Austrália (NELMES, 2006) e Sistema multi-trailer (MTS) utilizado no
terminal de contêineres em Maasvlakte na Holanda (DUINKERKEN et al., 2007).

30
De igual forma, os desenvolvimentos tecnológicos podem ter dado aos AGVs
maior flexibilidade e potencialidade. Pesquisas e objetivos típicos no projeto de
sistemas AGVs incluem avaliação da viabilidade, avaliação das regras de liberação,
eliminação dos problemas de tráfego, maximização do nível de produção (throughput),
maximização na utilização dos veículos, minimização do nível de inventário,
minimização dos custos de transporte e maximização do espaço utilizado, entre outras.
Ferramentas utilizadas no projeto de sistema AGVs podem ser classificadas em
duas categorias principais, as ferramentas analíticas e as ferramentas baseadas na
simulação. As ferramentas analíticas são técnicas matemáticas, por exemplo, a teoria de
filas, a programação inteira, algoritmos heurísticos e cadeias de Markov (SEZEN,
2003). Enquanto aos modelos de simulação, um exemplo é o testsite construído em
Delft University of Technology na Holanda. O testsite é uma zona especial equipada
com modelos em escala dos equipamentos (AGVs e portos), utilizado pelo
Underground Logistic System Schiphol (OLS) para testes de controle e planejamento de
trajetórias (Figura 2.15).

Figura 2.15 Sistema de controle de testes com modelos em escala de AGVs (VERBRAECK et al., 2001).

2.3.1 Técnicas de Orientação em AGVs

As técnicas de orientação de AGVs incluem caminhos orientados com fios e


caminhos orientados sem fios (Figura 2.16). Na técnica de orientados com fios, são
enterrados fios no chão com sinais a diferentes frequências e os AGVs selecionam um
caminho, atribuído por um ponto de controle de acordo com a frequência designada.

31
Existem algumas vantagens desse tipo de tecnologia e uma delas é que pode trabalhar
em ambientes sujos e com bastante fluxo de veículos. A desvantagem está no seu baixo
grau de flexibilidade, já que os circuitos de trajetórias não são facilmente alteráveis e é
elevado o custo de manutenção e reparo dos cabos. Essa desvantagem causou o
desenvolvimento de técnicas de comando sem fio (SEZEN, 2003). Quando existem
situações nas que são desejáveis que os veículos não estivessem restritos a uma
trajetória fixa, como no caso em que as trajetórias precisam ser modificadas
frequentemente ou os pontos de carga e descarga mudem de sitio em um período curto,
os sistemas sem fios são preferíveis. Uma parte importante dessa tecnologia é a
obtenção das informações dos sensores e a correção de erros de posicionamento, que
são transmitidos de forma continua e instantânea através de um computador embarcado
no veículo. Um aspecto admirável é que o próprio veículo está programado para evitar
possíveis obstáculos presentes na trajetória. Não obstante, existem duas classes gerais
de métodos de orientação sem fios, o primeiro é sem fio referenciado no chão. As
vantagens dessa tecnologia são a sua flexibilidade e fácil instalação. Podem ser de
comando óptico ou de linhas químicas pintadas. No sistema óptico uma luz que é
apontada abaixo do veículo é refletida e esses sinais são captados por foto sensores que
se encontram na parte inferior do AGV. Nos comandos por linhas químicas ou
pintadas, linhas especiais são pintadas no chão para formar o conjunto de trajetórias de
guia para o AGV.

Figura 2.16 Classificação das técnicas de orientado em AGVs.

32
A segunda classe é os sem fios e referenciado na planta, sendo divididos em
quatro tipos utilizando métodos diferentes de medição. O primeiro é o método de
cálculo morto que utiliza normalmente odometria. É uma técnica que obtém uma
posição relativa do veículo utilizando encoders ópticos para fazer medições precisas da
rotação das rodas de tração e seu ângulo de direção. Os maiores problemas das técnicas
de cálculo morto são produzidos pelo escorregamento das rodas que emitem
imprecisões nas medições dos encoders, na forma de distâncias não medidas e as
variações de carga que podem desviar as rodas odométricas e introduzir erros
adicionais. O segundo método é o raio laser que utiliza vários scanners para o envio de
raios de luz para formar o trecho das trajetórias. O sistema de comando por laser é mais
desejável que outros sistemas em ambientes limpos, porque proporciona maior
flexibilidade. O terceiro método é a combinação do cálculo morto e os orientados por
laser. É uma técnica que tenta cobrir os pontos fracos das duas técnicas por separado.
Para eliminar os erros provocados pelo escorregamento das rodas no cálculo morto, são
utilizadas triangulações por intermédio de raios laser que ajudam a corrigir a posição. O
quarto método é o sistema de balizas, que utiliza balizas situadas em uma série de
posições de referência ao longo da planta. A posição do veículo pode ser calculada com
um dispositivo no AGV que é capaz de medir a distância e a direção com relação à
baliza. Um método particular utiliza balizas a laser, que são instaladas em uma
determinada posição e transmite os dados angulares do veículo para obter sua posição.
Outro método utiliza balizas em três dimensões por meio de sistemas de visão
artificial. Algumas balizas utilizam impulsos acústicos detectáveis através de sensores
de ultrasom. Neste ponto também é possível efetuar uma distinção entre baliza ativa
(balizas que emitem sinais) e passiva (só objeto físico). Por último, está o guiado
inercial que é baseado na utilização de giroscópios. O maior avanço proporcionado
nesse método é o sistema de posicionamento que utiliza códigos ao longo da trajetória.
Cada um dos códigos emite uma única direção de localização do veículo que é utilizada
pelo computador para reajustar sua posição. Normalmente, são utilizados dois
giroscópios, o giroscópio Free que possui um odômetro e é utilizado para determinar a
direção do veículo e medir a distância relativa a um ponto especifico; e, o giroscópio
Rate onde um odômetro é utilizado conjuntamente para determinar a direção e a posição
do veículo.
Outra classificação das tecnologias usadas nos AGVs é realizada de acordo à
aplicação, o local e o sistema de referência em que é utilizado (Figura 2.17). O primeiro

33
é o método com guias (no chão). Nesse método estão os ópticos, que utilizam um
conjunto de sensores ópticos adaptados na parte inferior do veículo, para identificar a
presença da fita guia e posteriormente enviar sinais ao controlador que efetua
automaticamente a correção na direção do AGV, colocando-o novamente sobre o
caminho. Os indutivos realizam o direcionamento do AGV através de trilhos com laços
indutivos, sendo o AGV equipado com antenas especiais que servem como sensores de
direção. O segundo método são os sistemas sem guia (na planta), que utilizam os
sistemas de rádio que se valem da comunicação por radiofrequência em ambientes
internos, para mudanças de trajetória, solicitação de atendimento, entre outros. Os GPS
(Sistema de Posicionamento Global) utilizam o sistema de posicionamento global por
satélites para a sua orientação. O sistema laser é outra tecnologia que utiliza um sensor
óptico laser e guias ao longo do caminho para a orientação do veículo. Utilizado quando
é inviável a utilização de fita ou cabo indutivo. Por último, os inerciais que é o sistema
mais recente dos apresentados (década dos anos 90) que consiste na medição dos
desvios através de um giroscópio e na comparação com o percurso armazenado em
memória; é um sistema muito versátil no que diz em referência à mudança de
trajetórias.

Figura 2.17 Classificação dos sistemas de referência em AGVs.

Cabe ressaltar que as tecnologias mais recentes (laser, GPS, fusão sensorial,
visão, entre outras) desenvolvidas para navegação robótica e especificamente para o
caso dos AGVs, são utilizadas nos veículos chamados auto-orientados (Tabela 2.3).

Tabela 2.3 Principais tipos de sensores para sistema AGVs.


Sensor Principal Função Exemplos
GPS (Sistema de Posicionamento
Determinar a posição absoluta ou Global), bússola, inclinômetro,
De Posição e Orientação
direção de orientação do AGV triangulação utilizando marcas
(Beacons)

34
Sensor infravermelho (IR – Infrared),
Determinar a distância até um ultrasom (Sonar), radar, sensor laser
De Obstáculos
objeto ou obstáculo (Laser Rangefinder), sistema de visão
estéreo (Stereo Vision)
Determinar o contato com um Sensores de contacto (Bumbers,
De Contato objeto ou posição de contato de Switch), antenas, marcações (Barreiras
marcação ópticas e magnéticas)
Inercial (Giroscópio e Acelerômetros),
Medir o deslocamento do AGV
De Deslocamento e odômetro (Encoders: Optical, Brush),
Medidas relativas da posição e
Velocidade potenciômetros (Angular), sensores
orientação do AGV
baseados em Visão
Envio e recepção de dados e sinais Sistemas de visão e sensores ópticos,
Para Comunicação
externos (Troca de informação) sistemas de comunicação (RF)
Sensores magnéticos, indutivos, capacitivos, reflexivos
Outros Tipos Sensores de temperatura, carga (Bateria), pressão e força, entre outros
Detectores: Detector de movimento, de marcações, de gás, de odores

2.4 Tipos de AGVs

Os AGVs são utilizados de modos diferentes e podem ser classificados para a


movimentação de materiais em cinco tipos, como se pode observar na Figura 2.18
(HAMMOND, 1986, CASTLEBERRY, 1991).

Figura 2.18 Tipos de AGVs (KOFF et al., 1985, MILLER, 1987).

2.4.1 AGVs de Reboques (Towing ou Tugger AGVs)

Os AGVs de reboques foram os primeiros tipos e são ainda hoje uns dos mais
populares. Esses veículos podem rebocar diversas classes de reboques com capacidades

35
que podem variar de 40 kN a 250 kN (Figura 2.19). O número de reboques em cada
frota é dependente do peso total, do layout e as características do reboque.

Figura 2.19 AGV com reboques da FMC Technologies instalado na planta de Twinsburg da Daimler
Chrysler (FMC Technologies, 2001).

2.4.2 AGVs de Unidades de Carga (Unit Load AGVs)

São veículos equipados com plataformas que permitem o transporte de unidades


de carga e frequentemente de transferência automática da carga (Figura 2.20). As
plataformas podem ser: (i) de elevador e de tipo inferior, (ii) de plataforma de rolo
motorizado e não motorizado, (iii) de cadeia ou correia; ou, (iv) de plataformas
especiais com divisões múltiplas.

Figura 2.20 AGV tipo unidade de carga da FMC Technologies (FMC Technologies, 2003).

Os AGVs de unidade de carga são utilizados em aplicações que normalmente


abrange missões específicas para o movimento de paletes individuais. As unidades de
carga são bastante populares em aplicações que integram transportadores com AS/RS.
Normalmente, os sistemas de unidades de carga entrelaçam uma recepção e entrega
automática de produtos com a administração remota dos veículos. Os transportadores de

36
unidades de carga são utilizados em armazenagem e em sistemas de distribuição, onde
os comprimentos dos trechos são relativamente curtos, mas os volumes são elevados.

2.4.3 AGVs de Empilhadeira (Fork Truck AGVs)

É um veículo guiado relativamente novo, que tem habilidade de proporcionar


serviços de carga de paletes no nível do chão e até em estações de trabalho. Em alguns
casos estes veículos podem também empilhar cargas em paleteiras (rack) ou transporte
de matéria prima (Figura 2.21).

Figura 2.21 AGV da Egemin Automation Inc. utilizado pelo jornal Toronto STAR (EGEMIN, 2003).

O veículo pode posicionar os seus garfos (forks) a qualquer altura, dependendo


da necessidade. O próprio AGV se encarrega de colocar ou retirar o contêiner ou palete
de um compartimento do armazém (solução híbrida, que combina o conceito de AGV
com o conceito do AS/RS). Os AGVs de empilhadeiras requerem uma disposição
complexa da trajetória e um método com precisão para posicionar as cargas no chão.

2.4.4 AGVs de Carga Leve (Light Load AGVs)

São veículos que têm capacidade de carga menor a 2,5 kN e são utilizados para
transportar partes pequenas ou cargas leves (Figura 2.22). São projetados para operar
em áreas com espaço limitado e para movimentação de partes pequenas em bandejas.
São utilizados especialmente na fabricação de produtos eletrônicos e em hospitais.

37
Figura 2.22 Sistema AGV Packmobile® 4 & carrier packet (EGEMIN, 2000).

2.4.5 AGVs para Linha de Montagem (AGVs Assembly Line Vehicles)

É uma adaptação do AGV de carga leve, utilizado para aplicações de processos


consecutivos de montagem (Figura 2.23). Os veículos se deslocam por guias (trilhos) e
transportam peças ou produtos parciais necessários no processo de montagem,
permitindo operações paralelas e flexibilidade nos processos de manufatura.

Figura 2.23 AGVs fabricados pela Jervis B. Web Company, instalados na planta de montagem da John
Deere em Horicon, Wisconsin (JERVIS, 2006).

2.5 Funções Básicas dos AGVs

2.5.1 Orientação

Esta função permite que o veículo siga a trajetória desejada utilizando o controle
da direção do AGV, permitindo que o veículo manobre fisicamente em modos

38
diferentes. Existem dois tipos básicos de controle de direção: o controle de direção de
velocidade diferencial e o controle dirigido na roda de direção (Figura 2.24). O controle
de direção de velocidade diferencial usa dois mecanismos de direção de rodas fixas,
modificando as velocidades entre as duas movimentações em um ou outro lado da
trajetória da guia, permitindo ao veículo executar um giro; similar na forma que um
tanque de guerra ou veículos de trator com esteiras executa giros. O controle dirigido na
roda de direção usa controle de direção do tipo automóvel, no qual uma roda na frente
gira para seguir a trajetória da guia. O controle dirigido na roda de direção é utilizado na
maioria de AGVs. O controle diferencial não é utilizado em sistemas com reboques e
nem em veículos que são manipulados ou dirigidos pelo homem.

Figura 2.24 Sistemas de direção em AGVs.

2.5.2 Encaminhamento

É a habilidade do veículo para realizar decisões na orientação ao longo do


caminho, a fim de selecionar as rotas ótimas para alcançar os destinos específicos. A
maioria das vezes, supondo que existe mais de uma trajetória possível para ir de um
ponto a outro, precisa-se determinar qual é a trajetória ótima de acordo à função
objetivo. Normalmente quando um veículo é encaminhado, é preciso conhecer a posição
de cada veículo (nesse caso é quando se faz referência ao sistema de encaminhamento
incremental ou absoluto). Para determinar a posição, usualmente são utilizadas técnicas
que se centram ao redor de dois métodos: o método seletor de freqüência e o método
seletor de caminhos.

39
2.5.3 Administração do Tráfego

É um sistema ou uma habilidade do veículo de evadir colisões com outros


veículos, maximizando o fluxo e consequentemente o movimento da carga em todo o
sistema. Normalmente, em qualquer sistema AGV é utilizada uma frota de veículos.
Estes veículos têm que ser despachados em uma sequência determinada e bem
administrada. A administração do tráfego normalmente é alcançada em três formas: (i)
através do controle de zona, (ii) sensoriamento na frente; e, (iii) controle combinatório
(Figura 2.25). No controle de zona, os veículos devem esperar até que “o comando
central” envie uma ordem para serem admitidos em uma zona livre ou em alguns casos,
os veículos estão programados para conseguir essas zonas livres. No sensoriamento na
frente, o veículo usa um sensor a bordo que detecta a presença de um veículo na sua
frente. Sensores podem ser sonoros, ópticos ou de tipo pára-choque. Na prática é
utilizado o controle combinatório (combinação do controle de zona e sensoriamento na
frente).

(i) Controle de zona (ii) Sensoriamento na frente

(ii) Controle combinatório

Figura 2.25 Tipos de administração de tráfego (MILLER, 1987).

2.5.4 Transferência de Carga

É o método do receptor e da entrega para um sistema de AGVs, que pode ser


simples ou integrado com outros subsistemas. Baseado na aproximação de MULLER

40
(1983), uma classificação sistemática das possibilidades de transferência de carga é
mostrada na Figura 2.26. Além da distinção entre a aceitação da carga (carregamento) e
a descarga (descarregamento), o estado ativo e passivo da transferência de carga e o
veículo de transporte, são característicos. Os tipos de veículos e estações de
transferência de carga são adequadamente classificados e revela um grande número de
oportunidades de transferência de carga, resultando em uma combinação dos diferentes
sistemas, com variação no grau de automação. A melhor solução para transferência de
carga em qualquer caso particular, depende do estudo custo - beneficio e o tipo de
aplicação.
Passivo

Passivo
Ativo

Ativo
Ativo

Ativo
Passivo

Passivo
Passivo

Passivo
Ativo

Ativo

Ativo
Passivo

Ativo

Ativo
Ativo

Ativo

Ativo

Ativo
Ativo

Ativo

Ativo

Ativo
Passivo
Ativo

Ativo

Ativo
Passivo

Ativo

Ativo
Ativo

Passivo

Passivo
Ativo

Ativo
Passivo

Passivo
Ativo

Figura 2.26 Classificação sistemática de transferência de carga para AGVs (MULLER 1983).

2.5.5 Gerenciamento do Sistema

É o método de controle utilizado para dar ordens na operação do sistema. A


seleção apropriada do método para cada função e sua habilidade de integração com as
outras funções, determina em grande medida o grau do sucesso de um sistema em
particular (KOFF et al., 1985).

41
2.5.6 Diretrizes de Sistemas de Segurança em AGVs

As partes importantes dos sistemas AGVs são a segurança e a operação.


Fornecedores e compradores de sistemas AGVs comumente utilizam as recomendações
fornecidas pela American National Standards Institute (ANSI) que abrange diversas
áreas de operação de equipamentos e projetos (Tabela 2.4). A norma ASME/ANSI
B56.5 determina as exigências para AGVs na indústria. Nesta norma se disponibilizam
dados para a concepção da segurança, instalação, operação e cargas que devem ser
transportadas por um AGV, assim como a utilização de sensores para proteção,
deslocamentos mínimos entre estações de trabalho, entre outras considerações.

Tabela 2.4 Principais normas de funcionamento e operação para AGVs (DURBIN et al., 1999).
STANDARD DESCRIÇÃO

ASME B56.1-1993 Para todo novo veículo low-lift e high-lift manufaturado depois de 26/06/1998.
NFPA 505-1987 Para veículos industriais
UL 583-1984 Para veículos industriais que utilizam baterias
UL 558-1984 Para veículos industriais de combustão interna
ANSI/ASME B56.5-1988 Para veículos guiados industriais
Para veículos industriais guiados e funções automatizadas de veículos guiados
ANSI/ASME B56.5-1993
tripulados
ANSI/ASME B56.9-1992 Para veículos industriais com reboque controlados por operário

2.6 Arquitetura Mecatrônica em Sistemas AGVs

Existem várias definições para mecatrônica (BISHOP, 2002, PONS, 2005,


CZICHO, 2006, LENGERKE & DUTRA et al., 2007, LENGERKE & MARTINEZ et
al., 2008). Vários autores concordam em que o termo foi utilizado pela primeira vez
pela Yasakawa Electric Company, que em seus documentos e relatórios a definiu como:
“A palavra Mecatrônica, é composta de Mecha, de Mecanismos e Tronics, de
eletrônicos (Mechatronics). Em outras palavras, tecnologias e produtos deverão
incorporar cada vez mais sistemas eletrônicos em mecanismos, intimamente e
organicamente, de tal modo que será impossível determinar onde um termina e o outro
começa”. Já o Comitê Assessor para Pesquisa e Desenvolvimento Industrial da
Comunidade Européia (IRDAC), diz que: “Mecatrônica é a integração sinergética da
engenharia mecânica com eletrônica e controle inteligente por computador no projeto e
manufatura de produtos e processos” (KYURA & OHO, 1996). A mecatrônica, apesar

42
de não haver uma definição global fundamentada sobre o que é, pode-se afirmar que
conceitualmente, mecatrônica representa a integração tecnológica direcionada para a
utilização ou a sua implantação de sistemas modernos em plantas industriais, áreas de
serviços (bancária, comercial, hospitalar, predial, entre outras) além do setor primário.
De igual maneira, a nova ordem econômica está exigindo maior competitividade das
empresas, o que só é alcançado com um maior nível de automação dos seus processos,
isto significa uma maior demanda em diversas áreas do conhecimento como engenharia
mecânica, eletroeletrônica e sistemas de computação. Ao que tudo indica, conforme a
evolução tecnológica continuar rompendo a barreira do “impossível”, o mundo
acompanhará a adição de novos conceitos à definição de “O que é Mecatrônica”
(LENGERKE & DUTRA, 2007).
O desenvolvimento de uma arquitetura mecatrônica nesta pesquisa está enfocado
em um domínio interdisciplinar das ciências, sobre o complemento aos sistemas
mecânicos por intermédio de um conjunto de métodos para o planejamento do
transporte de produtos em sistemas inteligentes. No sistema de AGVs esta arquitetura
está integrada por três elementos principais: o planejador (de roteiros, caminhos e
trajetórias), o sistema de controle e o veículo. O planejador se define em função das
necessidades do fluxo de material dentro do sistema industrial. O sistema de controle
assegura o adequado fluxo dos dados, da comunicação, dos veículos e dos materiais ou
da carga. O veículo precisa de um controle computadorizado (centralizado ou
individual) para coordenar seus movimentos com relação a outros dispositivos de
manipulação de materiais, além de manter um planejamento das rotas por parte de todos
os veículos. Para realizar e seguir os caminhos e as trajetórias com movimentos precisos
é necessário a caracterização do sistema. Para a navegação dos AGVs a arquitetura
proposta se enfatiza basicamente nos próprios veículos e no sistema de controle de
tráfego. A partir do ponto de vista físico e de controle, cinco componentes básicos
podem ser definidos: no nível físico fazem parte (i) os veículos, (ii) a rede, e (iii) o
sistema de manipulação da carga. No nível de controle (informação) está (iv) o controle
dos veículos e, (v) o sistema de controle de tráfego (Figura 2.27).
Neste contexto, a navegação é definida como a metodologia que permite orientar
o rumo de um AGV através de um ambiente (layout) com obstáculos. Existem diversas
estruturas, mas todas se resumem na pressa de levar o AGV ao seu destino da forma
mais segura. A capacidade de reação ante as situações inesperadas deve ser a qualidade

43
a ser desenvolvida. O sistema de manipulação de carga representa um componente
comum que pertence colateralmente ao veículo e à rede no nível físico.

Figura 2.27 Visão geral da arquitetura mecatrônica para sistemas AGVs.

Uma distinção deve ser realizada entre o controle do veículo e o controle de


tráfego no nível de informação. Além de outras funções, o sistema de controle do
veículo está principalmente preocupado com o controle do destino. Em primeiro lugar o
controle de tráfego realiza a tarefa de evitar colisões em seções e cruzamentos. Na
maior parte dos casos, o controle do AGV e o tráfego são realizados a bordo dos
veículos. Contudo, em sistemas complexos se faz sentido controlar os veículos a partir
de um computador central, especialmente quando o sistema de transporte comunica-se
com várias interfaces (i.e. transferência de carga com esteiras transportadoras), que, por
seu turno, têm que ser controlados. Nesses casos complexos o computador central
utiliza a lógica a bordo do veículo. Em casos especiais, essa função pode ser executada
de forma centralizada.
O objetivo da arquitetura proposta é a gestão inteligente dos veículos em uma
rede unificada para o transporte interno de materiais ou produtos. O sistema unificado
de transporte permite que os AGVs se desloquem dentro de um SFM sem restrições em
todo o sistema, e consigam transportar o produto em processo de uma estação de
trabalho à seguinte, sem necessidade de passar por armazenamento temporal. Se bem
que esta problemática de transporte estudada está enfocada a SFM, a arquitetura de

44
gestão é de caráter genérico, aplicável a qualquer sistema de produção automatizada
com veículos para o transporte de produtos ou em redes de transporte em terminais de
contêineres, transporte de bagagem em aeroportos e até em Grids computacionais. A
arquitetura mecatrônica está baseada em um processo seqüencial, primeiro desde o nível
físico e posteriormente o de controle.
No nível físico, a rede de transporte de AGVs se divide em zonas de gestão com
agrupamentos lógicos de pontos de carga e descarga, designando uma frota de veículos
a cada zona, com a finalidade de cumprir as demandas de transporte. As zonas não são
necessariamente definidas pela localização geográfica dos pontos de carga e descarga. O
nível físico permite otimizar parâmetros de gestão operativa, porém na arquitetura
proposta é preciso implementar uma solução ao modelo, integrando parâmetros
relacionados com as operações de fabricação, regras de programação, critérios de
seleção, políticas de liberação, regras de encaminhamento e políticas de controle de
tráfego. No nível de controle para uma rede de transporte de AGVs e uma determinada
frota de veículos, o problema de gestão operacional consiste basicamente em quatro
diretrizes:
(i) A tentativa de determinar os movimentos com o sem carga dos veículos, de
tal forma que sejam realizadas as demandas de transporte emitidas pelos diferentes
processos.
(ii) Determinar as regras para o encaminhamento (planejamento das rotas) dos
AGVs, de tal forma que a execução das ordens seja realizada para satisfazer a demanda.
O problema de planejamento de rotas consiste em determinar a sequência ordenada dos
deslocamentos do AGV desde sua localização até o ponto de carga e descarga do
material selecionado. Esta sequência é calculada a partir do modelo ou mapa do
ambiente e a descrição da tarefa que se deve realizar. A decisão da rota depende
consideravelmente de políticas de liberação dos produtos e tempos de processamento. A
determinação da rota deve ser ótima ou pelo menos pseudo-ótima com respeito à função
objetivo.
(iii) Determinação dos caminhos, que é geralmente resolvido pela seleção do
caminho mais curto entre dois pontos, a menos que se encontre com tráfego como é o
caso quando se tem frota de veículos. Em primeiro lugar é definida uma função
continua que interpola a sequência dos objetivos construídos pelo planejador das rotas, a
partir da discretização da mesma a fim de gerar o caminho.

45
(iv) Planejamento da trajetória, que é realizada utilizando um mapa do ambiente
e são usadas estratégias de controle dos atuadores do AGV para a obtenção do espaço
livre de obstáculos e o planejamento de trajetórias globais do mesmo. A construção da
trajetória global pode ser realizada antes do que o AGV inicie a executar a tarefa. No
caso de encontrar obstáculos móveis ou inesperados no caminho (não determinados no
mapa), são articulados mecanismos de prevenção de colisões locais através da ativação
da correspondente ação de evadir o obstáculo e recuperar sua trajetória original global.
No caso de realizar uma navegação sobre ambientes totalmente conhecidos e
previsíveis, resulta desnecessário proceder a um re-planejamento. No nível de controle
se parte de um mapa do ambiente e das especificações da tarefa de navegação. Destes
dados é realizado o planejamento de um conjunto de objetivos representados como uma
sequência e pontos cartesianos dispersos que definem a rota. Seguidamente é construída
a referencia que utiliza o planejador dos caminhos para posteriormente o planejador das
trajetórias gere o comando de direcionamento e velocidade que atuam sobre cada um
dos atuadores do AGV. Usualmente, o uso de sensores internos dos AGVs (sensores de
posição) em conjunto com técnicas odométricas, se produz uma estimativa da posição
atual do AGV, de igual forma uma estimativa dos possíveis obstáculos previstos (Figura
2.28).

Figura 2.28 Descrição da arquitetura mecatrônica proposta para navegação de sistemas AGVs.

46
As tarefas em cada um dos níveis da arquitetura proposta podem ser realizadas
de forma separada, mas na ordem especificada. As interações entre cada uma das tarefas
em cada um dos níveis conformam a arquitetura mecatrônica para a navegação de
AGVs. Na bibliografia é frequente encontrar o conceito de planejamento de caminhos
como a união das tarefas de planejamento da rota e a geração dos caminhos, mas como
se pode perceber na arquitetura proposta, rotas, caminhos e trajetórias são conceitos
diferentes e que são detalhados em cada um dos sistemas desenvolvidos e descritos nos
capítulos seguintes.

47
3 ARQUITETURA MECATRÔNICA DE NAVEGAÇÃO
BASEADA EM SISTEMAS JOB SHOP

Uma grande revolução e inovação estão acontecendo no mundo da manufatura a


partir da mudança na visão das indústrias (Figura 3.1). Os computadores estão
controlando e monitorando os processos, e estão realizando tarefas mais eficientes que
os operários humanos. O alto grau de automação que até a data foi demarcado somente
para produção em massa, agora é aplicado com o auxílio dos computadores, mesmo que
para pequenos lotes de produção. Isto requer uma mudança na automação, de uma linha
rígida de produção a um sistema flexível de manufatura, que pode ser facilmente
redesenhado para atender aos novos requerimentos do mercado (SHIVANAND et al.,
2006).

Figura 3.1 Revolução e inovação nas indústrias de manufatura.

Quando Theo Williamson diretor da R&D em Molins, Deptford (Londres) em


1965 inventou o conceito de SFM, estava pensando em termos de um sistema flexível
de usinagem e o resultado foi o primeiro sistema flexível instalado em uma empresa. O

48
conceito utilizado foi chamado de System 24, porque o propósito era operar o dia todo
(24 horas). Este foi o início do caminho dos SFM (HARTLEY, 1984). Um SFM se
define como um sistema com um elevado nível de processamento de dados distribuídos
e fluxo automatizado de material. O sistema utiliza máquinas de controle
computadorizado, células de montagem, robôs industriais e máquinas de inspeção,
integrado com sistemas de armazenamento, movimentação e transporte de material
(AGVs). Os SFM são controlados por um sistema computadorizado com capacidade de
se reconfigurar para a produção de uma ampla variedade de peças (RÁNKY, 1983,
TALVAGE et al., 1988).
Durante os anos de 1960 e 1970 o custo dos produtos foi a principal
preocupação. Com o passar do tempo a qualidade passou a ser uma prioridade. À
medida que o mercado se tornou mais complexo, a velocidade de entrega aos clientes
também acompanhou essa tendência. Uma nova estratégia foi formulada, a
personalização. As empresas têm que se adaptarem ao ambiente em que operam para
serem mais flexíveis nas suas operações e para satisfazerem os diferentes segmentos do
mercado (personalização). Desta forma, a inovação dos SFM está relacionada com o
esforço de ganhar e oferecer vantagens competitivas. Em primeira instância, SFM é uma
indústria tecnológica e em segundo lugar, SFM é uma filosofia. SFM incorporam uma
visão de sistemas de manufatura. A palavra para a manufatura de hoje é: agilidade. Uma
empresa é ágil quando é a mais eficiente no mercado, opera com menores custos e tem a
maior capacidade de satisfazer seus clientes. SFM é simplesmente um caminho que os
fabricantes utilizam para conseguir essa agilidade.
O auge industrial dos SFM iniciou-se em 1981 e na atualidade tem-se pouco
mais de mil unidades em todo o mundo. Dentro de alguns dos exemplos de SFM
instalados se podem citar: o sistema da Milacron Cincinnati, SCAMP em Colchester
(foi o primeiro e o maior sistema de SFM desenvolvido no Reino Unido), o sistema
projetado pela Renault Machines-Outils (Figura 3.2), o sistema Okuma´s na planta de
Oguchi, MAZAK projetado por Yamazaki Machinary Works Ltd. em Florence,
Kentucky, entre outros (RÁNKY, 1983).

49
Área de
Paletes
Centro de
Montagem

Centro de
Centro
Usinagem
Ferramentas
de Controle

AGV

Figura 3.2 Sistema Flexível de Manufatura (KRIEG, 1988).

Atualmente, a tendência está em direção dos SFM em pequenas versões do


tradicional, chamados célula de manufatura flexível (Flexible Manufacturing Cell,
FMC) (Figura 3.3). Atualmente, duas ou mais máquinas CNC são consideradas um
sistema flexível de manufatura. Assim, um SFM está classificado em diferentes níveis:
(i) Modulo flexível de manufatura (Flexible Manufacturing Module, FMM), que
pode constar de máquinas CNC, uma paleteira e um armazém de partes.
(ii) Célula flexível de manufatura (Flexible Manufacturing (Assembly) Cell,
F(M/A)C). Por exemplo, quatro FMMs e um AGV.
(iii) Grupo flexível de manufatura (Flexible Manufacturing Group, FMG). Por
exemplo, um FMM, dois FMCs e dois AGVs que transportam partes desde a área de
carga de peças, atravessando por máquinas até uma área de descarga de partes.
(iv) Sistema de produção flexível (Flexible Production Systems, FPS). Por
exemplo, um FMG, um FAC, dois AGVs, um armazém automatizado de ferramentas e
um AS/RS.
(v) Linha flexível de manufatura (Flexible Manufacturing Line, FML). Por
exemplo, várias estações em uma linha e AGVs.

50
Figura 3.3 Efeito da capacidade e variedade em tecnologia de processos (HARRISON et al., 2002).

3.1 Navegação de AGVs em SFM

O uso dos AGVs está crescendo. Uma razão é que os fabricantes esforçam-se
para se tornarem mais competitivos e estão adotando pela criação de SFM. Esses
sistemas automatizados integram sistemas de movimentação de material, robôs,
máquinas-ferramentas controladas numericamente, inspeção e estações automatizadas;
oferecendo alta qualidade dos produtos e o aumento da produtividade. Os SFM são
beneficiados pela articulação com AGVs, embora robôs sejam muitas vezes apontados a
economizar bilhões em custos de produção. Hoje, há centenas de casos de sistemas
controlados por computador concebidos para tratar e transportar materiais, muitos dos
quais têm substituído convencionalmente ao ser humano na condução de veículos.
O objetivo do procedimento e arquitetura proposta é uma gestão inteligente dos
AGVs em um SFM para o transporte interno de materiais. Esse sistema de transporte
unificado permite aos veículos navegar pelo layout da fábrica sem restrições e autoriza
o transporte do produto em processo de uma máquina à seguinte, sem a necessidade de
se estacionar temporariamente. Se bem a problemática proposta neste trabalho é da
navegação em um SFM, o método de gestão de transporte proposto é de caráter
genérico e aplicável a qualquer sistema de produção que utilize veículos para o
transporte de produtos.
Define-se navegação como a metodologia ou técnica que permite guiar o curso
de um robô (AGV) até um destino ao longo de um caminho desejado em um ambiente
determinado. Existem diferentes esquemas de navegação, mas todos possuem em
51
comum a “ansiedade” de levar o veículo ao seu destino em forma segura. As tarefas
envolvidas na navegação de um AGV estão determinadas, assim:
(i) A percepção do ambiente através dos seus sensores, de modo que lhe permita
criar uma abstração do ambiente.
(ii) O planejamento de uma trajetória livre de obstáculos, para alcançar o ponto
destino selecionado.
(iii) O comando do veículo através da referência construída.
O método está baseado em um processo seqüencial de tomada de decisões que
posteriormente é retroalimentado em cada uma de suas fases. O layout de um SFM é
dividido em regiões de gestão onde são logicamente agrupados os pontos de
carregamento e descarregamento de materiais e é designada uma frota de veículos a
cada região com a finalidade de satisfazer as demandas. Aqui são integrados todos os
aspectos relacionados com as operações de fabricação, regras de programação de tarefas
das máquinas, políticas de liberação dos AGVs, regras para os roteiros e políticas de
controle do tráfego (Figura 2.28). Para o desenvolvimento da arquitetura proposta,
devem ser consideradas algumas hipóteses, como:
(i) A distribuição da planta (layout) e a configuração do sistema de transporte
estão completamente definidas, incluindo distâncias de transporte fixas, localização das
máquinas e sentidos de direcionamento na rede.
(ii) O fluxo de material entre os recursos (máquinas), em termos de carga por
unidade de tempo, é conhecido. Este é calculado a partir das rotas de fabricação dos
produtos a serem processados e suas demandas ao longo do horizonte da produção.
(iii) Cada vez que um AGV se dirige a um ponto de carga e descarga sempre
existe material para ser transportado.

3.1.1 Políticas de Controle de AGVs em SFM

Um dos principais objetivos de uma política de controle é a de satisfazer as


demandas de transporte o mais rápido possível, e sem ocorrência de conflitos entre
AGVs. Por isso, no mínimo, as seguintes atividades devem ser executadas por um
controlador do sistema:
(i) Liberação de cargas para AGVs.
(ii) Seleção da rota.
(iii) Programação (Scheduling) dos AGVs,

52
(iv) Liberação de AGVs em lugares de estacionamento (ou seja, locais onde os
veículos inativos são posicionados) (VIS, 2006).
Em primeiro lugar, um veículo é liberado para uma nova petição de transporte.
Ao veículo selecionado é atribuída uma via e uma programação para a tarefa de
transporte, de tal forma que o transporte pode ser executado sem ocorrência de
bloqueios perpétuos (deadlock) e colisões. Se não houver petição de novas tarefas, o
AGV pode ser encaminhado para um local de estacionamento, esperando por uma nova
demanda de transporte.

3.1.2 Modelagem do Ambiente

Na modelagem de ambientes podem-se distinguir duas grandes áreas: os


exteriores e os interiores. Os ambientes exteriores utilizam retro alimentação sensorial
(em terrenos abertos e estradas). Estes tipos de ambientes requerem de um grande
potencial computacional para adaptar tarefas de controle e percepção das necessidades,
devido à alta velocidade de movimento em ambientes complexos. O problema básico da
navegação em ambientes exteriores é, principalmente, a grande diversidade de terrenos
e a variável densidade de obstáculos. A maioria dos trabalhos desenvolvidos neste tipo
de ambientes constrói modelos diferentes e dispares, delineando os problemas
utilizando a imposição de fortes restrições (PATNAIK et al., 2005, NEHMZOW, 2006,
ANDRADE-CETTO et al., 2006). Com relação ao problema de posição, este é
resolvido com a utilização de sistemas de posicionamento global (GPS) sejam absolutos
ou diferenciais (BORENSTEIN et al., 1996). Estes equipamentos oferecem posição
tridimensional com um grau de confiabilidade elevado, tempos de resposta baixos e um
custo econômico cada vez menor. De outra forma, os ambientes interiores são
ambientes bem estruturados, conhecidos (ou com certo grau de conhecimento
geralmente por meio de um mapa estabelecido a priori) e previsíveis. Estes ambientes
são facilmente modeláveis por primitivas geométricas e em geral, a utilização de duas
dimensões é suficiente para sua representação. No entanto, os ambientes interiores têm
um problema intrínseco, o problema da posição (processo de determinar a posição e
orientação de um robô), utilizando a informação que proviesse dos sensores externos.
Esta tarefa consiste na detecção de marcas ou padrões de referências presentes no
ambiente, ou a obtenção da correspondência entre a informação fornecida pelos

53
sensores e um mapa, estabelecido a priori, do ambiente. Esta tarefa é complexa e os
tempos de cálculo são extensos.
O ambiente onde o AGV executa as funções de navegação, como no caso dos
SFM, é determinado como um ambiente estruturado. Este ambiente possui como
principais características, a não variação da posição dos componentes ou equipamentos
que conformam o dito ambiente e o não fluxo de pessoas durante o trabalho
desenvolvido pelo AGV. Estas características são ideais nas indústrias altamente
automatizadas, já que a probabilidade de que aconteça algo imprevisto sempre é latente.
É por este motivo que o AGV não está equipado com um só tipo de sensores; a fusão de
vários deles faz com que a navegação seja realizada com segurança. A Figura 3.4
mostra um exemplo do ambiente estruturado geral onde o AGV realiza suas funções.
Pode-se observar que tanto os equipamentos como os caminhos (que são seguidos pelo
AGV) são elementos predeterminados com base em uma análise previamente
desenvolvida, dependendo do processo de fabricação e a flexibilidade com que os
trabalhos têm que ser realizados.

Figura 3.4 Exemplo do ambiente estruturado de um SFM.

3.2 Configurações de Fluxo de Caminhos para AGVs


A distribuição do fluxo de caminhos no layout é um fator importante no projeto
do sistema de manipulação de material. A distribuição deve prover as seguintes
informações:
(i) Locações onde o material deve ser carregado.
(ii) Locações onde o material deve ser descarregado.
(iii) Rotas possíveis entre locações.
(iv) Distâncias que devem ser percorridas para a movimentação dos materiais.
54
(v) Trechos, oportunidades de combinar entregas e possíveis lugares onde pode
existir tráfego.
No projeto de sistemas de AGVs envolve-se o planejamento dos caminhos e a
determinação do tamanho da carga. As diferentes configurações de caminhos para
AGVs incluem (KUSIAK, 1985):
(i) Linhas simples (Figura 3.5).
(ii) Ciclo simples (Figura 3.6).
(iii) Tipo escada (Figura 3.7).
(iv) Rede complexa (Figura 3.8).
Diferentes estudos têm sido realizados para programar trabalhos, liberações e
conflitos nas diferentes configurações de caminhos. Igualmente tem se desenvolvido
estudos analíticos particulares para as configurações em linha simples e ciclo simples.
Para redes complexas, a ferramenta primária utilizada é baseada em simulação com
redes Petri (VISWANADHAM et al., 1990, SHIH et al., 1991, LEE et al., 1992, SUN
et al., 1994, LI et al., 2008).

Figura 3.5 Sistema AGV em linha simples (baixa


flexibilidade). Figura 3.6 Sistema AGV em ciclo simples.

Figura 3.7 Sistema AGV em tipo escada (ladder). Figura 3.8 Sistema AGV em rede complexa.

55
Na construção de um modelo de simulação que represente o modelo teórico de
um SFM, é indispensável o estudo para determinar os possíveis caminhos a partir da
comparação dos diferentes cenários, incluindo um método heurístico de análise do
sistema. Com esta análise se pretende lograr um melhor reconhecimento dos fatores que
tem maiores e menores influências. Além disto, os estudos das configurações do layout
têm como objetivo, possíveis tendências que representam um interesse especial desde o
ponto de vista do projeto de SFM. As medidas de desempenho são um indicador da
competitividade de um SFM, dentro das mais utilizadas está o tempo de fluxo de um
trabalho, que é o tempo total que permanece no sistema. Esse tempo pode ser expresso
como a soma dos tempos total de processamento, de espera na zona de carga e descarga,
na cola de entrada, na cola de saída, do transporte e o tempo de preparação do trabalho.
O tempo médio (mean flow time) é a média dos tempos de fluxo de todos os trabalhos
durante uma corrida da simulação.

3.3 Planejamento de Tarefas em AGVs

Entende-se por planejamento ou programação de tarefas (Scheduling) em um


sistema flexível de manufatura, uma extensa classe de problemas de otimização
combinatória, diferentes entre si por suas complexidades e estruturas (BOWMAN,
1959). Todos eles se apresentam como formas tangíveis na otimização de processos de
manufatura. Diversos autores (SCHRIJVER, 2004, LEE, 2004, AVIS et al., 2005) têm
intentado uma sistematização do corpo do problema e algoritmos que giram em torno a
eles.
A otimização combinatória é uma área da matemática discreta orientada à
resolução de problemas da vida real que tenta conseguir uma função ótima sobre um
conjunto discreto (GRÖTSCHEL et al., 1988, RAO, 1996, AUSIELLO et al., 1999,
JÜNGER et al., 2003, BAMPIS et al., 2006, KORTE et al., 2006). A otimização
combinatória nasceu em meados do século XX e está sendo desenvolvida enormemente
na atualidade. Hoje tem importantes aplicações no setor industrial e em âmbitos onde se
apresentam situações que requeiram principalmente minimização dos atrasos nos
processos e minimização dos percursos, como é o caso das aplicações de SFM.
Em SFM existem diferentes processos com uma variedade de produtos que
podem ou não seguir a mesma rota, isto é, menor tempo de processo relativo em

56
estações de trabalho que variem significativamente. Se todos os grupos de produtos
visitarem a mesma sequência das estações de trabalho, é chamado de sistema de
produção contínua (Flow Shop). Pelo contrário, em um sistema de produção
descontínua (Job Shop), cada tipo de produto tem sua própria rota (MANNE, 1960).
Estas rotas individuais podem com atenção, ser determinadas por um planejador de
processos, porém a mistura total de grupos de produtos resulta em um teste padrão
virtualmente estruturado do fluxo dos produtos (GRAVES, 1981). Um SFM pode
preparar uma variedade de tipos de produtos ao mesmo tempo em grupos de tamanho
pequeno e médio, que é uma alta taxa comparada à de linhas de montagem tradicionais
projetadas para manufaturas de alto volume e baixa variedade. Um SFM simplesmente
poderia ser definido como um sistema industrial, que é flexível se puder processar
várias tarefas diferentes automaticamente e em qualquer ordem. Na realidade, um SFM
é um sistema computacional que dirige um conjunto de máquinas (CNC,
manipuladores, AS/RS) unido por um sistema de manipulação de material
automatizado. O sistema de manipulação de material automatizado, normalmente utiliza
AGVs que aproveitam o chão da fábrica para dirigir veículos sem condutor aos vários
locais da planta entregando materiais. Os SFM são projetados para combinar a
eficiência de uma linha de produção de massa e a flexibilidade de um Job Shop para
satisfazer a produção de lotes de produtos com variedade e volume médio, que exige
mais administração para funcionar eficazmente e efetivamente (QIAO, 1994). Neste
estudo, é descrito o problema de programação Job Shop (JSSP) e seus elementos, para
posterior aproveitamento nas diferentes opções e variantes de programação na definição
da rota, caminho e trajetória do AGV em SFM, desenvolvendo no que neste trabalho é
conhecido como: Arquitetura Mecatrônica (Figura 3.9).

Figura 3.9 Arquitetura mecatrônica geral a partir do problema de programação Job Shop.

57
3.4 Algoritmo de Planejamento de Rotas em Job Shop

Uma discussão prévia da complexidade de tentar gerar programações ótimas em


um ambiente aleatório foi realizada, não obstante, diversas técnicas foram
desenvolvidas utilizando idéias de otimização, tais como a programação dinâmica,
ramais e limites (MAIMON et al., 1988, SAKKOUT et al., 2000). Essas técnicas não
são discutidas neste documento, mas é útil considerar o que é conhecido da
programação ótima. A programação ótima deve ser inteiramente ativa. As programações
ativas são aquelas que nunca fazem uma espera do trabalho (Job) na fila quando podem
completamente ser processadas antes que o seguinte trabalho esteja programado para
começar. A programação ativa reconhece que indo em frente e produzindo o trabalho,
nada está atrasado e o tempo que normalmente seria desperdiçado é utilizado
produtivamente (PINEDO, 2008).
Definição. O problema geral Job Shop é programar os tempos da produção para
J trabalhos (Jobs) sobre M máquinas (Figura 3.10). No tempo 0, se tem um conjunto
de trabalhos J . Para cada trabalho são conhecidas as sequências das máquinas
requeridas pelo trabalho e pelo tempo de processamento em cada uma daquelas
máquinas. As datas pendentes podem ser conhecidas também. O objetivo é minimizar o
tempo necessário para completar todas as operações, T (makespan), minimizando o
número de trabalhos atrasados ou a média dos atrasos, minimizando o tempo médio do
fluxo, ou conseguindo alguma combinação de peso para estes critérios. Este problema é
notoriamente difícil de resolver. Em cada uma das M máquinas existem J ! possíveis

ordens de trabalhos que fazem um total de  J !


M
possíveis soluções (MELLOR, 1966,

ASKIN et al., 1993, PINEDO, 2005). Por exemplo, para apenas dez trabalhos em cinco

máquinas, existem 10!  6 1031 escolhas possíveis. Apesar do esforço considerável


5

por pesquisadores e de abstrações simplistas da realidade ao problema, a maioria de


problemas de programação não estão formalmente perto de ser resolvidos. Em lugar de
mergulhar no pântano matemático que engloba o planejamento de Job Shop, se utilizam
algumas regras de prioridade comuns e simples, junto com alguns resultados básicos
para a solução do problema e aplicá-lo na programação das rotas de AGVs.
De igual forma, em sistemas Job Shop são consideradas as seguintes restrições:
(i) Operações não podem ser interrompidas e cada máquina pode processar
apenas uma operação de cada vez.

58
(ii) Cada job só pode estar sendo processado em uma única máquina de cada vez.
(iii) Cada job é processado por uma sequência conhecida de operações.
(iv) Não existe restrição de precedência entre operações de diferentes jobs.
(v) Não existe qualquer relação de precedência entre as operações executadas
por uma mesma máquina.

Figura 3.10 Problema de programação de Job Shop.

Para o desenvolvimento do algoritmo é preciso descrever que p é a etapa, S p é

a programação parcial de p - 1 operações programadas, Ap o conjunto de operações

programadas na etapa p , que são todas as operações predecessores em S p . ek é o

tempo de operação mais próximo disponível para ser executado k  Ap , que são os

antecessores e máquinas que estão disponíveis. O Algoritmo atua da seguinte forma


(Figura 3.11):
(i) Inicializar. p = 1 , S1  0 . A1 contém a primeira operação para cada trabalho
preparado para ser executado.
(ii) Seleção da operação. Encontrar:

e*  min kAp ek (3.1)

Se existem diversos e* , se seleciona arbitrariamente utilizando regras de


liberação (Dispatching). Dado que m* é a máquina exigida por e* , se seleciona
qualquer k  Ap que precisa de m* e que ek  e* .

59
(iii) Incremento. Adiciona-se à operação selecionada k para S p estabelecendo

S p+1 . Seguidamente é apagada k desde Ap e adicionada à seguinte operação para este

trabalho a menos que seja completado; gerando Ap+1 . Ajusta-se, p = p +1 . Se p = MJ

parar; em caso contrário retornar à etapa (i).

p1,S1 0 Ap  {O11 , O21 , O31 ,.., ON 1}

e*  min kAp ek

k Ap
k
Sp S p+1
Ap+1

p = p +1

p = MJ

Figura 3.11 Diagrama de fluxo para o algoritmo de planejamento de rotas em sistemas Job Shop.

3.4.1 Regras de Prioridade de Liberação

Quando um processo ficar disponível, um trabalho deve ser selecionado desde a


fila de preparação, para sua organização imediata e processamento, isto é conhecido
como liberação (liberação). As regras de liberação estabelecem um meio lógico de saber
qual trabalho terá prioridade na fila de processamento. Algumas regras simples são
frequentemente utilizadas em programação da manufatura, a Tabela 3.1 alista o
conjunto de regras mais comuns (PANWALKAR et al., 1977, CHAN et al., 2003 e
DOMINIC et al., 2004). As regras podem ser classificadas como estáticas ou dinâmicas.
As regras estáticas têm índices de prioridade que ficam constantes, como os trabalhos

60
que trafegam pela planta, e as regras dinâmicas mudam com tempo e possuem
características de filas.

Tabela 3.1 Regras de prioridade de liberação ou sequenciamento.


NOME DESCRIÇÃO
Recebem prioridade as ordens de menor tempo de operação ou
SPT (Shortest Processing Time)
processamento
Recebem prioridade as ordens de maior tempo de operação ou
MPT (Most Processing Time)
processamento
Recebem prioridade as operações dos trabalhos que estão com menor
EDD (Earliest Due Date)
tempo de entrega ou prometidas para as datas mais próximas
P (Priority) Seleciona a operação com prioridade
Seleciona a operação que entrou em primeiro lugar no conjunto de
FCFS (First Come, First Served)
operações candidatas a serem programadas. Prioriza ordem de chagada
Seleciona a operação que esteve no chão do sistema o mais longo
FISFS (First in System, First Served)
tempo
S/RO (Slack per Remaining Seleciona uma operação com a razão menor de inatividade para
Operation) operações remanescentes a ser executadas
Ordena as operações baseadas em razão de prioridade baseada em
Covert
inatividade para o tempo de processamento
LTWK (Least Total Work) Seleciona a operação com menor tempo total de processo
Seleciona a operação associada à tarefa que tem a menor quantidade de
LWKR (Least Work Remaining)
trabalho remanescente a ser processado
MOPNR (Most Operations
Seleciona a operação que tem o maior número de operações sucessoras
Remaining)
Seleciona a operação associada à tarefa que tem mais trabalho
MWKR (Most Work Remaining)
remanescente a ser processado
RANDOM (Random) Seleciona a operação de modo aleatório
Seleciona a operação cuja máquina subseqüente tem a fila mais curta
WINQ (Work in Next Queue)
atualmente

3.4.2 Exemplo

Para aplicar e avaliar o algoritmo é considerado o problema apresentado por


LIAO e YOU (1992), que descreve três estações de trabalho M = 3 (MA, MB, MC) para o
problema de programação das rotas do AGV e o transporte de materiais para três
trabalhos ou jobs J = 3 (J1,, J2, J3) (Tabela 3.2). Esse problema é representado pela
expressão (3.2) e Figura 3.12. Quando se deseja selecionar entre as operações
existentes, os critérios de liberação em sua ordem são: (i) EDD, (ii) MWKR, (iii)
prioridade ao Trabalho1 ( P  1 ), e (iv) em caso contrário, a seleção é baseada no
critério RANDOM.

Tabela 3.2 Exemplo do problema de programação de tarefas para AGVs (LIAO e YOU, 1992).

Operação 1 Operação 2 Operação 3


Estação de Estação de Estação de
Tempo de Tempo de Tempo de
Trabalho Trabalho Trabalho
Processamento Processamento Processamento
(Máquina) (Máquina) (Máquina)
J1 3 MA 1 MB 5 MC
J2 9 MC 10 MB 3 MA
J3 10 MB 8 MC 6 MA

61
J1  O11  M A 3  O12  M B 1  O13  M C 5
J 2  O21  M C 9  O22  M B 10  O23  M A 3 (3.2)
J 3  O31  M B 10  O32  M C 8  O12  M A 6

O11

A
O23
O12 O33

O31 O13
B C
O22

O32 O21

Figura 3.12 Diagrama esquemático do problema - Tabela 3.2.

Para a solução da programação, são seguidos os passos citados na Figura 3.11,


portanto:
(i) Inicializar. p = 1 , S1  0 . A1  {O11 , O21 , O31} ,
(ii) Seleção da operação. O tempo mais próximo para entrar em processo (EDD)
para todas as primeiras operações é 0. Portanto no segundo critério (MWKR) o trabalho
3 (J3) tem o maior tempo de processamento, por isso é selecionada a operação O31 , o

que implica que m  B .


(iii) Incremento. p = 10 , S 2  {O31} , A2  {O11 , O21 , O32 } . Os tempos próximos

de inicio para as três operações em A2 são agora (0, 0, 10);


(iv) Seleção da segunda operação. O tempo mais próximo de operação (EDD) é
O11  O21  0 , é selecionada para operar através do critério MWKR a operação O21 .

Selecionada O21 , o campo m  C . O processo continua até que sejam realizadas as

nove operações ( MJ ). Nos passos seguintes, para cada coluna m é selecionada uma
das máquinas usadas por um elemento de At com o tempo mínimo próximo de espera e
resumido pela Tabela 3.3. Deste modo, é calculado um novo melhor makespan de
T  27 , que é menor se o tempo calculado fosse a soma de todos os tempos em forma
contínua ( T  55 ).

62
Tabela 3.3 Construção da programação de jobs para o exemplo da Tabela 3.2 .
Passo t At ek m* K
1 O11 O21 O31 0 0 0 B O31
2 O11 O21 O32 0 0 10 C O21
3 O11 O22 O32 0 10 10 A O11
4 O12 O22 O32 10 10 10 B O22
5 O12 O23 O32 20 20 10 C O32
6 O12 O23 O33 20 20 18 A O33
7 O12 O23 - 20 24 24 B O12
8 O13 O23 - 21 24 - C O13
9 - O23 - 26 24 - A O23
27

3.5 Controle Distribuído de Sistemas Job Shop utilizando


Escalonamento por Reversão de Arestas

O Escalonamento por Reversão de Arestas (ERA) é um mecanismo de


escalonamento totalmente distribuído baseado na manipulação de orientações acíclicas
de um grafo orientado (BARBOSA et al., 1989, BARBOSA, 1996). Os componentes
elementares deste algoritmo são os processos e os recursos atômicos. Dois exemplos
de interesse são:
(i) Em uma planta industrial, os processos seriam os trabalhos (jobs) e os
recursos seriam as máquinas, os AGVs, os insumos, entre outros.
(ii) Em um Grid computacional, os processos seriam os jobs e os recursos
seriam estações de trabalho, dados, espaço em disco, entre outros.
O ERA foi concebido para o controle de sistemas em alta carga, ou seja, cada
processo está sempre operando ou esperando para operar sobre os recursos
compartilhados. Para explicar o mecanismo de ERA, é considerado o sistema como um
grafo conectado G   N , E  , onde N é o conjunto finito de nós representando os

processos, e E é o conjunto finito de arestas direcionadas do grafo, representando que


pelo menos algum recurso é compartilhado entre os nós conectados (FRANÇA et al.,
2005). Uma aresta está presente entre quaisquer dois nós se, e somente se os dois
processos correspondentes compartilham pelo menos um recurso atômico. No grafo
orientado G existem ainda outras duas estruturas relacionadas ao algoritmo: as fontes
(source) e os sumidouros (sink). Um nó que tem todas as arestas partindo de si é
denominado fonte. Um nó que tem todas as suas arestas direcionadas para si é
denominado sumidouro. Deste modo, em qualquer orientação acíclica inicial  , existe

63
um conjunto de nós com todos os sumidouros de ω e outro com todas as fontes de  ,
sendo ambos os conjuntos necessariamente diferentes de vazio. A execução do ERA,
inicializado por qualquer orientação acíclica  , se passa pela repetição infinita do
seguinte procedimento: todos os sumidouros operam utilizando os respectivos recursos
compartilhados, no final da operação, cada sumidouro reverte todas as suas arestas.
Deve ser notado que todos os outros nós que não são sumidouros não operam. Cada vez
que ocorre a reversão de todos os sumidouros de  , pelo menos um dos vizinhos destes
torna-se um novo sumidouro e passa a ser o novo responsável pelos recursos
compartilhados. Deve ser notado que como somente os sumidouros operam, nenhum de
seus vizinhos (ou seja, os nós com que compartilham recursos) pode operar em paralelo,
o que garante a exclusão mútua sobre o acesso aos recursos.
A cada reversão de arestas dos sumidouros, uma nova orientação acíclica é
definida e o processo inteiro é então repetido para cada novo conjunto de sumidouros.
Seja ’  g ( ) a representação desta operação, ERA pode ser compreendido como a
repetição infinita da aplicação de g ( ) em G . Pode ser facilmente observado como
essa operação é aplicada em um conjunto finito de nós, um período de comprimento p
será definido. Esta dinâmica simples garante que o sistema será livre de bloqueio
perpétuo (deadlock) (Figura 3.13). Além disso, como todos os nós irão operar pelo
menos uma vez dentro de um período, o sistema é livre do processo de fome
(Starvation) por construção. Na Figura 3.14, pode-se ver um exemplo da dinâmica de
reversão de arestas (ERA).
b

a c

e d

Figura 3.13 Bloqueio perpetuo. Como cada nó tem precedência sobre o vizinho, nenhum irá operar e
todos ficarão bloqueados para sempre.

Figura 3.14 Exemplo da dinâmica do ERA.

64
No trabalho de YANG (1999), apresenta-se uma série de teoremas que
demonstram as características mencionadas acima.
Teorema 1 (teorema do sistema livre de fome). Permitindo que o menor
caminho conectando nós i, j N tenha r arestas, então

mi  s, q   m j  s,q   r ,   s  S  &  q  1 (3.3)

Teorema 2 (teorema da operação gulosa). Permitindo que s seja qualquer


esquema de sincronização  e sg a operação gulosa começando em  , então:

mi  s, q   mi  sg , q  ,   i  N  &  q  1 (3.4)

Estes dois teoremas demonstram algumas características essenciais para


qualquer mecanismo de sincronização. O teorema 1 garante fortemente a liberdade da
fome no sistema, no sentido de que qualquer nó sob qualquer esquema de sincronização
eventualmente se torna um sumidouro, e opera. O teorema 2 descreve a otimização da
concorrência da sincronização gulosa sobre os outros esquemas, ou seja, sincronizações
gulosas são as únicas em que os nós operam mais frequentemente partindo de qualquer
orientação inicial . A aplicação do teorema 1 a esquemas gulosos leva a mais uma
propriedade fundamental, descrita no corolário seguinte:
Corolário 1 (corolário da justiça). Todos os nós se tornam um sumidouro em
um mesmo número de vezes em um período.

3.5.1 Generalizações do ERA

Uma generalização do ERA para execuções em alta carga com a condição que os
processos acessam os recursos com freqüências relativas predeterminadas, é chamada
de Escalonamento por Reversão de Arestas Múltiplas (Scheduling by Multiple Edge
Reversal – SMER) (YANG, 1999, FRANÇA, 1994, BARBOSA et al., 2001, PEREIRA
et al., 2003). Outra generalização é o Escalonamento por Reversão de Arestas com
Hibernação (Scheduling by Edge Reversal with Hibernation - SERH) (CARVALHO,
2004 e CARVALHO et al., 2004). A generalização combina o comportamento do ERA
para execuções em alta carga com a possibilidade que um nó se desligue do sistema

65
(estado de hibernação), até que outro nó, que ainda esteja operando, o acorde para
reentrar no modo de operação em alta carga.
Escalonamento por Reversão de Arestas Múltiplas (ERAM). No ERAM,
associado para cada processo Pi existe um número inteiro ri  0 utilizado para controlar

a evolução da dinâmica das prioridades do grafo G . Esse número deve ser designado de
uma maneira tal que, à medida que a computação progrida, para dois quaisquer vizinhos
Pi e Pj em G , a razão entre o número de vezes que Pi tem prioridade sobre Pj e o

número de vezes que Pj tem prioridade sobre Pi convirja para rj ri . O ERA é um caso

particular do ERAM onde todos os processos possuem um mesmo valor para ri , de

modo que a razão rj ri será sempre 1, com isso nenhum processo terá prioridade sobre

o outro. Esse tipo de computação com esse controle generalizado de prioridades pode
ser chamado de computação por reversão de fichas (BARBOSA, 2002). Essa
denominação vem de uma interpretação das arestas de G como sendo bastões onde
fichas podem se mover para frente e para trás, como em um ábaco. Para que Pi tenha

prioridade sobre Pj , devem existir ao menos ri fichas no lado de Pi e uma quantidade

menor que rj fichas no lado de Pj . Quando isso acontece, a mudança de prioridade é

realizada movendo ri fichas de Pi em direção a Pj . Em uma computação por reversão

de fichas, a regra de funcionamento para o processo Pi é a seguinte: uma vez

terminados de utilizar os recursos compartilhados, enviar ri fichas para o outro lado de

todas as arestas associadas a Pi (para um nó operar sabe-se que ele deve ter prioridade
sobre todos os seus vizinhos). Pode-se, também, criar uma orientação para as arestas do
grafo G da seguinte forma: uma aresta está orientada para Pi , se e somente se, existirem

ri fichas no lado de Pi da aresta. Para satisfazer as restrições de que uma aresta possa
estar orientada para qualquer uma das direções e que só possa estar orientada para
exatamente uma direção por vez, a restrição da equação (3.5) deve ser satisfeita (eij é o
número de fichas na aresta que liga Pi a Pj ).

max ri , rj   eij  ri + rj - 1


(3.5)

O Lema 1, apresentado por FRANÇA (1994), estabelece uma restrição


topológica básica na definição de M, onde gcd é definido como o máximo divisor

66
comum e fij é a soma do maior múltiplo do gcd(ri, rj) que não excede o número de
recursos compartilhados orientados de ni para nj, e de nj para ni , respectivamente na
orientação inicial deste grafo (YANG, 1999).
Lema 1. Sejam i e j dois nós vizinhos em M. Se não há o surgimento de
bloqueio perpétuo (deadlock) para qualquer orientação dos recursos compartilhados
entre i e j, deste modo:

max ri ,rj   eij  ri + rj - 1 e f ij = ri + rj – gcd  ri ,rj 


(3.6)

Basicamente, como no ERA, o esquema de sincronização do ERAM é a divisão


do acesso compartilhado entre dois vizinhos interligados. Estes dois vizinhos se ligam
diretamente, ou seja, compartilham os recursos, desta forma acontece exclusão mútua,
onde somente um dos vizinhos opera (Figura 3.15).

Figura 3.15 Definição de um sistema de direcionamento no ERAM, o número de arestas entre dois nós
está dado por eij

Após a operação, os recursos são liberados para que o outro possa operar.
Diferentemente do ERA em que as taxas de operação são ditas justas, pois cada vizinho
opera um mesmo número de vezes. No ERAM cada vizinho pode operar mais de uma
vez em um ciclo, sendo determinado pela taxa de operação deste. Na Figura 3.16, um
esquema é efetuado, nota-se a diferença entre as taxas de operação dos vizinhos, onde o
número de arestas entre dois nós está dado por eij ; em caso de cumprir a expressão (3.7)

acontecerá deadlock.

eij  max ri ,rj 


(3.7)

Quando obedeça a expressão (3.8), ocorrerá exclusão mútua.

eij  ri + rj - 1
(3.8)

67
Figura 3.16 Exemplo da dinâmica do ERAM, onde ri  3 e rj  2 .
Por último, quando incide na expressão (3.9), ocorrerá em necessário e
suficiente.

eij = ri + rj – gcd  ri ,rj  (3.9)

O período entre dois nós ( pij ) está dado pela equação (3.10). Outros detalhes do
funcionamento do ERAM, bem como sua descrição formal, podem ser vistos em
FRANÇA (1994).

ri  rj
pij  (3.10)
gcd (ri, rj )

Escalonamento por Reversão de Arestas com Hibernação. No ERAH,


analogamente ao ERA, a existência de um canal de comunicação entre dois processos
implica no compartilhamento de ao menos um recurso entre eles. Diferentemente do
ERA, no funcionamento do ERAH cada canal de comunicação é controlado por um par
de permissões, denominadas • e ◦. Mais uma vez, como no ERA, os pares devem estar
distribuídos de maneira a se criar uma orientação acíclica inicial no grafo, conforme
pode ser visto na Figura 3.17 (a). No SERH, um nó sumidouro ou sumidouro é aquele
que possui todas as permissões • (denominado de •-sumidouro). Adicionalmente, a
reversão das permissões • através de uma aresta só ocorre se o nó possuir as permissões
◦ para a mesma aresta. Esse comportamento distinto foi introduzido para implementar o
estado de hibernação. Na Figura 3.17 (b), uma vez que alguns dos nós sumidouros
terminaram de operar sobre os recursos compartilhados, eles revertem suas arestas (na
transição de (a) para (b) apenas os nós a, b e e terminaram de operar sobre os recursos
compartilhados; os nós k, l e h continuam operando, por isso, não reverteram ainda suas
arestas). Na Figura 3.17 (c), o nó f decide entrar no estado de hibernação; neste caso, ele
reverte apenas as permissões • para os seus vizinhos, mantendo as permissões ◦. Os nós
c, d, e, h, k e l são •-sumidouros e podem operar sobre os recursos compartilhados. Na
68
Figura 3.17 (d), os nós d, h e l terminaram de operar sobre os recursos compartilhados e
reverteram suas permissões. Na Figura 3.17 (e), o nó g, ao terminar de operar sobre os
recursos compartilhados, decide entrar em estado de hibernação, revertendo todas as
suas permissões • para os nós vizinhos. Ele apenas não reverte para o nó f porque não
possui a correspondente permissão ◦ para essa aresta (o nó f está hibernando, e, com
isso, não está exigindo acesso aos recursos compartilhados). Na Figura 3.17 (f), o nó j
decide acordar os nós f e g que estavam hibernando (quando um •-sumidouro decide
acordar um vizinho, revertem todas as permissões • para o vizinho hibernando). Na
Figura 3.17 (g), os nós f e g ao serem acordados revertem todas as permissões ◦ para
seus vizinhos, com exceção de j. Outros detalhes do funcionamento do ERAH (por
exemplo, a situação mostrada na Figura 3.17 (g) onde as permissões se movem em
sentidos opostos ao longo da aresta que liga f e g) bem como a descrição formal do
ERAH podem ser vistos no trabalho original de CARVALHO (2004) e SOARES
(2007).

Figura 3.17 Exemplo da dinâmica do ERAH.

69
3.5.2 Desenvolvimento do ERA em Sistemas Job Shop para o Planejamento
de Rotas de AGVs

Como se descreveu na parte inicial do presente capítulo, um SFM é um


avançado sistema de produção em que várias normas podem ser utilizadas e diferentes
tipos de produtos podem ser produzidos na mesma linha. A programação e a navegação
dos AGVs em SFM são complexas, por causa do ambiente de produção flexível,
mudanças dinâmicas do sistema e requerimentos de decisão dinâmicos. A programação
de um SFM pode ser simulada com o tradicional sistema Job shop. Um bloqueio
perpétuo pode acontecer em SFM devido a um conjunto de trabalhos que se encontram
esperando para serem processados por recursos (Robôs, buffers ou caminhos) para um
ao outro. Portanto, um modelo que pode lidar com tais sistemas complexos é necessário.
Diversos são os trabalhos que realizam este tipo de análise com diferentes métodos ou
técnicas, como as redes de Petri (MENG et al., 1995, WU et al., 2004, ZHANG et al.,
2007). A maioria desses métodos tem limitações quando existem vários tipos de tarefas
(trabalhos) e grande quantidade de máquinas, não solucionando o problema de
encaminhamento e bloqueio perpétuo.
Como foi descrito anteriormente, o problema geral Job Shop é programar os
tempos da produção para J trabalhos (Jobs ou processos) sobre M máquinas (Recursos).
O objetivo é minimizar o tempo necessário para completar todas as operações
(makespan), minimizando o número de trabalhos atrasados ou a média dos atrasos,
minimizando o tempo médio do fluxo ou conseguindo alguma combinação de peso para
estes critérios. Sendo um problema NP - difícil, as soluções apresentadas neste projeto
utilizam heurísticas (regras de liberação) para a programação das rotas de produção
(GAREY et al., 1976, CARLIER et al., 1989, DAI et al., 2002, LEUNG, 2004).
Definição. O problema de sistemas Job Shop pode se desenvolver a partir de um
algoritmo distribuído de escalonamento para o controle descentralizado deste tipo de
sistemas. Tal tarefa é possível através de um mapeamento do sistema Job Shop alvo em
um grafo G  N , E  onde cada elemento de N representa uma das atividades previstas,

com tempos pré-estabelecidos, a serem executadas de modo exclusivo sobre um


conjunto limitado de recursos, cujas restrições de acesso definem o conjunto de arestas
E . É também mostrado como uma orientação acíclica sobre E é realizada diretamente,
a partir dos critérios heurísticos clássicos (EDD, SPT, P, entre outros). A dinâmica de
escalonamento por reversão de arestas (ERA) pode então ser aplicada sobre G, atuando

70
como um mecanismo de controle descentralizado de coordenação da execução das
diversas atividades previstas sejam estas concorrentes ou sequenciais.
Para a aplicação do ERA neste tipo de sistemas é disponibilizado um novo
conceito das formas de compartilhamento para a solução do problema de planejamento
de rotas de AGVs. Esses compartilhamentos são apresentados neste trabalho como:
AND, OR e XOR.
Compartilhamento AND: Nesta forma de compartilhamento cada processo J
(job) opera sobre o conjunto de recursos M (máquinas) em um segmento exclusivo em
relação a outros processos. A expressão utilizada para o sistema da Figura 3.18, está
determinada pela equação (3.11) e representada pela Figura 3.19.

Mj

Ji J i+1

MO

Figura 3.18 Sistema geral de compartilhamento.

J i  M j M j 1...M O (3.11)

Ji J i+1

Mj

Figura 3.19 Compartilhamento AND.

71
Compartilhamento OR: Nesta forma de compartilhamento, cada processo J
(job) opera sobre cada recurso individual M (máquina) exclusivamente e
independentemente. O recurso é liberado (reversão da aresta) quando terminar o tempo
de processamento ( Tp ) em cada uma das operações dos processos ( O ). A nomenclatura

desenvolvida está determinada pela expressão (3.12) e representada pela Figura 3.20.

J i  M j  M j 1  ...  M O (3.12)

Ji J i+1
Mj

MO

Figura 3.20 Compartilhamento OR.

Compartilhamento XOR: Nesta forma de compartilhamento cada processo J


(job) pode só operar sobre um único recurso M (máquinas) de cada vez (). A
nomenclatura desenvolvida está determinada pela expressão (3.13) e representada pela
Figura 3.21.

J i  M j  M j 1  ...  M O
(3.13)
Ji  M o  M j  M o M j  M o M j

Ji J i+1
M j

MO

Figura 3.21 Compartilhamento XOR.

72
3.5.3 Exemplo

Aplicando o conceito do ERA no exemplo da Tabela 3.2 (LIAO e YOU, 1992),


onde foi utilizado o algoritmo para resolver problemas Job Shop. Os três trabalhos
(jobs) podem ser representados como uma expressão booleana dada pela equação (3.14)
e que faz relação à forma de compartilhamento XOR.

J1  J 2  J 3  M A  M B  M C  M A M B M C  M A M B M C  M A M B M C (3.14)

Por simplificação, A  M A M B M C , B  M A M B M C e C  M A M BMC . A


orientação acíclica inicial adotada é determinada a partir de critérios de liberação de
trabalhos, na sua ordem: EDD, MWKR, P=1 e RANDOM. Segundo as dinâmicas e
critérios de orientação, as primeiras operações a serem processadas são
A1  {Oij , O(i 1) j , O( i  2) j ..., O( i  2) J } onde Ai são os sumidouros. Por tanto, na primeira

reversão A1  {O11 , O21 , O31} o tempo de processamento p ij (adimensional) está dado

pelo min{t  Ai } e t f o tempo faltante de processamento expressado por t f  t p  pij ,

onde t p é o tempo de processamento de cada trabalho na operação em espera (para A1 ,

t p ,0  O11  3, O21  9, O31  10 . Dessa forma, pij  3 e o t f para O21  6 e para

O31  7 , enquanto que O11 é completada. Na seguinte reversão de arestas

A2  {O21 , O31} , pij  6 e t f para O31  1 , e o t f para O21  6 e para O31  7 , enquanto

que O11 é completada. Na seguinte reversão de arestas, A2  {O21 , O31} , pij  6 e t f

para O31  1 , em quanto O21 é completada. Os passos seguintes são resumidos na Figura
3.22 e representados no diagrama de Gantt da Figura 3.23, onde o makespan calculado é
T  27 (soma de p ij em cada reversão de aresta).

73
J1 J1
J2 J2 J2
J1

pij  3
J3 J3 J3
pij  6
J1 : O11 pij  1
J 2 : O21 (t f  6) J 2 : O21
J 3 : O31
J 3 : O31 (t f  7) J 3 : O31 (t f  1)
J1
J2 J1 J2 J2
J1

J3 J3 J3
pij  1 pij  2
pij  8
J1 : O12 J 2 : O22
J 2 : O22 (t f  2)
J 3 : O33 (t f  3) J 3 : O33 (t f  4)
J 3 : O32
J1
J2 J2 J1 J2
J1

J3 J3 J3
pij  3 pij  2 pij  1
J1 : O13 (t f  2) J1 : O13
J 2 : O23
J 2 : O23 (t f  1)
J 3 : O33 J 3 : O31 (t f  7)*
J 3 : O31 (t f  8)*

J2
J1

pij  3
J1 : O11*
J3
J 2 : O21 (t f  6)*
J 3 : O31 (t f  4)*

Figura 3.22 Exemplo da dinâmica ERA reproduzindo a programação de rotas da Tabela 3.2..

Figura 3.23 Diagrama de Gantt da dinâmica ERA reproduzindo a programação de rotas da Tabela 3.2.

74
O anterior demonstra a efetividade do algoritmo e o controle do ERA neste tipo
de sistemas. Um mapeamento de sistemas Job Shop na dinâmica de grafos ERA foi
introduzido aqui pela primeira vez e foi apresentado por LENGERKE, CARVALHO et
al., (2008) como resultado do trabalho proposto. Um benefício imediato desta
abordagem está na descentralização do escalonamento de jobs, o que torna possível ao
controle distribuído acomodar qualquer eventual modificação de prazo online
(algoritmo assíncrono).

3.6 Desenvolvimento do ERA em SFM para o Planejamento de


Caminhos de AGVs......

O ERA pode ser utilizado na criação de um mecanismo para programação do


planejamento dinâmico de caminhos, permitindo o tráfego concorrente de AGVs pelas
diversas regiões ( R ) que constituem o layout do SFM. Cada layout do SFM é
apresentado em um diagrama esquemático, com a finalidade de mostrar os caminhos e
suas vias conectadas, assim como o sentido permitido do fluxo de veículos. Cada AGV
precisa de algumas regiões para completar o deslocamento programado. O
deslocamento está relacionado com um tempo de operação ou de deslocamento ( to ). O

conjunto de regiões é denominado por R  {R1, R 2..., Rm} . Nas situações do presente
estudo diversos AGVs podem competir por uma ou mais regiões que constituem o
SFM. Em situações em que suceda conflito são adotados critérios de orientação,
determinados a partir de critérios ou regras clássicas de liberação de trabalhos (EDD, P,
SPT, entre outras). A dinâmica de compartilhamento dos recursos (Regiões) pelos
AGVs é representada por um conjunto de expressões booleanas.
A Figura 3.24 mostra um exemplo de um esquema simples para programação de
descolamentos de AGVs em um SFM. Os três trechos (regiões) de uma faixa são
definidos de acordo com o seguinte:
(i) A interseção R 2 e a região R3 foram consideradas por apenas dois fluxos de
entrada e saída de veículos que compartilham o mesmo recurso.
(ii) O AGV1 pode seguir só em frente na direção de R1  R 2  R3 e o AGV2
pode seguir só em direção de R 4  R 2  R3 .

75
(iii) Cada AGV utiliza um tempo para o deslocamento ou parada ( to ) em cada
uma das regiões.
Máquina
W
Máquina U

Máquina A
Máquina C Máquina Q
Máquina R

Máquina
Máquina Máquina
Máquina B M Máquina
D F Máquina T
P
Máquina E

AGV2

Máquina Máquina K
Máquina
Máquina G H J
AGV1 Máquina Z

Figura 3.24 Diagrama esquemático do exemplo proposto para geração dos caminhos.

A designação dos processos e recursos para este exemplo está dada pela equação
(3.15) e representado pela Figura 3.25. Os tempos foram determinados de forma
arbitraria e adimensionais.

AGV1  R1  4to   R2  3to   R3  4to 


AGV2  R4  3to   R2  4to   R3  2to  (3.15)

Figura 3.25 Diagrama esquemático do problema da Figura 3.24.

76
A expressão booleana que representa a equação (3.15) está representada pela
equação (3.16).

AGV1  R1  R 2  R3  R1R2R3  R1R 2 R3  R1R 2R3


(3.16)
AGV2  R 4  R 2  R3  R 4 R2R3  R 4R 2 R3  R 4 R 2R3

Por simplificação, A  R1R2R3 , B  R1R 2 R3 , C  R1R 2R3 , D  R 4 R2R3 ,


E  R 4R 2 R3 e F  R 4 R 2R3 . Na dinâmica de reversão de arestas do ERA
correspondente ao sistema dado pela equação (3.16), a orientação acíclica inicial
adotada está determinada a partir dos critérios na sua ordem: P  1 , EDD, SPT e
RANDOM. As primeiras operações a serem processadas são os deslocamentos do
AGV1 e AGV2 sobre R1  {R1, R 4} onde Ri são os sumidouros. O tempo de operação

( t0 ) está dado pelo min{t  Ri } . Em R1 , to  3 , portanto o tempo faltante para terminar o

deslocamento ( t f ) de R1  1 , enquanto que R 4 é completada. Na seguinte reversão de

arestas R2  {R1, R 2} e to  1 , logo t f de R 2  3 e R1 é completada. Os passos

seguintes são representados no diagrama da Figura 3.26 e resumidos pela Figura 3.27.
O anterior demonstra que o problema de planejamento de caminhos pode ser tratado
positivamente como um problema Job Shop.

AGV2 AGV2
R4

AGV2 AGV1
R3
REGIÕES

AGV2 AGV1 AGV2


R2

AGV1
R1

2 4 6 8 10 12 14
TEMPO
Figura 3.26 Diagrama de Gantt da dinâmica ERA para a programação dos caminhos da Figura 3.27.

77
AGV1 AGV2 AGV1 AGV2
to  3 D A to  1 D
A
AGV 1: R1(t f  1) AGV 1: R1
B
AGV 2 : R4 E B AGV 2 : R2(t f  3) E
Orientação
Acíclica
Inicial
C F C F

AGV1 AGV2 AGV1 AGV2


A to  2 A D
D
AGV 1: R 2(t f  1) to  3
B AGV 2 : R3 B AGV 2 : R2 E
E

C F C F

AGV1 AGV2 AGV1 AGV2


to  1 to  2 D
A D A
AGV 1: R2 AGV 1: R3(t f  2)
AGV 2 : R4 (t f  2) AGV 2 : R4
B E B E

C F C F

AGV1 AGV2
to  2
A D
AGV 1: R3
AGV 2 : R 2 (t f  2) E
B

C F

Figura 3.27 Exemplo da dinâmica ERA reproduzindo o planejamento dos caminhos para os
deslocamentos dos AGVs da equação (3.16).

78
3.7 Desenvolvimento do ERA em SFM para o Planejamento de
Trajetórias de AGVs - Único Trecho

O escalonamento por reversão de arestas pode ser utilizado na criação de um


mecanismo de programação dinâmica no planejamento de trajetórias, permitindo o
fluxo concorrente de AGVs sobre diversas trajetórias (Pi) no layout em um SFM. Cada
AGV precisa de trechos específicos para completar seu deslocamento e finalizar a
programação da trajetória. Este deslocamento está relacionado com o tempo de
deslocamento em cada trecho ti , em relação a sua velocidade. Deste modo:

ti  Si vc (3.17)

Onde Si é o comprimento dos trechos que compõem a cada trajetória e vc é a

velocidade (constante em cada trecho) do AGV. Portanto, As trajetórias são definidas


como:

Pi  S11 , S12 ,..., S1k , S21 , S22 ,..., S2p ,..., Srq (3.18)

No modelo apresentado na Figura 3.28 e representado pela Figura 3.29, as


trajetórias para os três AGVs com reboques (AGV1, AGV2 e AGV3) são geradas a
partir do software Universal Mechanism (UM) (YAZYKOV et al., 2004). A relação dos
tempos de deslocamento (adimensional) para os AGVs em cada Frame (F) são
calculados utilizando a equação (3.17) e relacionados na Tabela 3.4. Neste modelo, uma
ou mais colisões (compartilhamento de recursos) podem acontecer em alguns dos
trechos, para o problema da Figura 3.28, nos trechos S R , S P e SQ existem colisões

entre os AGVs. Em caso de existir estas colisões, regras clássicas para liberação (e.g.
EDD, SPT, Prioridade, entre outras) são utilizadas. Nesta primeira aproximação é
considerado que os AGVs podem estar em um momento dado, só em um único trecho
da trajetória, que por definição das formas de compartilhamento utilizando ERA, se
obtém que:

Pi  S11  S12  ...  S rk (3.19)

79
Figura 3.28 Trajetórias geradas com o software UM para três AGVs com um reboque.

AGV3

S
G

AGV1
AGV1
V1
SA SB AG
SP SC

SR S
H

AGV 2
2 A GV
AGV2 SQ
SD SE SF

SI AGV3

Figura 3.29 Diagrama esquemático do problema da Figura 3.28.

Tabela 3.4 Relação dos tempos de deslocamento para os AGVs gerada a partir da Figura 3.28.

AGV F1 F2 F3 F4 F5
Trajetória ti S ti S ti S ti S ti S
P1 27,7 SA 4,2 SR 14,3 SB 1,9 SP 23,9 SC
P2 27,2 SD 4,2 SR 16,8 SE 2,6 SQ 20,7 SF
P3 46,2 SG 1,9 SP 0,6 SH 2,6 SQ 20,7 SI

As três trajetórias (P1, P2, P3,) são representadas pela expressão (3.20) de
compartilhamentos tipo XOR.

80
P1  S A  S R  S B  S P  SC
P2  S D  S R  S E  SQ  S F (3.20)
P3  SG  S P  S H  SQ  S I

Por simplificação, A  S A , B  S B ,..., R  S R . Na dinâmica de reversão de

arestas do ERA correspondente ao sistema dado pela equação (3.20), a orientação


acíclica inicial adotada está determinada a partir dos critérios na sua ordem: EDD, SPT,
P = 1 e RANDOM. As primeiras operações a serem processadas são os deslocamentos
do AGV1, AGV2 e AGV3 no F1  f1  {S A , S D , SG } . O tempo de operação ( t0 )

(adimensional) está dado pelo min{t  f i } , onde fi é o estado da cada reversão em

função de Fi . Em f1 , to  27, 2 , portanto o tempo faltante para terminar o deslocamento

( t f ) de S A  0,5 e SG  19 , enquanto o trecho S D é completado. Na seguinte reversão

de arestas f 2  {S A , S R , SG } e to  0,5 logo t f de SG  18,5 e S R  3, 7 , enquanto que

o trecho S A é completado. Os passos seguintes são resumidos na Tabela 3.5 onde é


obtido um makespan de 75,7. Na Figura 3.30 são apresentados os escalonamentos do
problema proposto, assim como o planejamento da programação no diagrama de Gantt
da Figura 3.31. O anterior demonstra que o problema de planejamento de caminhos para
um único trecho pode ser tratado positivamente como um problema Job Shop.
Adicionalmente, um programa em C++ foi desenvolvido para realizar o escalonamento
e a dinâmica do sistema (APÊNDICE B).

Tabela 3.5 Planejamento da programação das trajetórias utilizando Job Shop.

Passo t At ek S* k
1 O11 O21 O31 0 0 0 D O21
2 O11 O22 O31 0 27,2 0 A O11
3 O12 O22 O31 27,7 27,2 0 G O31
4 O12 O22 O32 27,7 27,2 46,2 R O22
5 O12 O23 O32 31,4 31,4 46,2 R O12
6 O13 O23 O32 35,6 31,4 46,2 E O23
7 O13 O24 O32 35,6 48,2 46,2 B O13
8 O14 O24 O32 49,9 48,2 46,2 P O32
9 O14 O24 O33 49,9 48,2 49,9 Q O24
10 O14 O25 O33 49,9 50,8 49,9 H O33
11 O14 O25 O34 49,9 50,8 50,8 P O14
12 O15 O25 O34 51,8 50,8 50,8 Q O34
13 O15 O25 O35 51,8 50,8 53,4 F O25
14 O15 --- O35 51,8 71,5 53,4 C O15
15 --- --- O33 75,7 71,5 53,4 I O35
16 --- --- --- 75,7 ----- 74,1 --- ---

81
D R E Q F D R E Q F D R E Q F
A J2
A J2 A J2

R R R
P2 P2 P2
B P1 B
B P1 P1
P P P
P3 P3 P3

C
G P H Q I C
G P H Q I G P H Q I
C

D R E Q F D Q D Q
J2
R E J2
F R E J2
F
A A A
R P2 R P2 R P2
B P1 B P1 B P1
P P P
P3 P3 P3

C G P H Q I G P H Q I G P H Q I
C C

D R E Q F D R E Q F D Q
J2
R E F
A A A
R P2 R P2 R P2
B P1 B P1 B P1
P P P
P3 P3 P3
C
G P H Q I C G P H Q I G P H Q I
C

D R E Q F D Q D R E Q F
R E F
A A A
R P2 R P2 R P2

B P1 B P1 B P1
P P P
P3 P3 P3

C
G P H Q IC G P H Q I C
G P H Q I

D R E Q F
A
R P2
B P1
P
P3
C G P H Q I

Figura 3.30 Dinâmica ERA reproduzindo o planejamento das trajetórias.

82
Figura 3.31 Diagrama de Gantt da dinâmica ERA reproduzindo o planejamento das trajetórias gerados
pela Figura 3.30.

3.8 Desenvolvimento do ERA em SFM para o Planejamento de


Trajetórias de AGVs - Múltiplos Trechos

O escalonamento por reversão de arestas pode ser utilizado na criação de um


mecanismo de programação dinâmica no planejamento de trajetórias, em caso dos
AGVs usarem múltiplos trechos ao mesmo tempo. Na Figura 3.32 gerada no software
Universal Mechanism (UM) e representado pela Figura 3.33, pode-se observar que o
AGV3 está utilizando dois recursos (trechos) compartilhados ( S P e SQ ) em um mesmo

intervalo de tempo. Isto indica que o mecanismo de controle deve ter a capacidade de
processar concorrentemente múltiplos recursos, visando completar a programação das
tarefas sem atrasos no sistema.
A designação da dinâmica dos processos e recursos para este exemplo está
relacionada na expressão booleana da equação (3.21) utilizando a representação de cada
mapeamento como é realizado na Figura 3.34.

AGV1  S A S R  S A S R  S R S P  S R S P  S P Y  S P Y  S PY
AGV2  S D S R  S D S R  S R SQ  S R SQ  SQ Z  SQ Z  SQ Z (3.21)
AGV3  SG S P  SG S P  S P SQ  S P SQ X  S P SQ X  SQ X  SQ X

83
Figura 3.32 Trajetórias geradas com o software UM para três AGVs com reboque, compartilhando
múltiplos trechos no mesmo intervalo de tempo.

SG SP

S A SR SR SP SP SY

SPSQ

SD SR SR SQ SQ S Z

SQ X

Figura 3.33 Diagrama esquemático do problema da Figura 3.32

84
Figura 3.34 Designação da dinâmica de ERA para a trajetória 1.

Na dinâmica de reversão de arestas do ERA correspondente ao sistema dado pela


equação (3.21), a orientação acíclica inicial adotada está determinada a partir dos
critérios na sua ordem: EDD, SPT, P = 1 e RANDOM. As primeiras operações a serem
processadas são os deslocamentos do AGV1, AGV2 e AGV3 no
Fi  fi  {S AGV 1 , S AGV 2 , S AGV 3 }. Utilizando a mesma relação de tempos de deslocamentos

(adimensional) da Tabela 3.4, de forma assíncrona para os três AGVs se obtém que

  
f1*  S A S R , S`D S R , SG S R . Na seguinte reversão de arestas f 2*  S A S R , S`D S R , SG S R . 

Em f3*  S R S P , 
, S P SQ , devido que o recurso S R (cruzamento de trajetórias) está

compartilhado pelo AGV1 e AGV2 no mesmo intervalo de tempo, por conseguinte


quem chegou primeiro ao cruzamento tem a prioridade do recurso, neste caso o AGV1.
O compartilhamento de múltiplos trechos pode ser observar em

 
f 4*  S R S P  S A S R , S R SQ , S p SQ X  SG S P , onde os trechos S p e SQ estão

utilizados (processamento) pelo AGV3, além disso, simultaneamente estão sendo


lançados novos AGVs concorrentemente nas trajetórias 1 e 3.
Os passos resumidos da dinâmica do ERA são apresentados na Figura 3.35 e
resumidos no digrama Figura 3.36. O anterior demonstra que o problema de
planejamento de caminhos para múltiplos trechos pode ser tratado positivamente como
um problema Job Shop.

85
SG S P SG S P S P SQ S P SQ X S P SQ X SQ X SQ X
AGV3 AGV3
SG S P SG S P S P SQ S P SQ X S P SQ X SQ X SQ X

S A SR SD SR
SA SR SD SR

S A SR SD SR

f 1* SA SR
f 2*
SD SR

SR SP S R SQ SR SP S R SQ

SR SP S R SQ SR SP S R SQ

SP Y SQ Z SP Y SQ Z

SP Y SQ Z SP Y SQ Z

S PY
AGV1 AGV2 AGV1 AGV2
SQ Z S PY SQ Z

AGV3
SG S P SG S P S P SQ S P SQ X S P SQ X SQ X SQ X
AGV3 SG S P SG S P S P SQ S P SQ X S P SQ X SQ X SQ X

S A SR SD SR
S A SR SD SR

SA SR
f 4* SD SR
S A SR
f 3* SD SR

SR SP S R SQ
SR SP S R SQ

SR SP S R SQ
SR SP S R SQ

SP Y SP Y SQ Z
SQ Z

SP Y SQ Z SP Y SQ Z

AGV1 AGV2 AGV1 AGV2


S PY SQ Z S PY SQ Z

AGV3
SG S P SG S P S P SQ S P SQ X S P SQ X SQ X SQ X
SG S P SG S P S P SQ S P SQ X S P SQ X SQ X SQ X
AGV3
S A SR SD SR
SA SR SD SR

*
S A SR
f5 SD SR
SA SR
f 6* SD SR

SR SP S R SQ
SR SP S R SQ

SR SP S R SQ SR SP S R SQ

SP Y SQ Z SP Y SQ Z

SP Y SQ Z SP Y SQ Z
AGV1 AGV2 AGV1 AGV2
S PY SQ Z S PY SQ Z

SG S P SG S P S P SQ S P SQ X S P SQ X SQ X SQ X
AGV3 SG S P SG S P S P SQ S P SQ X S P SQ X SQ X SQ X
AGV3
S A SR SD SR S A SR SD SR

SA SR
f8* SD SR SA SR
f7* SD SR

SR SP S R SQ SR SP S R SQ

SR SP S R SQ SR SP S R SQ

SP Y SQ Z SP Y SQ Z

SP Y SQ Z SP Y SQ Z

S PY
AGV1 AGV2 S PY
AGV1 AGV2
SQ Z SQ Z

86
SG S P SG S P S P SQ S P SQ X S P SQ X SQ X SQ X
AGV3
S A SR SD SR

Reinicia S A SR
f 6* SD S R

em f6 SR SP S R SQ
Reinicia
SR SP S R SQ
em f7
SP Y SQ Z

SP Y SQ Z

S PY
AGV1 AGV2 SQ Z

Figura 3.35 Dinâmica ERA reproduzindo o planejamento das trajetórias.

Figura 3.36 Diagrama de Gantt da dinâmica ERA reproduzindo o planejamento das trajetórias geradas
pela Figura 3.36.

O mapeamento de sistemas Job Shop na dinâmica de grafos ERA para o


desenvolvimento das diferentes estratégias de controle descentralizado torna possível o
planejamento das rotas, caminhos e trajetórias. A eficiência da utilização desta técnica é
visível na adaptação do sistema no entorno de estudo (SFM), obtendo características
primárias que deve ter um modelo, como a eficácia no planejamento, facilidade de
atualização dos modelos com novas entradas e a capacidade de adaptação às mudanças.
Esta nova estratégia mostrou ser um mecanismo bastante interessante para controlar e
planejar as diferentes rotas, caminhos e trajetórias por apresentar características como:
(i) Garante a segurança, devido à permissão e orientação do sistema a um
determinado fluxo de AGVs trafegar pelas regiões ou trechos, garantindo a não

87
existência de qualquer outro fluxo conflitante de AGVs trafegando pelas mesmas
regiões.
(ii) À medida que a dinâmica do escalonamento for evoluindo, todos os AGVs
garantem a possibilidade de operar.
(iii) Tem-se total liberdade em modelar tipos diversos de sistemas (aeroportos,
portos, SFM, entre outros) utilizando Job Shop com operações e recursos
compartilhados ilimitados.
(iv) Permite ser utilizada qualquer sequência predefinida de regras para a
determinação das prioridades dos AGVs no sistema.
Estas abordagens foram apresentadas por LENGERKE, PINTO et al., (2009).

88
4 MODELAGEM CINEMÁTICA E GERAÇÃO DE
CAMINHOS DE AGVs COM REBOQUES

Os veículos com rodas estão sujeitos a restrições de rolamento sem


escorregamento e, portanto pertencem à grande classe de sistemas não holonômicos.
Ônibus, sistemas de caminhões-reboque e os automóveis, são alguns exemplos. Os
esforços de pesquisas têm sido realizados no passado e atualmente estão sendo
encaminhados para compreender e controlar o movimento desses sistemas (CORTES,
2000, BLOCH, 2003, ANDRZEJEWSKI, 2005, XU et al., 2005, LOPES et al., 2006).
Atualmente, os fabricantes de veículos estão interessados no controle do movimento das
rodas. A maior parte deles planeja equipar os seus veículos com sistemas de
movimentos auxiliados por computador para ter capacidades avançadas, como o
estacionamento paralelo ou o modo automático de parar ou avançar para evitar
obstruções de tráfego. Assim, um melhor conhecimento e controle das noções dos
sistemas não holonômicos estão abertos a um grande campo de atividades industriais e
aplicações no domínio dos transportes.
Um sistema AGV-R está composto por um veículo (AGV) na parte da frente
cuja cinemática corresponde a um veículo com uma configuração determinada (Figura
4.1) e um veículo ou plataforma rebocada (Figura 4.2). Esse sistema é uma interessante
extensão de um AGV simples que pode ser acoplado a um ou mais reboques, como em
frotas de carretas na pista da bagagem nos aeroportos, em transportes de contêineres em
portos e até nos sistemas flexíveis de manufatura para o transporte de materiais na
indústria. Existem diferentes questões sutis para modelar as limitações desses modelos.
A forma das equações é muito sensível ao ponto preciso ao qual o reboque é ligado e
também na escolha da construção da sua estrutura.
A formalização teórica destes problemas tem sido amplamente abordada com
anterioridade por LATOMBE (1991) e apresentada por MURRAY et al., (1993),
TILBURY, et al., (1995), BUSHNELL et al., (1995), LAUMOND (1998),
LAMIRAUX (1998), LAVALLE (2006) e por MORVIDI et al., (2008).

89
Figura 4.1 Sistemas de tração e direção comuns em AGVs.

Figura 4.2 Sistemas de reboques comuns em sistemas AGVs.

4.1 Modelo Cinemático 1

Considerando um veículo simples que puxa k reboques conforme mostrado na


Figura 4.3 em 2D, cada reboque é unido ao centro do eixo traseiro do corpo na frente
dele. O parâmetro importante é o comprimento do engate di que é a distância do centro

do eixo traseiro do reboque n ao ponto em que o reboque é engatado para o próximo


corpo. O próprio veículo contribui a  2  S1 para C , e cada reboque contribui para uma
S1 componente para C . A dimensão de C é, portanto k  3 . i denota a orientação do

i -ésimo reboque, expresso em relação ao sistema de referência global.

90
d2 

L
1

2 d1

‘  x, y 

0

Figura 4.3 Parâmetros para um AGV com n reboques.

A configuração das equações de transição para o modelo da Figura 4.3 é


estudada a partir do AGV mostrado na Figura 4.4. Conhecendo que um veículo de
configuração tipo Ackerman não pode se deslocar lateralmente, porque as rodas traseiras
teriam que deslizar em vez de rolar. Esta é a razão pela qual o estacionamento de
veículos em forma paralela é um desafio (PAROMTCHIK et al., 1996, LI et al., 2003).
Se todas as quatro rodas pudessem ser dirigidas simultaneamente em direção controlada
ou utilizar o tipo de roda sueca (onidirecional) seria trivial estacionar o veículo.
O veículo pode ser imaginado como um corpo rígido que se move no plano.
Então seu espaço de trabalho é C  R 2  S 1 (LATOMBE, 1991). A configuração é
denotada por q  ( x, y, ) . O corpo do sistema do veículo coloca a origem no centro do
eixo traseiro, e os pontos do eixo x ao longo do eixo principal do carro. s denota a
velocidade do veículo (em caso do veículo se movimentar em sentido inverso, será
negativo, e em algumas literaturas é conhecido como a velocidade em direção x com
respeito ao sistema de referência).  denota o ângulo de direção (é negativo para as
orientações mostradas na Figura 4.3) e a distância entre os eixos dianteiro e traseiro é
representada por L. Se a direção do ângulo é fixada em  o veículo viaja em um
movimento circular em que o raio do circulo é  (Figura 4.4), e que pode ser

determinado desde a interseção dos dois eixos (o ângulo entre os eixos é  ).

91
L 

 x, y 
0

Figura 4.4 (a) sistema AGV simples de configuração tipo Ackerman (Figura 4.1(3)), e (b) trajetória
gerada com direção do ângulo fixada em  .

Utilizando a notação atual, a tarefa que representa o movimento do veículo é


dada por um conjunto de equações da forma:

x  f1 ( x, y,  , s,  )

y  f 2 ( x, y ,  , s ,  )
(4.1)

  f1 ( x, y, , s,  )

Em um pequeno intervalo de tempo, t , o veículo deve se movimentar


aproximadamente na direção que as rodas traseiras estão apontando. No limite quando
 
t tende a zero, isto implica que dy / dx  tan . Desde que dy dx  y x e

tan  sen cos , isto pode ser escrito como uma restrição de Pfaffian devido a
 
 x sen  y cos  0 (SU et al., 1999, ARDEMA, 2005). A restrição é satisfeita se
 
x  cos e y  sen . Além disto, qualquer escalar múltiplo desta solução é também

92
uma solução e o fator de escala corresponde diretamente à velocidade do veículo s.
Assim, os primeiros dois componentes escalares da equação de transição de
configuração são:


x  s cos
(4.2)

y  s sen

Seguidamente, é derivada a equação para  , onde w denota a distância
percorrida pelo veículo (o integral da velocidade). Note que, de acordo com a Figura 4.4
dw   d ; trigonometricamente   L tan o que implica que:

tan
d  dw (4.3)
L

Dividindo por dt e o fator que w  s , resulta que:

 s
0  tan (4.4)
L

De acordo com o sistema resultante os ângulos de direção possíveis no intervalo


  2,  2 são suficientemente grandes para a direção do ângulo  , pois qualquer

outro valor é equivalente para um, entre   2 e  2 . As direções dos ângulos de


 
  2 e  2 são problemáticas. Para derivar as expressões x e y foi assumido que o
carro se move na direção em que as rodas traseiras estão apontando. Portanto, o veículo
deve ter um máximo ângulo de direção, max   2 , e requere que   max .

Agora retornado à velocidade. No nível da estrada um veículo tem uma


velocidade máxima e seu comportamento deve mudar drasticamente dependendo da
velocidade. Por exemplo, se quiser conduzir o veículo ao longo do raio mínimo de giro,
não deverá conduzir a 150 km/h. O máximo ângulo de direção deverá reduzir-se para
altas velocidades. Foi assumido implicitamente nesta fase do projeto, que o veículo está
movimentando-se lentamente para segurança, menosprezando a dinâmica e o fato do
veículo não pode ser conduzido em sentido inverso ( 0  s  1 ).
Para o estudo dos reboques é considerado o ângulo do AGV como  0 e é
parametrizada a configuração pelos estados do veículo e os ângulos de cada um dos
reboques, com relação à horizontal. O cálculo das restrições torna-se tedioso, pois tem

93
que escrever as velocidades das rodas para cada reboque, que depende de todos os
reboques anteriores. Opta-se por usar as mesmas entradas, como no veículo, e calcular o
efeito nos ângulos dos reboques. Para cada reboque, pode-se escrever a união das
velocidades como a soma da componente da velocidade na direção que o reboque está
apontando e a componente perpendicular a ele. O componente perpendicular faz o
reboque girar. Deixando que si 1 seja a velocidade dianteira do reboque prévio, tem-se
que para o primeiro reboque:

. s
1  sen 1  0 
d1 (4.5)

Em forma geral, o sistema pode ser descrito como:

s  i 1 
  cos  j 1   j   sen i 1  i 
.
i 
d i  j 1 
.
. (4.6)
.
s  k 1 
  cos  j 1   j   sen  k 1   k 
.
k 
d k  j 1 

Simulando o sistema dado pelo modelo obtido nas equações (4.2), (4.4), (4.5) e
(4.6), pode-se observar a trajetória do AGV com diferentes números de reboques
(Figura 4.5 e Figura 4.6), onde uma situação na que o AGV e os reboques percorrem
uma trajetória correspondente a um arco de circunferência com curvatura constante.
Desde o ponto de vista cinemático, esta situação tem lugar quando os centros de rotação
dos veículos coincidem. O código do programa realizado para delinear a trajetória de
acordo ao modelo cinemático estabelecido é descrito no APÊNDICE C.

94
Y

Figura 4.5 Trajetória gerada pelo sistema AGV com (a) um reboque, (b) dois reboques (c) três reboques.

95
60

X
50 Y

40

Deslocamento 30

20

10

-10

-20

-30
0 10 20 30 40 50 60 70 80
Tempo
9
theta1
theta2
8 theta3
theta0

5
Angulo

-1
0 10 20 30 40 50 60 70 80

Tempo

Figura 4.6 (a) Deslocamento gerado pelo AGV em x e y e (b) tendência dos ângulos  para o caso com
três reboques.

Para o caso geral do controle do veículo um cálculo detalhado e bem-organizado


foi realizado por LAUMOND (1990). Uma variação também interessante deste modelo
permitiu que as rodas do reboque seguissem a trajetória como se fosse um único
reboque, conduzindo a um modelo que se assemelha ao estudo realizado por
BUSHNELL et al., (1995).

96
4.2 Modelo Cinemático 2

Considerando um veículo com configuração de locomoção com comando


diferencial que puxa k reboques (Figura 4.7) em 2D, o direcionamento está dado pela
diferença de velocidades das rodas laterais e a tração é realizada pelas mesmas rodas.
Adicionalmente, existem uma ou mais rodas como suporte. Para construir o modelo
simples são necessárias a distância L entre as duas rodas e o raio das rodas r. A
correspondente velocidade linear vr e angular ur do veículo estão dadas pela equação
(4.7).

vd  ve ud  ue
vr   r
2 2
vd  ve ud  ue (4.7)
ur   r
L L

Adicionalmente, se as velocidades lineares e angulares são determinadas, então


as velocidades angulares das rodas podem ser obtidas pela equação (4.8).

vr  (b 2) ur
ue 
r
v  (b 2) ur (4.8)
ud  r
r

A ação do vetor ur  (ue , ud ) especifica diretamente as duas velocidades


angulares das rodas. Considerando o movimento do veículo nas diferentes ações
aplicadas, por exemplo, quando ue  ud  0 , o veículo avança na direção que as rodas

estão apontando. A velocidade é proporcional a r. Em geral, se ue  ud , a distância

percorrida durante uma duração de tempo t é rtue (pois tue é o total de deslocamento

angular das rodas). Se ue  ud  0 então o AGV gira no sentido horário, porque as
rodas estão girando em direções opostas. Isso motiva à colocação das coordenadas no
centro do eixo entre as rodas. Por esta atribuição, não ocorre translação se as rodas
giram à mesma taxa, mas em direções opostas. Adicionalmente, são consideradas as
seguintes restrições: vr  vmax , ur  umax , vr  vmax e ur  umax . Essas restrições e o

peso do veículo asseguram a ausência de deslizamento ou escorregamento lateral das

97
rodas. As constantes di definem a geometria da conexão do AGV aos reboques
(LAMIRAUX et al., 1999).

 x, y 
d 2
1

L
2 d1

r
0

Figura 4.7 Parâmetros para o modelo 2 de AGV com n reboques.

Com base nessas observações as expressões de transição para a configuração do


sistema da Figura 4.7 estão dadas pela equação (4.9).

.
x  vr cos 0
.
y  vr sen 0
. (4.9)
 0  ur
. vr
1  sen 1  0 
d1
Em forma geral, o sistema pode ser descrito pela equação (4.10).

vr  i 1 
  cos  j 1   j   sen i 1  i 
.
i 
di  j 1 
.
. (4.10)
.
vr  k 1 
  cos  j 1   j   sen  k 1   k 
.
k 
d k  j 1 

Realizando uma simulação do sistema do modelo obtido nas equações (4.9) e


(4.10), pode-se observar a trajetória do AGV com reboques (Figura 4.8) na situação em

98
que tanto o AGV quanto os reboques percorrem uma trajetória que corresponde a um
arco de circunferência de curvatura constante. Do ponto de vista cinemático, esta
situação tem lugar quando os centros de rotação dos veículos coincidem. O código do
programa realizado para delinear a trajetória de acordo ao modelo cinemático
estabelecido está descrito no APÊNDICE D e os resultados obtidos são apresentados
por LENGERKE, TAVERA et al., (2008) e LENGERKE, FRANÇA et al., (2008).

40

30

Posição e Orientação Inicial


20

10

0
Y

-10

-20

-30

-40

-50
-50 -40 -30 -20 -10 0 10 20
X

40

30

Posição e Orientação Final


20

10

0
Y

-10

-20

-30

-40
-50 -40 -30 -20 -10 0 10 20 30
X

Figura 4.8 Simulação da trajetória gerada pelo AGV com dois reboques.

99
4.3 Geração de Caminhos baseado em Campos Potenciais

Neste trabalho são utilizados os mapas de células já construídos e o algoritmo de


campos potenciais, com a finalidade de planejar os caminhos locais. Um dos objetivos
neste projeto é estudar um sistema de navegação para um AGV que lhe permita,
utilizando campos potenciais, navegar ao longo de um caminho livre de colisões a partir
de uma posição inicial (x, y) a uma posição final (xobj, yobj) (Figura 4.9). Por
conseguinte, neste capítulo, será realizada a descrição deste método clássico e efetivo, e
apresentadas propostas de alguns autores. Admite-se que o robô está dotado de um anel
de sensores sonar, dispostos de modo a terem uma zona morta de reduzidas dimensões.

Figura 4.9 Influência de um campo potencial em um AGV com reboques.

O método de Campos Potenciais foi apresentado para o mundo computacional


em 1978 por Khatib e Le Maitre (KHATIB, 1985). Utilizado como um método local,
com ampla aplicação como estratégia global e abordada dominantemente para
planejamento e controle de robôs móveis (LATOMBE, 1991). Os campos potenciais
são utilizados frequentemente em robótica para navegação, evitando a colisão com
obstáculos. É uma das técnicas de planejamento de caminhos para robôs móveis que
operam com conhecimento total ou parcial dos obstáculos circundantes. O princípio
simples consiste em associar a cada um dos obstáculos uma carga virtual que vai gerar
um campo potencial que vai repelir o robô. Por outro lado, na posição objetivo é
colocada uma carga virtual atrativa que vai gerar também um campo potencial.
Somando os diversos campos potenciais obtém-se um campo que tenderá a afastar o
robô dos obstáculos e a aproximá-lo da posição objetivo (alvo).

100
A idéia por trás do conceito do método dos campos potenciais é análoga ao
movimento de partículas eletricamente carregadas no espaço vazio: cada uma das
partículas é repelida por outras que têm o mesmo sinal e cada uma das partículas é
atraída por outras que têm sinais diferentes. A força exercida em uma partícula por
outra, tem sempre a direção dessa partícula apontando para a partícula quando esta tem
sinal oposto e apontando no sentido contrário quando tem o mesmo sinal. A intensidade
do campo não depende da velocidade das partículas. Como o campo é radial, é
suficiente conhecer as distâncias entre partículas para conseguir definir completamente
a função de potencial.
Neste método, considera-se x como uma posição de um ponto que se move em
um campo de forças. O alvo fornece uma força atrativa e os obstáculos forças
repulsivas. Embora este método tenha sido inicialmente introduzido para
manipuladores, a sua aplicação em robôs móveis é também possível. O método de
campos potenciais deve seu nome ao fato do campo (vetorial) de forças F(x), ser
derivado do campo (escalar) potencial U  x  , com F  x    U  x   .

A função potencial U  x  é tipicamente definida no espaço livre como a

combinação linear de um campo atrativo, U atr  x  , que puxa o AGV para a posição

alvo, e de um campo potencial repulsivo, U rep  x  , que empurra o AGV para longe dos

obstáculos. Considerando a presença de um único obstáculo e determinando o ponto do

obstáculo mais próximo do AGV como xobs   xobs , yobs  , a posição do objetivo como
T

xobj   xobj , yobj  e a posição do centro do AGV como x   x, y  , o controle do AGV é


T T

alcançado sujeitando-o ao campo potencial virtual determinado por:

  


U  x   U atr  x   U rep  x  (4.11)
     


Onde U  x  é o potencial resultante, U atr é o potencial atrativo gerado pelo
 
ponto objetivo ( xobj ), U rep é o potencial repulsivo gerado pelos obstáculos, e

x   x, y  é o vetor posição do AGV. A força virtual atuante F ( x) no AGV é definida
T

pelo vetor de comando da equação (4.12).

101
     
 
F  x   F atr  x   F rep  x  (4.12)
     

Onde


 

F atr  x     U atr  x  (4.13)
   


 

F rep  x     U rep  x  (4.14)
   

Onde Fatr é uma força atrativa (Figura 4.10) que guia o ponto de controle do

robô ao objetivo e Frep é uma força que induz uma repulsão virtual (Figura 4.11) da

superfície do obstáculo produzida por U rep ( x) .

Figura 4.10 Campo potencial atrativo gerado por um ponto objetivo e suas forças induzidas (baseado em
KHATIB, 1985).

Figura 4.11 Campo potencial repulsivo gerado pelos obstáculos e suas forças induzidas (baseado em
KHATIB, 1985).

102
O cálculo da componente atrativa proposto por KHATIB (1985) é realizado
utilizando uma relação quadrática (função parabólica) não negativa, cuja primeira
 
derivada é continua e possui um único valor nulo em x  x obj e que depende das
 
posições do centro do robô ( x ), e do objetivo ( x obj ) definida por:

2
  
  x  x obj 
  (4.15)

U atr  x    
  2

A distância euclidiana ( obj ) pode ser representada por:

 
obj  x  x obj (4.16)

Sendo  um fator de escala positivo do campo potencial atrativo. A força


induzida pelo campo potencial atrativo é determinada a partir da equação (4.13) e
resulta em:


 
      
F atr  x     U atr  x   obj  x   obj  x     x  x obj 
          (4.17)

O campo potencial assim definido conduz a um sistema estável. No entanto, para


assegurar a estabilidade assintótica do sistema é adicionada uma força dissipativa
proporcional à velocidade x . Assim, sendo kdis um ganho da velocidade, as forças que
contribuem para o movimento e estabilidade do robô são da forma:

F *atr  x    obj  kdis x


(4.18)

Onde x   x , y  com x  v cos   e y  vsen   , sendo v a magnitude da


T

velocidade linear e  a direção de navegação do AGV em relação a um referencial


externo (KHATIB, 1985, PERKO, 1991). O cálculo do campo potencial repulsivo

gerado pelos obstáculos utilizando a menor distância ao obstáculo   x  é dado por:
 

103
  
2

  
 1   1  1  , se   x   

    2    x   0 
0
U rep  x        
 (4.19)
      
 
 0, se   x   0
  
Onde 0 é uma constante positiva que representa a distância limite de influência


do campo potencial repulsivo,  é um fator de escala positivo e   x  representa a
 

  
menor distância do ponto indicado por q e os obstáculos, dado por   x   min x  x ,
 

sendo x um ponto pertencente aos obstáculos. A escolha de 0 depende da velocidade
máxima e da capacidade de desaceleração do AGV. A força induzida pelo campo
potencial repulsivo dado pela equação (4.19) é obtida considerando o simétrico do
gradiente do campo potencial repulsivo. Assim, aplicando o gradiente tem-se que:

 

Frep  x     U rep  x 
   
  
  1 1  1  
  
     x  , se   x   0 (4.20)
       x  0   2  x 
 
   
Frep  x         
        
 
 0, se   x    0
  


Onde    x  representa o vetor unitário da derivada parcial da distância entre
 
o centro do AGV e o obstáculo, que determina a direção segundo a qual a força é
aplicada. Considerando a existência de n obstáculos a força repulsiva total é dada pela
*

soma vetorial das forças repulsivas F rep , k  x  , exercida por cada um dos obstáculos.
 

* n
 

F rep  x    F rep ,k  x  (4.21)
  k 1  

A força resultante (Figura 4.12) aplicada é dada por:

F *  x   F *atr  x   F *rep  x  (4.22)

104
100

90

80

70

60

50

40

30

20

10

10 20 30 40 50 60 70 80 90 100

Figura 4.12 Campo potencial resultante e forças induzidas pelo campo.

O método do campo potencial pode ser utilizado quando o ambiente do AGV é


conhecido a priori, como é o caso dos SFM, para planejamento global off-line ou em
planejamento local on-line quando o ambiente é desconhecido e a presença dos
obstáculos é detectada pelos sensores do AGV. Sob a influência do campo potencial
virtual, o AGV move-se na direção simétrica do gradiente; das zonas de potencial mais
elevado para a zona de menor potencial, onde o gradiente é nulo. No entanto, o campo
potencial virtual é um método local que não atende às restrições não holonômicas do
AGV e apresenta problemas por possuir outros mínimos (locais) onde o gradiente
também é nulo. Assim, o AGV pode ficar preso em um mínimo local. Soluções para
este problema são propostas como a definição de potencial de modo a ter um ou poucos
mínimos locais (tornar o método global) e técnicas para escapar dos mínimos locais
aplicando forças randômicas ou utilizando funções de navegação (funções potenciais
sem mínimo local). Uma solução ao problema foi realizada por CHENGQING et al.

105
(2000), criando o conceito de obstáculo virtual para eliminar a maior falha das várias
funções potenciais com vários mínimos locais.
Dentro dos trabalhos centrados ao problema de veículos articulados (com
reboques) utilizando o método de campos potenciais virtuais, VIDAL-CALLEJA et al.
(2002) desenvolveu uma estratégia que pretende que o veículo se desloque de uma
posição inicial ao ponto final sem ter colisões com os obstáculos que se encontram no
espaço de trabalho. Esta estratégia utilizada é desenvolvida em dois passos: construindo
uma lei de controle unicamente para o AGV, baseada no método de campos potenciais
virtuais, e posteriormente se propõem duas diferentes estratégias de controle, as quais
tomam como referência a trajetória gerada pelo AGV para evitar a colisão do reboque
com os obstáculos. Utilizando a função potencial o AGV segue a direção do gradiente
da função com uma velocidade escalar constante para o ponto de referência. Uma das
estratégias propostas para o reboque tem como objetivo que o ponto do eixo da roda que
dá a direção ao reboque siga aproximadamente a posição de referência do AGV, sujeita
a um tempo de atraso. A outra estratégia emprega a direção do AGV como referência.
Um problema inerente ao método proposto é a aparição de mínimos locais para
diferentes configurações de obstáculos-alvo. Este problema é analisado para os casos
em que existem um ou dois obstáculos no espaço de trabalho. Os mínimos locais ou
pontos de equilíbrio do sistema são pontos onde o gradiente da função potencial se
anula.
No presente projeto a estratégia para geração de caminhos utilizando campos
potenciais é realizada a partir do esquema da iteração do método de campos potenciais
na arquitetura proposta (Figura 4.13).

Figura 4.13 Esquema de iteração do método de campos potenciais sobre o AGV com reboques.

106
4.3.1 Simulação para Geração de Caminhos

O algoritmo desenvolvido baseia-se no método de campos potenciais, gerando o


caminho a seguir pelo AGV. Os obstáculos são modelados como fontes (repelindo o
AGV) e o alvo do AGV como um sumidouro (atraindo o robô). A seguir podem ser
vistas algumas simulações realizadas através do Matlab, onde os valores e parâmetros
estabelecidos são arbitrários.

Figura 4.14 Diagrama de fluxo do algoritmo de geração de caminhos.

A construção dos campos é realizada através de funções de decaimento que


determinam, com base na distância, a magnitude do campo em um determinado ponto.
A direção é fornecida pelo tipo de campo, e pode ser radial, constante ou aleatória (no
caso de comportamentos de ruído), entre outros. Para que o comportamento defina a
ação a ser executada, basta determinar a direção e a magnitude do campo no ponto em
que o AGV se encontra em um dado instante (um único vetor), não sendo necessária a
computação de todo o campo.
Na primeira simulação realizada (Figura 4.15), o robô parte do canto inferior
esquerdo (10,10) e atinge um alvo localizado no canto superior direito (90, 90). Note
que o AGV executa um caminho em linha reta, já que não existem obstáculos no
ambiente.

107
Figura 4.15 Caminho realizado utilizando o método de campo potencial sem obstáculos. Parâmetros
arbitrários utilizados, ponto de saída: (10.10), ponto objetivo: (90,90).

A seguinte etapa é desenvolver um sistema que identifique e localize obstáculos


fixos através da segmentação de regiões. Na Figura 4.16 pode-se observar a simulação
para obstáculos conhecidos. Os obstáculos foram localizados sobre um ambiente
arbitrário e adimensional.

Figura 4.16 Identificação de doze obstáculos fixos com campo potencial (5), localizados em (20,30),
(20,60), (20,90), (40,30), (40,60), (40,90), (60,30), (60,60), (60,90), (80,30), (80,60), (80,90), (90,930), e
o alvo localizado em (90,90) e campo potencial (20).

Posteriormente, o AGV dever ter a capacidade de navegar entre obstáculos em


direção a um alvo fixo. Este comportamento tem por objetivo evitar colisões em relação
a múltiplos obstáculos. O módulo desenvolvido para a codificação desse

108
comportamento, alimentado pelo módulo de percepção, determina qual é a ação motora
adequada para essa percepção, ou seja, constrói o campo potencial do comportamento
associando cargas repulsivas aos obstáculos. Como se trata de um campo potencial este
módulo fornece a direção e a magnitude do campo no ponto em que se encontra o AGV.
A direção é definida como radial. Deste modo, na presença de um obstáculo o AGV
sofre uma força repulsiva na direção da reta que une o seu centro de massa ao obstáculo
detectado, conforme ilustrado na Figura 4.17. O resultado final do comportamento é a
soma vetorial de cada uma das forças devido a cada obstáculo detectado. A magnitude
da força é determinada por uma função de decaimento que depende apenas da distância
do centro de massa do AGV ao obstáculo em questão. Para ilustrar a superposição dos
campos a Figura 4.17 mostra o campo e o caminho resultantes da coordenação dos
comportamentos.

Figura 4.17 Identificação do caminho e os campos potenciais gerados.

109
Outra simulação foi realizada utilizando o método de campos potencias e
observada na Figura 4.18, onde se podem destacar três obstáculos unidos pelo seu
campo potencial. O caminho gerado consegue evadir os obstáculos em direção ao alvo
guiado pela força resultante, consequência das forças atrativas e repulsivas.

Figura 4.18 Identificação do caminho e os campos potenciais gerados especialmente para os três
obstáculos inferiores (Campo potencial = 85) .

O algoritmo de detecção e evasão de obstáculos desenvolvidos tem a capacidade


de planejar os caminhos livres de colisões. A aplicação desta técnica em AGVs com
reboques, tem como resultado a criação de uma primeira aproximação e integração no
planejamento dos caminhos e evasão dos obstáculos, com a finalidade de superar os
problemas que se apresentam no transcurso da conquista do alvo. Um estudo em

110
avaliação planeja com anterioridade o caminho a seguir, de acordo com critérios de
otimização que podem ser avaliados (distância, energia, tempo, etc.) para logo dividir
esse caminho em trechos constituídos por um conjunto de sub-alvos consecutivos que
deverão ser alcançados pelo AGV (LENGERKE, TRAJANO et al., 2007, LENGERKE,
ACUÑA et al., 2008).

111
5 CONTROLE DE MANOBRAS DE SISTEMAS DE
VEÍCULOS COM REBOQUES PARA AVALIAÇÕES DE
DESEMPENHO

Na presente pesquisa o desempenho do veículo com reboques é analisado


principalmente através de um sistema de simulação em computadores chamado de
Universal Mechanism (UM), que foi desenvolvido em 1990 no laboratório de mecânica
computacional da universidade Bryansk State Technical, na Rússia. O pacote foi
concebido para automatizar a análise de objetos mecânicos, que podem ser
representados como sistemas de corpos rígidos (ou sistemas multicorpos) e cujos corpos
são conectados por elementos cinemáticos (juntas) e de força. Os automóveis, as
locomotivas, os robôs e as escavadeiras, são exemplos de diferentes mecanismos e
dispositivos de tais sistemas. O UM gera automaticamente equações de movimento e,
em seguida, numericamente as resolve. Além disso, fornece animações e gráficos online
dos movimentos e das performances dinâmicas disponíveis durante a simulação.
Com a ajuda do UM os problemas de cinemática direta e inversa, dinâmica, e de
controle podem ser resolvidos. As equações de movimento são geradas por um
procedimento especial do pacote em uma forma completamente simbólica (YAZYKOV
et al., 2004).
Neste capítulo abordam-se os principais problemas e as preocupações com a
modelagem para a avaliação de veículos guiados automaticamente com reboques, e
sobre a inovação no domínio do transporte, aplicado em ambientes de sistemas flexíveis
de manufatura. Estes dois principais resultados ajudam a estabelecer as bases
necessárias para o sucesso, tanto para a aceitação em curto prazo da simulação do
sistema quanto para sua implementação em longo prazo, baseada sempre em padrões de
desempenho. A primeira parte deste trabalho fornece a modelagem computacional de
dois veículos com reboques, que é seguida de uma descrição metodológica, um alcance
e objetivos de estudo. O último tópico abordado é a utilização de um controle de
manobras para este tipo de veículos. Os veículos e um conjunto de trajetórias
específicas foram desenvolvidos para testar os modelos. De igual forma é realizada a
comparação das saídas a partir das simulações, através de comparações de valores
numéricos de uma série de medidas descritas em normas e regulamentações para este

112
tipo de veículos. O que efetivamente estabelece o nível de precisão que possa ser
razoavelmente fundamentado em modelagem no contexto do desempenho baseados em
padrões.
Geralmente é aceito que um veículo pode ser estudado através de uma
combinação de ensaios, testes físicos ou modelagens baseadas em computador. Um
veículo está disponível para testes que possam ser definidos através do seu desempenho
e de uma série de manobras ou trajetórias, quando os diferentes fatores de produção e
controle das variáveis de respostas são determinados pela medição física. As variáveis
necessárias para controlar e orientar o AGV em uma tarefa prescrita está definido a
partir do sistema de direção, aceleração e frenagem. As variáveis de resposta são os
parâmetros de interesse que descrevem o modo como o veículo responde às entradas de
controle, bem como perturbações externas. Estas geralmente incluem movimento das
massas suspensas, velocidades, acelerações, ângulos (roll, pitch e yaw) e suas taxas de
variações e os ângulos da articulação. Se for de interesse, na área de impactos da infra-
estrutura estão as reações dos pneus que são impostas sobre o pavimento (terreno).
Para confirmar algum aspecto de desempenho do veículo ensaios em diversos
terrenos podem ser realizados para quantificar as características particulares. Estas
podem abarcar avaliações diferentes descritas no desempenho, incluindo a capacidade
de aceleração, estabilidade para evitar capotamento, entre outras. No entanto, por várias
razões nem sempre os testes são desejáveis ou convenientes e nem sempre estão
acessíveis. Além disso, a realização de manobras de alto risco com veículos que tem
pouca estabilidade é uma atividade que deve ser cuidadosamente planejada (Figura 5.1)
(WINKLER, 2000).

Figura 5.1 Perda da estabilidade durante a execução de uma manobra (BISHOP, 2005).

113
O trabalho necessário para preparar um veículo para testes físicos demanda à
instalação da instrumentação, o registro e processamento de dados. O estudo desses
resultados é significativo e os custos dos testes físicos podem ser muito elevados e, em
muitos casos, podem ser proibidos (NRTC, 2001). Além disso, nem sempre é possível
medir todas as variáveis que possam ser de interesse, logo questões relacionadas com as
medições de erros, repetibilidade e reprodutibilidade influenciariam nos resultados.
O uso de sistemas computacionais com base na análise é uma alternativa
atraente para testes físicos, pois não necessita de um veículo a ser fabricado e testado
fisicamente. Qualquer número de desenhos ou modelos propostos de veículos pode ser
estudado em uma ampla gama de situações e de manobras, e qualquer número de
variáveis no modelo pode ser visto e estudado. Modelos de protótipos de veículos
podem ser criados e alterados, além de conceitos e testes em um grande número de
simulações, sem colocar veículos ou bens em risco. Os modelos computacionais podem
ser utilizados para identificar problemas ou deficiências no desempenho e corrigi-los
antes que um único veículo tenha sido construído. Os testes físicos (se forem
necessários) podem ser baseados em programações desenvolvidos a partir de simulações
em computadores, em que suas limitações são exigidas para confirmar a validade das
previsões.

5.1 Metodologia

Estudos confirmam que diferentes modelos de veículos foram criados utilizando


pacotes computacionais e previamente validados contra testes experimentais
(GILLESPIE et al., 1982, SAYERS, 1990, GILLESPIE, 1992, CRISTOFORO et al.,
1996, SCHADE et al., 2000, PREM et al., 2001, PACEJKA, 2002. LENNIE et al.,
2003, JAZAR, 2008). A metodologia desenvolvida para esta parte do projeto está
descrita nos seguintes pontos:
i) Uma referência de AGV é realizada, obtendo uma lista exaustiva dos
parâmetros necessários para criar o veículo em um pacote computacional,
ii) Um padrão de manobras é adotado para o controle das trajetórias do veículo,
iii) Utilizando o veículo de referência e as manobras padrão, é gerado um
conjunto de resultados para análise posterior.

114
5.1.1 Veículo de Referência

Nas últimas duas décadas houve um avanço de um grande número de


possibilidades de configurações de veículos unitários, unitários de carga e ônibus com
dois, três e quatro eixos, posicionados em conjuntos do tipo tandem (distância entre
eixos menor ou igual a 2,40 m), ou em conjuntos denominados eixos espaçados
(distância entre eixos maior que 2,40 m) dotados de rodagem simples, dupla, ou ainda
pneus extra-largos. Além disso, o tráfego de CVCs (Combinações de Veículos de Carga
e ônibus articulados e bi-articulados), que podem ser classificados, por analogia, como
CVPs (Combinações de Veículos de Passageiros), também sofreu um crescimento
acentuado.
De igual forma, existem vários sistemas de classificação no panorama das
regulamentações dos países cujas normas construtivas servem de referência para os
técnicos brasileiros. Os mais difundidos são: da CEE (Comunidade Econômica
Européia) que foi inicialmente proposto em 1970 e está hoje consolidado na norma EEC
70/156 revisada em 2001, da SAE (Society of Automotive Engineers) dos EUA e o
sistema da AASHTO (American Association of State Highway and Transportation
Officials). Mas também, no Canadá, a Transport Association of Canada desenvolveu o
“Uniform Vehicle Classification System”, conhecido como “Canada Scheme A”, que
considera 22 classes de veículos, definidos pelo número e tipo de unidades, e o número
de eixos no veículo. A notação utilizada, em linhas gerais, segue a da SAE. Na
Austrália, onde operam diferentes configurações de CVCs, possui sistemas próprios de
classificação que incluem configurações alternativas de acoplamentos e número de
eixos, onde existem dois sistemas.
Um sistema designativo da National Association of Australian State Road
Authorities (NAASRA), desenvolvido pela AUSTROADS (Australian and New
Zealand Road Transport and Traffic Authorities), que, a semelhança da SAE, incorpora
uma descrição das unidades e as configurações dos eixos (ou conjuntos de eixos), e um
sistema de divisão em classes semelhantes aos adotadas pela CEE e o FHWA (Federal
Highway Administration)(Figura 5.2). No Brasil, até 2005, os pesos e as dimensões dos
veículos de carga eram regulamentados através da resolução número 12/98 de Conselho
Nacional de Trânsito (CONTRAN) que estabelecia os limites de peso e as dimensões
para veículos de carga que transitassem por vias terrestres. Até 2005 também, a
resolução número 68/98 estabelecia que CVCs com duas ou mais unidades rebocadas só

115
conseguem circular portando autorização especial de trânsito (AET) e que o limite do
PBTC (Peso bruto total combinado) é de até 700 kN e seu comprimento de até 30 m.
Segundo a legislação, as CVCs permitidas não devem ter peso superior a 10 toneladas
por eixo simples, 170 kN para conjunto de eixos tandem duplo, 255 kN para conjunto
de eixos tandem triplo e 60 kN para o eixo dianteiro da unidade tratora (WIDMER,
2004).

Motocicletas

Automóveis de passageiros, incluindo veículos com


reboque um ou dois eixos.

Outros veículos de dois eixos, incluindo: pick-ups e


vans, com reboques de um ou dois eixos.

Ônibus.

Dois eixos, seis unidades de pneus.

Três eixos únicos.

Quatro ou mais unidades de eixos.

Quatro ou menos eixos únicos com reboque único.

Cinco eixos, reboque único.

Cinco eixos, reboque único.

Seis ou mais eixos, reboque único.

116
Cinco ou menos eixos, multi-reboques.

Seis eixos, multi-reboques

Sete ou mais eixos, multi-reboques

Figura 5.2 Classificação dos veículos com rodas segundo a Federal Highway Administration (FHWA)
(JAZAR, 2008).

Para o desenvolvimento do sistema de simulação, foi utilizado um protótipo


seguindo a norma NBR 9088 para equipamento de apoio no solo - trator de aeroporto
para movimentação de carga aérea e equipamentos de apoio para aeronave (NBR 9088,
1999). Os dados foram tomados numa visita prévia realizada ao Aeroporto Internacional
Antônio Carlos Jobim do Rio de Janeiro, Brasil. Para o efeito foi desenvolvido no UM,
um modelo de trator que se comporta rigidamente (APÊNDICE E). O modelo
computacional foi construído tendo como base o trator e o reboque da Figura 5.3,
encontrando-se as especificações do modelo computacional do veículo seguidas em
termos de peso e dimensão na Tabela 5.1. A Figura 5.4, representada o modelo do
veículo em 3D, inteiramente constituído.

Figura 5.3 Veículo trator e reboque utilizados nos aeroportos para o transporte de cargas.

117
Tabela 5.1 Características do modelo computacional do veículo trator com reboque.

Figura 5.4 Veículo trator e sistema de direção desenvolvido para a modelagem em UM.

Um segundo protótipo foi desenvolvido para a modelagem. O modelo


computacional foi construído tendo como base o AGV da Figura 5.5, encontrando-se as
especificações do modelo computacional do veículo seguidas em termos de peso e
dimensão na Tabela 5.2 . Como já foi referido, várias das medidas são as indicadas pelo

118
fabricante, e outras são produtos das melhores aproximações possíveis, como é o caso
dos momentos de inércia, retirados de um modelo similar, em dimensão e massa do
software Universal Mechanism. A Figura 5.6 representada o modelo do veículo em 3D
inteiramente constituído.

Figura 5.5 AGVs utilizados para o transporte de contêineres em portos.

Tabela 5.2 Características do modelo computacional do AGV com reboque.

Figura 5.6 Sistema AGV com reboque desenvolvido em UM para a modelagem.

119
5.1.2 Controle de Manobras

Com base em estudos descritos na literatura, os testes de desempenho são


propostos pela National Road Transport Commission (NRTC) para o desenvolvimento
das especificações em manobras de veículos (NRTC, 2001). Estudos anteriores que
foram considerados relevantes para este projeto utilizam diferentes tipos de
controladores para a simulação de manobras em veículos (MACADAM, 1981,
GILLESPIE et al., 1982, ALEXANDER et al. 1988, MACADAM, 2003, SHARP,
2005, BOUTELDJA et al., 2006, HARADA et al., 2006, KÄPPLER, 2008, JURECKI
et al., 2009). Estas simulações foram concebidas para testar o desempenho de atributos
específicos, revelando diferentes aspectos dos modelos dos veículos e controladores.
Para o presente estudo os seguintes tipos de simulações foram realizados:
(i) uma simulação somente para caracterizar as respostas do veículo submetido a
ambos transientes e condições estáveis, envolvendo uma estratégia de controle que
exige a aplicação precisa de uma determinada sequência de direção e de observação da
resposta no veículo.
(ii) a outra simulação fornece informações sobre a resposta combinada da
direção, ambas altas e baixas velocidades utilizando um controlador em uma trajetória
predefinida. Com estas simulações é possível comparar uma série de funcionalidades
nos modelos propostos.
O modelo de controle de segunda ordem (por estar presente a aceleração) é
utilizado para a realização das manobras (RAKSINCHAROENSAK et al., 2004, UM,
2009). Cabe mencionar que a análise a seguir – com expressões no domínio do tempo –
é um tanto qualitativa e é baseado em uma modelagem linear simplificada de um
veículo de duas rodas e dois graus de liberdade. No controlador utilizado segundo o
modelo do motorista, o ângulo de orientação é calculado a partir da condição de desvio
mínimo da trajetória prevista a partir da desejada. Um referencial inercial OXY é
introduzido, relacionado com a posição atual do veículo. A origem deste sistema está
localizada no ponto médio da linha central do eixo dianteiro, o eixo das abscissas
(Figura 5.7).

120
Figura 5.7 Trajetória desejada e prevista.

No modelo de controle é descrito L p como a distância precedente que depende

da velocidade escalar do veículo ( v ) e o tempo de amostragem Tp , com:

L p  vTp
(5.1)

O atraso na reação td é tomado em conta também. O diagrama de blocos do


controlador é mostrado na Figura 5.8. O bloco Precedente com função de transferência
P(s) gera o deslocamento na coordenada lateral yd  t  Tp  sobre a trajetória desejada na

direção longitudinal no sistema de coordenadas do veículo (Figura 5.7).

yd yp   y

yp

Figura 5.8 Diagrama de blocos do controlador.

Prevê-se o deslocamento lateral do veículo ( y p ) após o tempo de amostragem

Tp utilizando os valores atuais da velocidade lateral e aceleração do veículo. O controle

é proporcional ao erro  , que é o desvio entre os deslocamentos laterais (previsto e


desejado), tendo em conta o retardo na reação da manobra.

121
Por inspeção do diagrama de blocos da Figura 5.8, se obtém que:

*
y p  P  s  yd (5.2)

*
  yp  yp (5.3)

  H  s
(5.4)

yp  B  s y
(5.5)

A função de transferência para o bloco precedente P( s) é dada pela equação


(5.6).

Tp s
P(s)  e (5.6)

Deste modo, com as equações (5.2) e (5.6) se obtém a equação (5.7).

*
T s
y p  e p yd (5.7)

A equação (5.7) expressa o avanço de Tp unidades de tempo para estar sobre a

trajetória desejada yd .
Da equação (5.2), pode-se descrever a seguinte equação no domínio do tempo:

y p  t   yd  t  Tp 
*

(5.8)

Para o bloco da retroalimentação B( s ) pode-se escrever que:

Tp2 s 2
B ( s )  Tp s 
2 (5.9)

A partir das equações (5.9) e (5.5) o erro no domínio do tempo, é dado por:

Tp 2
  t   yd  t  Tp   Tp y  t   y  t  (5.10)
2

122
O bloco do controle H ( s) , é um controlador proporcional normalizado K Lp

(onde K é o ganho) com o atraso td do motorista, descrito como:

K  td s
H ( s)  e
Lp (5.11)

Utilizando as equações (5.4) e (5.11), a entrada no modelo do veículo (ângulo de


direção) é dada por:

K
 t     t  td 
Lp (5.12)

Deste modo, a partir das equações (5.10) e (5.12) no domínio do tempo, se


obtém que:
2
K T
 t   yd  t  Tp  td   Tp y  t  td   p 
y  t  td 
Lp 2 (5.13)

Por último, o ângulo que a roda deve (  s ), de acordo com a ação de controle, é
obtido da equação (5.14) multiplicando-se o ângulo da direção (no volante) por um
parâmetro estabelecido ( is ) do sistema de direção desenvolvido para o veículo.

 s  t   is  t 
(5.14)

5.1.3 Simulação

Simulação 1: Uma primeira simulação é realizada de acordo com o modelo da


Figura 5.4. O veículo possui um controle manual da direção e velocidade, conseguindo
deslocar-se através de um ambiente, apresentando dados necessários para sua análise. A
finalidade desta modelagem é avaliar as características e a movimentação dinâmica do
veículo com reboque. O veículo escolhido para este projeto foi considerado e adequado
para efeitos do estudo, pois ele contém elementos que estão presentes não só em uma
proporção significativa dos AGVs, mas também em veículos de carga (pesados). É
importante notar que o modelo desenvolvido é útil para testar um determinado conjunto

123
características básicas de modelagem e as competências relativas à simulação dinâmica
de veículos pesados. A intenção é desenvolver um conjunto de dados de entrada e um
conjunto de resultados com os que se pretende estabelecer aquilo que pode servir de
base a um nível razoável de entrada de testes para estudos de AGVs. Os dados de
entrada e de configuração nessa simulação no software UM, estão relacionados no
APÊNDICE F.
Os resultados da simulação, do trator, até atingir uma velocidade de 11,76 m/s
(42,33 km/h), estão apresentados a partir da Figura 5.9 até a Figura 5.25. O tempo da
simulação foi de 54 segundos.

Figura 5.9 Velocidade do trator.

Figura 5.10 Trajetória do trator.

124
Figura 5.11 Trajetória do reboque.

Figura 5.12 Trajetória do reboque versus trajetória do trator.

Figura 5.13 Trajetória gerada pelos pneus do trator versus trajetória dos pneus do reboque.

125
Figura 5.14 Velocidade Angular do trator (X e Y).

Figura 5.15 Velocidade Angular do reboque (X e Y).

Figura 5.16 Velocidade angular do trator (Z e Módulo).

126
Figura 5.17 Velocidade angular do reboque (Z e Módulo).

Figura 5.18 Esforços no sistema de direção.

Figura 5.19 Reação normal dos pneus do trator.

127
Figura 5.20 Força lateral dos pneus do trator.

Figura 5.21 Roll (Mx) do trator.

Figura 5.22 Roll (Mx) do reboque.

128
Figura 5.23 Pitch (My) do trator.

Figura 5.24 Pitch (My) do reboque.

Figura 5.25 Yaw (Mz) do trator.

129
Figura 5.26 Yaw (Mz) do reboque.

Simulação 2: A simulação da movimentação do segundo veículo em um


ambiente estruturado foi implementada considerando o esquema da Figura 5.27.

Figura 5.27 Esquema para simulação das trajetórias.

O gerador de caminhos (Método de Campos Potenciais) é utilizado com a


finalidade de tracejar uma primeira aproximação, sendo conhecidos a sua posição inicial
e alvo, de acordo aos parâmetros estabelecidos na Tabela 5.3. Na Figura 5.28 o caminho
resultante gerado é traçado em 2D.

130
Tabela 5.3 Parâmetros utilizados no método de campos potenciais.
Obstáculo Campo Coordenadas
Coordenadas (X, Y) Ponto
(OB) Potencial (X, Y)
OB1 (20, 30) 14 Ponto Inicial (10, 10)

OB2 (20, 60) 5 Ponto Final (Alvo) (90, 90)

OB3 (20, 90) 5

OB4 (40, 30) 8 Campo Potencial Alvo 15


OB5 (40, 60) 5
OB6 (40, 90) 5
OB7 (60, 30) 5
OB8 (60, 60) 5
OB9 (60, 90) 5
OB10 (80, 30) 35
OB11 (80, 60) 22
OB12 (80, 90) 5

Figura 5.28 Trajetória gerada pelo método de campos potenciais.

A seguir, a implementação do caminho é realizada considerando as restrições do


modelo do veículo. Devido às limitações do caminho e as restrições do modelo é
necessário o desenvolvimento de técnicas para modelagem das curvas. Nesse sentido,
são desenvolvidas as curvas B-spline. Para isso, é traçado o caminho aproximado
utilizando B-Splines construindo uma curva suave sobre uma sequência dada de pontos.

131
A precisão da curva é definida por um intervalo de tolerância no raio de curvatura.
Posteriormente é realizada a configuração no Universal Mechanism (UM). A
comparação do caminho realizado com os campos potenciais e o resultado da
aproximação podem ser observados na Figura 5.29. A trajetória final implementada no
UM é apresentada na Figura 5.30. É adotado para a simulação, que os dados das
coordenadas X e Y, estão determinados em [m].

Figura 5.29 Comparação das trajetórias geradas pelo método de campos potencias e no UM.

Figura 5.30 Trajetórias final implementada no UM.

132
Na Tabela 5.4 está a lista dos parâmetros característicos UTLIZADOS
recomendados para o controlador, de acordo às entradas configuradas para o modelo e
descritas no APÊNDICE G.

Tabela 5.4 Parâmetros sistema de controle.


Valores de
Valores Utilizados
Parâmetro Comentário Intervalos
na Simulação
Recomendados
Tp Tempo de
1 s -2 s 1s
amostragem
Tempo de Atraso da
td  0.15 s 0.15s
Reação
K Ganho 0.7 – 0.4 0.5
v Velocidade 3 m/s

Para a simulação das manobras do veículo, foi adotada uma velocidade 3 m/s
(10,8 km/h), típica para este tipo de veículos em situações de trajetórias complexas. A
simulação foi realizada durante 45,25 segundos, tempo suficiente para a passagem do
veículo desde o ponto inicial até o alvo, com a finalidade de avaliar as características e a
movimentação dinâmica do veículo com reboque. Os resultados da simulação, da
passagem do veículo pela trajetória da Figura 5.30 a uma velocidade aproximada a 3
m/s (10,8 km/h) (Figura 5.31), estão apresentados nas Figura 5.34 até a Figura 5.60.

Figura 5.31 Velocidade do veículo.

133
Figura 5.32 Comparação das trajetórias.

Figura 5.33 Erro do controlador.

Figura 5.34 Velocidade angular do veículo.

134
Figura 5.35 Velocidade angular do reboque.

Figura 5.36 Ângulo de esterçamento.

Figura 5.37 Força (Fx) dos pneus dianteiros do veículo.

135
Figura 5.38 Força (Fx) dos pneus traseiros do veículo.

Figura 5.39 Força (Fx) dos pneus dianteiros do reboque.

Figura 5.40 Força (Fx) dos pneus traseiros do reboque.

136
Figura 5.41 Força (Fy) dos pneus dianteiros do veículo.

Figura 5.42 Força (Fy) dos pneus traseiros do veículo.

Figura 5.43 Força (Fy) dos pneus traseiros do reboque.

137
Figura 5.44 Força (Fy) dos pneus dianteiros do reboque.

Figura 5.45 Força (Fz) dos pneus dianteiros do veículo.

Figura 5.46 Força (Fz) dos pneus traseiros do veículo.

138
Figura 5.47 Força (Fz) dos pneus do reboque.

Figura 5.48 Roll (Mx) do veículo.

Figura 5.49 Roll (Mx) do reboque.

139
Figura 5.50 Pitch (My) do veículo.

Figura 5.51 Pitch (My) do reboque.

Figura 5.52 Yaw (Mz) do veículo.

140
Figura 5.53 Yaw (Mz) do reboque.

Figura 5.54 Ângulo longitudinal Slip pneus dianteiros do veículo.

Figura 5.55 Ângulo longitudinal Slip pneus traseiros do veículo.

141
Figura 5.56 Ângulo longitudinal Slip pneus dianteiros do reboque.

Figura 5.57 Ângulo longitudinal Slip pneus traseiros do reboque.

Figura 5.58 Ângulo lateral Slip pneus traseiros do veículo.

142
Figura 5.59 Ângulo lateral Slip pneus dianteiros do veículo.

Figura 5.60 Ângulo lateral Slip do reboque.

5.1.4 Validação do modelo

De modo a validar a simulação computacional é necessário ter uma base de


comparação com estudos reais. Para tal verificou-se a existência de um estudo. Esse
estudo tem a particularidade de ter sido realizado recorrendo ao software, o Madymo.
Para esse efeito, realizaram testes reais com modelos antropomórficos, de maneira a
calibrar a simulação computacional de forma à mesma retornar resultados realistas e
conseqüentemente válidos. Apesar do veículo em estudo possuir dimensões diferentes, é
possível compará-lo com o modelo do presente estudo de forma relativa. O trator

143
utilizado no teste real é aproximado ao utilizado no modelo que se pretende validar. Os
parâmetros resultantes para comparação são considerados válidos, mesmo que se
encontrem um pouco abaixo dos obtidos nos testes reais efetuados no estudo da
referência, PREM et al., 2001.

5.1.5 Discussão de resultados

O software Universal Mechanism foi aplicado para avaliar o desempenho de


dois veículos com um reboque submetido a condições de velocidade e direção. Os
resultados da aplicação do modelo revelam a sensibilidade de alguns parâmetros chaves
nas medidas de desempenho utilizado, no caso, as forças de contacto dos pneus e
velocidade média de percurso. Esses resultados preliminares também apontam a direção
a ser seguida na continuidade do desenvolvimento e aplicação do controle em modelos
de simulação. O modelo de controle deverá, em breve, incorporar a possibilidade de
veículos também transitarem em uma trajetória predefinida. Ainda, um maior grau de
aleatoriedade será adicionado ao modelo na medida em que os veículos passarem a ter
velocidades desejadas distintas e relações massa/potência variadas.
Simulação 1: A simulação do veículo, conforme proposto, consiste na inscrição
de uma curva à esquerda (Figura 5.61). Esta curva deve possuir um trecho inicial reto de
270 metros. A velocidade solicitada para realizar a curva foi de 11,76 m/s (Figura 5.9).

144
Figura 5.61 Trajetória realizada pelo trator em 3D.

Nos resultados gráficos apresentados, pode-se observar na Figura 5.18, que os


esforços máximos na direção foram de 744,56 N no braço 1, 205,05 N no braço 2 e
100,05 N na caixa do veículo (Figura 5.4). Nota-se, a variação da direção do veículo,
através da velocidade angular devido à mudança da trajetória (máxima em X de 0,036
rad/s e 0,004 rad/s para o trator e reboque respectivamente). Em Y, oscilações periódicas
entre [0,001, -0,001] rad/s e [0,0012, -0,00098] rad/s para o reboque (Figura 5.14 e
Figura 5.15). A velocidade angular em Z e o módulo de 0,3 rad/s para o trator e o
reboque são similares no instante que é realizada a mudança na direção (Figura 5.16 e
Figura 5.17).
O momento Yaw (Mz), foi de 79,5 Nm e 1783,78 Nm para o trator e reboque
respectivamente, depois de realizada a curva. Notam-se as variações na direção para
seguir a trajetória curva realizada (Figura 5.25, Figura 5.26).
As forças laterais dos pneus do trator (Figura 5.20) e reação normal dos mesmos
(Figura 5.19) aumentam quando o veículo realiza a mudança da direção, produzindo
dados críticos no momento de avaliar condições e desgastes dos pneus.
Simulação 2: A simulação do veículo segue a trajetória proposta comparada com
a traçada pelos campos potenciais (Figura 5.32), com um erro do controlador menor que
 0,5 rad, como se pode observar na Figura 5.33.
É importante ressaltar que, para que as análises tenham validade é importante
verificar que as forças entre pneu e pavimento sejam sempre positivas (pneu sob
compressão), como no caso do gráfico da Figura 5.47, pois na aplicação real do veículo,
os pneus podem apresentar descolamento em relação à estrada.
Como pode ser visto nas Figura 5.54 até a Figura 5.60, o slip obtido para a
trajetória proposta atinge valores menores. Nota-se que as forças realizadas pelos pneus
para conseguir fazer a trajetória, são consideráveis devido às curvas realizadas, contudo

145
tem uma velocidade média de 3 m/s. Esses esforços são maiores quando o veículo
realiza uma curva de raio menor num tempo de 22 segundo. Na Figura 5.62 pode-se
observar a simulação da trajetória seguida pelo veículo.

Figura 5.62 Trajetória realizada pelo AGV em 3D.

146
5.1.1 Desempenho Computacional

Os modelos gerados, para cada caso de simulação, possuem tamanhos e


complexidade próprios. Nota-se, a progressão do número de equações, em função da
complexidade do modelo, partindo a mais de 30 graus de liberdade para o veículo
completo e um número significativo de corpos (Tabela 5.5).
O desempenho computacional é avaliado, pela proporção entre tempo de
simulação, contra o tempo gasto para o cálculo. O tempo de cálculo depende do passo
utilizado na simulação, sendo inversamente proporcional da rigidez do sistema. Como
os programas trabalham com passo variável, o tempo total de simulação, depende do
grau de rigidez do caso calculado. Como o modelo, leva em consideração as não
linearidades dos componentes, o comportamento varia bastante, dependendo da
situação. A máquina utilizada na simulação foi: um PC – Intel Core2 Duo E4600 2.4
GHz, 4 GB de RAM, para todos os casos

Tabela 5.5 Componentes principais do modelo do AGV com reboque.


Tempo
Número de Forças Forças Geração
Componente Juntas Equações
Corpos Lineares Bipolares Equações
(s)
Veículo 9 12 2 4 n/d
0.223
Reboque 10 10 2 4 n/d
n/d – não disponível

147
6 CONCLUSÕES E CONTRIBUIÇÕES DA PESQUISA

A pesquisa sobre sistemas AGVs está entrando em uma nova fase com o
aumento da sua utilização em novas áreas de aplicação. AGVs são atualmente utilizados
para tarefas repetitivas de transporte, distribuição de produtos (por exemplo, sistemas
flexíveis de manufatura, terminais de contêineres, terminais aéreos), transferência de
carga de um veículo para outro e transportes em áreas externas. As diferenças mais
importantes entre o uso de AGVs na área da manufatura e nestes novos ambientes
podem ser observadas no número de AGVs utilizados, número de tarefas de transporte,
distâncias a serem percorridas, número de reboques e de pontos de entrega, quantidade
de trafego de veículos, dimensões espaciais, estacionamento dos veículos e as condições
de funcionamento. A partir da revisão da literatura, pode-se concluir que a maioria da
pesquisa está encaminhada nos problemas de projeto e de controle em sistemas de
manufatura. Denotando também que pouca atenção tem sido dada à relação de
integração entre sistemas AGVs e os problemas de granularidade na definição dos
recursos e o efeito do transporte dos subprodutos entre estações de trabalho, que
aparentemente ficam escondidas nas formulações tradicionais (como no caso, do job
shop).
No presente projeto foi apresentada a problemática da navegação de AGVs,
assim como a descrição de cada uma das subtarefas envolvidas na arquitetura
mecatrônica proposta, com a finalidade de desenvolver teorias de planejamento e
geração de rotas, caminhos e trajetórias de AGVs. O desenvolvimento da tarefa de
planejamento engloba o objetivo de construir a partir de uma arquitetura mecatrônica,
uma navegação livre de obstáculos que conduza ao tipo de AGV com reboques desde
uma posição inicial até o destino. Esta é admissível segundo as características do
veículo e verificação de algumas restrições operacionais. Esta tarefa é construída em
três fases diferenciadas: planejamento da rota, geração do caminho e planejamento da
trajetória. As primeiras duas fases constituem uma aproximação da trajetória final
através da definição de uma rota e o caminho livre de obstáculos, construída a partir da
informação do entorno e baseada na aplicação da formulação de um problema job shop.
Na construção da rota e do caminho não é considerada nenhuma característica do AGV,
já que esse só tem que garantir a sequência de pontos cartesianos. Para isso são geradas
tarefas determinadas e conhecidas em seus tempos de operação. Na pesquisa foi tratado

148
o problema de criar modelos que relacionam propriedades da programação job shop
para o desempenho na navegação de AGVs em SFM, utilizando controle distribuído por
escalonamento por reversão de arestas (ERA). Esta nova abordagem foi introduzida pela
primeira vez nesta pesquisa para a solução de grandes sistemas de AGVs capazes de
“gerir” um grande número de AGVs eficientemente.
Neste trabalho, foi proposta uma arquitetura de navegação, utilizando
escalonamento por reversão de arestas e campos potenciais, aplicado na navegação de
AGVs, permitindo que os mesmos possam se deslocar de uma maneira livre de tráfego e
obstáculos entre dois determinados pontos no seu ambiente de trabalho (SFM,
aeroportos, portos, etc.), considerado estruturado. Como desvantagem da arquitetura
proposta, tem-se o fato da locomoção do veículo ser restrita apenas à dinâmica do
veículo. Dependendo dos parâmetros do veículo, o caminho gerado pelo método de
campos potencias deve ser ajustado às restrições do protótipo. Em contrapartida, o
grande número de resultados que podem ser apresentados através das simulações
gráficas comprovam o funcionamento adequado da arquitetura proposta. O sistema
apresentou resultados positivos, permitindo que, em uma etapa posterior, a mesma possa
ser testada em veículos reais.
Igualmente, o modelo proposto não possui características de um modelo
fechado. Os resultados podem ser estendidos para outros problemas de programação,
por exemplo, na abordagem do problema de programação de redes de computação
distribuída e, entre os problemas atuais, o problema de tráfego de aviões que é
semelhante pela sua natureza e pela NP – complexidade. O modelo implementado está
fundamentado em uma função objetivo que reflete, através das variáveis de decisão e
seus pesos respectivos, estratégias de escalonamento. A arquitetura do modelo é
responsável por tratar os problemas de programação de jobs a partir do escalonamento
por reversão de arestas. Foram utilizadas na validação, diversas instâncias para o
problema e conclui-se que o modelo proposto pode ser considerado mais uma
abordagem para o escalonamento de produção, dado que as outras abordagens citadas
na etapa de validação, não gerenciam o conflito entre as datas de entrega (atraso) e a
produtividade do sistema de produção (velocidade de produção). Do ponto de vista
operacional, a solução tática é implementada junto com regras de liberação, rotas e
controle de tráfego do sistema.
As contribuições principais neste trabalho incluem uma aproximação do
problema job shop utilizando escalonamento por reversão de arestas para reduzir o custo

149
computacional aproveitando as regras de liberação para sua orientação. De igual forma,
é demonstrado o uso do escalonamento por reversão de arestas na navegação de AGVs
em SFM, na prevenção de paralisações completas (deadlock) de AGVs. Trata-se de um
paradigma de união do ERA que pode ser utilizado na construção de grandes modelos
com diversos recursos. O ERA captura todas as características do entorno de um SFM,
baseando-se no problema job shop. Os deadlocks podem causar degradações do
desempenho e a sua eliminação é importante para a efetiva operação do SFM. Este
problema é solucionado com o controle distribuído proposto.
Igualmente, apresenta-se uma solução de forma fechada para os parâmetros
cinemáticos de veículos com reboques, descrevendo um planejador de movimentos
baseado em um controlador de segunda ordem para um AGV com reboque. A estratégia
de controle proposta é desenvolvida em dois passos:
(i) Projeta-se uma lei de controle unicamente para o veículo.
(ii) Projeta-se uma estratégia de controle, que toma como referência a trajetória
gerada pelo veículo.
Para prevenção de colisões com os obstáculos, é utilizado o método de campos
potenciais. Para isso, utilizando uma função potencial, o AGV segue a direção do
gradiente da função com uma velocidade escalar constante para o ponto de referência.
Uma das estratégias para as trajetórias dos reboques e que ainda não foi desenvolvida,
tem como objetivo que o ponto do eixo da roda que dá direção ao reboque siga
aproximadamente a posição do ponto de referência do AGV, sujeita a um atraso (delay)
ou utilizando a direção do AGV como referência. A lei de controle para a trajetória do
AGV resulta em uma primeira solução, desde que o AGV e o reboque se desloquem
sem problemas a um ponto desejado em tempo finito.
Adicionalmente, foi apresentada a aplicação do método de campo potencial para
um ambiente de SFM. Esse método movimenta o AGV na direção do gradiente com
uma velocidade constante até o ponto objetivo. Um problema inerente ao método de
campos potenciais artificiais é a aparição de mínimos locais para diferentes
configurações de obstáculos. Este problema é analisado para os casos que existem um
ou dois obstáculos no espaço de trabalho. Os mínimos locais ou pontos de equilíbrio são
pontos onde o gradiente da função de potencial se anula.
Por último, ressalta-se que o método apresentado neste trabalho foi desenvolvido
no contexto de uma tentativa de sintetizar métodos compatíveis e integrado para geração

150
de caminhos, geração de trajetórias e controle para acompanhamento de trajetórias, com
resultados satisfatórios.

6.1 Trabalhos Futuros


Entre os trabalhos futuros e em andamento com a utilização do mapeamento
apresentado estão:
(i) Automação e integração do sistema desenvolvido dentro da arquitetura
mecatrônica proposta, com a finalidade de obter um produto que envolva as tecnologias
do escalonamento por reversão de arestas, o método de campos potenciais e a
implementação em um protótipo.
(ii) A integração do tráfego de AGVs nos sistemas flexíveis de manufatura e o
transporte de contêineres em portos (CHENG et al., 2005).
(iii) A distribuição de workflows em grids computacionais.
(iv) Melhora do algoritmo de navegação, com a aplicação do mesmo para
geração de trajetórias em um ambiente com obstáculos móveis.
(v) Implementação de um sistema de sensoriamento na articulação (reboques) do
AGV, para a realização de testes quando o veículo está em marcha ré, com a finalidade
de obter um controle dinâmico do sistema.
(vi) Desenvolvimento e análise de outros tipos de controlados para o sistema
AGV, como o Fuzzy, PI, PID, entre outros, com a finalidade de realizar testes e
estimativas de funcionamento dentro do modelo proposto.
Embora o modelo esteja preparado para as análises operacionais, ainda seriam
necessárias algumas melhorias para sua plena capacitação para esse tipo de estudo,
sendo as mais aparentes:
(i) A modelagem de interferências físicas (em especial, os cruzamentos).
(ii) O uso de distribuição de atrasos por intervalos.
(iii) Melhora na qualidade dos dados operacionais, buscando consistência
estatística com amostras maiores ou estimativas mais acuradas.
(iv) A utilização de velocidades variáveis no sistema descentralizado da
dinâmica de reversão de arestas, para a modelagem no planejamento das trajetórias.
(vi) Para o caso do método de campos potenciais, implementar uma elipse ao
redor do AGV com a finalidade de aumentar seu campo potencial, para o caso de ter
colisões.

151
No entanto, a maior parte dos problemas de concepção e de controle nos grandes
sistemas de AGVs nestas novas áreas de aplicação exige uma pesquisa mais
aprofundada em:
(i) Eficientes modelos analíticos para a gestão do tráfego em sistemas AGVs
com grande quantidade de veículos, áreas e zonas com capacidade limitada.
(ii) Pesquisa sobre as decisões relativas à localização de reboques e de pontos de
entrega em sistemas com grande número de AGVs, de tal forma que sejam evitados ou
reduzidos engarrafamentos e tempos de espera de carga.
(iii) Modelos de otimização de liberação, programação de tarefas e rotas e o
desenvolvimento de heurística avançada para liberação de AGVs que garantam baixos
tempos de computação, prevenção de tráfego (deadlock) e atrasos.
(v) Abordagens dinâmicas das decisões de estacionamento de AGVs inativos
(idle) que precisam fazer grandes deslocamentos, de tal forma que os veículos sejam
facilmente redirecionados para um novo job.
(vi) Modelos que incorporem decisões de administração de baterias e de falhas
em equipamentos nos problemas de controle e projeto.

152
7 REFERÊNCIAS BIBLIOGRÁFICAS

AHMED, J., SHAH, M., MILLER, A., HARPER, D., JAFRI, M.N., 2007, “A Vision-
Based System for a UGV to Handle a Road Intersection”, AAAI Association for
the Advancement of Artificial Intelligence, pp. 1077 – 1082.
ALBUS, J.S, BARBERA, A.J., 2005, “RCS: A Cognitive Architecture for Intelligent
Multi-Agent Systems”, Annual Reviews in Control 29, Elsevier, pp. 87 - 99.
ALEXANDER, J. C., MADDOCKS, J. H., 1988, “On the Maneuvering of Vehicles”,
SIAM Journal on Applied Mathematics, v. 48, n. 1, pp. 38 – 51.
ALTAFINI, C., 2003, “Path Following With Reduced Off-Tracking for Multibody
Wheeled Vehicles”, IEEE Transactions on Control Systems Technology, v. 11, n.
4, pp. 598 - 605.
ALTAFINI, C., SPERANZON, A., WAHLBERG, B., 2001, “A Feedback Control
Scheme for Reversing a Truck and Trailer Vehicle”, IEEE Transactions on
Robotics and Automation, v. 17, n. 6, pp. 915-922.
ANDRADE-CETTO, J., SANFELIU, A., 2006, Environment Learning for Indoor
Mobile Robots - A Stochastic State Estimation Approach to Simultaneous
Localization and Map Building, v. 23, Germany, Springer-Verlag Berlin
Heidelberg.
ANDRZEJEWSKI, R., AWREJCEWICZ, J., 2005, Nonlinear Dynamics of a Wheeled
Vehicle, New York, Springer.
ANTONELLI, G., 2006, Underwater Robots: Motion and Force Control of Vehicle-
Manipulator Systems (Springer Tracts in Advanced Robotics), Germany,
Springer-Verlag Berlin Heidelberg.
ARDEMA, M.D., 2005, Analytical Dynamics - Theory and Applications, New York,
Kluwer Academic.
ARKIN, R., 1987, “Motor schema based navigation for a mobile robot: An approach to
programming by behavior”. In: Proceedings in IEEE International Conference on
Robotics and Automation, v.4, pp. 264 - 271.
ARKIN, R.C., 1998, Behavior-Based Robotics, Cambridge, MA, MIT Press.
ARKIN, R.C., MURPHY, R.R., 1990, “Autonomous Navigation in a Manufacturing
Environment”, IEEE Transactions on Robotics and Automation, v. 6, n. 4, pp. 445
- 454.
153
ARNOLD, V. E, NOVIKOV, S. E., 1994, Dynamical Systems VII – Integrable Systems
and Nonholonomic Dynamic Systems. Springer Verlag.
ASKIN, A.G., STANDRIDGE, C.R. 1993, Modeling and Analysis of Manufacturing
Systems, USA, John Wiley & Sons, Inc.
ASO, M., SUZUKI, T., 2000, “Automated Steering Control for the Intelligent
Multimode Transit System”, Proceedings of the IEEE Intelligent Vehicles
Symposium 2000, Dearborn (MI), USA, pp. 590 - 595.
ASTOLFI, A., BOLZERN, P., LOCATELLI, A., 2004, “Path-Tracking of a Tractor-
Trailer Vehicle along Rectilinear and Circular Paths: A Lyapunov-Based
Approach”, IEEE Transactions on Robotics and Automation, v. 20, n. 1, pp. 154 -
160.
AUSIELLO, G., CRESCENZI, P., GAMBOSI, G., KANN, V., MARCHETTI-
SPACCAMELA, A., PROTASI, M., 1999, Complexity and Approximation -
Combinatorial Optimization Problems and their Approximability Properties,
Springer Verlag.
AVIS, D., HERTZ, A., MARCOTTE, O., 2005, Graph Theory and Combinatorial
Optimization (Gerad 25th Anniversary Series), New York, Springer.
BAMPIS, E., JANSEN, K., KENYON, C., (eds), 2006, Efficient Approximation and
Online Algorithms - Recent Progress on Classical Combinatorial Optimization
Problems and New Applications, Germany, Springer-Verlag Berlin Heidelberg.
BARBOSA, V. C., GAFNI, E., 1989, “Concurrency in Heavily Loaded Neighborhood
Constrained Systems”, ACM Transactions on Programming Languages and
Systems, v. 11, pp. 562 - 584.
BARBOSA, V.C., 1996, An Introduction to Distributed Algorithms, Cambridge,
Massachusetts, USA, MIT Press.
BARBOSA, V.C., 2002, “The Combinatorics of Resource Sharing”, In: Corrêa, R.,
Dutra, I., Fiallos, M., Gomes F. (eds.), Models for Parallel and Distributed
Computation. Theory, Algorithmic Techniques and Applications, Kluwer
Academic Publishers, pp. 27 - 52.
BARBOSA, V.C., BENEVIDES, M., FRANÇA, F., 2001, “Sharing Resources at
Nonuniform Access Rates”, Theory of Computing Systems, v. 34, pp. 13 - 26.
BARNES, A. LOY, G., 2006, “Real-Time Regular Polygonal Sign Detection”. In: P.
Corke and S. Sukkarieh (Eds.), Field and Service Robotics, Results of 5th

154
International Conference, Springer-Verlag Berlin Heidelberg, STAR 25, pp. 55 -
66.
BESSERON, G., GRAND, CH., BEN AMAR, F., PLUMET, F. AND BIDAUD, PH.,
2005, Locomotion Modes of an Hybrid Wheel-Legged Robot - Climbing and
Walking Robots: Proceedings of the 7th International Conference CLAWAR 2004
Manuel Armada Pablo and González de Santos (Eds.), Springer-Verlag Berlin
Heidelberg, Países Baixos, pp. 825 – 833.
BISHOP, R. H. 2002, The Mechatronics Handbook, CRC Press, New York.
BISHOP, R., 2000, “A Survey of Intelligent Vehicle Applications Worldwide”. In:
Proceedings of the IEEE intelligent Vehicles Symposium, Dearborn, USA, Oct.
BISHOP, R., 2005, Intelligent Vehicle Technology and Trends, USA, Artech House
Publishers.
BLOCH, A.M., 2003, Nonholonomic Mechanics and Control, New York, Springer.
BORENSTEIN, J., EVANS, J., 1997, “The OmniMate Mobile Robot - Design,
Implementation, and Experimental Results”. In: Proceedings of the 1997 IEEE
International Conference on Robotics and Automation, Albuquerque, New
Mexico, pp. 3505 - 3510.
BORENSTEIN, J., EVERETT, H.R., FENG, L., 1996, Where am I? Sensors and
Methods for Mobile Robot Positioning, Ann Arbor, MI, Univ. Michigan.
BOUCHERET, J., 2004, “Briefing: The CIVIS Optically-guided Urban”, Proceedings
of the Institution of Civil Engineers Municipal Engineer, ME1, pp. 13 - 15.
BOUTELDJA, M. EL HADRI, A., CADIOU, J. C., DAVILA, J.A., FRIDMAN, L.,
2006, “Observation and Estimation of Dynamics Performance of Heavy Vehicle
Via Second Order Sliding Modes”. In: Proceedings of the 2006 International
Workshop on Variable Structure Systems, Alghero, Italy, pp. 280 – 285.
BOWMAN, E.H., 1959, “The Schedule-Sequencing Problem”, Operations Research, v.
7, n. 5, pp. 621 - 624.
BRACKSTONE, M.A., MCDONALD, M., 1996, “The DIATS Project: Deployment of
Inter-urban ATT Test Scenarios”. In: Transport Telematics in the Fourth
Framework (Digest No: 1996/070), pp. 3/1 - 3/4.
BRÄUNL, T., 2006, Embedded Robotics, Germany, Berlin Heidelberg, Springer-
Verlag.

155
BROOKHUIS, K. A., DE WAARD, D., JANSSEN, W. H., 2001, “Behavioral Impacts
of Advanced Driver Assistance Systems: An Overview”, European Journal of
Transport and Infrastructure Research, pp. 245 - 253.
BROOKS, R.A., 1986, “A Robust Layered Control System for a Mobile Robot”, IEEE
Journal of Robotics and Automation, v. Ra-2, n. 1, pp. 14 – 23.
BUSHNELL, L. G., TILBURY, D. M., SASTRY, S. S., 1995, “Steering Three-input
Nonholonomic Systems: the Fire Truck Example”, International Journal of
Robotics Research, v. 14, pp. 366 - 381.
CAPASSI, N.G., 2007, “Veículos Guiados Automaticamente: Tecnologia Sem
Condução”, Jornal LogWeb, Referência em Logística, n. 65, (Julho), pp. 12 - 14.
CARLIER, J., PINSON, E., 1989, “An Algorithm for Solving the Job-Shop Problem”,
Management Science, v. 35, n. 2, pp. 164 - 176.
CARVALHO, D., PROTTI, F., GREGORIO, M.D., FRANÇA, F., 2004, “A Novel
Distributed Scheduling Algorithm for Resource Sharing under Near-Heavy Load”.
In: Proceedings of OPODIS 2004, Lecture Notes in Computer Science, pp. 306 -
314, Grenoble, France.
CARVALHO, D.M., 2004, Escalonamento Distribuído por Reversão de Arestas com
Reconfiguração Dinâmica de Carga, Tese de Mestrado, Universidade Federal do
Rio de Janeiro, Brasil.
CASTLEBERRY, G.A., 1991, The AGV Handbook, Michigan, Braun-Brumfield, Inc.,
Ann Arbor.
CATLING, I., HARRIS, R., 1995, “TABASCO-Improving Transport Systems in
Europe”. In: Proceedings Vehicle Navigation and Information Systems
Conference, 1995, In conjunction with the Pacific Rim TransTech Conference. 6th
International VNIS - A Ride into the Future, pp. 503 - 507.
CATLING, I., MCQUEEN, B., 1991, “Road Transport Informatics in Europe-Major
Programs and Demonstrations”, IEEE Transactions on Vehicular Technology,
v.40, n.1, pp. 132 - 140.
CERIC, V., 1990, “Simulation Study of an Automated Guided-Vehicle System in a
Yugoslav Hospital”, The Journal of the Operational Research Society, v. 41, n. 4,
pp. 299 - 310.
CHAN, F.T.S., CHAN H.K., LAU, H.C.W., IP, R.W.L., 2003, “Analysis of Dynamic
Dispatching Rules for a Flexible Manufacturing System”, Journal of Materials
Processing Technology, v. 138, ed. 1-3, pp. 325 - 331.

156
CHEN, B., WU, C., UANG, H., 2000, “A Minimax Tracking Design for Wheeled
Vehicles with Trailer Based on Adaptive Fuzzy Elimination Scheme”. IEEE
Transactions on Control Systems Technology, v. 8, n. 3, pp. 418 - 434.
CHEN, I.J., CHUNG, C., GUPTA, A., 1994, “The Integration of JIT and FMS: Issues
and Decisions”, Integrated Manufacturing Systems, v. 5, n. 1, pp. 4 -13.
CHENG, R.M.H., XIAO, J.W. LEQUOC, S., 1992, “Neuromorphic Controller for
AGV Steering”. In: Proceedings IEEE International Conference on Robotics and
Automation, v. 3, pp. 2057 – 2062.
CHENG, Y., SEN, H., NATARAJAN, K., TEO, C., TAN, K., 2005, “Dispatching
Automated Guided Vehicles in a Container Terminal”. In: Geunes, J., Pardalos,
P.M. (eds), Supply Chain Optimization – Applied Optimization, v. 98, Cap. 11,
Springer Science, New York.
CHENGQING, L., ANG JR. M.H., KRISHNAN, H., YONG, L.S., 2000, “Virtual
Obstacle Concept for Local Minimum Recovery in Potential Field Based
Navigation”. In: Proceedings of the 2000 IEEE International Conference on
Robotics and Automation, v. 2, pp. 983-988.
CHEW, T.N., GUZMAN, J.I., ADAMS, M.D., 2005, “Autonomous Vehicle-Following
Systems: A Virtual Trailer Link Model”, IEEE/RSJ International Conference on
Intelligent Robots and Systems, (IROS 2005), pp. 3057 - 3062.
CHOI, D., KAUFMAN, M., LANGLEY, P., NEJATI, N., & SHAPIRO, D., 2004,
“ICARUS: An Architecture for Persistent Reactive Behavior”. In: Proceedings of
the Third International Joint Conference on Autonomous Agents and Multi Agent
Systems, New York, ACM Press, pp. 988 - 995.
CHOSET, H., LYNCH, K., HUTCHINSON, S., KANTOR, G., BURGARD, W.,
KAVRAKI, L., THRUN, S., 2005, Principles of Robot Motion: Theory,
Algorithms and Implementation, A Bradford Book, The MIT Press, Cambridge,
Massachusetts London, England.
CHUN, W., FAUKONER, J., AND MUNKEBY, S., 1995, “UGV Demo II Reuse
Technology for AHS”. In: Proceedings IEEE Intelligent Vehicles Symposium.
CORTES, J.M., 2000, Geometric, Control and Numerical Aspects of Nonholonomic
Systems, Berlin Heidelberg, Springer-Verlag.
CRISTOFORO, R.D., BLANKSBY, C., GERMANCHEV, A., 1996, “Performance-
Based Design of an Innovative Truck-Trailer Configuration: Safer and More

157
Efficient Distribution of Liquid Fuel in Australia”, Transportation Research
Record: Journal of the Transportation Research Board, Australia, pp. 110 - 117.
CUESTA, F., GOMEZ-BRAVO, F., OLLERO, A., 2004, “Parking Maneuvers of
Industrial-Like Electrical Vehicles with and without Trailer”, IEEE Transactions
on Industrial Electronics, v.51, n.2, pp. 257-269.
CZICHO, H., 2006, Mechatronik, Grundlagen und Anwendungen Technischer Systeme,
Friedr. Vieweg & Sohn Verlag, GWV Fachverlage GmbH, Wiesbaden, Germany.
DAI, J. G., WEISS, G., 2002, “A Fluid Heuristic for Minimizing Makespan in Job
Shops”, Operations Research, v. 50, n. 4, pp. 692 - 707.
DANKERS, A., BARNES, N., ZELINSKY, A., 2006, “Bimodal Active Stereo Vision”.
In: P. Corke and S. Sukkarieh (Eds.), Field and Service Robotics, Results of 5th
International Conference, Springer-Verlag Berlin Heidelberg, STAR 25, pp. 79 -
90.
DE WAARD, D., BROOKHUIS, K.A., FABRIEK, E., VAN WOLFFELAAR, P.C.,
2004, “Driving the Phileas, a new automated public transport vehicle”, 3rd
International Conference on Traffic & Transport Psychology (ICTTP),
Nottingham, United Kingdom.
DIVELBISS, A.W., WEN, J.T., 1997, “Trajectory Tracking Control of a Car-Trailer
System”, IEEE Transactions on Control Systems Technology, v.5, n. 3, pp. 269 –
278.
DOMINIC, P.D.D., KALIYAMOORTHY, S., SARAVANA KUMAR, M., 2004,
“Efficient Dispatching Rules for Dynamic Job Shop Scheduling”, The
International Journal of Advanced Manufacturing Technology, v. 24, n. 1-2, pp.
70-75.
DORIGO, M., SCHNEPF, U., 1993, “Genetics-Based Machine Learning and Behavior-
Based Robotics: A Newsynthesis”, IEEE Transactions on Systems, Man and
Cybernetics, v. 23, ed. 1, pp 141 – 154.
DUINKERKEN, M.B., DEKKER, R., KURSTJENS, S.T.G.L., OTTJES, J.A.,
DELLAERT, N.P., 2007, “Comparing Transportation Systems for Inter-Terminal
Transport at the Maasvlakte Container Terminals”. In: Kim, K.H., Günther,
H.(eds), Container Terminals and Cargo Systems - Design, Operations
Management, and Logistics Control Issues, Springer Berlin Heidelberg, New
York, pp. 37 - 61.

158
DUINKERKEN, M.B., EVERS, J.J.M., OTTJES, J.A., 2002, Improving Quay
Transport on Automated Container Terminals, Proceedings of the IASTED
International Conference Applied Simulation and Modeling (ASM 2002), pp. 1 -
6.
DURBIN, D.H., OGLE, M.K., 1999, “A Guide to Codes and Standards, Perspectives on
Material Handling Practice”, Material Handling Industry of America, Charlotte,
North Carolina, pp. 1 – 19.
EGEMIN, 2000, Reports: Packmobile®4 & Carrier Rack – Flexible and Affordable
Transport for Large Packages, Boxes and Parts, Newspaper, Bell & Howell
Company, pp. 1-2.
EGEMIN, 2003, AGV System Reports: Reel Room Automation – Toronto STAR,
Newspaper, pp. 1-2.
ENDO, Y., ARKIN, R.C., 2001, “Implementing Tolman's Schematic Sowbug:
Behavior-Based Robotics in the 1930's”. In: Proceedings of the 2001 IEEE
International Conference on Robotics and Automation, Seoul, Korea, v. 1, pp. 477
– 484.
ESTIER, T., SIEGWART, R., CRAUSAZ, LAURIA, M., Y., MERMINOD, B.,
PIGUET R., 2000, “An Innovative Space Rover with Extended Climbing
Abilities”. In: Video Proceedings of the 2000 IEEE International Conference on
Robotics and Automation, San Francisco, pp. 333 – 339.
EVERS, J.J.M., KOPPERS, S.A.J., 1996 “Automated Guided Vehicle Traffic Control at
a Container Terminal”, Transportation Research Part A: Policy and Practice, v.
30, n. 1, pp. 21-34.
FMC Technologies, 2001, Report: Daimler Chrysler, Twinsburg Plant – Automotive
Application Case Studies, Newspaper, pp. 1-2.
FMC Technologies, 2003, Report: Ford Dearborn Stamping Plant, Unit Loader /
Tugger Vehicles – Automotive Application Case Studies, Newspaper, pp. 1-2.
FRANÇA, F. M. G., ARANTES JÚNIOR, G. M., MARTINHON, C. A. J., 2005,
“Gerando Orientações Acíclicas com Algoritmos Randômicos Distribuídos”,
Pesquisa Operacional, Rio de Janeiro, v. 25, n. 3, p. 301-312.
FRANÇA, F.M.G., 1994, Neural Networks as Neighborhood-Constrained Systems,
PhD. Thesis, Imperial College, London, England.
FRITZ, H., 1999, “Longitudinal and Lateral Control of Heavy Duty Trucks for
Automated Vehicle Following in Mixed Traffic: Experimental Results from the

159
CHAUFFEUR Project”. In: Proceedings of IEEE International Conference on
Control Applications, Kohala Coast-Island of Hawaii, USA, Aug.
GANESHARAJAH, T., HALL, N.G. AND SRISKANDARAJAH, C. 1998, “Design
and Operational Issues in AGV-Served Manufacturing Systems”. Annals of
Operations Research, Springer Netherlands, v. 76, n. 0, pp. 109 - 154.
GAREY, M.R., JOHNSON, D.S., SETHI, R., 1976, “The Complexity of Flowshop and
Jobshop Scheduling”, Mathematics of Operations Research, v. 1, n. 2, pp. 117 -
129.
GILLESPIE, T. N., 1992, Fundamentals of Vehicle Dynamics, Society of Automotive
Engineers, Warrendale, PA.
GILLESPIE, T.D., MacADAM, C.C. 1982, Constant Velocity Yaw/Roll Program –
User’s Manual. In: Report Final 8/30/82, The University of Michigan
Transportation Research Institute: Ann Arbor, MI, United States.
GOETTING, H.H., 2001, FOX GmbH: Automatisierte Fahrzeuge.
GONZALEZ-ROJO, S., SLAMA, J.G., LOPES PEREIRA, A., MORA-CAMINO, F.,
2002, “A Fuzzy Logic Approach for Car-Following Modeling”, Systems Analysis
Modelling Simulation, v. 2, n. 5, pp. 735 – 755.
GRAVES, S.C., 1981, “A Review of Production Scheduling”, Operations Research, v.
29, n. 4, pp. 646 - 675.
GRÖTSCHEL, M., LOVASZ, L., SCHRIJVER, A., 1988, Geometric algorithms and
combinatorial optimization, Germany, Springer-Verlag Berlin Heidelberg.
GROVER, R. SCHEDING, S., HENNESSY, R., KUMAR, S., DURRANT-WHYTE,
H., 2006, “Applying a New Model for Machine Perception and Reasoning in
Unstructured Environments”. In: P. Corke and S. Sukkarieh (Eds.), Field and
Service Robotics, Results of 5th International Conference, Springer-Verlag Berlin
Heidelberg, STAR 25, pp. 255 - 268.
HAMMOND, G., 1986, AGVs at work, UK, IFS Publications Ltd.
HARADA, M., NAGATOMO, T., MITANI, Y., YOSHIMOTO, K., 2006, “Driver
Models for a Vehicle Avoidance Maneuver in Cornering”, Transactions of the
Japan Society of Mechanical Engineers, v. 72, n. 720, pp. 2360 – 2365.
HARRISON, D.K., PETTY, D.J., 2002, Systems for Planning and Control in
Manufacturing, Oxford, Butterworth-Heinemann, Elsevier Science.
HARTLEY, J., 1984, FMS at Work, IFS (Publications) Ltd., UK, North-Holland, a
Division of Elsevier Science Publishers B.V.

160
HELLAKER, J., 1990, “PROMETHEUS – Strategy”. In: Vehicle Electronics in the
90's, Proceedings of the International Congress on Transportation Electronics,
pp.195-199.
IAGNEMMA, K., KANG, S., SHIBLY, H., DUBOWSKY, S., 2004, “Online Terrain
Parameter Estimation for Wheeled Mobile Robots with Application to Planetary
Rovers”, IEEE Transactions on Robotics, v. 20, n. 5, pp. 921 – 927.
IOANNOU, P.A., 2008, Intelligent Freight Transportation, Boca Raton, CRC Press,
Taylor & Francis Group.
JAZAR, R.N., 2008, Vehicle Dynamics: Theory and Applications, Springer, USA.
JERVIS B. W.C., 2006, Application Profiles: SmartCart Automatic Guide Cart Systems
– Changing Material Handling at John Deere, Newspaper, Jervis B. Webb
Company, pp. 1-2. Journal of Robotics and Automation, v. RA-2, n. 1, pp. 14 -
23.
JÜNGER, M., REINELT, G., RINALDI, G., (eds), 2003, Combinatorial Optimization –
Eureka, You Shrink! - Papers Dedicated to Jack Edmonds, 5th International
Workshop Aussois, France, March 5-9, 2001 Revised Papers, Germany, Springer-
Verlag Berlin Heidelberg.
JURECKI, R., STANCZYK, T. L., 2009, “Driver model for the analysis of pre-accident
situations”, Vehicle System Dynamics, v. 47, n. 5, pp. 589 - 612.
KAESTNER, R., THRUN, S., MONTEMERLO, M., WHALLEY, M., 2006, “A Non-
rigid Approach to Scan Alignment and Change Detection using Range Sensor
Data”. In: P. Corke and S. Sukkarieh (Eds.), Field and Service Robotics, Results
of 5th International Conference, Springer-Verlag Berlin Heidelberg, STAR 25, pp.
179 – 194.
KÄPPLER, W.D., 2008, Smart Driver Training Simulation, Save Money. Prevent,
Springer-Verlag Berlin Heidelberg.
KHATIB O., 1985, “Real-Time Obstacle Avoidance for Manipulators and Mobile
Robots”. In: Proceedings IEEE International Conference on Robotics and
Automation, v. 2, pp. 500 - 505.
KOCHAN, A., Helpmate to Ease Hospital Delivery and Collection Tasks, and Assist
with Security, 1997, Industrial Robot, v. 24, n. 3, pp. 226 - 228.
KOFF, G.A., DEMAG R., 1985, Automatic Guided Vehicle Systems “Basics of AGVs”,
National Material Handling Forum. Material Handling Classics of Material
Handling Institute, pp. 1 - 13.

161
KOLMANOVSKY, I., MCCLAMROCH, N. H., 1995, “Developments in
Nonholonomic Control Problems”, IEEE Control Systems Magazine, v. 15, pp. 20
- 36.
KONG, S.-G., KOSKO, B., 1990, “Comparison of fuzzy and neural truck backer-upper
control systems”. In: IJCNN International Joint Conference on Neural Networks,
v. 3, pp. 349 - 358, San Diego, CA, USA.
KORTE, B., VYGEN, J., 2006, Combinatorial Optimization Theory and Algorithms, 3
Ed., Germany, Springer-Verlag Berlin Heidelberg.
KOSKO, B., 1991, Neural Networks and Fuzzy Systems: A Dynamical Systems
Approach to Machine Intelligence, NJ, USA, Prentice-Hall, Inc. Upper Saddle
River.
KRIEG, K., 1988, Future Trends in Production and Distribution Logistics – Automated
Guided Vehicles Systems. Hollier R.H. and Gelders L.F. (Eds.), Brussels,
Belgium, pp. 3-23.
KRISHNAMURTHY, B., EVANS, J., 1992, “HelpMate: A Robotic Courier for
Hospital use”, IEEE International Conference on Systems, Man and Cybernetics,
v. 2, pp. 1630 - 1634.
KUSIAK, A., 1985, “Material Handling in Flexible Manufacturing Systems”, Material
Flow, v. 2, n. 2-3, pp. 79 - 95.
KYURA, N., OHO, H., 1996, “Mechatronics - An Industrial Perspective”, IEEE/ASME
Transactions on Mechatronics, v. 1, n. 1, pp. 10 - 15.
LAIRD, J., HUCKA, M., HUFFMAN, S., ROSENBLOOM, P., 1991, “An Analysis of
SOAR as an Integrated Architecture”, ACM SIGART Bulletin, v. 2, ed. 4, pp. 98 -
103.
LAMIRAUX, F., LAUMOND, J.-P., 1998, “A Practical Approach to Feedback Control
for a Mobile Robot with Trailer”. In: Proceedings of the 1998 IEEE International
Conference on Robotics & Automation, Leuven, Belgium, pp. 3291 - 3296.
LAMIRAUX, F., LAUMOND, J.-P., VANGEEM, C., BOUTONNET, D. RAUST, G.,
2005, “Trailer-truck Trajectory Optimization for Airbus A380 Component
Transportation”. In: IEEE Robotics & Automation Magazine, v. 12, n. 1, pp. 14 -
21.
LAMIRAUX, F., SEKHAVAT, S., LAUMOND, J.-P., 1999, “Motion Planning and
Control for Hilare Pulling a Trailer”, IEEE Transactions on Robotics and
Automation, v. 15, ed. 4, pp. 640 - 652.

162
LARSSON, U., ZELL, C., HYYPPA, K, WERNERSSON, A., 1994, “Navigating an
Articulated Vehicle and Reversing with a Trailer”. In: Proceedings in IEEE
International Conference on Robotics and Automation, v. 3, n. 8-13, pp. 2398 -
2404.
LATOMBE, J. C., 1991, Robot Motion Planning, Kluwer Academic Publishers.
LAUMOND, J.P. 1990, Nonholonomic Motion Planning Versus Controllability via the
Multibody Car System Example. In: Tech. Rep. STAN-CS-90-1345. Department
Computer Science, Stanford University, Stanford, California.
LAUMOND, J.-P., 1998, Robot Motion Planning and Control. New York, Springer-
Verlag.
LAUMOND, J.-P., 2006, “Kineo CAM: A Success Story of Motion Planning
Algorithms”, IEEE Robotics & Automation Magazine, v. 13, ed. 2, pp. 90- 93.
LAVALLE, S.M., 2006, Planning Algorithms, Cambridge University Press.
LEE, A., 2004, First Course in Combinatorial Optimization, New York, Cambridge
University Press.
LEE, D.Y., DICESARE, F., 1992, “FMS Scheduling Using Petri Nets and Heuristic
Search”. In: Proceedings of the 1992 IEEE International Conference on Robotics
and Automation, v. 2, pp. 1057 - 1062.
LENGERKE, O. MARTINEZ, C.V., DUTRA M.S., SILVA, F. L. E., 2007,
“Mechatronics Design of a Low-Cost Packaging and Dosing Machine for Doughy
Products”. In: 19th Congress of Mechanical Engineering - COBEM 2007,
Brasilia, Brazil.
LENGERKE, O., ACUÑA, H., TAVERA, M.J.M, DUTRA, M.S., FRANÇA, F.M.G.,
GONZALEZ, 2008, “Guidelines in Motion Planning for AGV with Trailers in
FMS”, In: 4th IEEE Colombian Workshop on Robotics and Automation, Cali -
Colombia.
LENGERKE, O., ARCHILA, J. F., DUTRA M. S., 2008, “Diseño Mecatrónico de un
Robot Tipo AGV - Automated Guided Vehicle”, UIS Ingenierías - Facultad de
Ingenierías Fisicomecánicas, v. 7, n. 1, pp. 63 - 74.
LENGERKE, O., CARVALHO, D., LIMA, P.M.V., DUTRA, M.S. MORA-CAMINO,
F., FRANÇA, F.M.G., 2008, “Controle Distribuído de Sistemas Job Shop usando
Escalonamento por Reversão de Arestas”, In: XIV Latin Ibero-American Congress
on Operations Research (CLAIO 2008) – Book of Extended Abstracts.

163
LENGERKE, O., CASTRO PINTO, F. A. N., DUTRA M.S., CAMPOS, A. M. V.,
FRANCA, F. M.G., 2009, “Trajectories and Simulation Model of AGVs with
Trailers”. In: COBEM, International Congress of Mechanical Engineering, 2009,
Gramados, Brazil.
LENGERKE, O., COSENZA, C.A.N., REY A.A.J., DUTRA, M.S., TAVERA, M.J.M.,
2008, “Comparison of Defuzzification Methods: Automatic Control of
Temperature and Flow in Heat Exchange”. In: 5th International Conference on
Informatics in Control, Automation and Robotics (ICINCO) - Workshop
International on Artificial Neural Networks and Intelligent Information
Processing (ANNIIP), Funchal, Madeira - Portugal.
LENGERKE, O., DUTRA M.S., 2007, “Proyectos de Máquinas: en la Industria y la
Academia”, Revista Clepsidra, v. 4, pp. 21-26.
LENGERKE, O., DUTRA, M. S., 2007, Projetos Mecatrônicos: Na Indústria e na
Academia, III Workshop Cooperação Universidade Empresa: Inovação
Tecnológica – UNEM2007, ALSTOM, Taubaté São Paulo, Brasil.
LENGERKE, O., FRANCA, F. M.G., DUTRA M.S., TAVERA, M.J.M., 2008,
“Automated Guided Vehicles (AGV): Searching a Path in the Flexible
Manufacturing Systems - Pojazdy Kierowane Automatycznie (AGV):
Poszukiwanie Drogi w Elastycznych Systemach Wytwarzania”. Journal of
Konbin, v. 8, p. 113 – 124.
LENGERKE, O., LACHE, I. S., DUTRA, M. S., 2006, “Diseño de un AS/RS
(Automated Stored & Retrieval System), para Implementación Didáctica”, Revista
ITECKNE Innovación e Investigación en Ingenierías - Cultura Investigativa y
Redes, USTA – Colombia, v. 6, pp. 3 – 11.
LENGERKE, O., MARTINEZ, C. V., DUTRA M.S., TAVERA, M.J.M., SILVA, F. L.
E. 2008, Mechatronics Design of A Low-Cost Packaging And Dosing Machine
For Doughy Products. Brazilian Society of Mechanical Science and Engineering.
(Org.). ABCM Symposium Series in Mechatronics, v. 3, p. 717 - 725.
LENGERKE, O., TAVERA, M.J.M, DUTRA, M.S., FRANÇA, F.M.G., GONZALEZ-
ACUÑA, H., TRAJANO, A.A.C., 2008, “Automated Guided Vehicles (AGV):
Searching a Path in the Flexible Manufacturing Systems, In: 24th ISPE
International Conference on CAD/CAM, Robotics & Factories of the Future,
CARS & FOF’08, Koriyama, Japan.

164
LENGERKE, O., TRAJANO, A.A., DUTRA, M. S., MORADO, F., 2007, “Método do
Campo Potencial Virtual Modificado para Geração de Caminho com Obstáculos
Poligonais". In: 8° Congreso Iberoamericano de Ingeniera Mecánica - CIBIM8 -
Cusco-Perú.
LENNIE, S. C., BUNKER, J. M., 2003, “Evaluation of Lateral Position for
Multicombination Vehicles”. In: Mathams, John, Eds. Proceedings of the
Queensland Main Roads Road System and Engineering Technology Forum,
Bardon, Brisbane.
LEUNG, J. Y-T., 2004, Handbook of Scheduling - Algorithms, Models, and
Performance Analysis, USA, Chapman & Hall/CRC Computer and Information
Science Series.
LI, T.H.S., CHANG, S.J., 2003, “Autonomous Fuzzy Parking Control”, IEEE
Transactions on Systems, Man, and Cybernetics-Part A: Systems and Humans, v.
33, n. 4.
LI, W., 1994, “Fuzzy Logic-Based Perception-Action Behavior Control of a Mobile
Robot in Uncertain Environments”. In: Proceedings of the Third IEEE
Conference on Fuzzy Systems, IEEE World Congress on Computational
Intelligence, v. 3, pp. 1626 - 1631.
LI, Z., CANNY, J. F., 1993, Nonholonomic Motion Planning, Norwell, MA: Kluwer.
LI, Z., ZHOU, M., JENG, M., 2008, “A Maximally Permissive Deadlock Prevention
Policy for FMS Based on Petri Net Siphon Control and the Theory of Regions”,
IEEE Transactions on Automation Science and Engineering, v. 5, n. 1, pp. 182 -
188.
LIAO, C.J., YOU, C.T., 1992, “An Improved Formulation for the Job-Shop Scheduling
Problem”, The Journal of the Operational Research Society, v. 43, n. 11, pp. 1047
- 1054.
LOHMANN, R. H. C., 2007, “PRT: A Technology-Push Innovation”. In: APM07 (Automated
People Mover) Conference, Vienna.
LOPES, G. A. D., KODITSCHEK, D. E., 2006, “Navigation Functions for Dynamical,
Nonholonomically Constrained Mechanical Systems”. In: Kawamura M., Svinin,
M., (Eds.), Advances in Robot Control - From Everyday Physics to Human-Like
Movements, Springer-Verlag Berlin Heidelberg, pp. 135 - 155.

165
LOWE, D., 2002, Dictionary of Transport and Logistics - Terms, Abbreviations and
Acronyms, The Institute of Logistics and Transport, Great Britain, Biddles Ltd,
Guildford and King’s Lynn.
MACADAM, C. C., 1981, “Application of an Optimal Preview Control for Simulation
of Closed-Loop Automobile Driving”, IEEE Transactions on Systems, Man and
Cybernetics, v. 11, n.6, pp. 393 – 399.
MACADAM, C. C., 2003, “Understanding and Modeling the Human Driver”, Vehicle
System Dynamics: International Journal of Vehicle Mechanics and Mobility, v.
40, n. 1, pp. 101 – 134.
MAHADEVAN, S., CONNELL, J., 1991, “Automatic Programming of Behavior-based
Robots using Reinforcement Learning”. In: Proceeding in Association for the
Advancement of Artificial Intelligence (AAAI-91), Robot Learning, pp. 768 - 773.
MAIMON, O.Z., GERSHWIN, S.B., 1988, “Dynamic Scheduling and Routing for
Flexible Manufacturing Systems that Have Unreliable Machines”, Operations
Research, v. 36, n. 2, pp. 279 - 292.
MAMMAR, S., KOENIG, D., 2002, “A scenario for a suburban automated highway”,
Recherche Transports Sécurité, n. 75, pp. 144 - 167.
MANNE, A.S., 1960, “On the Job-Shop Scheduling Problem”, Operations Research, v.
8, n. 2, pp. 219 - 223.
MELLOR, P., 1966, “A Review of Job Shop Scheduling”, Operations Research, v. 17,
n. 2, pp. 161 - 171.
MENG, J., SOH, Y. C., WANG, Y., 1995, “A TCPN Model and Deadlock Avoidance
for FMS Job Shop Scheduling and Control System”, IEEE International
Workshop on Emerging Technologies and Factory Automation, Paris France, pp.
521 - 532.
MILLER, R. K., 1987, Automated Guided Vehicles and Automated Manufacturing,
Society of Manufacturing Engineers, Deaborn, Michigan.
MORAVEC, H., 2003, “Robots, after all”, Communications of the ACM, ACM Press,
New York, v. 46, ed. 10, pp. 90 - 97.
MORBIDI, F., PRATTICHIZZO, D., 2008, “Sliding Mode Formation Tracking Control
of a Tractor and Trailer-Car System”. In: Burgard, W., Brock, O., Stachniss, C.
(eds), Robotics: Science and Systems III, The MIT Press, Cambridge,
Massachusetts, London, England, pp. 113 - 120.

166
MULLER, T., 1983, Automated Guided Vehicles, IFS (Publications) Ltd. Springer-
Verlag, Berlin, Heidelberg, New York, Tokyo.
MURRAY, R.M., SASTRY, S.S., 1993, “Nonholonomic Motion Planning: Steering
Using Sinusoids”, IEEE Transactions on Automatic Control, v. 38, n. 5, pp. 700 -
716.
NAKAMURA, Y., EZAKI, H., TAN, Y., CHUNG, W., 2001, “Design of Steering
Mechanism and Control of Nonholonomic Trailer Systems”, IEEE Transactions
on Robotics and Automation, v. 17, n. 3, pp. 367 - 374.
NBR 9088, 1999, “Equipamento de Apoio no Solo - Trator de Aeroporto para
Movimentação de Carga Aérea e Equipamentos de Apoio para Aeronave”, ABNT
– Associação Brasileira de Normas Técnicas.
NEHMZOW, U., 2006, Scientific Methods in Mobile Robotics - Quantitative Analysis
of Agent Behaviour, Germany, Springer-Verlag London.
NELMES, G., 2006, “Container Port Automation”. In: P. Corke and S. Sukkarieh
(Eds.), Field and Service Robotics, Results of 5th International Conference,
Springer-Verlag Berlin Heidelberg, STAR 25, pp. 3 - 8.
NILSSON, N. J., 1984, Shakey The Robot. In: Technical Note 323, AI Center, SRI
International, 333 Ravenswood Ave., Menlo Park, CA 94025, 139 p.
NRTC, 2001, Definition of Potential Performance Measures and Initial Standards. In:
Discussion Paper prepared for the National Road Transport Commission by
RTDynamics, Pearsons Transport Resource Centre Pty Ltd., Woodrooffe &
Associates Inc. and TERNZ Ltd., Melbourne, Vic.
OZGUNER, U., BAERTLEIN, B., CAVELLO, C., FARKAS, D., HATIPOGLU, C.,
LYTLE, S., MARTIN, J., PAYNTER, F., REDMILL, K., SCHNEIDER, S.,
WALTON, E., YOUNG, J., 1997, “The OSU Demo '97 vehicle”, IEEE
Conference on Intelligent Transportation System, ITSC '97, pp. 502 – 507.
PACEJKA, H.B., 2002, Tyre and Vehicle Dynamics, Butterworth Heinemann, Oxford.
PANWALKAR, S.S., ISKANDER, W., 1977, “A Survey of Scheduling Rules”,
Operations Research, v. 25, n. 1, pp. 45 - 61.
PARK, M., CHUNG, W., KIM, M., SONG, J., 2004, “Control of a Mobile Robot with
Passive Multiple Trailers”. In: Proceedings IEEE International Conference on
Robotics and Automation, ICRA '04, v. 5, pp. 4369 - 4374.
PARK, N.K, CHOI, H.R., KWON, H.Y., LEE, S.W., LEE, S.H., 2007, “A Study on the
Efficiency of Transportation Equipments at Automated Container Terminals”. In:

167
Proceedings of the 2007 WSEAS International Conference on Computer
Engineering and Applications, Gold Coast, Australia, January 17-19, pp. 360 -
365.
PAROMTCHIK, I. E., LAUGIER, C., 1996, “Autonomous Parallel Parking of a
Nonholonomic Vehicle”, In: Proceedings of the IEEE International Symposium
on Intelligent Vehicles, pp. 13 - 18.
PATNAIK, S., JAIN, L.C, TZAFESTAS, S.G., RESCONI, G., KONAR, A, 2005,
Innovations in Robot Mobility and Control, v. 8, Netherlands, Springer-Verlag
Berlin Heidelberg.
PEREIRA, M.R. VARGAS, P.K. FRANÇA, F.M.G, CASTRO, M.C.S., DUTRA, I.C.,
2003, “Applying Scheduling by Edge Reversal to constraint partitioning”, In: The
15th Symposium on Computer Architecture and High Performance Computing
(SBAC-PAD), pp. 134 - 141, Sao Paulo, SP, Nov.
PERKO, L., 1991, Differential Equations and Dynamical Systems, Texts in Applied
Mathematics, 3 ed., New York, Springer.
PETERSSON, L., ZELINSKY, A., 2006, “Towards Safer Roads by Integration of Road
Scene Monitoring and Vehicle Control”. In: P. S. Yuta, H. Asama, S. Thrun, E.
Prassler, T. Tsubouchi (Eds.), Field and Service Robotics, Recent Advances in
Research and Applications, Springer-Verlag Berlin Heidelberg, pp. 365 - 376.
PFEIFFER, F., JOSEF, S., ROFTMANN, T., MFINCHEN, T., 1998 Legged Walking
Machines - Autonomous Robotic Systems. Anibal T. De Almeida and Oussama
Khatib (Eds.), Great Britain, Springer-Verlag London, pp. 237 – 263.
PINEDO, M. L., 2008, Scheduling - Theory, Algorithms, and Systems, New York, Third
Edition, Springer Science+Business.
PINEDO, M.L., 2005, Planning and Scheduling in Manufacturing and Services,
Springer Series in Operations Research, New York, Springer Science+Business
Media, Inc.
PODNAR, G., DOWLING, K., BLACKWELL, M., 1984, A Functional Vehicle for
Autonomous Mobile Robot Research, In: CMU-RI-TR-84-28, Robotics Institute,
Carnegie Mellon University.
PONS, J.L., 2005, Emerging Actuator Technologies, a Micromechatronic Approach,
England, John Wiley & Sons.
PREM, H., RAMSAY, E.D., DE PONT, J., MCLEAN, J.R., WOODROOFFE, J.H.,
2001, Comparison of Modelling Systems for Performance-Based Assessments of

168
Heavy Vehicles. In: Working Paper prepared for the National Road Transport
Commission by RTDynamics, TERNZ Ltd, J.R. McLean and Woodrooffe &
Associates Inc, Melbourne, Vic. October.
QIAO, F., WU, Q.D., 1994, “Stepwise scheduling for AGVs in FMS”, IEEE
International Conference on Industrial Technology, pp. 317-321.
RABIER, P.J., RHEINBOLDT W.C., 2000, Nonholonomic Motion of Rigid Mechanical
Systems from A DAE Viewpoint, SIAM.
RAKSINCHAROENSAK, P., SHINO, M., NAGAI, M., 2004, “Motion Control of
Micro-Scale Electric Vehicle by DYC Considering Lane Marker Information” The
8th IEEE International Workshop on Advanced Motion Control, pp. 47-52.
RÁNKY, P., 1983, The Design and Operation of FMS, IFS (Publications) Ltd., UK,
North-Holland Publishing Company.
RAO, S.S., 1996, Engineering Optimization Theory and Practice, 3 Ed., USA, John
Wiley & Sons.
REVELIOTIS, S.A., 2000, “Conflict Resolution in AGV Systems”, IIE Transactions, v.
32, n. 7, Springer, pp. 647 - 659.
ROH, S., CHOI, H.R., 2005, “Differential-Drive In-Pipe Robot for Moving Inside
Urban Gas Pipelines”, IEEE Transactions on Robotics, v. 21, n. 1, pp. 1 - 17.
ROOKS, B., 2001, “AGVs Find Their Way to Greater Flexibility”, Assembly
Automation, v. 21, n. 1, pp. 38 - 43.
ROSHEIM, M.E., 2006, Leonardo’s Lost Robots, Germany, Springer-Verlag Berlin
Heidelberg.
ROUCHON, P., FLIESS, M., LÉVINE, J., MARTIN, P., 1993, “Flatness, Motion
Planning and Trailer Systems”. In: Proceedings of the 32nd IEEE Conference on
Decision and Control, v. 3, pp. 2700 - 2705.
RUSU, P., PETRIU, E.M., WHALEN, T.E., CORNELL, A., SPOELDER, H.J.W.,
2003, “Behavior-Based Neuro-Fuzzy Controller for Mobile Robot Navigation”,
IEEE Transactions on Instrumentation and Measurement, v. 52, ed. 4, pp. 1335 -
1340.
SAKKOUT, H.E., WALLACE, M., 2000, “Probe Backtrack Search for Minimal
Perturbation in Dynamic Scheduling”, Constraints, v. 5, n. 4, pp. 359 - 388.
SAMPEI, M., TAMURA, T., KOBAYASHI, T., SHIBUI, N., 1995, “Arbitrary Path
Tracking Control of Articulated Vehicles using Nonlinear Control Theory”, IEEE
Transactions on Control Systems Technology, v. 3, n. 1, pp. 125-131.

169
SAYERS, M.W., 1990, Symbolic Computer Methods to Automatically Formulate
Vehicle Simulation Codes. PhD. Dissertation, University of Michigan, Ann Arbor,
MI, United States.
SCHADE, G., HAMILL, S., 2000, “Vehicle Ride Analysis of a Tractor-Trailer”. In:
2000 International ADAMS User Conference, Orlando, Florida, USA.
SCHILLING, K., MELLADO A. M., GARBAJOSA, J., MAYERHOFER, R., 1997,
“Design of Flexible Autonomous Transport Robots for Industrial Production”. In:
Proceedings of the IEEE International Symposium on Industrial Electronics, v. 3,
pp. 791 - 796.
SCHRIJVER, A., 2004, A Course on Combinatorial Optimization, Lecture Notes, CWI
and University of Amsterdam.
SCHULZE, M., MÄKINEN, T., IRION, J., FLAMENT, M., KESSEL, T., 2008, IP
PReVENT Final Report. In: Preventive and Active Safety Applications Integrated
Project - Safety for Road and Air Transport.
SEKHAVAT, S., LAMIRAUX, F., LAUMOND, J.P., BAUZIL, G., FERRAND, A.,
1999, “Motion Planning and Control for Hilare Pulling a Trailer: Experimental
Issues”, IEEE Transactions On Robotics And Automation, v. 15, n. 4.
SEZEN, B., 2003, “Modeling Automated Guided Vehicle Systems in Material
Handling”, Dogus Üniversitesi Dergisi, v. 4, n. 2, pp. 207 - 216.
SHARP, R. S., 2005, “Driver Steering Control and a New Perspective on Car Handling
Qualities”. In: Proceedings of the Institution of Mechanical Engineers - Part C -
Journal of Mechanical Engineering Science; v. 219 n. 10, pp. 1041 – 1051.
SHIH, H.M., SEKIGUCHI, T., 1991, “A Timed Petri Net and Beam search Based
Online FMS Scheduling System with Routing Flexibility”. In: Proceedings of the
1991 IEEE International Conference on Robotics and Automation, v.3, pp. 2548 -
2553.
SHIVANAND, H.K., BENAL, M.M., KOTI, V., 2006, Flexible Manufacturing System,
New Age International (P) Limited, Publishers, New Delhi.
SHLADOVER, S.E., MILLER, M.A., YIN, Y., BALVANYOS, T., BERNHEIM, L.,
FISHMAN, S.R., AMIROUCHE, F., MAHMUDI, K.T., GONZALEZ-MOHINO,
P., SOLOMON, J., RAWLING, G., IRIS, A., BOZIC, C., 2004, Assessment of the
Applicability of CVHAS to Freight Movement in Chicago. In: Proceedings of the
2004 TRB Annual Meeting, Transportation Research. California PATH Research
Report, UCB-ITS-PRR-2004-26.

170
SIEGWART, R., NOURBAKHSH, I.R., 2004, Introduction to Autonomous Mobile
Robot, London, England, Cambridge, MA, MIT Press.
SOARES, I. B. “Controle Distribuído da Sinalização de Interseções e do Fluxo de
Tráfego”, Teses de Mestrado, Universidade Federal do Rio de Janeiro, 2007.
SORDALEN, O.J., 1993, “Conversion of the Kinematics of a Car with n Trailers into a
Chained Form”. In: Proceedings in IEEE International Conference on Robotics
and Automation, v. 1, pp. 382 - 387.
STEENKEN, D., VOß, S., STAHLBOCK, R., 2005, “Container Terminal Operation
and Operations Research – A Classification and Literature Review”. In: Günther,
H., Kim, K.H. (eds), Container Terminals and Automated Transport Systems -
Logistics Control Issues and Quantitative Decision Support, Springer Berlin
Heidelberg, New York, pp. 3 - 49,
SU, C. Y., STEPANENKO, Y., GOLDENBERG, A.A., 1999, “Reduced Order Model
and Robust Control Architecture for Mechanical Systems with Nonholonomic
Pfaffian Constraints”, IEEE Transactions on Systems, Man, and Cybernetics-Part
A: Systems and Humans, v. 29, pp. 307 - 313.
SUN, T., CHENG, C., FU, L., 1994, “A Petri Net Based Approach to Modeling and
Scheduling for an FMS and a Case Study”, IEEE Transactions on Industrial
Electronics, v. 41, n. 6, pp. 593 - 601.
TALAVAGE, J., HANNAM, R.G., 1998, Flexible Manufacturing systems in Practice –
Applications, Design and Simulation, New York, Marcel Dekker, Inc.
TAN, H., BOUGLER, B., 2001, Vehicle Lateral Warning, Guidance and Control Based
on Magnetic Markers – PATH Report on AHSRA Smart Cruise 21 Proving Tests.
In: California PATH Working Paper, UCB-ITS-PWP-2001-6.
THRUN, S., MONTEMERLO, M., DAHLKAMP, H., STAVENS, D., ARON, A.,
DIEBEL, J., FONG, P., GALE, J., HALPENNY, M., HOFFMANN, G., LAU, K.,
OAKLEY, C., PALATUCCI, M., PRATT, V., STANG, P., STROHBAND, S.,
DUPONT, C., JENDROSSEK, L.-E., KOELEN, C., MARKEY, C., RUMMEL,
C., VAN NIEKERK, J., JENSEN, E., ALESSANDRINI, P., BRADSKI, G.,
DAVIES, B., ETTINGER, S., KAEHLER, A., NEFIAN, A., , AND MAHONEY,
P., 2006, “Stanley, The Robot That Won the Darpa Grand Challenge”, Journal of
Field Robotics,

171
TILBURY, D., MURRAY, R.M., SASTRY, S.S., 1995, “Trajectory Generation for the
N-Trailer Problem Using Goursat Normal Form”, IEEE Transactions on
Automation Control, v. 40, n. 5, pp. 802 - 819.
TILOVE, R.B., 1990. “Local Obstacle Avoidance for Mobile Robots Based on the
Method of Artificial Potentials”. In: IEEE Int. Conf. Robotics and Automation.
Cincinnati, OH. v. 2, pp. 566 - 571.
TSUGAWA, S., KATO, S., TOKUDA, K., MATSUI, T., FUJII, H., 2001, “A
Cooperative Driving System with Automated Vehicles and Inter-Vehicle
Communications in Demo 2000”, Proceedings 2001 IEEE Intelligent
Transportation Systems, pp. 918 - 923.
UM, 2009, Universal Mechanism 5.0 - Chapter 12. UM Module for Simulation of road
vehicles.
VANDERWERF, J., SHLADOVER, S., MILLER, M.A., 2004, Conceptual
Development and Performance Assessment for the Deployment Staging of
Advanced Vehicle Control and Safety Systems. In: Research Reports California
PATH Research Report UCB-ITS-PRR-2004-22.
VERBRAECK, A., VERSTEEGT, C., 2001, “Logistic Control for fully Automated
Large Scale Freight Transport Systems; Event based Control for the Underground
Logistic System Schiphol”, IEEE Intelligent Transportation Systems Conference
Proceeding, Oakland (CA) USA, pp. 768 - 773.
VIDAL-CALLEJA, T.A., VELASCO-VILLA, M., ARANDA-BRICAIRE, E., 2002,
“Artificial Potential Fields for Trailer-Like Systems”. In: 10th Latinamerican
Congress on Automatic Control, Guadalajara, México.
VIS, I. F. A., 2006, “Survey of Research in the Design and Control of Automated
Guided Vehicle Systems”, European Journal of Operational Research, v. 170, n.
3, pp. 677 - 709.
VISWANADHAM, N., NARAHARI, Y., JOHNSON, T.L., 1990, “Deadlock
Prevention and Deadlock Avoidance in Flexible Manufacturing Systems using
Petri Net Models”, IEEE Transactions on Robotics and Automation, v.6, n.6, pp.
713 - 723.
WEISSER, H., SCHULENBERG, P.J., GOLLINGER, H., MICHLER, T., 1999,
“Autonomous Driving on Vehicle Test Tracks: Overview, Implementation and
Vehicle Diagnosis”. In: Proceedings 1999 IEEE/IEEJ/JSAI International
Conference on Intelligent Transportation Systems, pp. 62 - 67.

172
WELLINGTON, C., STENTZ, A., 2006, “Learning Predictions of the Load-Bearing
Surface for Autonomous Rough-Terrain Navigation in Vegetation”. In: P. S. Yuta,
H. Asama, S. Thrun, E. Prassler, T. Tsubouchi (Eds.), Field and Service Robotics,
Recent Advances in Research and Applications, Springer-Verlag Berlin
Heidelberg, pp. 80 - 92.
WHYBREW, K., RAINE, J. K., DUNLOP, G. R., OVERBYE, H., 1993, “An
Articulated Geometry for Skid Tractor AGVs”, The International Journal of
Advanced Manufacturing Technology, pp. 111 - 113.
WIDMER, J.A., 2004, “Proposta de Nomenclatura para Caminhões, Ônibus, CVCs –
Combinações de Veículos de Carga e CVPS – Combinações de Veículos de
Passageiros”. In: XVIII ANPET.
WILCOX, B., MATTHIES, L., GENNERY, D., COOPER, B., NGUYEN, T., LITWIN,
T., MISHKIN, A., STONE, H., 1992, “Robotic Vehicles For Planetary
Exploration”, In: Proceedings Conference on International Robotics and
Automation, v. 1, pp. 175 - 180.
WINKLER, C.B., 2000, “Rollover of Heavy Commercial Vehicles”, UMTRI Research
Review, University of Michigan Transportation Research Institute, v. 31, n. 4.
WU, N., ZHOU, M., 2004, “Modeling and Deadlock Control of Automated Guided
Vehicle Systems”, IEEE/ASME Transactions on Mechatronics, v. 9, n. 1, (Mar),
pp. 50 -57.
XU, Y., OU, Y., 2005, Control of Single Wheel Robots, Berlin Heidelberg, Springer-
Verlag.
YANG, M., PARENT, M., 2003, “Cybercars: An Alternative Public Transportation for
City of Tomorrow”. In: Sustainable Multi-Modal Transportation for Chinese
Cities, Shanghai, China, Oct.
YANG, Z.J., 1999, Produzindo Padrões Arbitrários: Características Biológicas em
Sistemas Neurolocomotores Artificiais, D.Sc. Tese, COPPE/UFRJ, Rio de Janeiro,
RJ, Brasil.
YAZYKOV, V.N., POGORELOV, D.YU., MIKHALCHENKO, G.S., 2004, “Railway
Vehicle Simulation Using Non-Elliptical Wheel-Rail Contact Model”. In: XXI
International Congress of Theoretical and Applied Mechanics (ICTAM), Warsaw,
Poland, August 15-21.

173
ZHANG, H., LI, D., YANG, S., WANG, W., 2007, “A New Model of Flexible
Manufacturing System Based on Petri Nets”. In: International Conference on
Mechatronics and Automation, ICMA 2007, pp. 3894 - 3899.
ZHANG, J., IOANNOU, P. A., CHASSIAKOS, A., 2002, Automated Container
Transport System between Inland Port and Terminals. In: Final Report for
METRANS Transportation Center.
ZHANG, J., IOANNOU, P. A., CHASSIAKOS, A., 2006, “Automated Container
Transport System between Inland Port and Terminals”, ACM Transactions on
Modeling and Computer Simulation (TOMACS), ACM Press, New York, v. 16,
ed. 2, pp. 95 - 118.

174
APÊNDICE A

Lista de Publicações como Resultado da Pesquisa

*
DUTRA M.S., LENGERKE, O., 2010, Mechatronics Systems: Intelligent
Transportation Vehicles (In Edition). 1. ed. Sharjah: Bentham Science Publisher,
v. 1. 250 p.
*
LENGERKE, O., DUTRA M.S., FRANÇA, F.M.G, 2010, “Distributed Control of
Trajectories via Edge Reversal Dynamics for Automated Guided Vehicles”,
Mechatronics Systems: Intelligent Transportation Vehicles, Bentham Science
Publisher, pp. 95 – 113.
*
LENGERKE, O., CARVALHO, D., LIMA, P.M.V., DUTRA M.S., FRANÇA, F.M.G,
MORA-CAMINO, F., 2010, “Distributed Control of Job-shop Systems Using
Scheduling by Edge Reversal”, IJISSCM Special Issue on Hybrid Algorithms for
Solving Realistic Routing, Scheduling and Availability Problems.
*
LENGERKE, O., DUTRA M.S., CAMPOS, A. M. V., FRANCA, F. M.G., PINTO, F.
A. N. C., 2009, “Trajectories and Simulation Model of AGVs with Trailers”. In:
COBEM, International Congress of Mechanical Engineering, 2009, Gramados,
Brazil.
*
AMAYA, A. J. R., LENGERKE, O., COSENZA, C. A. N., DUTRA M.S., TAVERA,
M.J.M., 2009, “Comparison of Defuzzification Methods: Automatic Control of
Temperature and Flow in Heat Exchanger”. In: Aleksandar D. Rodic (Ed.).
Automation and Control, Theory and Practice, India, IN-TECH, pp. 77 – 88.
*
GONZALEZ ACUÑA, H., DUTRA M.S., LENGERKE, O., 2009, “Identification And
Modeling For Non-Linear Dynamic System Using Neural Networks Type MLP”.
In: Euro American Conference on Telematics and Information Systems, 2009,
Prague, Czech Republic. Proceedings of the 2009 Euro American Conference on
Telematics and Information Systems: New Opportunities to Increase Digital
Citizenship, v. 26.
TAVERA, M.J.M., LENGERKE, O., DUTRA M.S., VESLIN, E. Y., 2009,
“Implementation of Chaotic Behavior on a Fire Fighting Robot”. In: COBEM,
International Congress of Mechanical Engineering 2009, Gramado, Brazil.

175
LENGERKE, O., DUTRA M.S., CAMPOS, A. M. V., BITTENCOURT, G. F., 2009,
“Design and Simulation of Container Crane Systems using Cable Suspension
Manipulator Platform”. In: COBEM, International Congress of Mechanical
Engineering, 2009, Gramado, Brazil.
LIMA A.S., SILVA, F. L. E., DUTRA M.S., LENGERKE, O., 2009, “Revisión de los
Fenómenos Tribológicos Observados en Manipuladores Robóticos”. In: IV
Congreso Internacional de Ingeniería Mecánica y II de Ingeniería Mecatrónica,
Bogotá, Colombia. Universidad Nacional de Colombia.
GONZALEZ ACUÑA, H., DUTRA M.S., LENGERKE, O., 2009, “Cinemática Directa
e Inversa de una Plataforma Stewart Aplicada a la Simulación de Movimientos”.
In: 5th IEEE Colombian Workshop on Robotics and Automation, Bogota,
Colombia.
TAVERA, M.J.M., VESLIN, E. Y., LENGERKE, O., DUTRA M.S., 2009,
“Implementación de un Algoritmo de Control Fuzzy Para Comparación de
Tiempos de Procesamiento de Muestreo Utilizando Diferentes Tecnologías”. In:
Segundo Congreso Internacional de Ingeniería Mecatrónica - UNAB,
Bucaramanga, Colombia.
ALVAREZ, J., JAIMES, M., LENGERKE, O., DUTRA M.S., PINA FILHO, A. C.,
2009, “Mechatronics System of Control for Hydraulic Press for Joint of
Homocinetics Axles”. In: Segundo Congreso Internacional de Ingeniería
Mecatrónica UNAB, Bucaramanga, Colombia.
VESLIN, E. Y., SLAMA, J., DUTRA M.S., LENGERKE, O., 2009, “Análisis
Cinemático de un Exoesqueleto de Partes Superiores de 7 GDL”. In: Segundo
Congreso Internacional de Ingeniería Mecatrónica - UNAB, 2009, Bucaramanga,
Colombia.
LENGERKE, O., DIAZ, O., FORERO, C. A., DUTRA M.S., PINA FILHO, A. C.,
2009, “Mechatronics Design of a Codifier for the Dating of Packings of Nutritious
Products”. In: Segundo Congreso Internacional de Ingeniería Mecatrónica -
UNAB, 2009, Bucaramanga, Colombia.
TAVERA, M.J.M., LENGERKE, O., DUTRA M.S., 2009, “Implementación de
Comportamiento Caótico a un Robot de Incendios”. In: Segundo Congreso
Internacional de Ingeniería Mecatrónica - UNAB, 2009, Bucaramanga, Colombia.
*
LENGERKE, O., DUTRA M.S., FRANCA, F. M.G., TAVERA, M.J.M., 2008,
“Automated Guided Vehicles (AGV): Searching a Path in the Flexible

176
Manufacturing Systems - Pojazdy Kierowane Automatycznie (AGV):
Poszukiwanie Drogi w Elastycznych Systemach Wytwarzania”. Journal of
Konbin, v. 8, p. 113 – 124.
*
LENGERKE, O., ACUÑA, H., TAVERA, M.J.M, DUTRA, M.S., FRANÇA, F.M.G.,
GONZALEZ, 2008, “Guidelines in Motion Planning for AGV with Trailers in
FMS”, In: 4th IEEE Colombian Workshop on Robotics and Automation, Cali -
Colombia.
*
LENGERKE, O., NINO, J.T., DUTRA M.S., TAVERA, M.J.M., 2008, “Diseño
Mecatrónico de un Sistema de Carga para Procesos Secuenciales”, Revista
Colombiana de Computación, v. 9, n. 2, ISSN: 1657-2831, pp. 86 – 103.
*
LENGERKE, O., CARVALHO, D., LIMA, P.M.V., DUTRA, M.S. MORA-CAMINO,
F., FRANÇA, F.M.G., 2008, “Controle Distribuído de Sistemas Job Shop usando
Escalonamento por Reversão de Arestas”, In: XIV Latin Ibero-American Congress
on Operations Research (CLAIO 2008) – Book of Extended Abstracts.
*
LENGERKE, O., ARCHILA, J. F., DUTRA M. S., 2008, “Diseño Mecatrónico de un
Robot Tipo AGV - Automated Guided Vehicle”, UIS Ingenierías - Facultad de
Ingenierías Fisicomecánicas, v. 7, n. 1, pp. 63 - 74.
*
LENGERKE, O., TAVERA, M.J.M, DUTRA, M.S., FRANÇA, F.M.G., GONZALEZ-
ACUÑA, H., TRAJANO, A.A.C., 2008, “Automated Guided Vehicles (AGV):
Searching a Path in the Flexible Manufacturing Systems, In: 24th ISPE
International Conference on CAD/CAM, Robotics & Factories of the Future,
CARS & FOF’08, Koriyama, Japan.
LENGERKE, O., MARTINEZ, C. V., DUTRA M.S., TAVERA, M.J.M., SILVA, F. L.
E., 2008, “Mechatronics Design of a Low-Cost Packaging and Dosing Machine
for Doughy Products”. In: Brazilian Society of Mechanical Science and
Engineering. ABCM Symposium Series in Mechatronics, Rio de Janeiro, RJ
Brasil, Brazilian Society of Mechanical Science and Engineering, v. 3, p. 717 -
725.
LENGERKE, O., COSENZA, C.A.N., REY A.A.J., DUTRA, M.S., TAVERA, M.J.M.,
2008, “Comparison of Defuzzification Methods: Automatic Control of
Temperature and Flow in Heat Exchange”. In: 5th International Conference on
Informatics in Control, Automation and Robotics (ICINCO) - Workshop
International on Artificial Neural Networks and Intelligent Information
Processing (ANNIIP), Funchal, Madeira - Portugal.

177
PINA FILHO, A. C. DUTRA M.S., LENGERKE, O., 2008, “Generation of Human
Locomotion Patterns by means of Nonlinear Oscillators”. In: 3rd International
Symposium on Multibody Systems and Mechatronics - MUSME 2008, San Juan –
Argentina.
LENGERKE, O. MARTINEZ, C.V., DUTRA M.S., SILVA, F. L. E., 2007,
“Mechatronics Design of a Low-Cost Packaging and Dosing Machine for Doughy
Products”. In: 19th Congress of Mechanical Engineering - COBEM 2007,
Brasilia, Brazil.
LENGERKE, O., DUTRA M.S., 2007, “Proyectos de Máquinas: en la Industria y la
Academia. Revista Clepsidra, v. 4, pp. 21-26.
*
LENGERKE, O., TRAJANO, A.A., DUTRA, M. S., MORADO, F., 2007, “Método do
Campo Potencial Virtual Modificado para Geração de Caminho com Obstáculos
Poligonais". In: 8° Congreso Iberoamericano de Ingeniera Mecánica - CIBIM8 -
Cusco-Perú.
*
LENGERKE, O., DUTRA M.S., MORALES, T. M., GONZALEZ, A. H., 2007,
“Diseño Mecatrónico de un Controlador de Velocidad Implementado en un Robot
Móvil de Tracción Síncrona”. In: 8 Congreso Iberoamericano de Ingeniera
Mecánica - CIBIM8, 2007, Cusco - Perú.
*
LENGERKE, O., DUTRA M.S., NINO, J.T., TAVERA, M.J.M., 2007, “Diseño y
Automatización de un Puente Grúa Para Procesos Secuenciales”. In: 8 Congreso
Iberoamericano de Ingeniera Mecánica (CIBIM8), Cusco - Perú.
LENGERKE, O., DUTRA, M. S., LACHE, S.I, 2007, “New Technique for Inverse
Kinematics Problem using GA”. In: 11th International Conference on
Mechatronics Technology (ICMT 2007), Ulsan University, Korea.
LENGERKE, P. O., DUTRA, M. S., 2007, Projetos Mecatrônicos: Na Indústria e na
Academia, III Workshop Cooperação Universidade Empresa: Inovação
Tecnológica – UNEM2007, ALSTOM, Taubaté São Paulo, Brasil.
LENGERKE, O., DUTRA M.S., DIAZ, J. C. D., 2007, “Diseño Mecatrónico de un
Sistema de Control de Posición para un Manipulador Puma”, Revista Gerencia
Tecnologica Informática, v. 6, pp. 5 - 13.
LIMA A.S., DUTRA M.S., SILVA, F. L. E., LENGERKE, O. 2007, “The study of
friction in Joints”. Revista de la Escuela Colombiana de Ingeniería, v. 68, pp. 25-
32.

178
*
LENGERKE, P. O., DUTRA, M. S., LACHE, I. S., 2006, “Diseño de un AS/RS
(Automated Stored & Retrieval System), para Implementación Didáctica”, Revista
ITECKNE Innovación e Investigación en Ingenierías - Cultura Investigativa y
Redes, USTA – Colombia, v. 6, pp. 3 – 11.
LENGERKE, O., DUTRA M.S., ARCHILA, J. F., VEGA, J., 2006, “Diseño e
Implementación de un Sistema de Control en Lazo Cerrado usando el Sistema de
Comunicación Fieldpoint para una Transmisión Hidrostática”, RESET-Revista
Especializada en Sistemas Informáticos y Electrónicos de Telecomunicaciones, v.
1, pp. 53-70.

179
APÊNDICE B

Programa em C++ para o Escalonamento por Reversão de Arestas


 main.cpp

#include <iostream> ==================================


#include <fstream> REVERSE ARC
#include "jobTable.h" =============================== */
#include "resourcesList.h" // Esse método inverte o arco, ou seja, o sucessor
#include "graph.h" passa a ser o antecessor
#include "outputTable.h" //e vice e versa.
using namespace std; void Arc::reverseArc(void) {
int main(void) int temp=ant; ant=suc;
{ char* fileName=new char [KB]; suc=temp;} /*
try { ==================================
//cout << "text file path: "; PRINT ARC
//cin >> fileName; =============================== */
JobTable t; // Esse método imprime o antecessor e o sucessor
t.printTable(); do arco.
cout << "passei" << endl; void Arc::printArc(void) {
ResourcesList l(t); cout << "(" << ant << "," << suc << ")"; }
cout << "passei" << endl;  arc.h
l.printResourcesList(); #ifndef ARC_H
Graph g(t, l); #include <iostream>
//g.printGraph(); using namespace std;
//cout << endl; class Arc {public:
g.initializeGraph(); int ant; // Id do nó antecessor.
g.printGraph(); int suc; // Id do nó sucessor.
OutputTable o; Arc (int, int); // Seta
o.exportTable(g, l, t.criteriaOrder, antecessor, sucessor e tipo de um arco.
t.runningTime, t.waitingTime); void reverseArc(void); //
} catch(const char* message) Inverte o sentido do arco.
{ cout << "EXCEPTION: " << message << endl; void printArc(void); //
} //i=getchar(); return 0;} Imprime o arco no console. };
 input.txt #define ARC_H #endif
criteria of selection (0-EDD, 1-SPT and 2-Random)  graph.cpp
order of criteria=1, 0, 2 #include "graph.h"/*
number of jobs=3 ==================================
number of resources=11 CONSTRUTOR
number of operations in each job=5 =============================== */
job 0: (A;27,7) (K;4,2) (B;14,3) (I;1,9) (C;23,9) //Esse método constroi um grafo usando a tabela de
job 1: (D;27,2) (K;4,2) (E;16,8) (J;2,6) (F;20,7) operações e o vetor de recursos.
job 2: (G;46,2) (I;1,9) (H;0,6) (J;2,6) (C;20,7) Graph::Graph (const JobTable & t, const
eof ResourcesList & l)
 arc.cpp { int id, job, operation, resource, r;
#include "arc.h" long double time;
/* ================================== long unsigned int i, sum;
CONSTRUTOR numberOfJobs=t.numberOfJobs; // Seto o
=============================== */ número de trabalhos do grafo.
// Esse método inicializa o id dos nós antecessor e numberOfOperations=t.numberOfOperations;//
sucessor, respectivamente. Seto o número de operações do grafo.
Arc::Arc (int i, int j) n=numberOfJobs * numberOfOperations; // Seto
{ ant=i; suc=j;} /* o número de nós do grafo.
// mIntra=(
(numberOfJobs)*(Combinação(numberOfOperatio
ns,2)) )

180
//depois a segunda e assim por diante.
// mIntra=( (numberOfJobs)*((numberOfOperations for (j=0; j<(tempNode->mIntra); j++)
!)/( ((numberOfOperations-2)!)*(2!) ) ) if (tempNode->intraArc[j].suc > tempNode-
mIntra=1; for(i=numberOfOperations; >intraArc[j].ant) { tempNode-
i>(numberOfOperations-2); i--) mIntra*=i; >intraArc[j].reverseArc();
mIntra= (mIntra/2)*numberOfJobs; tempNode->mIn++; }
// mInter=Somatório de Recursos ( // Os inter arcos (arcos entre os nós que usam o
Combinação(numberOfOperations,2) ) mesmo recurso) devem estar
mInter=0; for (r=0; r<l.listSize; r++) //apontados para o nó de menor operação. Caso os
{ sum=1; for nós do arco tenham o mesmo
(i=l.resource[r].numberOfOperations; //número de operação, então o arco deve apontar
i>(l.resource[r].numberOfOperations-2); i--) para o nó de menor tempo de//execução.
sum*=i; mInter+=(sum/2); for (j=0; j<(tempNode->mInter); j++)
} nSink=0; // Criamos os nós do grafo e os { suc=tempNode->interArc[j].suc;
inicializamos com o: ant=tempNode->interArc[j].ant;
//> número do job // Caso o arco esteja apontando para um nó de
// > número da operação operação maior do que a
// > número do recurso //outra ponta do nó, invertemos esse arco.
// > tempo necessário para a if (node[suc].operation > node[ant].operation) //
operação obs: node[ant] é o tempNode
// de cada nó conforme consta na tabela de jobs. { tempNode->interArc[j].reverseArc();
for (job=0; job<numberOfJobs; job++) tempNode->mIn++;
for (operation=0; } else if (node[suc].operation ==
operation<numberOfOperations; operation++) node[ant].operation)
{ id=(job*numberOfOperations + operation); // Caso ambas as pontas do arco tenham o mesmo
resource=t.table[job][operation].resource; número de operação,
time=t.table[job][operation].time; //testo o tempo utilizado pelas duas operações.
Node newNode(id, job, operation, resource, time); Caso o nó sucessor precise
node.push_back (newNode); } //de mais tempo do que o nó antecessor, invetemos
// Construção dos intra arcos e inter arcos de cada o arco.
nó do grafo if (node[suc].time > node[ant].time) {
for (job=0; job<numberOfJobs; job++) tempNode->interArc[j].reverseArc();
for (operation=0; operation<numberOfOperations; tempNode->mIn++; }
operation++) { else if (node[suc].time == node[ant].time)
id=(job*numberOfOperations + operation); // Caso ambos os nós precisem da mesma
r=node[id].resource; quantidade de tempo do
node[id].createArcs(numberOfOperations, //recurso, o arco aponta para o nó de menor id
l.resource[r].numberOfOperations, //(último critério de desempate).
l.resource[r].idNode); } if (suc > ant) { tempNode-
status=FRESH; } >interArc[j].reverseArc(); tempNode->mIn++;}} }
/* ================================== // Esse loop se destina a setar em true os flags
INITIALIZE GRAPH "sink" dos nós que são sumidouros e
=============================== */ //forma o vetor de id's dos nós sumidouros.
// Esse método inicializa a orientação dos arcos for (i=0; i<n; i++) {
void Graph::initializeGraph(void) tempNode=&(node[i]);
{ int i; // Contador para cada nó do grafo. if(tempNode->mIn==(tempNode->mIntra +
int j; // Contador para cada arco de cada tempNode->mInter))
nó do grafo. tempNode->sink=true;
int suc, ant; Node* tempNode; if(tempNode->sink==true) {
// Esse loop se destina a passar por cada nó e
determinar o sentido que cada sinkIdNode.push_back(tempNode->id); nSink++;
//arco deve ter. for (i=0; i<n; i++) }} status=INITIALIZED; }
{ tempNode=&(node[i]); /* ==================================
// Os intra arcos (arcos entre os nós de mesmo NEXT STEP
trabalho) devem estar apontados =============================== */
//para o nó de menor operação, portanto para o nó // Esse método atualiza o grafo em questão para o
de menor id. Com isso damos próximo passo do algoritmo de
//prioridade de execução aos nós que executam a //reversão de arestas.
primeira operação dos trabalhos, void Graph::nextStep(void) {
int i, id, ant, suc;

181
Node* tempNode; // Percorro cada arco do cout << "number of operations=" <<
nó selecionado (tanto intra arcos quanto inter arcos) numberOfOperations << endl;
//para inverter o seu sentido. Inverto também os cout << "number of intra arcs=" << mIntra << endl;
arcos dos demais nós que o cout << "number of inter arcs=" << mInter << endl
//ligam ao nó selecionado. <<endl;// Imprime cada nó do grafo.
for (i=0; i<node[chosenId].mIntra; i++) { for (i=0; i<n; i++) {
ant=node[chosenId].intraArc[i].ant; cout << " "; node[i].printNode(); cout <<
suc=node[chosenId].intraArc[i].suc; endl; } cout << endl; }
node[ant].reverseIntraArc(ant, suc);  graph.h
node[ant].mIn++; #ifndef GRAPH_H
node[chosenId].intraArc[i].reverseArc(); #include <iostream>
node[chosenId].mIn--; } #include <vector>
for (i=0; i<node[chosenId].mInter; i++) { #include "node.h"
ant=node[chosenId].interArc[i].ant; #include "jobTable.h"
suc=node[chosenId].interArc[i].suc; #include "resourcesList.h"
node[ant].reverseInterArc(ant, suc); using namespace std;
node[ant].mIn++; #ifndef FRESH
node[chosenId].interArc[i].reverseArc(); #define FRESH -1 //
node[chosenId].mIn--; } Constante para indicar a ultima operação sobre ele
node[chosenId].sink=false; // O nó foi a #endif
selecionado deixa de ser sumidouro. //sua criação.
node[chosenId].closed=true; // A operação #ifndef INITIALIZED
do nó selecionado já foi concluida. #define INITIALIZED 0 // Constante
// Retiro o nó selecionado do vetor de nós para indicar a ultima operação sobre ele foi a
sumidouros. #endif //inicialização da
for (i=0; i<nSink; i++) orientação dos arcos.
if(sinkIdNode[i]==chosenId) { class Graph { public:
sinkIdNode.erase(sinkIdNode.begin()+i); vector<Node> node;
nSink--; break; } // Vetor de nós que compõem o grafo.
// Atualizo o atraso dos nós sumidouros int n; //
restantes. Número de nós do grafo. vector<int> sinkIdNode;
for (i=0; i<nSink; i++) { // Vetor de id's de nós
id=sinkIdNode[i]; node[id].late++; } sumidouros.
// Percorro todos os nós do grafo para int nSink;// Número de nós sumidouros.
verificar a existência de novos nós sumidouros int chosenId; / Id do nó selecionado.
//que não estejam na lista de id's de nós int numberOfJobs; // Número de trabalho.
sumidouros e que não estejam fechados. Caso int numberOfOperations; // Número de
//exista, adiciono esses nós no vetor de nós operações em cada trabalho.
sumidouros. long unsigned int mIntra; // Número de intra arcos.
for (id=0; id<n; id++) { long unsigned int mInter; // Número de inter arcos.
tempNode=&(node[id]); int status; // Indica em que passo o
if(tempNode->mIn==(tempNode->mIntra + grafo se encontra.
tempNode->mInter)) Graph (const JobTable &, const ResourcesList
tempNode->sink=true; &);// Constroi um grafo usando uma
if((tempNode->sink==true) && //tabela de operações e uma lista //de recursos.
(tempNode->late==0) && (tempNode- void initializeGraph(void);// Inicializa a
>closed==false)) { orientação dos arcos. void nextStep(void); //
sinkIdNode.push_back(tempNode->id); nSink++; } Atualiza o grafo para a próxima iteração.
} } void printGraph(void); //
/* ================================== Imprime o grafo no console. };
PRINT GRAPH #define GRAPH_H #endif
=============================== */  jobTable.cpp
// Esse método imprime o grafo no console. #include "jobTable.h"
void Graph::printGraph(void) { /* ==================================
int i; // Status do grafo. CONSTRUTOR
cout << "== Graph (status: "; =============================== */
if (status==FRESH) cout << "fresh"; // Esse método constroi uma tabela de operações e
else if (status==INITIALIZED) preenche essa tabela com os dados
cout << "initialized";else cout << "stage " << //do arquivo texto de entrada.
status; cout << ")" << endl << endl; JobTable::JobTable() {

182
cout << "number of nodes=" << n << endl; FILE* filePtr; numberOfJobs=0;
cout << "number of jobs=" << waitingTime[i]=0; //
numberOfJobs << endl; Inicializo o tempo ocioso do trabalho.
numberOfOperations=0; k=7; //
// Se o arquivo texto de entradas não puder ser Número de caracteres na cadeia de caracteres "job
aberto, uma mensagem é enviada. 1: (",//sem contar os caracteres do número do
if ((filePtr = fopen(INPUT_FILE_PATH , "r"))==0) trabalho.
throw "O arquivo texto de entrada não // Pulo os caracteres que existem no número do job.
pode ser aberto."; number=i; do {
fscanf(filePtr, "criteria of selection (0-EDD, 1-SPT number/=10; k++;
and 2-Random)\n\rorder of criteria=%d, %d, %d\n", }while(number!=0); /*
&criteriaOrder[0], &criteriaOrder[1], OBS: char * fgets ( char * str, int num,
&criteriaOrder[2]);// Seto o número de trabalhos. FILE * stream ); in stdio.h
fscanf(filePtr, "number of jobs=%d\n", Get string from stream
&numberOfJobs); Reads characters from stream and stores
// Seto o número de recursos utilizados. them as a C string into str until (num-1)
fscanf(filePtr, "number of resources=%d\n", characters have been read or either a
&numberOfResources); newline or a the End-of-File is reached,
// Seto o número de operações em cada trabalho. whichever comes first. A newline
fscanf(filePtr, "number of operations in character makes fgets stop reading, but it is
each job=%d\n", &numberOfOperations); considered a valid character and
// Crio a tabela de operações. Dimensão therefore it is included in the string copied to str.
(numberOfJobs X numberOfOperations). A null character is automatically appended
createTable(); in str after the characters read to
// Preencho a tabela com os dados do arquivo texto signal the end of the C string. */
de entrada. // Leio a linha do arquivo texto de entrada e escrevo
fillTable(filePtr); na variável line. fgets(line, KB, filePtr);
// Fecho o arquivo texto de entrada. // Percorro cada operação do
fclose(filePtr); } trabalho em questão no arquivo texto de entrada.
/* ================================== for(int j=0; j<numberOfOperations; j++) {
CREATE TABLE // Escrevo na tabela de operações o recurso
=============================== */ que a operação em questão precisa.
// Esse método aloca memória para a tabela de table[i][j].resource=line[k]-COD_ASCII_A; k+=2;
operações. // Esse loop recupera o tempo que a operação em
void JobTable::createTable(void) { questão precisa.
runningTime= new long double //Isso acontece independente da quantidade de
[numberOfJobs]; caracteres do número.
waitingTime= new long double table[i][j].time=0; // Parte inteira.
[numberOfJobs]; while ((line[k]<=COD_ASCII_9) &&
// Crio as linhas da tabela. (line[k]>=COD_ASCII_0)) {
table = new operation* [numberOfJobs]; table[i][j].time*=10;
// Para cada linha da tabela, crio as colunas. table[i][j].time+=line[k]-COD_ASCII_0;
for (int i=0; i < numberOfJobs; i++) k++; }
table[i] = new operation // Parte decimal. number=10;
[numberOfOperations]; } if (line[k]==',' || line[k]=='.') { k++;
/* ================================== while ((line[k]<=COD_ASCII_9) &&
FILL TABLE (line[k]>=COD_ASCII_0)){
=============================== */ table[i][j].time+=(double(line[k]-
// Esse método preenche a tabela de operações com COD_ASCII_0)/number);
os dados contidos no arquivo texto number*=10; k++; } } k+=3; } } }
//de entrada. /* ==================================
void JobTable::fillTable(FILE* filePtr) { PRINT TABLE
int k=0; // Ínce =============================== */
para caracteres de cada linha do arquivo texto de // Esse método mprime a tabela de operações no
entrada. int number=0; console.
char* line = new char [KB]; // Armazena os void JobTable::printTable(void) {
caracteres de cada linha do arquivo texto de entrada. int i; cout << "== Job Table"<< endl << endl;
// Para cada trabalho, leio uma linha do arquivo for (i=0; i < numberOfJobs; i++) {
texto e coleto os dados das cout << " job " << i << ": ";
//operações dessa linha. for (int j=0; j <

183
for(int i=0; i<numberOfJobs; i++) { numberOfOperations; j++)
runningTime[i]=0; // #define KB 1024 // 1 KB = 1024 bytes.
Inicializo o tempo de processamento do trabalho. #endif
cout << "(" << #ifndef INPUT_FILE_PATH
char(table[i][j].resource + COD_ASCII_A) << "," #define INPUT_FILE_PATH "input.txt"
<< table[i][j].time << ") "; cout << #endif
endl; } #ifndef
cout << endl << "Order of criterias: "; NUMBER_OF_CRITERIAS#define
for (i=0; i < NUMBER_OF_CRITERIAS; i++) { NUMBER_OF_CRITERIAS 3
cout << criteriaOrder[i]; #endif
if(i!=(NUMBER_OF_CRITERIAS-1)) typedef struct {
cout << ", "; } int resource;
cout << endl; long double time;
//cout << "Number of Jobs: " << }operation; class JobTable { public:
numberOfJobs << endl; operation** table; //
//cout << "Number of Operations: " << Tabela de operações.
numberOfOperations << endl; long double* runningTime;
cout << endl << endl; } long double* waitingTime;
/* ================================== int
PRINT TEXT FILE criteriaOrder[NUMBER_OF_CRITERIAS];
=============================== */ int numberOfJobs;
// Esse método imprime o conteúdo inteiro do // Número de trabalhos.
arquivo texto de entrada no console int numberOfResources;
void JobTable::printTextFile(void) { // Número total de recursos utilizados.
char ch; int numberOfOperations;
FILE* filePtr; // Número de operações em cada trabalho.
if ((filePtr = fopen(INPUT_FILE_PATH , "r"))==0) JobTable(void); //
cout << "O arquivo \"" << INPUT_FILE_PATH << Construtor da classe. ~JobTable(void); //
"\" não pode ser aberto." << endl; Destrutor da classe. void printTable(void); //
cout << "== Input File"<< endl << endl; Imprime no console a tabela de operações.
do { ch=getc(filePtr); cout << ch; void printTextFile(void); //
}while(ch!=EOF); Imprime no console o arquivo texto.private:
cout << endl << endl; fclose(filePtr); } void createTable(void); // Cria
/* ================================== a tabela de operações.
DESTRUTOR void fillTable(FILE*); //
=============================== */ Preenche a tabela de operações com os dados
// Esse método desaloca a memória usada para a contidos //no arquivo texto de entrada.
tabela de operações. }; #define JOB_TABLE_H #endif
JobTable::~JobTable(void) {  node.cpp
for (int i=0; i < numberOfJobs; i++) #include "node.h"
delete [] table[i]; /* ==================================
delete [] table; CONSTRUTOR
delete [] runningTime; =============================== */
delete [] waitingTime; } // Esse método inicializa apenas os atributos
 jobTable.h simples do nó.
#ifndef JOB_TABLE_H //Não inicializa os arcos ligados a esse nó.
#include <stdio.h> Node::Node (int i, int j, int o, int r, long double t)
#include <iostream> { id=i;
#include <fstream> job=j;
using namespace std; operation=o;
#ifndef N resource=r;
#define N 2 time=t;
#endif #ifndef COD_ASCII_A late=0;
#define COD_ASCII_A 65 // mIn=0;
(65)base 10 é o codigo ascii para a letra A sink=false;
#endif //e A corresponde ao recurso 0. closed=false;}
#ifndef COD_ASCII_0 /* ==================================
#define COD_ASCII_0 48 // (48)base 10 é CREATE ARCS
o codigo ascii para o número 0 #endif =============================== */
#ifndef COD_ASCII_9 #define COD_ASCII_9 // Esse método cria os arcos que envolvem o nó em

184
57 // (57)base 10 é o codigo ascii para o número 9 questão e inicializa todos os arcos com o
#endif #ifndef KB cout << "; operation=" << operation;
cout << "; resource=" << char(resource +
//sentido para fora do nó. COD_ASCII_A);cout << "; time=" << time;
void Node::createArcs(int numNodesSameJob, int cout << "; late=" << late;
numNodesSameRessource, const vector<int>& if (sink) cout << " < SINK >"; if (closed)
idNode) { cout << " < CLOSED >";
int k; mIntra=numNodesSameJob-1; // Seto o cout << endl << " Intra Arcs: ";
número de intra arcos relacionados ao nó. for (i=0; i<mIntra; i++) {
// Crio os intra arcos. Cada nó possui um intra arco intraArc[i].printArc();
para cada um dos outros nós if (i!=(mIntra-1)) cout << "; ";
//do mesmo trabalho. }cout << endl << " Inter Arcs: ";
for(k=0; k<numNodesSameJob; k++) for (i=0; i<mInter; i++)
{ if (k==operation) // Não existem arcos de { interArc[i].printArc();
um nó para ele mesmo continue; if (i!=(mInter-1)) cout << "; ";
Arc newIntraArc(id, (job*numNodesSameJob + k)); } cout << endl;}
intraArc.push_back (newIntraArc); }  node.h
mInter=numNodesSameRessource-1;//
Seto o número de inter arcos relacionados ao nó. #ifndef NODE_H
// Crio os inter arcos. Cada nó possui um inter arco #include <vector>
para cada um dos outros nós #include <iostream>
//de mesmo recurso. Para criar esses inter arcos, #include "arc.h"
percorro o vetor de id's do recurso, using namespace std;
//onde há todos os id's dos nós que usam o mesmo #ifndef COD_ASCII_A
recurso que o nó em questão usa. #define COD_ASCII_A 65 //
for(k=0; k<numNodesSameRessource; k++) (65)base 10 é o código ascii para o letra A
{if (idNode[k]==id) // Não existem endif
arcos de um nó para ele mesmo class Node {public:
continue; int id; // Id do nó.
Arc newInterArc(id, idNode[k]); int job; // Número do job.
interArc.push_back int operation; // Número da operação.
(newInterArc); }} int resource; // Número do
/* ================================== recurso.
REVERSE INTRA ARC long double time; // Tempo necessário para a
=============================== */ operação.
// Esse método inverte o sentido de um determinado bool sink; //
intra arco relacionado ao nó em questão, cujo Booleano para indicar se o nó é sumidouro ou não.
//antecessor e sucessor são especificados. unsigned int late; // Medida de a quantos
void Node::reverseIntraArc(int ant, int suc) passos o nó é sumidouro.
{ int j; for (j=0; j<mIntra; j++) bool closed; // Booleano para indicar se o nó já
if ((intraArc[j].ant==ant) && está processando
(intraArc[j].suc==suc)){ //ou foi processado.
intraArc[j].reverseArc(); break; }} // "Intra Arcos" - arcos entre nós que representem
/* ================================== operações do mesmo
REVERSE INTER ARC //trabalho. Esse vetor contem os arcos entre o nó
=============================== */ em questão e os demais nós
// Esse método inverte o sentido de um determinado //de mesmo trabalho.
inter arco relacionado ao nó em questão, cujo vector<Arc> intraArc;
//antecessor e sucessor são especificados. int mIntra; // Número de
void Node::reverseInterArc(int ant, int suc) intra arcos que envolvem o nó em questão.
{ int j; for (j=0; j<mInter; j++) // "Inter Arcos" - arcos entre nós que representem
if ((interArc[j].ant==ant) && operações usando o
(interArc[j].suc==suc)) { //mesmo recurso. Esse vetor contem os arcos entre
interArc[j].reverseArc(); o nó em questão e os demais nós //que usam o
break; }} mesmo recurso. vector<Arc> interArc;
/* ================================== int mInter; // Número de inter arcos que
PRINT NODE envolvem o nó em questão.
=============================== */ int mIn; // Número de
// Esse método imprime a maioria dos atributos do arcos apontados para o nó em questão.
nó no console. Node (int, int, int, int, long double);

185
void Node::printNode(void){ // Construtor.
int i; cout << "id=" << id; // Percorro as operações candidatas (os nós
cout << "; job=" << job; sumidouros). Escrevo cada uma delas
void createArcs(int, int, const vector<int> &); //no arquivo texto de saída. E passo cada id de nó
sumidouro para o vetor
// Cria e inicializa os arcos relacionados ao nó em //auxiliar de id's de nós sumidouros
questão, for (i=0; i<g.nSink; i++)
//sendo o nó em questão o antecessor dos arcos {id=g.sinkIdNode[i];outputFile << "O" <<
inicializados. g.node[id].job << g.node[id].operation << " ";
void reverseIntraArc(int, int); // Inverte um tempSinkIdNode.push_back(id);
intra arco com antecessor e sucessor específicos. nTempSink++; }
void reverseInterArc(int, int);// Inverte um outputFile << " | ";
inter arco com antecessor e sucessor específicos. // Escrevo o tempo de uso e de não uso de cada
void printNode(void); // recurso.
Imprime no console alguns atributos do nó. for (r=0; r<l.listSize; r++) {
}; #define NODE_H #endif outputFile << char(l.resource[r].letter +
COD_ASCII_A) << ":("; outputFile <<
 outputTable.cpp l.resource[r].runningTime << "," <<
#include "outputTable.h" l.resource[r].waitingTime << ") ";}
/* ================================== outputFile << " | ";
CONSTRUTOR for (j=0; j<g.numberOfJobs; j++) {
=============================== */ outputFile << j << ":(" << runningTime[j] << ","
OutputTable::OutputTable(void){} << waitingTime[j] << ") "; }
/* ================================== // Escolho o nó a ser selecionado, podendo
EXPORT TABLE usar no máximo 3 critérios.
=============================== */ //Uso o critério seguinte, caso um critério
// Esse método usa um grafo e uma lista de recursos, não tenha sido suficiente
para gerar um arquivo texto de saída //para escolher um nó. i=0;
//usando o algoritmo de reversão de arestas. nextCriterion=true;
void OutputTable::exportTable(Graph & g, while (nextCriterion) {
ResourcesList & l, int* criteriaOrder, long double* criterion=criteriaOrder[i];
runningTime, long double* waitingTime) nextCriterion=chooseNode(g,
{ int i, j, r; tempSinkIdNode, nTempSink, criterion); i++;}
unsigned int step=FIRST_STEP; // Escrevo o recurso que a operação
bool continua=true; selecionada precisa e //o tempo de
bool nextCriterion=true; processamento necessário para a operação.
int id; outputFile << " | (" <<
int criterion; char(g.node[g.chosenId].resource +
long double resourceTime; COD_ASCII_A) << "," <<
long double jobTime; g.node[g.chosenId].time << ")"; // Escrevo a
vector<int> tempSinkIdNode; operação selecionada. outputFile << " |
// Vetor auxiliar de id's de nós sumidouros. O" << g.node[g.chosenId].job <<
int nTempSink=0; // g.node[g.chosenId].operation;
Tamanho do vetor auxiliar de id's de nós // Escrevo o critério utilizado para a escolha.
sumidouros. if (criterion==SPT) outputFile << " | SPT"
char* fileName = OUTPUT_FILE_PATH; << endl;
ofstream outputFile; else if (criterion==EDD) outputFile << " | EDD"
// Abro o arquivo texto de saída. << endl;
outputFile.open(fileName); else if (criterion==RM) outputFile << " |
// Testo se o arquivo texto de saída foi aberto com RM" << endl;
sucesso. // Atualização dos tempos de uso e não uso
if (!outputFile) throw "O arquivo texto de saida do recurso selecionado e
não pode ser aberto."; //atualização do tempo de processamento e
outputFile << "Step | Operations | ocioso dos trabalhos.
Resources Time (R, W) | Jobs Time (R, W) r=g.node[g.chosenId].resource;
|Resource Chosen and Time | Operation in Process | resourceTime= l.resource[r].waitingTime
Criterion" << endl; + l.resource[r].runningTime;
while (continua) { g.status++; j=g.node[g.chosenId].job;
g.printGraph(); cout << jobTime= waitingTime[j] +
"==================================== runningTime[j]; if(resourceTime > jobTime)

186
==================" << endl << endl; waitingTime[j]+= (resourceTime - jobTime);
// Escrevo o número do passo no nTempSink--; i--; } }
arquivo texto de saída // Caso tenha sobrado apenas um id no
outputFile << g.status << " | "; vetor auxiliar de id's de nós sumidouros, significa
else l.resource[r].waitingTime+= (jobTime - //que há apenas um nó sumidouro com o
resourceTime); maior atraso, portanto ele será o escolhido.
runningTime[j]+= //Caso contrário é preciso usar o próximo
g.node[g.chosenId].time; critério de desempate.
l.resource[r].runningTime+= if (nTempSink==1) {
g.node[g.chosenId].time; g.chosenId=tempSinkIdNode[0];
// Atualizo o grafo para o próximo passo. tempSinkIdNode.clear();
g.nextStep(); // Enquanto o vetor de id's de nós nTempSink=0;return false; }
sumidouros não estiver vazio, o loop continua. else return true;
if ( int(g.sinkIdNode.size())==0 ) } // Caso o critério de seleção
continua=false; escolhido tenha sido o SPT (Shortest Processing
getchar();} Time): else if (criteria==SPT) {
g.status++; outputFile << g.status << " | - | "; // Passo por cada nó sumidouro comparando o
// Escrevo o tempo de uso final de cada recurso. tempo de processamento. Aquele com o
for (r=0; r<l.listSize; r++) menor//tempo será o escolhido. Faço isso em duas
{ outputFile << etapas:
char(l.resource[r].letter + COD_ASCII_A) << ":("; // 1º: Acho o menor tempo de processamento dentre
outputFile << todos os nós sumidouros
l.resource[r].runningTime << "," << id=tempSinkIdNode[0];
l.resource[r].waitingTime << ") ";} shortestTime=g.node[id].time;
outputFile << " | "; for (i=0; i<nTempSink; i++)
for (j=0; j<g.numberOfJobs; j++) {id=g.sinkIdNode[i];
{ outputFile << j << ":(" << runningTime[j] if (g.node[id].time < shortestTime)
<< "," << waitingTime[j] << ") "; } shortestTime=g.node[id].time;
outputFile << "| - | - | -" << endl; } cout << "shortest time: " <<
// Fecho o arquivo texto de saída. shortestTime << endl;
outputFile.close();} // 2º: Retiro do vetor auxiliar de id's de nós
// Esse método escolhe um nó para usar um recurso sumidouros todos os nós que tem o
de acordo com um dos 3 critérios: // tempo de processamento maior do que menor
// EDD (Earliest Due Date), SPT (Shortest tempo. for (i=0; i<nTempSink; i++)
Processing Time) ou RM (Random). {
bool OutputTable::chooseNode(Graph & g, id=tempSinkIdNode[i];
vector<int> & tempSinkIdNode, int & nTempSink, if(g.node[id].time != shortestTime)
int criteria) {tempSinkIdNode.erase(tempSinkIdNode.begin()+i
{ int mostLate, id, i, rando; );nTempSink--; i--; } }
long double shortestTime; // Caso tenha sobrado apenas um id no vetor
// Caso o critério de seleção escolhido auxiliar de id's de nós sumidouros, significa
tenha sido o EDD (Earliest Due Date): // que há apenas um nó sumidouro com o menor
if (criteria==EDD) tempo de processamento, portanto ele será
{ // Passo por cada nó sumidouro //o escolhido. Caso contrário é preciso usar
comparando o tempo que eles já passaram sendo o próximo critério de desempate.
sumidouros. if (nTempSink==1)
//Aquele que está mais tempo como nó {g.chosenId=tempSinkIdNode[0];
sumidouro será o escolhido. Faço isso em duas tempSinkIdNode.clear();
etapas: nTempSink=0;
// 1º: Acho o maior atraso dentre return false; } else return true;}
todos os nós sumidouros // Caso o critério de seleção escolhido
id=tempSinkIdNode[0]; tenha sido o RM (Random), escolho um dos nós
mostLate=g.node[id].late; //sumidouros aleatoriamente.
for (i=0; i<nTempSink; i++) else if (criteria==RM) {srand(time(0));
{ id=tempSinkIdNode[i]; rando=rand() %
if(g.node[id].late > mostLate) nTempSink;g.chosenId=tempSinkIdNode[rando];
mostLate=g.node[id].late; } tempSinkIdNode.clear(); nTempSink=0;
// 2º: Retiro do vetor auxiliar de } return false;}
id's de nós sumidouros todos os nós que tem o /* ==================================
// atraso menor do que o maior DESTRUTOR

187
atraso. =============================== */
for (i=0; i<nTempSink; i++) OutputTable::~OutputTable(void){}
{ id=tempSinkIdNode[i];
if(g.node[id].late != mostLate){
tempSinkIdNode.erase(tempSinkIdNode.be
gin()+i);

188
189
APÊNDICE C

Programa em Matlab e Simulink para o Cálculo Cinemático do AGV


com Reboques – Modelo Cinemático 1 (Figura 4.3).

clear;close all;clc;
L=10; %Longitude entre eixos AGV principal
L1=5; %Longitude do reboque
A=4; %Largura
VelCar=2; %Velocidade do AGV
D1=8; %Distância do primeiro reboque
D2=8; %Distância do segundo reboque
D3=8; %Distância do terceiro reboque
Fi=20*pi/180; %Angulo inicial da direção
AnguloInc=40*pi/180; %Angulo inicial do AGV
AnguloInc1=120*pi/180; %Angulo inicial do reboque 1
AnguloInc2=10*pi/180; %Angulo inicial do reboque 2
AnguloInc3=40*pi/180; %Angulo inicial do reboque 3
sim('Carro4'); %Simula arquivo de simulink
figure(1);

for n=1:length(Th0(:,1))
Xv(n)=X(n,1);Yv(n)=Y(n,1); %Coordenadas iniciais do AGV (x,y)
teta=Th0(n,1);
%Xv=4;Yv=0;n=1;
%teta=0*pi/180;

%--------------------Cálculo dos ângulos ---------------------------

Ang1=atan((A/2)/L); Angulo da coordenada (x,y) ao vértice b ou c


hip=sqrt((A/2)^2+L^2); %hipotenusa do AGV
a(1)=Xv(n)+A/2*sin(teta);a(2)=Yv(n)-A/2*cos(teta); %Primeiro Ponto
b(1)=Xv(n)+hip*cos(teta-Ang1);b(2)=Yv(n)+hip*sin(teta-Ang1); %Segundo ponto
c(1)=Xv(n)+hip*cos(teta+Ang1);c(2)=Yv(n)+hip*sin(teta+Ang1); %Terceiro ponto
d(1)=Xv(n)-A/2*sin(teta);d(2)=Yv(n)+A/2*cos(teta); %Quarto Ponto
clf;
C=patch([a(1),b(1),c(1),d(1)],[a(2),b(2),c(2),d(2)],'b');
hold on;plot(Xv,Yv,'r');

%--------------------Cálculo do primeiro reboque ------------------------

teta1=Th1(n,1);
%teta1=90*pi/180;
Xc1(n)=Xv(n)+D1*cos(teta1);Yc1(n)=Yv(n)+D1*sin(teta1); %Coordenadas iniciais do Reboque

Ang1=atan((A/2)/(D1-L1)); %Angulo da coordenada (x,y) a um vértice do reboque


hip=sqrt((A/2)^2+(D1-L1)^2); %hipotenusa do reboque
a1(1)=Xv(n)+hip*cos(teta1-Ang1);a1(2)=Yv(n)+hip*sin(teta1-Ang1); %Primeiro Ponto
d1(1)=Xv(n)+hip*cos(teta1+Ang1);d1(2)=Yv(n)+hip*sin(teta1+Ang1); %quarto Pontos
Ang1=atan((A/2)/D1); %Angulo da coordenada (x,y) a um vértice do reboque
hip=sqrt((A/2)^2+D1^2); %hipotenusa do reboque
b1(1)=Xv(n)+hip*cos(teta1-Ang1);b1(2)=Yv(n)+hip*sin(teta1-Ang1); %Segundo ponto
c1(1)=Xv(n)+hip*cos(teta1+Ang1);c1(2)=Yv(n)+hip*sin(teta1+Ang1); %Terceiro ponto
C1=patch([a1(1),b1(1),c1(1),d1(1)],[a1(2),b1(2),c1(2),d1(2)],'b');

190
line([Xv(n) Xc1(n)],[Yv(n) Yc1(n)],'Color','k','LineWidth',2.5);
plot(Xc1,Yc1,'r');
%axis([-50 20 -10 60]);
%pause(0.3);

%--------------------Cálculo do segundo reboque ------------------------

teta2=Th2(n,1)-pi;
%teta2=90*pi/180;
Xc2(n)=Xc1(n)+D1*cos(teta2);Yc2(n)=Yc1(n)+D1*sin(teta2); %Coordenadas iniciais do Reboque
Ang1=atan((A/2)/(D1-L1)); %Angulo da coordenada (x,y) a um vértice do reboque
hip=sqrt((A/2)^2+(D1-L1)^2); %hipotenusa do reboque
a2(1)=Xc1(n)+hip*cos(teta2-Ang1);a2(2)=Yc1(n)+hip*sin(teta2-Ang1); %Primeiro ponto
d2(1)=Xc1(n)+hip*cos(teta2+Ang1);d2(2)=Yc1(n)+hip*sin(teta2+Ang1); %quarto ponto

Ang1=atan((A/2)/D1); %Angulo da coordenada (x,y) a um vértice do reboque


hip=sqrt((A/2)^2+D1^2); %hipotenusa do reboque
b2(1)=Xc1(n)+hip*cos(teta2-Ang1);b2(2)=Yc1(n)+hip*sin(teta2-Ang1); %Segundo ponto
c2(1)=Xc1(n)+hip*cos(teta2+Ang1);c2(2)=Yc1(n)+hip*sin(teta2+Ang1); %Terceiro ponto
C2=patch([a2(1),b2(1),c2(1),d2(1)],[a2(2),b2(2),c2(2),d2(2)],'b');
line([Xc1(n) Xc2(n)],[Yc1(n) Yc2(n)],'Color','k','LineWidth',2.5);
plot(Xc2,Yc2,'r');

%--------------------Cálculo do terceiro reboque ------------------------


teta3=Th3(n,1)-pi;
%teta2=90*pi/180;
Xc3(n)=Xc2(n)+D1*cos(teta3);Yc3(n)=Yc2(n)+D1*sin(teta3); %Coordenadas iniciais do reboque

Ang1=atan((A/2)/(D1-L1)); %Angulo da coordenada (x,y) a um vértice do reboque


hip=sqrt((A/2)^2+(D1-L1)^2); %hipotenusa do reboque
a3(1)=Xc2(n)+hip*cos(teta3-Ang1);a3(2)=Yc2(n)+hip*sin(teta3-Ang1); %Primeiro ponto
d3(1)=Xc2(n)+hip*cos(teta3+Ang1);d3(2)=Yc2(n)+hip*sin(teta3+Ang1); %quarto ponto
Ang1=atan((A/2)/D1); %Angulo da coordenada (x,y) a um vértice do reboque

hip=sqrt((A/2)^2+D1^2); %hipotenusa do reboque


b3(1)=Xc2(n)+hip*cos(teta3-Ang1);b3(2)=Yc2(n)+hip*sin(teta3-Ang1); %Segundo ponto
c3(1)=Xc2(n)+hip*cos(teta3+Ang1);c3(2)=Yc2(n)+hip*sin(teta3+Ang1); %Terceiro ponto
C3=patch([a3(1),b3(1),c3(1),d3(1)],[a3(2),b3(2),c3(2),d3(2)],'b');
line([Xc2(n) Xc3(n)],[Yc2(n) Yc3(n)],'Color','k','LineWidth',2.5);
plot(Xc3,Yc3,'r');
axis([-50 20 -10 60]);
pause(0.3);
end

191
APÊNDICE D

Programa em Matlab para o Cálculo Cinemático do AGV com


Reboques – Modelo Cinemático 2 (Figura 4.7).

clear;close all;clc;
L=10; %Longitude entre eixos AGV principal
L1=5; %Longitude do reboque
A=5; %Largura
VelCar=1; %Velocidade do AGV
Ui=2;
Ur=1;
R=1;
D1=8; %Distância do primeiro reboque
D2=8; %Distância do segundo reboque
D3=8; %Distância do terceiro reboque
Fi=20*pi/180; %Angulo inicial da direção
AnguloInc=0*pi/180; %Angulo inicial do AGV
AnguloInc1=170*pi/180; %Angulo inicial do reboque 1
AnguloInc2=40*pi/180; %Angulo inicial do reboque 2
AnguloInc3=80*pi/180; %Angulo inicial do reboque 3
sim('diferencial2'); %Simula arquivo de simulink
figure(1);
for n=1:length(Th0(:,1))
Xv(n)=X(n,1);Yv(n)=Y(n,1); %Coordenadas iniciais do AGV (x,y)
teta=Th0(n,1);
%Xv=4;Yv=0;n=1;
%teta=0*pi/180;
%--------------------Cálculo dos ângulos----
Ang1=atan((A/2)/L); %Angulo da coordenada (x,y) ao vértice b ou c
hip=sqrt((A/2)^2+L^2); %hipotenusa do AGV
a(1)=Xv(n)+A/2*sin(teta);a(2)=Yv(n)-A/2*cos(teta); %Primeiro Ponto
b(1)=Xv(n)+hip*cos(teta-Ang1);b(2)=Yv(n)+hip*sin(teta-Ang1); %Segundo ponto
c(1)=Xv(n)+hip*cos(teta+Ang1);c(2)=Yv(n)+hip*sin(teta+Ang1); %Terceiro ponto
d(1)=Xv(n)-A/2*sin(teta);d(2)=Yv(n)+A/2*cos(teta); %Quarto Ponto
clf;
C=patch([a(1),b(1),c(1),d(1)],[a(2),b(2),c(2),d(2)],'b');
hold on;plot(Xv,Yv,'r');
%--------------------Cálculo do primeiro reboque ----------------
teta1=Th1(n,1);
%teta1=90*pi/180;
Xc1(n)=Xv(n)+D1*cos(teta1);Yc1(n)=Yv(n)+D1*sin(teta1); %Coordenadas iniciais do
Reboque
Ang1=atan((A/2)/(D1-L1)); %Angulo da coordenada (x,y) a um vértice do
reboque
hip=sqrt((A/2)^2+(D1-L1)^2); %hipotenusa do reboque
a1(1)=Xv(n)+hip*cos(teta1-Ang1);a1(2)=Yv(n)+hip*sin(teta1-Ang1); %Primeiro Ponto
d1(1)=Xv(n)+hip*cos(teta1+Ang1);d1(2)=Yv(n)+hip*sin(teta1+Ang1); %quarto Pontos
Ang1=atan((A/2)/D1); %Angulo da coordenada (x,y) a um vértice do
reboque
hip=sqrt((A/2)^2+D1^2); %hipotenusa do reboque
b1(1)=Xv(n)+hip*cos(teta1-Ang1);b1(2)=Yv(n)+hip*sin(teta1-Ang1); %Segundo ponto
c1(1)=Xv(n)+hip*cos(teta1+Ang1);c1(2)=Yv(n)+hip*sin(teta1+Ang1); %Terceiro ponto
C1=patch([a1(1),b1(1),c1(1),d1(1)],[a1(2),b1(2),c1(2),d1(2)],'b');

192
line([Xv(n) Xc1(n)],[Yv(n) Yc1(n)],'Color','k','LineWidth',2.5);
plot(Xc1,Yc1,'r');
%axis([-50 20 -10 60]);
%pause(0.3);

%--------------------Cálculo do segundo reboque ------------------


teta2=Th2(n,1)-pi;
%teta2=90*pi/180;
Xc2(n)=Xc1(n)+D1*cos(teta2);Yc2(n)=Yc1(n)+D1*sin(teta2); %Coordenadas iniciais do
Reboque

Ang1=atan((A/2)/(D1-L1)); %Angulo da coordenada (x,y) a um vértice do


reboque
hip=sqrt((A/2)^2+(D1-L1)^2); %hipotenusa do reboque
a2(1)=Xc1(n)+hip*cos(teta2-Ang1);a2(2)=Yc1(n)+hip*sin(teta2-Ang1); %Primeiro ponto
d2(1)=Xc1(n)+hip*cos(teta2+Ang1);d2(2)=Yc1(n)+hip*sin(teta2+Ang1); %quarto ponto
Ang1=atan((A/2)/D1); %Angulo da coordenada (x,y) a um vértice
do reboque
hip=sqrt((A/2)^2+D1^2); %hipotenusa do reboque
b2(1)=Xc1(n)+hip*cos(teta2-Ang1);b2(2)=Yc1(n)+hip*sin(teta2-Ang1); %Segundo ponto
c2(1)=Xc1(n)+hip*cos(teta2+Ang1);c2(2)=Yc1(n)+hip*sin(teta2+Ang1); %Terceiro ponto
C2=patch([a2(1),b2(1),c2(1),d2(1)],[a2(2),b2(2),c2(2),d2(2)],'b');
line([Xc1(n) Xc2(n)],[Yc1(n) Yc2(n)],'Color','k','LineWidth',2.5);
plot(Xc2,Yc2,'r');
axis([-50 40 -40 40]);
pause(0.3);
end

193
Scope2
L [ThetaCero]

L Goto2
L ThetaCer o
VelCar [X]
V X
V Goto3
Fi [Y]
Cita Y
Cita Goto1
D1 D1 Thet aUno [Theta Uno]

D1 Goto4 Scope
D2 Thet aDos
D2
D3 Thetatre s [ThetaDos]
D2
Carro Uno Goto5
Scope1
D3
D3 [Theta tres]

Goto6 VARIAVEIS DE SAÍDA

T [ThetaCero] Th0
Clock
To Workspace3 Th3 T o Workspace

[X] X [ThetaUno] Th1

Th2 To Workspace1
Th4 To Workspace4

[Y] Y
[ThetaDos] Th2

Th1 To Workspace2
Th6 To Workspace5

[Thetatres] Th3

Th5 To Workspace6

194
1 1/(u)
L 1
Fcn1 1
ThetaPunto s ThetaCero
Multiply1 ThetaCero
Multiply Integrator
2 1
V 3
V s
velocidad Y punto Y
Multiply2 Inte grator2
sin(u)
3 tan(u)
Cita Fcn2
Fcn

1
2
s
Velocidad X X
Multiply3 In tegrator3
cos(u)

Fcn3

sin(u) 1
4
Subtract s
Fcn6 ThetaUno punto Th etaUno
Multiply4 Inte grator1

4 1/(u)
Theta uno
D1 Multiply6
Fcn5

5 1/(u) Theta uno

D2
Fcn7
Multiply8 Thetados

6 1/(u) sin(u)

D3 Subtract1 Fcn4 5
Fcn9
ThetaDos

Multiply5
cos(u)
ThetaCero 1
Subtract2 Fcn8 s Thetados
Multiply7 Integrator4

Multiply9 cos(u)
Multiply10
Fcn10 1
Multiply11 6
s
Th etatres
Integ rator5
Multiply12

Thetados sin(u)

Subtract3 Fcn11

195
APÊNDICE E

Estudo do Veículo. Posição e Orientação

O veículo é descrito utilizando a terminologia desenvolvida pela Society of


Automotive Engineers (SAE). A orientação do sistema de eixos do veículo (x, y, z) em
relação ao eixo da terra-sistema fixo (X, Y, Z) é dada pela seguinte sequência de três
rotações angulares, a partir de uma condição na qual os dois conjuntos do eixo são
inicialmente alinhados: i) Uma rotação Yaw,  , sobre os eixos z e Z, ii) Uma rotação
Pitch,  , sobre o eixo y do veículo; e, iii) uma rotação Roll (  ) sobre o eixo x do
veículo.

Figura 1 Sistema de eixos utilizando terminologia proposta pela SAE.

Se um veículo tem mais de dois eixos, como o veículo de três eixos da Figura 1,
então o veículo será estaticamente indeterminado e as forças normais sob os pneus não
podem ser determinadas por equações de equilíbrio estático. É preciso considerar as
deflexões das suspensões para determinar as forças aplicadas. As n forças normais Fzi

sob os pneus podem ser calculadas utilizando as seguintes n equações algébricas.

n
2 Fzi  mg cos   0 (1)
i 1

196
n
2 Fzi xi  h  a  mg sen   0
i 1 (2)

Fzi xi  x1  Fzn Fz1  Fz1


    0 para i  2,3,..., n  1
ki xn  x1  kn k1  k1 (3)

Onde Fxi e Fzi são as forças longitudinais e normais sob os pneus anexos ao

número de eixo i , e xi é a distância do centro de massa C a partir do eixo i . A distância

xi é positiva para os eixos em frente de C, e é negativa para os eixos detrás de C. O

parâmetro ki é a rigidez vertical da suspensão no eixo i .

Para veículos com múltiplos eixos, a equação de Newton em direção x e duas


equações de equilíbrio estático devem ser examinadas para encontrar a equação de
movimento e as forças de reação, assim:

F x  ma
(4)

F z 0
(5)

M y 0
(6)

No entanto, se o número de eixos é n então as forças individuais podem ser


substituídas por um somatório, deste modo:
n
2 Fxi  mgsen  ma
i 1 (7)

n
2 Fzi  mgcos  0
i 1 (8)

n n
2 Fzi xi  2h Fxi  0 (9)
i 1 i 1

197
A força Fx  2 i1 Fxi pode ser eliminada entre as equações (7) e (9) para fazer
n

a equação (2). Então, permanecem as duas equações (1) e (2) para n incógnitas Fzi ,

i  1, 2,..., n . Conseqüentemente, são necessárias n  2 equações adicionais para poder


encontrar as cargas na roda. As equações adicionais são provenientes da
compatibilidade entre a deflexão da suspensão. Ignorando a conformidade (compliance)
dos pneus, e utilizando z para indicar o deslocamento vertical estático do carro em C.
Então, se zi é a deflexão da suspensão no centro do eixo i , e ki é a rigidez vertical da

suspensão no eixo i as deflexões, expressada pela equação (10).

Fzi
zi  (10)
ki

Para uma estrada plana e um veículo rígido, obtém-se a equação (11).

zi  z1 zn  z1
 para i  2,3,..., n  1 (11)
xi  x1 xn  x1

Com a equação (10) se reduz a equação (3). As n  2 equações junto com as


equações (1) e (2), é possível calcular a carga normal sobre cada pneu. A resultante das
equações é linear e pode ser organizado em uma matriz da forma da equação (12).

 A X    B  (12)

Onde,

 X    Fz1 Fz 3 ... Fzn 


T
Fz 2 (13)

198
 2 2     2 
 2x 2 x2     2 xn 
 1 
 xn  x2 1 x2  x1 
     
 k1l k2 kn l 
        
 A    (14)
 xn  xi  
1
 
xi  x1 
 k1l ki kn l 
 
        
x x 1 xn 1  x1 
 n n 1     
 k1l kn 1 kn l 

l  x1  xn
(15)

 B    mg cos   h  a  mgsen  0 ... 0 


T
(16)

199
APÊNDICE F

Parâmetros de Entrada (Universal Mechanism) – Simulação 1


v0 = 0 - Velocidade Inicial bitd = 0.0582 Bitola Dianteira
ampl = 0 indcorrecao = 0.001 Indice de correção
h = 0.358505 bitt = 0.07 Bitola Traseira
c = 4400 Constante de amortecimento passo = 0.1 Rampa
fo = 200 n = 0 Rampa
k = 1568000 Constante elástica da mola d = 0 Distancia entre o primeiro carro e o
dianteira segundo carro
rpneu = 500000 Rigidez do pneu kdir = 900000
cpneu = 20000 Constante de amortecimento do cdir = 100000
Pneu x1 = 0
xo = 0.13348 hh = -0.5
wheel_cap_phi2 = 1 wheel_tirewidth_fr = 0.18
wheel_cap_rfactor = 0.96 wheel_tirecurving_fr = 0.01
wheel_cap_phi1 = 45 wheel_radius_fr = 0.37
wheel_radius = 0.5 wheel_tireheight_fr = 0.20582555
wheel_tireheight = 0.28 wheel_tirerim_width_fr = 0.18
wheel_tirewidth = 0.25 wheel_tirerim_curving_fr = 0.012
wheel_tirecurving = 0.01 wheel_cap_r_outer_fr = 0.1909775
wheel_tirerim_width = 0.25 wheel_cap_phi1_rad_fr = 660
wheel_tirerim_curving = 0.012 wheel_cap_r_inner_fr = 0.001
wheel_cap_r_outer = 0.28 wheel_cap_phi2_rad_fr = 660
wheel_cap_r_inner = 0.001 wheel_cap_delta_fr = 1.2566371
wheel_cap_width = 0.015 Largura do Círculo wheel_cap_width_fr = 0.015
Central wheel_cap_rim_width_fr = 0.002
wheel_cap_rim_width = 0.002 wheel_cap_r_inner2_fr = 0.015
wheel_cap_r_inner2 = 0.015 Círculo Central hhh = -0.5
wheel_cap_delta = 1.2566371 u = 1000
wheel_cap_phi1_rad = 0.40872665 akc = 0
wheel_cap_phi2_rad = 0.78539816 SubS2.v0 = 20
wheel_cap_shift_y = 0.03445 offset SubS2.ampl = 0
mwheel = 20 Mass of wheel SubS2.h = 0.358505
iwheelx = 0.25 Moment of itertia of wheel X SubS2.c = 4400 Constante de amortecimento
iwheely = 0.5 Moment of itertia of wheel Y SubS2.fo = 200
f=0 SubS2.k = 1568000 Constante elástica da mola
ud = 0.99 Atrito Dinâmico dianteira
us = 1 Atrito Estático SubS2.rpneu = 100000 Rigidez do pneu
kt = 3000000 Constante Elástica da Mola SubS2.cpneu = 20000 Constante de
traseira amortecimento do Pneu
om = 2 Frequência da caixa de direção SubS2.xo = 0.13348
ampll = 0.015 Deslocamento máximo da caixa SubS2.wheel_cap_phi2 = 45
de direção SubS2.wheel_cap_rfactor = 0.96
rjoint = 0.018 SubS2.wheel_cap_phi1 = 1
frenagem = 0 SubS2.wheel_radius = 0.37
c1 = 46.5 Indice de aceleração SubS2.wheel_tireheight = 0.0475
v1 = 59.5 Velocidade Inicial SubS2.wheel_tirewidth = 0.105
vd = 20 Velocidade Desejada SubS2.wheel_tirecurving = 0.01
c2 = 5 Torque de frenagem SubS2.wheel_tirerim_width = 0.105
v2 = 10 ? SubS2.wheel_tirerim_curving = 0.012
vf = 10 ? SubS2.wheel_cap_r_outer = 0.09775
c3 = 0 Distribuição de Frenagem SubS2.wheel_cap_r_inner = 0.001
cgz = 0 Centro de Massa Z SubS2.wheel_cap_width = 0.015 Largura do
cgy = 0 Centro de Massa Y Círculo Central
cgx = -0.5 Centro de Massa X SubS2.wheel_cap_rim_width = 0.002
raiocone = 0.06

200
SubS2.wheel_cap_r_inner2 = 0.015 Círculo SubS2.SubS1.k = 1568000
Central SubS2.SubS1.rpneu = 100000
SubS2.wheel_cap_delta = 1.2566370614359 SubS2.SubS1.cpneu = 20000
SubS2.wheel_cap_phi1_rad = SubS2.SubS1.xo = 0.13348
0.408726646259972 SubS2.SubS1.wheel_cap_phi2_re = 45
SubS2.wheel_cap_phi2_rad = SubS2.SubS1.wheel_cap_rfactor_re = 0.96
0.78539816339745 SubS2.SubS1.wheel_cap_phi1_re = 1
SubS2.wheel_cap_shift_y = 0.03445 offset SubS2.SubS1.wheel_radius_re = 0.37
SubS2.mwheel = 20 Mass of wheel SubS2.SubS1.wheel_tireheight_re = 0.1475
SubS2.iwheelx = 0.25 Moment of itertia of SubS2.SubS1.wheel_tirewidth_re = 0.17
wheel X SubS2.SubS1.wheel_tirecurving_re = 0.01
SubS2.iwheely = 0.5 Moment of itertia of SubS2.SubS1.wheel_tirerim_width_re = 0.17
wheel Y SubS2.SubS1.wheel_tirerim_curving_re = 0.012
SubS2.f = 0 SubS2.SubS1.wheel_cap_r_outer_re =
SubS2.ud = 0.99 Atrito Dinâmico 0.22010098
SubS2.us = 1 Atrito Estático SubS2.SubS1.wheel_cap_r_inner_re = 0.001
SubS2.kt = 3000000 Constante Elástica da SubS2.SubS1.wheel_cap_width_re = 0.015
Mola traseira Largura do Círculo Central
SubS2.om = 2 Frequência da caixa de direção SubS2.SubS1.wheel_cap_rim_width_re = 0.002
SubS2.ampll = 0.015 Deslocamento máximo da SubS2.SubS1.wheel_cap_r_inner2_re = 0.015
caixa de direção Círculo Central
SubS2.rjoint = 0.018 SubS2.SubS1.wheel_cap_delta_re = 1.2566371
SubS2.frenagem = 0 SubS2.SubS1.wheel_cap_phi1_rad_re =
SubS2.c1 = 46.5 Indice de aceleração 0.40872665
SubS2.v1 = 59.5 Velocidade Inicial SubS2.SubS1.wheel_cap_phi2_rad_re =
SubS2.vd = 20 Velocidade Desejada 0.78539816
SubS2.c2 = 5 Torque de frenagem SubS2.SubS1.wheel_cap_shift_y_re = 0.03445
SubS2.v2 = 10 ? offset
SubS2.vf = 10 ? SubS2.SubS1.mwheel = 20 Mass of wheel
SubS2.c3 = 0 Distribuição de Frenagem SubS2.SubS1.iwheelx = 0.25 Moment of itertia
SubS2.cgz = 0 Centro de Massa Z of wheel X
SubS2.cgy = 0 Centro de Massa Y SubS2.SubS1.iwheely = 0.5 Moment of itertia
SubS2.cgx = 0 Centro de Massa X of wheel Y
SubS2.raiocone = 0.06 SubS2.SubS1.f = 0
SubS2.bitd = 0.0582 Bitola Dianteira SubS2.SubS1.ud = 0.99
SubS2.indcorrecao = 0.001 Indice de correção SubS2.SubS1.us = 1
SubS2.bitt = 0.07 Bitola Traseira SubS2.SubS1.kt = 3000000
SubS2.passo = 0.1 Rampa SubS2.SubS1.om = 2
SubS2.n = 0 Rampa SubS2.SubS1.ampll = 0.015
SubS2.d = 0 Distancia entre o primeiro carro e SubS2.SubS1.rjoint = 0.018
o segundo carro SubS2.SubS1.frenagem = 0
SubS2.kdir = 900000 SubS2.SubS1.v1 = 59.5
SubS2.cdir = 100000 SubS2.SubS1.c2 = 5
SubS2.x1 = 0 SubS2.SubS1.v2 = 10
SubS2.SubS1.v0 = 20 SubS2.SubS1.c3 = 0
SubS2.SubS1.ampl = 0 SubS2.SubS1.cgz = 0
SubS2.SubS1.h = 0.358505 SubS2.SubS1.cgy = 0
SubS2.SubS1.c = 4400 SubS2.SubS1.cgx = -0.3
SubS2.SubS1.fo = 200
Simulation time 100
Integration method PARK
Error tolerance 1E-5
Step for results 0.2

201
APÊNDICE G

Parâmetros do Controle de Manobras (Universal Mechanism) –


Simulação 2

tiremodel=D:\um40\bin\car\tire\trucktrailer.tr; irregularities=false;
staticload = driver_model=preview2order;
29.38,29.38,20.47,20.47,20.47,20.47,20.02,20.0 preview_time=1; reaction_delay=0.05;
2,20.02,20.02,22.07,22.07,22.07,22.07,20.27,20 control_gain=0.075; control_gain2=1.5;
.27,20.27,20.27,20.19,20.19,20.19,20.19; kd=0.2; ki=2;
staticdeflection = lvmode=constant;
37.3,37.3,26.0,26.0,26.0,26.0,25.4,25.4,25.4,25. with vehicletest; testtype=ttVerticalLoading;
4,28.0,28.0,28.0,28.0,25.7,25.7,25.7,25.7,25.6,2 irregularities=false;
5.6,25.6,25.6; amplitude=235.5;
with cartrack; frequency=0.25;
trackmg=D:\um40\Models\trajetoriaAGV.mgf; susp_stiff_center=0;
trackiss_left=; trackiss_right=; with susp_stiff_front=0;
vehicletest; testtype=ttSteady; susp_stiff_rear=0;
irregularities=false; with vehicletest; testtype=ttHorizontalLoading;
fz_TyreSteerL=29379.9697656904; irregularities=false;
fz_TyreSteerR=29379.970172576; amplitude=94.2;
fz_TyreDrive2L1=20020.5164737243; frequency=0.25;
fz_TyreDrive2R1=20020.5164713372; susp_stiffy_center=0;
fz_TyreDollyL1=22073.7147038063; susp_stiffy_front=0;
fz_TyreDollyR1=22073.7173801485; susp_stiffy_rear=0;
fz_TyreTrailer2L1=20190.7426930789; with vehicletest; testtype=ttCamberRegulation;
fz_TyreTrailer2L2=20190.7428669787; irregularities=false;
fz_TyreTrailer2R2=20190.7436122631; camber_angle_left=,0;
fz_TyreTrailer2R1=20190.7437861629; camber_angle_right=,0;
dz_TyreSteerL=0.0372789270632732; pitch=,0; amplitude_left=10;
dz_TyreSteerR=0.0372789275795522; frequency_left=1; amplitude_right=10;
dz_TyreDrive2L1=0.0254031361960284; frequency_right=1; with vehicletest;
dz_TyreDrive2R1=0.0254031361929995; testtype=ttToeRegulation; irregularities=false;
dz_TyreDollyL1=0.0280083474224556; atoe_angle_left=,0;
dz_TyreDollyR1=0.0280083508183463; atoe_angle_right=,0;
dz_TyreTrailer2L1=0.0256191286176063; pitch=,0;
dz_TyreTrailer2L2=0.0256191288382599; amplitude_left=10;
dz_TyreTrailer2R2=0.0256191297839179; frequency_left=1;
dz_TyreTrailer2R1=0.0256191300045715; amplitude_right=10;
/// Parâmetros Numéricos do Modelo de frequency_right=1;
Controle de Segunda Ordem with vehicletest;
with vehicletest; testtype=ttTrailArmRegulation;
testtype=ttSteeringWheelRotation; irregularities=false;
irregularities=false; atrailarm_angle_left=,0;
amplitude=0.2; atrailarm_angle_right=,0;
frequency=0.25; pitch=,0; amplitude_left=10;
steering_ratio=1.00095255279254; frequency_left=1;
lvmode=constant; amplitude_right=10;
with vehicletest; testtype=ttOpenLoopSteering; frequency_right=1;
irregularities=false; currenttest=ttDriverTest;
lvmode=constant; with olsteering;
steeringdatafile="D:\um40\bin\car\Open title=PulseSteer; abscissa=time;
loop\step steer.ols"; ///Pontos Geração Trajetória
finite_steering=false; data={ 0 0 L
with vehicletest; testtype=ttDriverTest; 0.01003 0 L

202
0.02007 0 L lrod = 3.07961
0.0301 0 L cLocking = 0
0.04013 0 L beta_locking = 0
0.05017 0 L Truck.v0 = 2.778
0.0602 0 L Truck.rwheel = 0.5
0.07023 0 L Truck.tyrewidth = 0.3
0.08027 0 L Truck.mTruck = 19900
0.0903 0 L Truck.IxxTruck = 19460
0.1003 0 L Truck.IyyTruck = 134680
0.1104 0 L Truck.IzzTruck = 135950
0.1204 0 L Truck.raxle = 0.05
0.1304 0 L Truck.mSteerAxle = 404
0.1405 0 L Truck.IxxSteerAxle = 145.3
0.1505 0 L Truck.IyySteerAxle = 20.4
20 0 L Truck.IzzSteerAxle = 163.7
}; with Long_vel_profile; Truck.mWheel = 98
title=(íåò); abscissa=distance; Truck.IxxWheel = 6.9
data={}; with steering; Truck.IyyWheel = 12.3
steering_angle=Truck.steeringwheelangle,0; Truck.IzzWheel = 6.9
dsteering_angle=Truck.dsteeringwheelangle,0; Truck.rpincoupling = 0.04
steering_stiffness=Truck.csteering,0; Truck.r1pincoupling = 0.055
steering_damping=Truck.dsteering,0; Truck.bfrc_spring_l0 = 1
steering_ratio=1; Truck.bfrc_spring_r = 0.15
steering_angle_index=3; Truck.bfrc_spring_drod = 0.035
with long_v_control; Truck.hsteerdrive = 0
m_long_control=Truck.MLongitudinalControl,0 Truck.hdriveaxle = 0
; long_gain=500; Truck.dSteer = 3502
with locking_data; Truck.dDrive = 13658
c_locking=cLocking,100000; Truck.cRollSteer = 24751.78
beta_locking=beta_locking,0.3; Truck.cRollDrive = 97116.346
with unit; Truck.F0Steer = 26360
unittype=vehicle; Truck.F0Drive1 = 36360
bodies="Truck.Truck","Truck.AxleSteer","Truc Truck.F0Drive2 = 34890
k.WheelSteerL","Truck.WheelSteerR","Truck.A Truck.mDriveAxle = 608
xleDrive1","Truck.AxleDrive2","Truck.WheelD Truck.IxxDriveAxle = 238.8
rive1L1","Truck.WheelDrive1L2","Truck.Whee Truck.IyyDriveAxle = 33.9
lDrive1R1","Truck.WheelDrive1R2","Truck.W Truck.IzzDriveAxle = 238.8
heelDrive2L1","Truck.WheelDrive2L2","Truck. Truck.MLongitudinalControl =
WheelDrive2R1","Truck.WheelDrive2R2","Tru 115.80619450169
ck.UprightL","Truck.UprightR",; Truck.beta_locking = 0
carbody="Truck.Truck"; Truck.cLocking = 0
with unit; unittype=trailer; Truck.csteering = 2000000
bodies="Semitrailer.Dolly","Semitrailer.AxleDo Truck.betaSteering = 0.3
lly","Semitrailer.WheelDollyL1","Semitrailer. Truck.steeringwheelangle = 0
WheelDollyL2","Semitrailer.WheelDollyR1","S Truck.dsteeringwheelangle = 0
emitrailer.WheelDollyR2","Semitrailer.SemiTra Truck.L0Steer = 0.8
iler","Semitrailer.AxleSemitrailer1","Semitrailer Truck.L0Drive = 0.8
.AxleSemitrailer2","Semitrailer.WheelTrailer1L Truck.ltank = 1.6
1","Semitrailer.WheelTrailer1L2","Semitrailer. Truck.rtank = 0.4
WheelTrailer1R1","Semitrailer.WheelTrailer1R Truck.wheel_tirewidth = 0.3
2","Semitrailer.WheelTrailer2L1","Semitrailer. Truck.wheel_radius = 0.5715
WheelTrailer2L2","Semitrailer.WheelTrailer2R Truck.wheel_tireheight = 0.25
1","Semitrailer.WheelTrailer2R2",; Truck.wheel_tirecurving = 0.05
carbody="Semitrailer.SemiTrailer"; Truck.rdriveaxle = 0.3
with end; Truck.r_upright = 0.1
///Parâmetros Iniciais da Configuração do Truck.wheelaxle_radius = 0
Veículo
Par v0 = 2.778 ///Velocidade Inicial
rpincoupling = 0.04
r1pincoupling = 0.055

203

Você também pode gostar