curitiba, 2012 - dainf.ct.utfpr.edu.br · pdf file4 resumo esse projeto consiste na...
TRANSCRIPT
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
DEPARTAMENTE ACADÊMICO DE INFORMÁTICA
DEPARTAMENTO ACADÊMICO DE ELETRÔNICA
ENGENHARIA DE COMPUTAÇÃO
GUILHERME DA SILVA VIOLADA
ANDRÉ LUIZ CIRINO DOS SANTOS
PROJETO: PONTE ROLANTE
MONOGRAFIA
CURITIBA, 2012
2
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
DEPARTAMENTE ACADÊMICO DE INFORMÁTICA
DEPARTAMENTO ACADÊMICO DE ELETRÔNICA
ENGENHARIA DE COMPUTAÇÃO
GUILHERME DA SILVA VIOLADA
ANDRÉ LUIZ CIRINO DOS SANTOS
PROJETO: PONTE ROLANTE
MONOGRAFIA
CURITIBA, 2012
3
GUILHERME DA SILVA VIOLADA
ANDRÉ LUIZ CIRINO DOS SANTOS
MONOGRAFIA PROJETO:
PONTE ROLANTE
Monografia apresentada à disciplina
Oficina de Integração 3 do curso de
Engenharia de Computação da
Universidade Tecnológica Federal do
Paraná
Professores: João A. Fabro
Heitor S. Lopes
Curitiba, 2012
4
RESUMO
Esse projeto consiste na simulação de um robô autônomo em uma ponte
rolante responsável por guardar ou retirar caixas de um estoque, sendo
basicamente constituído por três partes: Estação base, geradora de comandos
e sobre a qual o usuário interage, sistema de comunicação, que capta os
comandos vindos da estação base e os encaminha a diante, e sistema de
simulação da ponte, destino final dos comandos encaminhados pelo sistema de
comunicação, interpretando o comando e simulando a operação realizada na
ponte rolante.
Palavras chave: Estação base, sistema de comunicação, simulação ponte
rolante.
5
ABSTRACT
This project involves the simulation of an autonomous robot in a bridge rolling
responsible for keeping or removing boxes of a stock, which basically consists
of three parts: base station, generating commands and on which the user
interacts, communication system, which captures commands from the base
station and forwards in front, and system simulation of the bridge, the final
destination of the commands sent by the communication system, the command
interpreting and simulating the operation performed on the crane.
Keywords: base station, communication system, simulation bridge rolling.
6
LISTA DE FIGURAS
Figura 1: Visão geral do projeto ....................................................................... 12
Figura 2: Exemplo QRCode ............................................................................. 15
Figura 3: Kit P51N v2.0 .................................................................................... 18
Figura 4: Motor DC ........................................................................................... 19
Figura 5: Ponte H ............................................................................................. 19
Figura 6: Encoders e sensores ópticos ............................................................ 20
Figura 7: Casos de uso .................................................................................... 21
Figura 8: Entidade Caixa .................................................................................. 31
Figura 9: Diagrama de classes Estação base .................................................. 32
Figura 10: Interface gráfica............................................................................... 33
Figura 11: Protocolo Estação base .................................................................. 36
Figura 12: Protocolo de comunicação base ..................................................... 37
Figura 13: Máquina de estado protocolo Sistema de simulação de ponte rolante
......................................................................................................................... 37
Figura 14: Protocolo Sistema simulação .......................................................... 37
Figura 15: Funcionamento geral ....................................................................... 38
Figura 16: Esquemático ................................................................................... 38
Figura 17: Inserção de caixa ............................................................................ 39
Figura 18: Remoção Fase 1 ............................................................................. 40
Figura 19: Remoção finalizando operação ....................................................... 40
Figura 20: Remoção abortando ........................................................................ 40
7
LISTA DE TABELAS
Tabela 1: requisitos estação base .................................................................... 12
Tabela 2: requisitos sistema de comunicação .................................................. 13
Tabela 3:requisitos sistema de simulação de Ponte rolante ............................ 14
Tabela 4:comparativo JAVA x C++ .................................................................. 16
Tabela 5: Windows vs Linux ............................................................................. 17
Tabela 6:Caso de Uso Solicitar Remoção Caixa .............................................. 22
Tabela 7: Caso de Uso Solicitar Inserção Caixa .............................................. 24
Tabela 8: Caso de Uso Solicitar Informações Caixa ........................................ 25
Tabela 9:Caso de Uso GerarQRCode Caixa.................................................... 26
Tabela 10: Caso de Uso Capturar QRCode ..................................................... 27
Tabela 11: Caso de Uso Validar Caixa ............................................................ 28
Tabela 12: Visualizar WebCam ........................................................................ 29
Tabela 13: Exportar para Excel ........................................................................ 30
8
Sumário
1. INTRODUÇÃO ...................................................................................................................... 9
1.1 MOTIVAÇÃO ....................................................................................................................... 9 1.2 OBJETIVOS......................................................................................................................... 9
1.2.1 OBJETIVOS ESPECÍFICOS ...................................................................................... 10 1.3 PREMISSAS ...................................................................................................................... 10 1.4 RESTRIÇÕES ................................................................................................................... 11
2. ANÁLISE TECNOLÓGICA ................................................................................................. 11
2.1 VISÃO GERAL ............................................................................................................. 11 2.2 REQUESITOS ............................................................................................................. 12
2.2.1 REQUISITOS ESTAÇÃO BASE ......................................................................... 12 2.2.2 REQUISITOS SISTEMA DE COMUNICAÇÃO ................................................... 13 2.2.3 REQUISITOS SISTEMA DE SIMULAÇÃO DE PONTE ROLANTE ................... 14
2.3 TECNOLOGÍAS UTILIZADAS ..................................................................................... 15 2.3.1 ESTAÇÃO BASE ................................................................................................. 15 2.3.2 SISTEMA DE COMUNICAÇÃO .......................................................................... 18 2.3.3 SISTEMA DE SIMULAÇÃO DE PONTE ROLANTE ........................................... 18
3. ESTAÇÃO BASE ................................................................................................................ 20
3.1 CASOS DE USO DO SISTEMA ................................................................................... 21 3.1.1 TABELAS DE CASOS DE USO .......................................................................... 22
3.2 DIAGRAMA ENTIDADE RELACIONAMENTO DO BANCO DE DADOS .................... 31 3.3 DIAGRAMA DE CLASSES DA ESTAÇÃO BASE ........................................................ 31 3.4 INTERFACE GRÁFICA ............................................................................................... 33
4. SISTEMA DE COMUNICAÇÃO .......................................................................................... 34
4.1 PROTOCOLO DE COMUNICAÇÃO ...................................................................................... 34 4.2 PROTOCOLO DE COMUNICAÇÃO IMPLEMENTADO PELA ESTAÇÃO BASE ............................... 35 4.3 PROTOCOLO DE COMUNICAÇÃO IMPLEMENTADO PELO SISTEMA DE SIMULAÇÃO DA PONTE
ROLANTE ................................................................................................................................... 37
5. SISTEMA DE SIMULAÇÃO DE PONTE ROLANTE .......................................................... 38
5.1 ESQUEMÁTICO DO CIRCUITO ................................................................................. 38 5.2 PASSOS PARA INSERÇÃO ....................................................................................... 39 5.3 PASSOS PARA REMOÇÃO ........................................................................................ 39
5.3.1 REMOÇÃO FASE 1 ............................................................................................. 40 5.3.2 REMOÇÃO FASE 2 FINALIZANDO OPERAÇÃO .............................................. 40 5.3.1 REMOÇÃO FASE 2 ABORTANDO OPERAÇÃO ............................................... 40
6. CONCLUSÕES E RESULTADOS ...................................................................................... 41
A) PLANO DE RESPOSTAS AOS RISCOS .............................................................................. 42
9
1. INTRODUÇÃO
Esse projeto consiste na simulação de um robô autônomo em uma ponte
rolante responsável por guardar ou retirar caixas de um estoque.
O projeto é dividido em três partes: Primeiramente a Estação base,
sobre a qual o usuário interage e a também parte responsável por gerar os
comandos que serão interpretados pelo circuito que simula o robô autônomo.
Em seguida temos a parte dois, o Sistema de comunicação, que capta os
comandos vindos da estação base e os encaminha a diante em direção à
terceira e última parte, o Sistema de simulação da ponte, este tem por objetivo
interpretar os comandos recebidos e simular, por meio de um circuito
eletrônico, as operações de inserção e retirada de caixas realizada por uma
ponte rolante sobre um estoque.
1.1 MOTIVAÇÃO
Esse projeto tem como motivação a solução de um problema de logística
de empresas que necessitam de um gerenciamento de material estocado.
Muitas destas possuem um grande volume de material e parte desse não pode
ser transportado por pessoas devido a diversos fatores como forma, peso e
tamanho.
1.2 OBJETIVOS
Facilitar a organização e a manipulação de caixas em um depósito, capaz
de manipular o estoque inserindo ou removendo caixas conforme necessário.
10
1.2.1 OBJETIVOS ESPECÍFICOS
Desenvolver um software para uma estação base que possibilite o
operador interagir com o sistema de simulação da ponte.
Implementar a comunicação da estação base com um banco de dados
interno, que guarde as informações das caixas contidas no estoque.
Elaborar um sistema de identificação de caixas.
Desenvolver um sistema de comunicação para interligar o sistema de
simulação de ponte com a estação base.
Desenvolver um protocolo para esse sistema de comunicação que trate
erros e timeouts de mensagens, além da perda de comunicação entre
estação base – sistema de simulação de ponte.
Desenvolver um circuito eletrônico que simule a operação que seria
realizada por uma ponte rolante sobre um estoque.
Desenvolver um projeto robusto que possibilite a replicação e possível
continuação, como por exemplo, a elaboração da estrutura da ponte
rolante propriamente dita, ao invés de uma simulação eletrônica.
1.3 PREMISSAS
Estoque deverá ter um número limitado de caixas.
Todas as caixas pertencem a um mesmo cliente.
Não será desenvolvida a estrutura mecânica da ponte rolante.
Para simulação dos motores desta estrutura são utilizados motores DC
com encoders.
Gastos limitados.
Distância entre estação base – sistema de simulação de ponte limitado
pelo tamanho do cabo utilizado.
Na retirada da caixa nunca haverá uma caixa em cima.
11
1.4 RESTRIÇÕES
Devido a problemas internos da equipe, o número de integrantes foi
reduzido de cinco para penas duas pessoas.
Tempo disponível para elaboração do projeto, cerca de 12 semanas.
Tempo disponível desde a redução dos membros da equipe, cerca de 3
semanas.
2. ANÁLISE TECNOLÓGICA
Esta seção visa fornecer ao leitor uma visão geral sobre o projeto, aqui
também serão expostos os requisitos de construção e tecnologias utilizadas
pela equipe.
2.1 VISÃO GERAL
A figura 1 demonstrada na página seguinte oferece uma visão da
proposta do projeto própriamente dita. Nela podemos ver a estação base,
composta basicamente por um computador com o software implementado, o
sistema de comunicação, composto pelo meio físico utilizado e protocolo de
comunicação, comentado na seção X e o sistema de simulação de Ponte
rolante. Nesse ponto é importante deixar claro ao leitor diferença entre a
estrutura física da ponte rolante e o circuito eletrônico utilizado para simulação.
O primeiro consiste em uma estrutura mecânica munida de motores para três
eixos distintos, estes efetuam deslocamentos sobre um tilho de rolamento nos
eixos x,y e z de um plano cartesiano. Além dos motores, a estrutura também
contém um eletroíma utilizado como equipamento de levantamento de caixas.
Essa estrutura física pode ser vista na figura 1. O circuito eletrônico utilizado
simula tal estrutura, contendo três motores DC representando os motores da
estrutura física, três encoders, três chaves dip-swith atuando como chaves de
fim de curso, CIs lógicos diversos e um LED representando o estado do
eletroímã, ligado ou desligado. Com isso, o funcionamento básico da estrutura
física de uma ponte rolante pode ser de certa forma simulado. O esquemático
deste circuito será mostrado mais adiante.
12
Fonte: autoria própria
2.2 REQUISITOS
Esta seção comenta os requisitos de cada uma das partes do projeto
citadas anteriormente.
2.2.1 REQUISITOS ESTAÇÃO BASE
A tabela 1 mostrada abaixo apresenta os requisitos da estação-base:
Tabela 1: requisitos estação base
Requisito
Especificação
Interface com o usuário O software implementado deve ter uma interface gráfica intuitiva, clara e de fácil utilização para o usuário.
Implementar comunicação serial O software deve ser capaz de estabelecer uma comunicação serial por portas pré-definidas através do sistema de comunicação para o sistema de simulação de Ponte Rolante.
Implementar o Protocolo especificado
A estação base deve implementar de maneira adequada os requerimentos impostos pelo protocolo criado.
Figura 1: Visão geral do projeto
13
2.2.2 REQUISITOS SISTEMA DE COMUNICAÇÃO
A tabela 2 mostrada a seguir apresenta os requisitos do sistema de
comunicação:
Tabela 2: requisitos sistema de comunicação
Requisito
Especificação
Estabelecer a comunicação entre estação base e sistema de simulação de ponte rolante
O sistema de comunicação deve tanto ser capaz de enviar mensagens da estação base em direção ao sistema de simulação de ponte rolante, quanto também enviar mensagens no sentido contrário, do sistema de simulação para a estação base.
Especificar um Protocolo de comunicação
O sistema de comunicação deve também especificar um protocolo de comunicação para troca de mensagens que será implementado pela estação base e sistema de simulação da ponte. Sendo que o protocolo garante a troca de mensagens corretas, timeouts e perda de comunicação entre os elementos envolvidos.
14
2.2.3 REQUISITOS SISTEMA DE SIMULAÇÃO DE PONTE ROLANTE
A tabela 3 abaixo apresenta os requisitos do sistema de simulação de
ponte rolante:
Tabela 3:requisitos sistema de simulação de Ponte rolante
Requisito
Especificação
Três motores DC O circuito utilizado pelo sistema deve conter três motores DC, simulando os motores da estrutura física.
Velocidades distintas de operação para os motores
Os motores devem trabalhar sobre três velocidades distintas, lenta, média e alta, de acordo com o momento de operação.
Três encoders O circuito também contem três encoders para controle geral da rotação de cada um dos motores citados anteriormente.
Ponte H O sistema precisa também fazer o uso de uma ponte H para possibilitar a movimentação dos motores em ambos os sentidos.
LED O uso de um led é feito para simulação dos estados ligado ou desligado do eletroímã presente na estrutura física de uma ponte rolante.
Chave de fim de curso Deve ser usada uma chava de fim de curso para que o erro acumulado pelos encoders seja zerado não afetando o desempenho geral.
Implementar o Protocolo especificado
O sistema de simulação deve implementar de maneira adequada os requerimentos impostos pelo protocolo criado, possibilitando sua troca de mensagens com a estação base.
15
2.3 TECNOLOGIAS UTILIZADAS
Nesta subseção serão apresentadas as tecnologias utilizadas pela equipe para
a elaboração do projeto.
2.3.1 ESTAÇÃO BASE
A seguir serão listas as escolhas tecnológicas realizadas para a estação
base.
2.3.1.1 Método de identificação de caixa
O método definido como identificação para as caixas foi a utilização de
QRCodes, a escolha por esse tipo de identificação se deu pela sua crescente
utilização nos mais diversos meio durante os últimos anos. Um exemplo de
QRCoder é mostrado na figura 2 abaixo, caso o leitor aponte para a figura um
leitor de QRCodes, como o BarcodeScanner disponível para Android, o
seguinte texto é apresentado: “Oficinas de integração 3, pura emoção!”
Figura 2: Exemplo QRCode
Fonte: Autoria própria
16
Para a criação destes QRCoder é utilizada uma biblioteca chamada ZXing
(pronuncia-se “zebra crossing”) open-source voltada a elaboração de imagens
1D/2D para barcodes (leitores de QRCodes). Atualmente há duas versões
disponíveis, uma para a linguagem de programação Java, e outra para a
linguagem C++, no entanto, o desenvolvimento desta segunda esta atrasado
em relação a primeira.
Sendo assim, cada caixa no estoque deve ter um QRCode na parte superior
contendo sua identificação. Com isso, a imagem pode ser capturada por uma
câmera USB conectada com a estação base, decodificada e analisada em
seguida.
2.3.1.2 Linguagem de programação
Diante da disponibilidade da biblioteca citada anteriormente para Java e
C++, a escolha da equipe fica limitada entre uma das duas. A tabela a seguir
faz um comparativo de ambas:
Tabela 4:comparativo JAVA x C++
JAVA C++
Programação Orientada a Objetos Sim Sim
Experiência dos membros da equipe Sim Sim
Biblioteca QR Code Sim Parcial
Suporte Fácil a Câmera USB Sim Não
Se baseando nos dados acima é optada pela linguagem de programação
JAVA, pois, além do fato da biblioteca ZXing para esta linguagem se encontrar
em uma fase mais avançada de desenvolvimento, também há o fato de
oferecer melhor suporte a utilização de webcams USB.
17
2.3.1.3 Banco de dados
Quanto ao banco de dados a ser utilizado pela estação base, a escolha
se matém entre os dois mais utilizados atualmente, PostgreSQL e MySql.
Ambas são boas soluções e competem fortemente no mercado de softwares de
banco de dados. MySQL tem sido considerado durante algum tempo como a
solução mais rápida, no entanto, detentor de menos características que seu
concorrente. Já o PostgreSQL é considerado mais denso quanto as
funcionalidades, mas com desempenho inferior ao MySQL.
Tais pressupostos são, entretanto, na maioria antigos, se baseando em
versões como MySQL 4.1 ou PostgreSQL 7.4, sendo que, nas versões atuais,
ambos os softwares apresentaram melhoras significativas. Sendo assim, o
projeto é implementado sobre o banco de dados PostgreSQL 9.1.3 apenas pela
já experiência de trabalho tido com esse pelos membros da equipe.
2.3.1.4 Sistema Operacional
Um rápido comparativo entre os sistemas é dados pela tabela a seguir:
Tabela 5: Windows vs Linux
Windows Linux
Licença
Pago Livre
Suporte a Linguagem JAVA
Sim Sim
Suporte ao PostgreSQL
Sim Sim
Suporte a Driver da Webcam
Sim Não
A escolha pelo Windows se da basicamente pelo fato de se encontrar
uma variedade melhor de drives de webcam para o mesmo, além de muitos
dos muitos dos atuais drivers para Linux serem adaptações que, algumas
vezes, deixam a desejar.
18
2.3.2 SISTEMA DE COMUNICAÇÃO
Devido ao pequeno espaço de tempo depois da restruturação dos
membros da equipe, o meio de comunicação físico utilizado é um canal
comunicação serial devido a este já estar disponível no kit do microcontrolador
utilizado (descrito mais adiante) no sistema de simulação de Ponte Rolante.
2.3.3 SISTEMA DE SIMULAÇÃO DE PONTE ROLANTE
Esta subseção tem por objetivo demonstrar as tecnologias utilizadas na
implementação do sistema de simulação de ponte rolante.
2.3.3.1 Kit 8051
No presente projeto decidiu-se utilizar o kit 8051, pois ele atende os requisitos.
Ele foi utilizado para controle do circuito e comunicação com a estação-base.
Figura 3: Kit P51N v2.0
Fonte: http://pessoal.utfpr.edu.br/hslopes/sistmicro/docs/ManualP51NV2_ago_2009.pdf
19
2.3.3.2 Motor DC
Foi necessária a utilização de três motores dc para simular o movimento da
ponte rolante nos eixos x, y e z.
\
Figura 4: Motor DC
2.3.3.3 L298N
Para interfacear os três motores foram necessárias duas pontes h para
alimentá-los com a corrente necessária e permitir o movimento em ambos os
sentidos.
Figura 5: Ponte H
20
2.3.3.4 PHCT203
Para conhecimento da distância percorrida pelos motores, foram utilizados três
sensores ópticos em conjunto com encoders.
Figura 6: Encoders e sensores ópticos
3. ESTAÇÃO BASE
Esta seção tem por objetivo descrever a estação base como um todo,
apresentando o diagrama de casos de uso, atores que interagem com o
sistema, documentação dos casos de uso, diagrama de classes, diagrama de
Entidade relacionamento do Banco de dados e a interface gráfica do software
propriamente dita.
Usuário: Este ator representa a pessoa física que está se utilizando de
serviços fornecidos pelo software no momento, como solicitar inserção
de caixa, remoção ou informações.
Microcontrolado: Este ator representa basicamente o sistema de
simulação de Ponte Rolante controlado por um microcontrolador.
Banco de Dados: Este ator representa o software de banco de dados
que trabalhará juntamente com a Estação Base no controle do estoque.
21
3.1 CASOS DE USO DO SISTEMA
O diagrama de casos de uso do sistema é apresentado na figura 3
abaixo, seguido das respectivas descrições de cada caso:
Figura 7: Casos de uso
Fonte: Autoria própria
22
3.1.1 TABELAS DE CASOS DE USO
Tabela 6:Caso de Uso Solicitar Remoção Caixa
Nome do caso de Uso Solicitar Remoção Caixa
Ator Principal Usuário
Ator Secundário Microcontrolado, Banco de dados
Resumo Este caso de uso descreve as etapas percorridas pelo software para
retirar uma caixa do sistema.
Pré-Condições A caixa solicitada encontra-se no local estipulado
Pós-Condições -
Fluxo Principal de Eventos:
Ações do ator Ações do Sistema
1. Usuário clica sobre o id
da caixa que deseja
remover
2. Usuário solicita remoção
de caixa
3. Sistema avisa ao usuário que o eletroímã será deslocado, e
aguarda a confirmação do usuário para início do processo.
4. Usuário confirma
mensagem de aviso
5.Sistema solicita ao microcontrolador que desloque a webcam a
posição a caixa esta localizada.
6.Sistema captura a imagem do QRCode
7.Sistema valida a retirada com a confirmação da identificação da
caixa com a presente no Banco de dados.
8.Sistema informa ao usuário que a caixa foi identificada com
sucesso e será removida ao ponto de retirada, aguardanda a
confirmação do usuário para início do processo.
9.Usuário confirma
mensagem de aviso
23
10.Sistema solicita ao microcontrolado a remoção da caixa para o
ponto de retirada e espera a confirmação de que o pedido foi
realizado com sucesso.
11.Sistema atualiza do banco de dados e as informações
demonstradas na tela
12.Sistema informa usuário que a caixa já esta pronta para retirada.
13. Usuário retira a caixa.
Fluxo de Evento
Excepcional:
5. Sistema invalida a caixa, sendo que essa não corresponde a
encontrada na devida posição.
6. Sistema retorna mensagem de erro ao usuário especificando o
problema.
7. Usuário deve resolver o
problema manualmente.
Fluxo de Evento
Excepcional 2:
Se a qualquer momento o microcontrolado deixar de responder aos
comandos da estação base, a mesma informa ao usuário o
problema.
24
Tabela 7: Caso de Uso Solicitar Inserção Caixa
Nome do caso de Uso Solicitar Inserção Caixa
Ator Principal Usuário
Ator Secundário Microcontrolado, Banco de dados
Resumo Este caso de uso descreve as etapas percorridas pelo software para
inserir uma caixa na Ponte Rolante
Pré-Condições Existência de possíveis locais de armazenagem
Pós-Condições -
Fluxo Principal de
Eventos:
Ações do ator Ações do Sistema
1. Usuário solicita
Inserção de caixa
2.Sistema pergunta ao usuário dados como a possível data de retirada
da caixa, posição que deseja armazenar a caixa e etc.
3.Sistema informa ao usuário que a solicitação de inserção será
realizada, pede que usuário pressione ok e aguarde um momento..
4. Usuário confirma
mensagem de aviso
5.Sistema solicita ao microcontrolado a inserção da caixa na devida
posição escolhida pelo usuário e espera confirmação de sucesso.
6.Sistema informa ao usuário que a caixa foi inserida com sucesso
7.Usuário confirma
mensagem de aviso
8.Sistema atualiza banco de dados
9.Sistema gera um novo QRCode de identificação.
10.Sistema mostra o QRCode ao usuário
Fluxo de Evento
Excepcional 1:
25
3. Se lugar especificado pelo usuário já estiver em uso, sistema solicita
ao mesmo uma nova localização.
Fluxo de Evento
Excepcional 2:
Se a qualquer momento o microcontrolado deixar de responder aos
comandos da estação base, a mesma informa ao usuário o problema.
Tabela 8: Caso de Uso Solicitar Informações Caixa
Nome do caso de Uso Solicitar Informações Caixa
Ator Principal Usuário
Ator Secundário Banco de dados
Resumo Este caso de uso descreve as etapas percorridas pelo software para
obter informações de uma caixa.
Pré-Condições -
Pós-Condições -
Fluxo Principal de
Eventos:
Ações do ator Ações do Sistema
1.Sistema busca no bando de dados todas as caixas armazenadas
2.Sistema carrega os dados na tabela mostrada ao usuário na interface
gráfica.
3Usuário obtém os dados
Fluxo de Evento
Excepcional 1:
2. Caso o sistema não consiga se conectar ao banco de dados retorna
um erro informando o problema.
26
Tabela 9:Caso de Uso GerarQRCode Caixa
Nome do caso de Uso GerarQRCode
Ator Principal Sistema
Ator Secundário Usuário
Resumo Este caso de uso descreve as etapas realizadas pela Estação base para
gerar um novo QRCode
Pré-Condições Solicitação do usuário para a inserção de uma caixa ou criação de um
novo QRCode através dos menus.
Pós-Condições -
Fluxo Principal de
Eventos:
Ações do ator Ações do Sistema
1. Sistema termina com sucesso uma inserção de caixa no estoque
2. Sistema busca número de identificação da caixa recém inserida.
3. Sistema se utiliza da biblioteca de QRCode ZXing.
4.Sistema gera a nova imagem de QRCode
5.Sistema Salva a imagem em um diretório pré-estabelecido.
6.Sistema Mostra ao usuário imagem criada.
Fluxo de Evento
secundário:
1.Usuário clica no
menu QRCoders
2.Usuário clica no
submenu Criar
QRCodes
3.Usuário informa
tamanho e dados a ser
gravado
4. Sistema se utiliza da biblioteca de QRCode ZXing.
27
5.Sistema gera a nova imagem de QRCode
6.Sistema Salva a imagem em um diretório pré-estabelecido.
7.Sistema Mostra ao usuário imagem criada.
Tabela 10: Caso de Uso Capturar QRCode
Nome do caso de Uso Capturar QRCode
Ator Principal Usuário
Ator Secundário Microcontrolado, Banco de dados
Resumo Este caso de uso descreve as etapas realizadas pelo sistema para
capturar um QRCode de uma caixa.
Pré-Condições Solicitação pelo usuário da remoção de uma caixa.
Pós-Condições -
Fluxo Principal de
Eventos:
Ações do ator Ações do Sistema
1. Sistema acessa banco de dados buscando a posição da caixa a ser
capturada o QRCode.
2.Sistema solicita ao microcontrolado que deloque a webcam até o devido
ponto.
3.Sistema captura a Imagem.
4.Sistema salva imagem em diretório pré-estabelecido para validação pela
Estação Base.
Fluxo de Evento
Excepcional 1:
2.Caso bando de dados não possa ser acessado retorna ao usuário
mensagem uma mensagem de erro informando o problema.
28
Tabela 11: Caso de Uso Validar Caixa
Nome do caso de Uso Capturar Validar Caixa
Ator Principal Usuário
Ator Secundário Microcontrolado, Banco de dados
Resumo Este caso de uso descreve as etapas realizadas pelo sistema para validar
o processo de retirada de caixa.
Pré-Condições Solicitação pelo usuário da remoção de uma caixa.
Pós-Condições -
Fluxo Principal de
Eventos:
Ações do ator Ações do Sistema
1. Sistema se utiliza da imagem gerada no caso de uso CapturarQRcode
para análise pela biblioteca ZXing.
2.Sistema acessa banco de dados e obtem a identificação armazenada da
caixa.
3.Sistema compara a informação armazenada com aquela interpretada da
imagem obtida.
4.Sistema valida o processo de remoção de caixa
Fluxo de Evento
Excepcional 1:
2.Caso bando de dados não possa ser acessado retorna ao usuário
mensagem uma mensagem de erro informando o problema.
Fluxo de Evento
Excepcional 2:
4.Imagem obtida não bate com informação armazenada, então sistema
invalida a Caixa para remoção
29
Tabela 12: Visualizar WebCam
Nome do caso de Uso Visualizar WebCam
Ator Principal Usuário
Ator Secundário -
Resumo Este caso de uso descreve as etapas realizadas pelo sistema para
fornecer ao usuário uma visualização da webcam
Pré-Condições Solicitação pelo usuário para visualizar a imagem atual da webcam.
Pós-Condições -
Fluxo Principal de
Eventos:
Ações do ator Ações do Sistema
1. Usuário clica no menu
Webcam
2.Sistema obtém acesso a imagem fornecida pela webcam conectada.
3.Sistema mostra em uma janela a parte a imagem atual
4. Se usuário desejar
salva a imagem
5.Sistema pergunta local onde usuário deseja salvar imagem
6.Sistema salva imagem e volta a tela anterior
Fluxo de Evento
Excepcional 1:
2.Não seja possível obter a imagem da webcam o sistema informa o
erro ao usuário
30
Tabela 13: Exportar para Excel
Nome do caso de Uso Exportar para Excel
Ator Principal Usuário
Ator Secundário -
Resumo Este caso de uso descreve as etapas realizadas pelo sistema para
exportar para excel a atual tabela mostrada ao usuário
Pré-Condições Solicitação pelo usuário para exportação da tabela atual exibida na
tela.
Pós-Condições -
Fluxo Principal de Eventos:
Ações do ator Ações do Sistema
1.Usuário clica no meu File
2.Usuário clica no submenu
Export para Excel
3.Sistema pergunta ao usuário o local onde deseja salvar a tabela
4.Sistema salva no local especificado
5.Sistema abre o arquivo salvo
31
3.2 DIAGRAMA ENTIDADE RELACIONAMENTO DO BANCO DE DADOS
Como partimos da premissa que todas as caixas pertencem a um único
cliente optamos por emitir essa entidade, sendo que o banco de dados será
composto basicamente pela entidade “Caixa”, responsável por guardar
informações referentes a cada caixa presente na grua.
Fonte: Autoria própria
3.3 DIAGRAMA DE CLASSES DA ESTAÇÃO BASE
A figura 5 da página seguinte mostra o diagrama de classes da estação
base, o software em si é composto por oito classes, que abrangem todos os
requerimentos feitos à estação base. Com um total de um mil oitocentos e oito
linhas comentadas, o software se encontra disponível no cd disponibilizado
juntamente com a monografia.
Figura 8: Entidade Caixa
32
Figura 9: Diagrama de classes Estação base
33
3.4 INTERFACE GRÁFICA
A interface gráfica é apresentada na figura 6 a seguir. Nela podemos
notar a presença de dois botões, inserir caixa e remover caixa, além de uma
barrada de status que informa ao usuário o status atual da operação solicitada.
Também esta presente uma tabela contendo informações de todas as caixas
atualmente disponíveis no estoque.
Figura 10: Interface gráfica
34
4. SISTEMA DE COMUNICAÇÃO
Esta seção tem por objetivo descrever o sistema de comunicação
utilizado, comentando o protocolo de comunicação estabelecido e que deve ser
implementado tanto por parte da Estação base como por parte do sistema de
simulação da ponte Rolante.
4.1 Protocolo de comunicação
O projeto se utiliza de um protocolo de comunicação baseado em eco,
portanto, ao enviar uma mensagem a estação base deve esperar o eco da
mesma para prosseguir, sendo assim, a parte do protocolo implementado pela
estação base deve ser complementar em relação a parte do protocolo
implementado pelo sistema de simulação da ponte rolante. Adiante serão
mostradas as máquinas de estado de ambos os lados.
É interessante também comentar de um modo geral os passos
executados pelo protocolo:
Inicialmente a estação base envia determinado comando para o
sistema de simulação de ponte rolante via canal de comunicação
serial e entra em um estado de espera do próprio eco.
O sistema simulação da ponte capta a mensagem que lhe foi
enviada e envia novamente em direção à estação base.
A estação base analisa eco e determina se a informação chegou
ao destino de maneira correta, o que acontece se o eco recebido
estiver de acordo com a mensagem enviada.
A estação base passa então a enviar um comando de execução
da mensagem anteriormente recebida, e espera o eco da
mesma.
O sistema de simulação envia o eco de execução, e começa a
realizar a operação.
A estação base passa então a esperar o sinal de finalização do
requerimento feito com sucesso.
35
Ao receber esse sinal, informa ao usuário que a ação requerida
foi terminada com sucesso.
Caso em algum momento alguma mensagem seja corrompida durante o
envio a estação base sempre reencaminhará a mensagem correta até que o
eco capturado esteja de acordo com esta. O protocolo também cobre o caso
em que um dos lados deixa de responder ao outro, sendo que, caso o sistema
de simulação deixe de responder a estação base, a mesma informa ao usuário
que a comunicação foi perdida, ou, no caso contrário, a estação base deixe de
responder ao sistema de simulação, esse aborta a operação e retorna ao ponto
inicial.
4.2 Protocolo de comunicação implementado pela estação base
A máquina de estado do protocolo de comunicação implementado pela
base é mostrada na página seguinte, nele podemos notar a dominância do
conceito de “Envio de mensagem – espera de eco”, também é possível notar
que tal protocolo cobre possíveis erros de transmissão de mensagens entre os
dois pontos, estação base – sistema de simulação de ponte rolante.
Além da transmissão de mensagens erradas o protocolo também
abrange timeouts de comunicação, existem basicamente dois tipos
considerados: Timeout de mensagens, com aproximadamente 3 segundos de
duração, nesse tempo poderiam ser enviadas 3600 mensagens através do
canal de comunicação serial com 9600bits/seg, sendo que o sistema é
considerado inoperante após três desses timeouts. O segundo tipo de timeout
considerado é o timeout de execução, este possui um tempo de duração muito
maior que o primeiro, cerca de 2 minutos, pois visa esperar o sinal de final de
execução do sistema de simulação da ponte rolante que só é emitido no fim do
processo requisitado, como no caso anterior, o sistema é considerado
inoperante após três desses timeouts serem obtidos em seguida.
36
37
4.3 Protocolo de comunicação implementado pelo sistema de simulação
da ponte rolante
A figura abaixo demonstra como o protocolo do sistema de simulação de
ponte rolante foi implementado, podemos ver nele a notação complementar em
relação ao utilizado pela estação base, se baseando em confirmações de eco
(representado pelas mensagens Execute), e tratando timeouts de
comunicação, caso em que o sistema aborta a operação corrente e retrocede a
posição inicial.
Figura 14: Protocolo Sistema simulação
Figura 13: Máquina de estado protocolo Sistema de simulação de ponte rolante
38
5. SISTEMA DE SIMULAÇÃO DE PONTE ROLANTE
Esta seção tem por objetivo descrever o funcionamento do sistema de
simulação de ponte rolante, o funcionamento geral dos motores pode ser
visualizado na figura 15 mostrada logo abaixo. O microcontrolador AT89S52
localizado no Kit P51 v2.0 exerce um controle PWM sobre os três motores DC
da simulação, se utilizando de também três velocidades distintas de operação.
Um encoder é utilizado em cada motor para contagem de pulsos sobre um
sensor óptico, que envia o sinal as portas de interrupção do microcontrolador.
Figura 15: Funcionamento geral
5.1 ESQUEMÁTICO DO CIRCUITO
Figura 16: Esquemático
39
5.2 PASSOS PARA INSERÇÃO
Figura 17: Inserção de caixa
5.3 PASSOS PARA REMOÇÃO
O processo de remoção é dividido em duas fases conforme mostrado a
seguir. Na fase 1 é realizado o deslocamento do eletroímã até a caixa a ser
removida e espera-se um sinal para finalizar a remoção adequadamente ou
aborta-la caso o QRCode não seja o o esperado.
40
5.3.1 REMOÇÃO FASE 1
Figura 18: Remoção Fase 1
5.3.2 REMOÇÃO FASE 2 FINALIZANDO OPERAÇÃO
Figura 19: Remoção finalizando operação
5.3.1 REMOÇÃO FASE 2 ABORTANDO OPERAÇÃO
Figura 20: Remoção abortando
41
6. CONCLUSÕES E RESULTADOS
Como conclusão do projeto Ponte rolante, temo o fato de a equipe ter
conseguido realizar com sucesso os itens propostos após a reestruturação dos
membros da equipe, sendo que a simulação da ponte rolante opera
adequadamente as operações de inserção e remoção de caixa que seriam
executadas pela ponte propriamente dita.
Tanto a estação-base, quanto o sistema de comunicação e sistema de
simulação de ponte rolante se mostraram funcionais e viáveis, sendo que, caso
em projetos futuros uma implementação da estrutura física da ponte rolante
decida ser feita, muito do trabalho aqui realizado pode ser aproveitado,
principalmente com relação a estação base.
O protocolo de comunicação desenvolvido também se mostrou
funcional, atingindo seu objetivo de troca de mensagem confiável e tratamento
de exceções, como timeout e perda de conexão entre os pontos.
A título de curiosidade foram colocados em anexo a seguir plano de
análise de respostas aos riscos, este foi estruturado no início do semestre
quando ainda todos os membros da equipe estavam presentes. Podemos ver
que, apesar da quantidade de riscos avaliados, é possível dizer que
praticamente todos os riscos realmente ocorreram de fato, indo muito além do
esperado, como, por exemplo, a desistência de 60% dos membros da equipe
restando apenas dois membros para realização de mais da metade do trabalho
proposto em um período de tempo extremamente reduzido.
42
A) PLANO DE RESPOSTAS AOS RISCOS
43
44
45
46
47
48
49
50
51
52
53
54
55