ARTIGO TÉCNICO
J. Norberto Pires, Ricardo Araújo, Tiago Godinho
Departamento de Engenharia Mecânica
Universidade de Coimbra
CONTROLO E MONITORIZAÇÃO
DE CÉLULAS ROBOTIZADAS INDUSTRIAIS
DESENVOLVIMENTO DE UMA APLICAÇÃO UTILIZANDO WEBCAM, PC, PLC E SOCKETS TCP/IP
1. RESUMO
No desenvolvimento de células robotizadas existe um número crescente de equipamentos que interessa controlar e monitorizar. As
aplicações desenvolvidas devem ser flexíveis, permitindo a integração do maior número de dispositivos. Neste trabalho apresenta-se o
desenvolvimento de uma aplicação distribuída que integra uma WebCam USB, um PLC comum, PCs e um robô industrial. Para a comunicação entre os vários processos, em diversos pontos da rede local, utilizam-se sockets TCP/IP.
2. INTRODUÇÃO
O actual contexto económico impõe que a produção seja realizada por sistemas de produção flexível em oposição à automatização rígida, a qual é constituída por máquinas com elevada capacidade de produção mas com pouca
flexibilidade de adaptação, mesmo para pequenas alterações no produto.
Assim, como resposta às exigências impostas pela crescente diversidade de
produtos aliada à pressão sobre os preços e a qualidade, surge a automação
flexível e ágil. A automação flexível baseia-se em sistemas integrados e
computorizados, constituídos por vários equipamentos interligados através de
uma rede local e organizados, na maioria dos casos, segundo uma hierarquia
do tipo CIM – Computer Integrated Manufacturing [1]. É assim crucial introduzir
nos ambientes de produção uma grande flexibilidade, reduzindo os tempos
mortos inerentes à integração, configuração, programação e afinação das
células produtivas. Esta flexibilidade não se deve limitar à introdução de novos
equipamentos produtivos, mas também à completa integração de diversos
dispositivos de comando e controlo, de forma a que a flexibilidade inerente
seja aproveitada do ponto de vista operacional para adicionar agilidade ao
processo produtivo. Este tipo de abordagem é particularmente importante
para pequenas e médias empresas (PME) industriais.
Este artigo descreve uma aplicação na qual é utilizada uma WebCam USB para
identificar, quantificar e localizar peças num tapete transportador industrial.
Após o processamento de imagem, as peças são recolhidas do tapete por
um robô industrial (ABB IRB5 140 com controlador IRC5) e colocadas numa
caixa. É ainda utilizado um PLC e um variador de velocidade para monitorizar
e controlar o tapete transportador. O PLC está ligado a um PC através de
uma ligação série (RS232), e ao controlador do robô através de sinais de
entrada e saída digitais (IO). A aplicação aqui descrita foi desenvolvida numa
filosofia cliente-servidor tentando distribuir funções pelos vários elementos
do sistema [2]-[5].
C# .NET 2005. A segunda aplicação servidora corre no controlador do robô
e disponibiliza serviços de controlo e monitorização do robô. A aplicação
servidora da WebCam corre em PC, foi desenvolvida em LabView 7.1 da
National Instruments com o objectivo de permitir obter o número de peças
existentes no transportador, bem como a sua localização.
Para aceder aos serviços disponibilizados pelos servidores referidos foram
definidos três interfaces com o utilizador: baseado em PC, com comando por
voz, e baseado em PDA. As duas primeiras correm em PC, usando diferentes
interfaces com o utilizador. Na primeira, a interacção é feita através do
monitor, rato e teclado do PC. Na segunda, a interface é efectuada através
de voz [6]. A terceira aplicação é essencialmente uma versão para PDA. As
três aplicações foram desenvolvidas em Visual C# .NET 2005. Na comunicação
entre processos utilizam-se sockets TCP/IP, pois estes disponibilizam comunicações bidireccionais ponto-a-ponto e são um procedimento de comunicação
standard não dependendo da plataforma computacional usada, necessitando
apenas que a sintaxe das mensagens seja devidamente definida. O método
implementado é muito simples: a cada servidor foram atribuídos um IP e
um porto (IPEndPoint) diferente, e foram colocados em escuta de possíveis
ligações, só recebendo mensagens após as ligações serem correctamente
estabelecidas. Cada mensagem constitui o acesso a um serviço, e admite
uma resposta.
3. MÓDULOS SERVIDORES
Neste trabalho foram desenvolvidas três aplicações servidoras associadas aos
vários elementos do sistema, e uma aplicação cliente com vários interfaces.
A aplicação cliente comanda e monitoriza o sistema utilizando os serviços
disponibilizados pelas aplicações servidoras. O acesso a esses serviços é
feito estabelecendo ligações cliente-servidor que usam sockets TCP/IP. As
aplicações servidoras desenvolvidas são as seguintes: PLC Server associada
ao PLC, Robot Server associada ao robô industrial e Camera Server associada
à WebCam. A primeira corre em PC e permite controlar e monitorizar um
PLC S7200 da Siemens através do porto série, e foi desenvolvida em Visual
[4 ]
robótica
Figura 1 . Mensagens entre as várias aplicações
4. APLICAÇÃO CLIENTE
Como foi já referido, as aplicações clientes desenvolvidas permitem aos utilizadores controlar e monitorizar os diversos dispositivos existentes na célula
ARTIGO TÉCNICO
robotizada, efectuando chamadas remotas aos serviços disponibilizados pelos
servidores associados a esses dispositivos. Para aceder aos serviços o cliente
deve endereçar as mensagens relevantes para as aplicações servidoras.
Os serviços disponibilizados no servidor associado ao PLC permitem controlar
e monitorizar o tapete transportador, e podem ser acedidos utilizando a
aplicação cliente desenvolvida. Os serviços de comando do tapete permitem
a selecção do modo de operação (AUTO/MANUAL). Em modo AUTO, o tapete
avança sempre que uma peça atravessar o feixe do sensor 1 (Figura 2), e
desde que não exista nenhuma peça perante os feixes dos sensor 2 e 3. Esta
aplicação também permite solicitar o avanço do tapete até que uma peça
chegue ao sensor 2 (o tapete pára ao fim de 20 segundos caso não seja
detectada nenhuma peça). Em modo MANUAL é permitido ainda comandar o
avanço e a paragem do tapete. O estado do tapete e do controlador do robô
são monitorizados através do envio do comando <status> para o servidor do
PLC. Como resposta, a aplicação cliente recebe o estado do I/O bem como
o modo de operação do tapete.
Figura 3 . Aplicação cliente do transportador
Figura 2 . Modelação em SolidWorks da célula robotizada
Por inspecção do I/O do PLC é possível verificar quais os sensores de barreira que estão activados, bem como quando o motor que actua o tapete
é activado ou desactivado. É também possível monitorizar o controlador do
robô. Usando um timer a monitorização é realizada com uma frequência de
2kHz, actualizando os respectivos campos de informação da aplicação cliente.
Como foi já referido, utilizam-se as saídas digitais do PLC para comandar o
controlador do robô nomeadamente as funções de baixo nível associadas
ao controlo dos motores e do controlador de programas.
A aplicação servidora associada à Webcam responde a uma mensagem de
comando com o número de peças existentes no tapete e as coordenadas do
seu centro de massa. Através da composição de uma mensagem, que inclui
as coordenadas da peça N que se pretende recolher, e o seu envio para o
servidor do robô, solicita-se a sua recolha. Na figura 3 apresenta-se a interface gráfica da aplicação cliente. No início da operação, quando o botão “Init
Comm” é pressionado são testadas as comunicações com os três servidores.
O primeiro a ser testado é o servidor da Webcam (desenvolvido em LabView
7.1). A aplicação cliente abre e fecha um socket. Não ocorrendo nenhum
erro neste processo, testa-se de seguida o servidor do manipulador. Neste
caso, o teste é realizado através da abertura de um socket sendo enviada
posteriormente uma mensagem de teste para servidor do controlador que
se encontra em escuta. Caso não se verifique nenhum erro neste processo
o servidor responde com “0”. Após a garantia de que os dois primeiros
servidores se encontram disponíveis é efectuando o teste ao servidor do PLC.
Este teste é semelhante ao realizado ao servidor da Webcam. Após se ter
verificado que os servidores se encontram online e a funcionar correctamente,
inicia-se o processo de monitorização do modo de operação e de I/O do PLC,
com uma frequência de 2kHZ. Ao utilizador é permitido colocar o tapete em
modo MANUAL ou em AUTO (função “Change Mode”).
A função “Get Objetcs” executa a rotina que solicita ao servidor da WebCam
informação sobre as peças existentes no tapete. Caso existam peças na zona
útil da WebCam, a resposta é composta pelo número de peças existentes e
as suas coordenadas (x e y em mm) relativas a uma posição definida com
a “origem do tapete”. Estas coordenadas são listadas na interface gráfica
da aplicação cliente. Ao utilizador é também permitido comandar o estado
dos motores do robô (“Motor On” e “Motor Off”) e o estado do programa
(“Program Run” e “Program Stop”). No passo seguinte o utilizador deverá
escolher o modo de operação da célula: “Pick All Select” ou “Pick All Auto”.
No primeiro modo, o utilizador, após verificar o estado dos 3 servidores e
seleccionar o modo “Auto” do tapete, deverá aguardar que sejam introduzidas
peças no início do tapete. Ao serem colocadas no tapete elas interrompem o
feixe do sensor 1, sendo transportadas até ao sensor 2, parando o tapete. Caso
existam peças entre estes dois sensores, e nenhuma capaz de interceptar o
feixe do sensor 1, o utilizador pode solicitar o avanço do tapete através de
“Force Forward”. Após o sensor 2 ser activado, o utilizador deverá adquirir a
localização das peças existentes na zona útil da WebCam. Antes de solicitar
que uma peça seja recolhida deverá verificar se as seguintes condições do
controlador se verificam: modo – AUTO; motores – ON, programa – RUN;
emergências – OFF, estado - FREE. Depois deverá seleccionar, a partir da lista
de peças obtida, a peça a ser recolhida e premir “Pick Select”. Durante esta
operação o estado do controlador passa a BUSY, não podendo ser enviadas
novas coordenadas até a operação terminar. As coordenadas da peça retirada
são removidas e a lista actualizada. O operador pode seleccionar outra peça,
repetindo-se o processo.
No modo “Pick All Auto” o processo efectua-se totalmente em modo automático e num ciclo contínuo. O ciclo realiza-se de acordo com o diagrama
apresentado na figura 4. Este modo de operação fica inactivo caso não
se verifiquem as condições do controlador: modo – AUTO; motores – ON,
programa – RUN; emergências – OFF, estado – FREE. Neste modo, todo o
processo de controlo e comando dos diversos dispositivos, é feito em ciclo
contínuo e automático.
5. SERVIDOR DO ROBÔ
No controlador do robô existe uma aplicação servidora desenvolvida em
RAPID (linguagem de programação da ABB), a qual corre como tarefa independente: o controlador da ABB é multitarefa e permite definir tarefas e
ajustar as suas prioridades. Esse servidor disponibiliza os serviços necessários
robótica
[5 ]
Foram definidas duas posições fixas para o robô: “camera10” e “place_box”.
A primeira situa-se numa posição definida como a origem do tapete. As
posições de aproximação ao tapete e às peças são definidas após uma
transformação (translação) da posição “camera10”. Na determinação da
posição das peças são utilizadas as coordenadas enviadas pela aplicação
cliente e que são obtidas a partir da WebCam.
5.1. Interface através de PDA
Figura 4 . Diagrama do processo “Pick All Auto”
que permitem controlar o estado do controlador, dos seus programas e das
variáveis associadas [1][8]. Como o bloco de I/O digital do controlador do
robô se encontra ligado ao bloco I/O digital do PLC, os serviços de comando
que implicam IO (tais como, motores (ON/OFF), programa (RUN/STOP) são
efectuados via PLC. As operações de monitorização do controlador também
são efectuadas via PLC: motores (ON/OFF), programa (RUN/STOP), modo de
operação (AUTO/MANUAL), emergências (ON/OFF), e estado de execução
de tarefas (BUSY/FREE). São assim utilizadas as entradas e saídas digitais do
controlador para efectuar operações de controlo e monitorização do robô.
Neste trabalho, o manipulador efectua tarefas simples de pegar peças de
um tapete e largar posteriormente numa caixa. São utilizadas ventosas
pneumáticas para agarrar as peças. Através da actuação de saídas digitais
(DO08 e DO07) é gerado vácuo na ventosa (pegar) e removido com sopro
(largar), respectivamente. A aplicação cliente comanda o serviço de pegar
e largar peças através do socket aberto, usando uma mensagem com a
seguinte sintaxe: <command_str 500_x_y>. Neste comando “x” e “y” são
Utilizando as mesmas rotinas da aplicação desenvolvida para PC construiu-se
uma aplicação para PDA usando o Visual C# .NET 2005. Como os recursos
de processamento e comunicação deste equipamento são mais limitados,
não se implementou o timer de monitorização. Esta aplicação revelou-se
bastante útil nas operações de calibração e ajuste de posições. Utilizando
este dispositivo é possível simular todo o processo produtivo. Dada a sua
portabilidade e facilidade de utilização, este equipamento pode ser utilizado
por um operador em operações de manutenção e setup. Na figura 6 apresenta-se o aspecto gráfico da aplicação desenvolvida para PDA.
Figura 6 . Interface gráfico da aplicação desenvolvida para PDA
6. SERVIDOR ASSOCIADO AO PLC
A aplicação servidora associada ao PLC disponibiliza serviços de controlo e
monitorização do próprio PLC. Esta aplicação corre num PC, podendo receber
pedidos de serviços de uma aplicação cliente, devidamente identificada, a
correr noutro PC da rede. Utilizou-se um PLC Siemens de baixa gama (S7200
com um CPU 215). Este PLC monitoriza e controla o tapete transportador.
Figura 5 . Aplicação a correr no controlador do robô
[6 ]
robótica
O PLC está ligado a um PC através do canal série (canal RS232 do PC e
RS485 do PLC). Através deste canal de comunicação, que também é utilizado
para programar o PLC, é possível efectuar no PC a operação de comando e
monitorização. A filosofia utilizada é simples: o programa do PLC funciona
como servidor e responde a comandos remotos. As mensagens enviadas
para o PLC são formatadas tendo um determinado caracter (byte) de início
e de fim de mensagem, podendo ir até 100 bytes de extensão. O primeiro
byte identifica o comando que se pretende executar. Assim, as equações de
estado devem conter uma comparação com o primeiro byte da mensagem.
Todas as mensagens enviadas têm uma resposta por parte do PLC, que é
a própria mensagem enviada, implementando assim um mecanismo ACKNACK (Acknowledge – Not acknowledge), o qual permite uma verificação
DESENVOLVIMENTO DE UMA APLICAÇÃO DE CONTROLO E MONITORIZAÇÃO DE CÉLULAS ROBOTIZADAS INDUSTRIAIS UTILIZANDO WEBCAM, PC, PLC E SOCKETS TCP/IP
as coordenadas da peça no tapete. Na figura 5 apresenta-se a estrutura
básica do programa, em RAPID, bem como a rotina de pegar e largar
peças. O cliente envia esta mensagem de comando por cada peça que se
pretende recolher. Durante a operação de recolha das peças o estado do
robô passa BUSY, só podendo ser enviado novo comando quando o estado
passar novamente a FREE.
ARTIGO TÉCNICO
simples do comando recebido antes de ser executado. A monitorização é
feita através do envio de uma mensagem com um byte inicial especial
(253). Quando o PLC recebe esta mensagem, responde com o estado dos
blocos I/O (entradas BI0.0 e BI1.0, saídas BQ0.0 e BQ1.0) bem como com
um byte que identifica o modo de operação (Auto, Manual, Stop). A resposta
para o PC contém o mesmo código inicial, permitindo assim que a rotina de
interrupção do porto série identifique as respostas de monitorização através
do primeiro byte. Recorrendo a um timer é efectuada a monitorização de
estado a uma frequência de 2kHz [2][3][14]. Esta aplicação inclui um servidor
assíncrono baseado em sockets TCP/IP, permitindo que a aplicação cliente
solicite serviços remotamente. Estes serviços devem ser solicitados através
do envio de mensagens pré-formatadas.
Os serviços de controlo permitem ao cliente a alternância entre três modos
de operação do tapete Auto, Manual e Stop. No modo Auto, sempre que uma
peça interrompe o feixe do sensor 1, o tapete inicia o seu movimento até
que a peça, ou conjuntos de peças, interceptem o sensor 2. Nessa situação,
o tapete só retoma o movimento quando solicitado pelo cliente ou sempre
que houver interrupção do feixe do sensor 1. Este movimento só não se
realiza se existirem peças a interromper o feixe dos sensores 2 e 3. Neste
modo, sempre que uma peça interrompa o feixe do sensor 2 o tapete pára,
para que as peças sejam identificadas, localizadas e recolhidas pelo robô.
No modo Manual o cliente pode solicitar o movimento de avanço e a paragem do tapete. Através do PLC é também possível efectuar operações de
comando do robô. É possível controlar o estado dos motores (RUN/STOP) e
do programa (RUN/STOP). Através da monitorização do estado das entradas
do PLC é possível identificar o estado dos sensores de barreira do tapete.
São também disponibilizadas algumas operações de monitorização do
robô, através do estado das entradas do PLC: motores (ON/OFF), programa
(RUN/STOP), operação (IDLE/FREE), modo de operação (AUTO/MANUAL),
emergência (ON/OFF). Também é disponibilizada a verificação do estado
modo de operação do tapete (MANUAL, AUTO ou STOP). Como, as saídas do
PLC também são monitorizadas é possível verificar os comandos. Sempre
que é enviada uma mensagem de comando o servidor responde com uma
mensagem de resposta que é igual à mensagem enviada pelo cliente. No
caso das operações de monitorização, a resposta é o estado do I/O do PLC. Na
tabela seguinte são apresentados os principais serviços disponibilizados.
Figura 7 . Interface gráfico do servidor associado ao PLC
7. SERVIDOR ASSOCIADO À WEBCAM
A aplicação servidora associada à WebCam responsável pela aquisição e
processamento de imagem, foi desenvolvida em LabView (da National Instruments) utilizando a “toolbox” IMAQ Vision para aquisição e processamento de
imagem [10][11]. A função principal do servidor é receber pedidos remotos
para fazer a aquisição de uma imagem do tapete, figura 8, através de uma
Webcam USB, processar a imagem, e devolver as respectivas coordenadas x
e y do centro de massa de cada uma das peças encontradas na imagem. O
servidor permite também fazer a calibração da equivalência entre milímetros
e pixeis. Esta relação pode variar se a altura da câmara em relação ao tapete
for alterada. Outra função presente no servidor é a possibilidade de obter a
correspondência entre as coordenadas x e y da imagem em relação à posição
do robô. Este pormenor é importante tendo em conta que as coordenadas
enviadas pelo servidor são obtidas relativamente ao canto inferior esquerdo
da imagem (origem do tapete – figura 8).
Figura 8 . Imagem adquirida pela Webcam e o seu processamento no “Image Server”
Todos os pedidos feitos ao servidor associado à WebCam são realizadas
através de sockets TCP/IP para um determinado porto (neste caso o porto
2005) e estão representados na tabela seguinte:
Tabela 1 . Principais comandos disponibilizados pelo servidor associado ao PLC
O servidor associado ao PLC responde com as seguintes mensagens de
erro: <ERROR: Serial Port In Not Open> quando a porta série ainda não esta
aberta; <ERROR: Monitor Not Alowed> quando o canal de comunicação série
já esta aberto mas não é possível efectuar operações de monitorização (só
comando); <No Option> quando é enviado um comando errado.
Tabela 2 . Comandos disponibilizados pelo servidor da câmara
robótica
[7 ]
Após a binarização da imagem, todos os objectos encontrados que estejam
localizados nos limites exteriores da imagem são eliminados. Deste modo
evita-se que peças que não estejam totalmente visíveis na imagem sejam
utilizadas no cálculo das coordenadas x e y do respectivo centro de massa.
Como todos objectos utilizados nesta aplicação são maciços, qualquer “buraco” que apareça nas peças durante o processo de binarização (devido a
efeitos de luz e sombras) são preenchidos. O passo seguinte ao cálculo das
coordenadas x e y do centro de massa e da área de cada uma das peças
presentes, consiste em verificar se essa área corresponde ao esperado para
as peças usadas. O objectivo é evitar que peças sobrepostas ou objectos
estranhos possam provocar acidentes ou danos nos equipamentos.
A resposta do servidor associado à WebCam é formada pelo número de
peças identificadas na imagem e as respectivas coordenadas. A resposta
para a imagem da figura 8 é a seguinte:
8. CONCLUSÃO
Neste trabalho desenvolveu-se um sistema distribuído baseada numa arquitectura de programação do tipo cliente-servidor, com o objectivo de identificar
e demonstrar a utilização das tecnologias e procedimentos que podem ser
usados em tarefas de controlo e monitorização de sistemas industriais. As
comunicações entre os diversos programas a correr em diferentes pontos
da rede é assegurada por rede informática baseada no protocolo TCP/IP.
Este tipo de rede de comunicações é cada vez mais usado em ambiente
industrial. Na verdade, a sua utilização associada a equipamentos industriais
computorizados e programáveis facilita a integração dos dispositivos e
serviços necessários para construir sistemas industriais flexíveis e ágeis. Assim, foi possível demonstrar que é possível utilizar equipamentos industriais
baratos e comuns (PLC S7200 e WebCam) para tarefas exigentes, tirando o
máximo partido das capacidades que esses equipamentos disponibilizam. A
plataforma construída permitiu ainda introduzir o PDA e o comando por voz
[6], como interfaces com utilizador que podem ser muito úteis em tarefas de
teste e calibração de sistemas industriais. A utilização deste tipo de interfaces
pode contribuir de forma decisiva para reduzir os custos associados às longas
e penosas operações de ajuste do setup de produção.
REFERÊNCIAS
[1] Pires, JN, Ferreira, P., Godinho, T., Loureiro, A., “Desenvolvimento de um
Sistema de Controlo Paramétrico de Robô de Soldadura”, Actas da 6ª Conferência
5_#232.60_129.50_#168.41_148.90_#352.37_180.78_
#177.96_198.95_#263.29_200.34_#
Ibero-Americana de Engenharia Mecânica, 14-18 de Outubro de 2003, Coimbra,
Portugal
[2] Pires, JN, “Industrial Robots Programming - Building Applications for the Factories
onde “5” representa o número de peças e “232.60_129.50” as coordenadas
x e y para a primeira peça. No caso de não existir nenhuma peça na imagem
a resposta enviada pelo servidor é 0_#no objects.
of the Future”, Springer, 2006.
[3] Pires, JN, “Automação Industrial”, 2ª edição, Edições Técnicas e Profissionais,
LIDEL
[4] Pires, JN, Monteiro, P, Schölzke, V, “Using Robot Manipulators on High Efficient
Wrapping Machines for Paper Industry”, ISR’2001, Seoul, Korea, April 2001
º
[5] Pires, JN, Sá da Costa, JMG, “Object-Oriented and Distributed Approach for
Programming Robotic Manufacturing Cells”, IFAC Journal Robotics and Computer
Integrated Manufacturing, Volume 16, Number 1, pp. 29-42, March 2000
[6] Pires, J.N. “Robot-by-voice: Experiments on Commanding an Industrial Robot
using the Human Voice” Industrial Robot, an International Journal, Volume 32,
Number 6, Emerald Publishing, 2005.
[7] ABB IRC5 Documentation, “ABB IRC5 Documentation”, ABB Flexible Automation,
Merrit, 2005
[8] ABB IRC5 Documentation, “Operator’s manual, IRC5 with FlexPendant”, ABB
Flexible Automation 2004
[9] Fourouzan, B. A, “TCP/IP Protocol Suite”, Third edition, McGraw-Hill, 2005
[10] National Instruments, “LabView”, http://www.ni.com/labview/
[11] National Intruments, “IMAC Vision”, http://www.ni.com/labview/
[12] Microsoft, “Msdn”, http://www.msdn.com
[13] Pires, JN, Ferreira, P., Godinho, T., Correia, R., “Aplicação para o ensino da
variação de velocidade de motores de indução”, Actas da 6ª Conferência IberoAmericana de Engenharia Mecânica, 14-18 de Outubro de 2003,
Coimbra, Portugal.
[14] Siemens, PLC S7-200 System Manual, 2000.
Figura 9 . Robô a recolher peças do tapete
Nota:
Os leitores interessados podem ver este sistema em funcionamento nos vídeos obtidos
no seguinte sitio na internet: http://robotics.dem.uc.pt/norberto/nova/videos
Ver vídeos 0, 8, 11, 15 e 19
[8 ]
robótica
DESENVOLVIMENTO DE UMA APLICAÇÃO DE CONTROLO E MONITORIZAÇÃO DE CÉLULAS ROBOTIZADAS INDUSTRIAIS UTILIZANDO WEBCAM, PC, PLC E SOCKETS TCP/IP
Quando o servidor recebe através do socket a mensagem <camera get
objects>, procede à aquisição de uma imagem da câmara e executa a sua
binarização. Esta operação consiste em separar as regiões de uma imagem
quando ela apresenta duas classes (o fundo e o objecto). Ou seja, transformase uma imagem com diversos tons de cor numa imagem com apenas dois
tons. Este é o processo normalmente utilizado para converter uma imagem
em tons de cinza numa imagem a preto e branco. Consequentemente,
esta operação permite facilmente identificar os objectos e separá-los do
fundo da imagem.
Download

AT `Norberto Pires` ROB65.indd