Sem resumo de edição |
|||
| Linha 225: | Linha 225: | ||
=Validação= | =Validação= | ||
[[Arquivo:modelagemfinal.jpg]] | |||
Edição das 22h14min de 1 de fevereiro de 2015
Reuniões - Esolvere
Primeira Reunião:
1/12/2014
Presentes: Gabriel Carranza e Luiz Scarpelli
{
1° Problema: Dificuldade na gestão do ERP, dados inconsistentes são inseridos no sistema com erro de digitação e em alguns casos com duplicidade de dados. As queixas são de funcionário distraído, a multiplicidade de funções dada a um único funcionário aumentam os casos de desvio de foco.
2° Problema: Ao dar entrada de paletes nos caminhões de distribuição, acontece dos funcionários trocarem a ordem e local de entrega, os motivos são pouco espaço físico, falta de padronização das operações.
3° Problema: As esteiras automatizadas e sopradoras, em algum momento param e os técnico tem dificuldade em determinar o problema, o pedido do cliente requer uma dashboard que avise aos superiores que houve uma parada na produção, que o técnico já foi comunicado e está em manutenção e assim que a máquina voltar a funcionar o sistema automaticamente detecta sem que o funcionário tenha que avisar ao sistema.
1° Solução Proposta: Desenvolver pequenas caixas de processamento, que armazenam sinais de sensores e enviam feedback quando determinada uma anomalia de processo.
2° Solução Proposta: Para o caso dos paletes, desenvolver um sistema tracking color, o algoritmo tem como função detectar a cor de cada palete e alertar quando determinada cor não entrar no caminhão correto. O alerta será feito por uma luz vermelha e um sinal falso.
3° Solução Proposta: Utilizando de sensores poderemos monitorar as máquinas, com o monitoramento completo, poderemos fazer manutenção preventiva em determinada parte que apresentam aos sensores, desgaste. Baseado em eventos passados, poderemos prever alguns problemas.
}
Segunda Reunião:
11/12/2014
Presentes: Alvason, Bruno Magalhães (não presente), Daniel Vale, Diego Maldini, Gabriel Carranza, Luiz Scarpelli e Ricardo.
{
- Apresentação de uma posbox
- Demonstração de uma solução embarcada
- Formas de conexões
- Cloud
- Fieldbus
- Modulo I/O
- Sensores
- Driver
- Atuadores
A apresentação foi muito bem compreendida, ocorreram erros no protótipo e exclui o código QR do celular, no momento da apresentação não tinha codigo para leitura, o codigo que tinha a resolução não era boa. O teste em casa funcinou perfeitamente. O ocorrido favoreceu a minha apresentação pois em momento algum mostrei o que eu tinha pronto, e melhor ainda, não mostrei solução concreta alguma. Visualmente todos compraram a idéia, permaneci no local por umas três horas, onde fui levado ao uma sala de reuniões, passou-se o tempo limite na sala, sinal de que estávamos bem distraídos, então fomos para a fábrica. Ali permaneci muito próximo do Diego que é o técnico no setor de manunteção. Desde o começo tive uma aproximação a ele, de certa forma ele entende tudo que eu quero entender. Os gerentes: industrial e TI, visualizam muito bem oque pode ser feito, e como estão ligados direto a administração (MBA), tecnologia. Querem uma solução como essa. Mas não existe uma conexão clara. Sensores, io, CLP, sistema supervisório e ERP(aqui existe um modulo que comunica com a fábrica). O objetivo é conectar todas as soluções paralelamente, mas que compare com o módulo ERP. Aqui ele conseguem me disponibilizar um espelho de tabela. A ideia é uma rede de informações paralelas, que comparam com espelhos de banco de dados. Aqui tem um dado real, de sensor, com uma tabela, entrada de mercadoria, incosistente. Essa comparação: dado real, dado incosistente. Resultado um dado incosistente, mais próximo do valor absoluto. Isso diminui erros, mas não cessa. O alerta na analise em tempo real, é fundamento ser corrigida; Pois o erro nunca será absoluto, logo existem formas de anomalias. As que me fizeram pensar mais foi uma solução para alterar a insatisfação do funcionário, existe casos dos próprios funcionários pararem a máquina propositalmente. Como se vivessemos na luta do homem com a máquina, pós revolução industrial. O clima hostil da fábrica me deixou preocupado. A solução a ser esculpida, é uma câmera que controla qualidade e monitore alguns processos da fabricação. Como vai ser usado imagem e processamento. O banco de dados final dessas imagens será um BD grafos. Que processa, e emite relatório dos processamentos anteriores uma BD documentos que compara com tabelas do modulo ERP.
}
Terceira Reunião:
20/12/2014
Presentes: Diego Maldini, Gabriel Carranza e Luiz Scarpelli
{
- Demonstração da solução para leitura de validade e lotes.
- Conectar ao modbus, para receber o momento em que a máquina imprime e o momento que passar pelo sensor.
- Acesso ao espelho do banco de dados.
- SDcard.
- Validação do dispositivo.
- Teste de 30 dias.
- Captura para a cloud.
- Comparativo.
}
Esquema de rotina
Esquema de solução
Área Amarela Extrair
- https://github.com/bharathp666/opencv_qr
- http://dsynflo.blogspot.com.br/2014/10/opencv-qr-code-detection-and-extraction.html
Área Azul Analytics
Área Vermelha Reconhecimento
- http://blog.ayoungprogrammer.com/2014/04/real-time-qr-code-bar-code-detection.html
- http://qrlive.bluegouda.com/
- Arquivo:86622 final.pdf
- Arquivo:Practical Computer Vision with SimpleCV.pdf
- http://opencv.org/
Construindo
OS
command line:
user# df -h
user# mkfs.vfat /dev/xxx1
user# umount /dev/xxx1
user# dd bs=4M if=raspbian.img of=/dev/xxx
- outro terminal
user# pkill -USR1 -n -x dd
- volta terminal
user# sudo sync
pi# nano /etc/network/interfaces
static
address
netmask
network
broadcast
gateway
pi# nano /etc/wpa_supplicant/wpa_supplicant.conf
network={
ssid="YOUR_NETWORK_NAME"
psk="YOUR_NETWORK_PASSWORD"
}
user# ssh pi@xxx.xxx.x.x
OPENCV
pi# sudo apt-get update
pi# sudo apt-get upgrade
pi# sudo apt-get -y install build-essential cmake cmake-curses-gui pkg-config libpng12-0 libpng12-dev libpng++-dev libpng3 libpnglite-dev zlib1g-dbg zlib1g zlib1g-dev pngtools libtiff4-dev libtiff4 libtiffxx0c2 libtiff-tools libeigen3-dev
pi# sudo apt-get -y install libjpeg8 libjpeg8-dev libjpeg8-dbg libjpeg-progs ffmpeg libavcodec-dev libavcodec53 libavformat53 libavformat-dev libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev libxine1-ffmpeg libxine-dev libxine1-bin libunicap2 libunicap2-dev swig libv4l-0 libv4l-dev python-numpy libpython2.6 python-dev python2.6-dev libgtk2.0-dev
pi# wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/download opencv-2.4.9.zip
pi# git clone https://github.com/Itseez/opencv.git
'pi# unzip opencv-2.4.9.zip
pi# cd opencv-2.4.9
pi# mkdir build
pi# cd build
pi# ccmake ../
pi# make
pi# sudo make install
uv4l
pi# sudo rpi-update
pi# wget http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc && sudo apt-key add ./lrkey.asc
pi# nano /etc/apt/sources.list
- deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy main
pi# sudo apt-get update
pi# sudo apt-get install uv4l uv4l-raspicam
pi# sudo apt-get install uv4l-raspicam-extras
OCR
pi# sudo apt-get install tesseract-ocr imagemagick
pi# convert test.jpg -threshold 20% test.jpg
pi# tesseract test.jpg test
pi# raspistill -o image.jpg | convert image.jpg -threshold 20% imagebw.jpg | tesseract imagebw.jpg imagebw | cat imagebw.txt
Código Python
import pytesseract
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD) //Configura o modo de definição de pinos como BOARD (contagem de pinos da placa)
GPIO.setwarnings(False) //Desativa os avisos
GPIO.setup(18, GPIO.OUT) //Configura o pino 18 da placa (GPIO24) como saída
while(1): //Inicia o loop infinito
print("LED ACESO\n") //Escreve na Python Shell a mensagem "LED ACESO" e pula uma linha
GPIO.output(18, 1) //Coloca o pino 18 em nível alto (1)
time.sleep(1) //Delay de 1 segundo
print("LED APAGADO\n") //Escreve na Python Shell a mensagem "LED APAGADO" e pula uma linha
GPIO.output(18, 0) //Coloca o pino 18 em nível baixo (0)
time.sleep(1) //Delay de 1 segundo




