robo manipulador paralelo

6
1 PMR2550 – TRABALHO DE CONCLUSÃO DE CURSO II Acionamento e controle de robôs manipuladores paralelos de 3 graus de liberdade para operações pega-e-põe. Pedro Spada Glogowsky* [email protected] Victor Kumazawa* [email protected] Orientador: Prof. Tarcísio Coelho* [email protected] Palavras-chave: Robôs pega-e-põe, cadeias paralelas, cinemática inversa, Linux CNC – EMC2, simulação gráfica em Matlab. Resumo Tendo como foco o desenvolvimento de arquiteturas alternativas para robôs manipuladores, esse trabalho tem como objetivo o projeto e implementação do controle de um robô manipulador do tipo pega-e-põe (pick -n-place) cuja parte cinemática seja constituída por elementos paralelos, em contraste às soluções mais difundidas que implicam em juntar as partes móveis do robô serialmente. As máquinas com estruturas cinemáticas paralelas tendem a ter um desempenho superior às de arquitetura tradicional serial. O fato de existirem elementos conectados em paralelo torna o mecanismo naturalmente mais rígido do que um que contenha apenas elementos conectados em série; e, a partir disso, cada elemento isoladamente não necessita ser fabricado com uma rigidez muito elevada, sendo, portanto mais leve, reduzindo os custos de produção e fazendo com que a máquina seja mais ágil. Além disso, num mecanismo paralelo, os motores de movimentação não necessitam estar instalados ao longo da estrutura, mas sim na sua base, o que contribui ainda mais para a redução de peso das partes móveis da máquina. O robô do projeto em questão será de três DOF (graus de liberdade), cujos acionamentos serão realizados através de motores de passo localizados na parte superior da estrutura, e a programação do controle de movimentação via software EMC2 (LINUX CNC). O robô terá uma estrutura em pórtico (total de 2 pórticos colocados frente a frente, unidos nas suas partes superiores por guias lineares de movimentação). A área de trabalho do robô compreenderá a base do cubo formado pelos pórticos e guias lineares. *Escola Politécnica da Universidade de São Paulo Av . Prof. Mello Moraes, 2231 CEP 05508 – São Paulo – SP

Transcript of robo manipulador paralelo

1

PMR2550 – TRABALHO DE CONCLUSÃO DE CURSO II

Acionamento e controle de robôs manipuladores paralelos de 3 graus

de liberdade para operações pega-e-põe.

Pedro Spada Glogowsky* [email protected]

Victor Kumazawa* [email protected]

Orientador: Prof. Tarcísio Coelho* [email protected]

Palavras-chave: Robôs pega-e-põe, cadeias paralelas, cinemática inversa, Linux CNC – EMC2, simulação gráfica em Matlab.

Resumo Tendo como foco o desenvolvimento de arquiteturas alternativas para robôs manipuladores,

esse trabalho tem como objetivo o projeto e implementação do controle de um robô manipulador do tipo

pega-e-põe (pick -n-place) cuja parte cinemática seja constituída por elementos paralelos, em contraste

às soluções mais difundidas que implicam em juntar as partes móveis do robô serialmente.

As máquinas com estruturas cinemáticas paralelas tendem a ter um desempenho superior às de

arquitetura tradicional serial. O fato de existirem elementos conectados em paralelo torna o mecanismo

naturalmente mais rígido do que um que contenha apenas elementos conectados em série; e, a partir

disso, cada elemento isoladamente não necessita ser fabricado com uma rigidez muito elevada, sendo,

portanto mais leve, reduzindo os custos de produção e fazendo com que a máquina seja mais ágil. Além

disso, num mecanismo paralelo, os motores de movimentação não necessitam estar instalados ao longo

da estrutura, mas sim na sua base, o que contribui ainda mais para a redução de peso das partes móveis

da máquina.

O robô do projeto em questão será de três DOF (graus de liberdade), cujos acionamentos serão

realizados através de motores de passo localizados na parte superior da estrutura, e a programação do

controle de movimentação via software EMC2 (LINUX CNC). O robô terá uma estrutura em pórtico

(total de 2 pórticos colocados frente a frente, unidos nas suas partes superiores por guias lineares de

movimentação). A área de trabalho do robô compreenderá a base do cubo formado pelos pórticos e

guias lineares.

*Escola Politécnica da Universidade de São Paulo Av. Prof. Mello Moraes, 2231 CEP 05508 – São Paulo – SP

2

1. Introdução A grande maioria dos robôs industriais hoje disponíveis comercialmente é baseada em estruturas cinemáticas seriais, isto é, seus atuadores e partes móveis são montados serialmente, um após o outro, o que resulta em apenas uma cadeia cinemática (em laço aberto) para mover o elemento manipulador do robô (garra, solda, etc.). Durante a última década, porém, ambas as comunidades acadêmicas e industriais têm demonstrado interesse na pesquisa de uso de outro tipo de estrutura cinemática, conhecida como paralela, a qual é caracterizada por múltiplos elementos independentes (cadeias cinemáticas) atuando em paralelo, com ponto de conexão em comum com o elemento manipulador final do robô. Essa arquitetura não convencional se mostra atrativa em virtude de uma série de vantagens que apresenta em relação à arquitetura tradicional serial. Dentre elas: rigidez mais elevada, menor peso, respostas mais rápidas, maior precisão e maior capacidade de carregamento. Diversos tipos de estruturas paralelas foram propostos para operações pega-e-põe. Dentre elas podemos apontar:

- Neos Tricept (Neumann, 1988). Trata-se de uma estrutura tetrápode que contém um elemento central passivo para restringir a movimentação de rotação espacial da base.

- O robô Delta, desenvolvido por

Clavel (1990). Se trata de um mecanismo com 4 DOF baseado em conectores pantográficos.

- O robô H4, desenvolvido por Pierrot (1998). Possui uma arquitetura similar ao do Delta, mas emprega membros topologicamente simétricos.

- O robô Universal Cartesiano, (Kim e Tsai, 2002), o Tripteron (Gosselin, 2004) e o 3PCC (Di Gregorio and Parenti-Castelli, 2004). Esse três últimos são representantes de uma arquitetura mais recente que apresenta a conveniência de tornar linear e desacoplados os

conjuntos de equações de posição tanto para a cinemática direta quanto para a inversa.

2. Metodologia O projeto de um robô conforme descrito na introdução deste artigo pode ser separado, basicamente, em duas partes: projeto e construção da parte mecânica, e implementação do acionamento da estrutura. A construção da parte mecânica propriamente dita implica, antes de tudo, em se definir quais os requisitos de operação da máquina: qual será seu volume de trabalho, qual o máximo carregamento ao qual ela deverá está exposta, com qual velocidade ela deverá executar os movimentos. Estando esses pontos bem definidos pode-se, através das ferramentas de cálculo apropriadas, especificar parâmetros como, por exemplo, tamanho dos braços articulados (para que o efetuador atinja todo o volume de trabalho previsto), espessura e material dos ligamentos (para que a estrutura possua a rigidez necessária e não se rompa, ou vibre em excesso, durante a movimentação) e potencia de acionamento (para que a máquina consiga movimentar uma certa carga a uma

Figura 1 - Tricept

Figura 2 - Delta

Figura 3 – Robô Universal Cartesiano

3

certa velocidade). De posse de todos esses dados, já é possível o início do projeto detalhado de cada parte da estrutura. A implementação do acionamento da estrutura, parte cujo enfoque é dado neste projeto, visa garantir que a mesma se movimente com um desempenho mais próximo possível daquele concebido em projeto. Isso envolve a escolha apropriada dos motores e drivers (que forneçam a potência necessária), a programação correta da movimentação dos mesmos (controle de posicionamento e velocidade) e a escolha do software de controle (que possua boa estabilidade e, principalmente, que possa trabalhar adequadamente em tempo-real). 2.1 Cálculos Cinemáticos Uma procedimento muito importante, dentro da etapa de implementação do acionamento da estrutura, é o equacionamento da mesma. Num método denominado de “cinemática inversa”, pode-se determinar as posições dos atuadores (motores de passo, no caso) em função da localização do efetuador. De posse destas equações, dada uma posição de destino para o efetuador, o software de acionamento tem a capacidade de comandar um número especifico de rotações para os motores de modo que a posição final do efetuador seja aquela especificada. A teoria por trás desse equacionamento engloba basicamente transformações de coordenadas (transformações homogêneas) através da manipulação de matrizes. Segue abaixo uma imagem do equacionamento escrito a mão feito para a estrutura em questão:

3. Ferramentas

Para a execução das etapas descritas na metodologia do projeto, são utilizados 4 softwares: 2 para a etapa de projeto e construção mecânica, e 2 para a implementação do acionamento. A construção mecânica se utiliza , primeiramente, do software CAD 3D da SolidWorks® para criação do modelo virtual da estrutura, caracterizando todos os parâmetros da mesma (dimensões, massa, rigidez, etc). Em seguida, simulações de movimentação do modelo virtual criado são executadas através do programa MSC Nastran, que é capaz de analisar os deslocamentos das partes criadas em CAD. Seguem, neste item, algumas imagens (figuras 5 e 6) do modelo virtual sendo ensaiado através do software Nastran.

Para a implementação do acionamento da estrutura, tem-se como opção de software de controle o programa EMC2, do projeto LINUX CNC (www.linuxcnc.org). Este software permite a criação e simulação de modelos virtuais de máquinas CNC e robôs industriais, e o acionamento dos drivers de uma estrutura real via porta paralela do PC. Assim, passados os parâmetros físicos da estrutura (equações de cinemática inversa, controle de velocidades) e as especificações dos drivers e motores que equipam a mesma (modelo, tipo), é possível a programação do seu movimento via linhas de código G na interface de EMC2, como ocorre numa máquina CNC convencional.

4. Validação da Metodologia

Entretanto, neste trabalho optou-se por um método mais simples do que a alteração da cinemática interna do programa EMC2, visto que tal procedimento pode requerer do usuário conhecimentos específicos do sistema Linux e

Figura 4 – Simulação da estrutura virtual (vista frontal)

Figura 5 – Simulação da estrutura virtual (vista isométrica)

4

da estrutura de arquivos do EMC2. Utilizando o programa MatLab como software de apoio, o que se fez foi os cálculos da cinemática inversa fora do programa EMC2. Dessa forma, as equações puderam ser abordadas de uma forma mais amigável, pelo fato de estarem sendo programadas num ambiente mais familiar.

O procedimento requer, entretanto, que se transfira posteriormente a informação a respeito da cinemática calculada em MatLab para o programa de acionamento EMC2. E a maneira desenvolvida para a execução de tal tarefa é a “tradução” do código G original, escrito para definir a movimentação do robô paralelo, em um outro código também em linguagem G, só que feito para descrever a movimentação de uma máquina cartesiana de eixos desacoplados.

As etapas transcorrem da seguinte forma: primeiramente, o programa escrito em MatLab para o cálculo da cinemática inversa abre o arquivo texto contendo o código G original. Em seguida, é efetuada a leitura linha a linha do arquivo e as trajetórias (em mm) são extraídas, sendo calculada a cinemática inversa para os pontos inicial, final e intermediários de cada trajetória. Tem-se assim uma matriz contendo as posições dos atuadores em função da posição do efetuador. Por fim, o novo código G é escrito pelo programa e salvo num outro arquivo texto, só que contendo as posições dos motores em X, Y e Z, calculadas pela função de cinemática inversa. A idéia é que esse novo código G seja interpretado pelo programa EMC2 como sendo escrito para acionar uma máquina linear, de eixos desacoplados, onde o valor escrito para a coordenada X, por exemplo, corresponde diretamente a movimentação de um único atuador. Entretanto, o efeito final produzido pela execução do código completo será a movimentação de um robô com uma estrutura paralela.

Além de realizar os cálculos cinemáticos, o papel do MatLab é suprir deficiências encontradas nos outros softwares no que diz respeito à realização simultânea das etapas de visualização e de acionamento da

estrutura virtual. O software EMC2 permite a programação da movimentação, mas não permite a visualização qualitativa da estrutura se movimentando. Em contrapartida, o Nastran permite uma visualização excelente dos deslocamentos, mas impede que os mesmos sejam programados iterativamente.

Assim, foram criados, além do tradutor de códigos G, modelos gráficos em MatLab® (simplificados) que podem ser “movimentados” repetidas vezes sem necessidade de reprogramação e compilação. Esse procedimento é muito útil para validar as equações da cinemática da máquina, e para identificar possíveis pontos de singularidade e inacessibilidade (fim-de-curso), dado que os mesmos podem não ser tão facilmente previstos numa máquina de arquitetura paralela . Seguem algumas imagens da análise feita em MatLab® para posições (x,y) especificadas:

Figura 6 – Simulação gráfica em MatLab (na posição inicial)

Figura 7 – Simulação gráfica em MatLab (em x=-3; y=-8)

5

5. Conclusão

Cabe uma observação com relação ao software de acionamento. Num primeiro momento, foi pensado que seria mais simples executar toda a etapa de controle de movimentação utilizando apenas o software MatLab®, dado que o mesmo já é de uso familiar na graduação, e tem a vantagem de rodar em um sistema operacional mais difundido. Entretanto, o fato de rodar em ambiente Windows representa ao mesmo tempo uma enorme desvantagem para o softwarwe MatLab®. O que ocorre é que este projeto possui elevados requisitos de operações em tempo real por parte do sistema de controle, em especial para operações de aceleração/desaceleração dos motores de passo, onde o tempo entre pulsos deve ser muito preciso. E o sistema operacional Windows não foi concebido para esse tipo de operação, mesmo tendo o MatLab® um pacote RTI (Real-Time Interface). Por essa razão, optou-se por realizar a migração para ambiente LINUX, que além de ser mais estável, disponibiliza o programa EMC2, desenhado com o intuito de controlar máquinas CNC, e que, por essa razão, prevê operações em tempo-real. Deve-se ressaltar também que a execução dos cálculos da cinemática inversa fora do software EMC2 (pelo método da tradução do código G) em nada prejudicou o funcionamento da estrutura, sendo uma alternativa segura para o usuário que deseja efetuar o controle de uma máquina complexa utilizando o EMC2, mas não dispõe de know-how o suficiente para editar os arquivos que contém as equações de cinemática.

6. Referências Bibliográficas [1]Hess-Coelho, T. A; Branchini, D. M. and Malvezzi, F.,

2005, “A NEW FAMILY OF 3-DOF PARALLEL ROBOT

MANIPULATORS FOR PICK-AND-PLACE

OPERATIONS”, 18th International Congress of Mechanical

Engineering, November 6-11, 2005, Ouro Preto, MG, Brasil.

[2]Ibrahim, Ricardo Cury , 2005, “MATLAB para o Curso

de Mecanismos”, versão 01/2005, Escola Politécnica da

Universidade de São Paulo, São Paulo, SP, Brasil.

[3]Filho, Alberto Adade , 2001, “Fundamentos de Robótica

– Cinemática, Dinâmica e Controle de Manipuladores

Robóticos”, versão 2.1: julho 2001, Centro Técnico

Aeroespacial – Instituto Tecnológico de Aeronáutica, São

José dos Campos, SP, Brasil.

Figura 8 – Simulação gráfica em MatLab (em x=-3; y=-6)

6

Abstract. In the past recent years, parallel kinematic structures have attracted a lot of attention from academic and industrial communities due to their potential applications not only as robot manipulators but also as machine tools. In general, they demonstrate higher performance than serial mechanisms, once parallel mechanisms are much more rigid, accurate and have higher load capacity and, therefore, can be lighter. This work introduces a new family of 3-dof parallel robot manipulator for pick -and-place operations. Keywords: robot manipulators, topology, parallel kinematics