Controlo e monitorização de células robotizadas industriais: desenvolvimento de uma aplicação utiliz

Page 1

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


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.


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.