• Nenhum resultado encontrado

Ensinamento rápido de manipuladores industriais e controlo de força em operações de polimento

N/A
N/A
Protected

Academic year: 2021

Share "Ensinamento rápido de manipuladores industriais e controlo de força em operações de polimento"

Copied!
76
0
0

Texto

(1)

Faculdade de Engenharia da Universidade do Porto

Ensinamento R

e Controlo de Força em Operações de Polimento

Mestrado Integrado em Engenharia

Orientador: António Paulo Gomes Mendes Moreira

Coorientador

Faculdade de Engenharia da Universidade do Porto

Ensinamento Rápido de Manipuladores Industriais

e Controlo de Força em Operações de Polimento

Hélder Miguel Tavares Moreira

Dissertação realizada no âmbito do

Mestrado Integrado em Engenharia Eletrotécnica e de Computadores

Major Automação

António Paulo Gomes Mendes Moreira (Professor Doutor

Coorientador: Mestre Marcos André Magalhães Ferreira

Julho de 2012

Faculdade de Engenharia da Universidade do Porto

pido de Manipuladores Industriais

e Controlo de Força em Operações de Polimento

e de Computadores

Professor Doutor)

Ferreira

(2)
(3)

(4)

Resumo

Os manipuladores industriais, desde há algumas décadas para cá, tornaram-se uma ferramenta muito poderosa, sendo tipicamente usados em sistemas de produção flexíveis. Dentro destes sistemas, os manipuladores são encarregues de desenvolver determinado tipo de tarefas. A execução de uma determinada tarefa vai originar a criação de forças de contato pois a ferramenta de trabalho interage fisicamente com as superfícies ou objetos de trabalho. Estas forças criadas têm de ser controladas senão podemos estar a pôr em risco a execução correta da tarefa bem como o bom estado do robô e de qualquer objeto em contato com o mesmo. A necessidade de controlo das forças torna-se assim demais evidente.

É neste sentido que este trabalho é desenvolvido, onde é apresentada uma estratégia de controlo da força que é exercida pelo manipulador ao realizar uma tarefa específica. A tarefa em causa é o polimento de uma peça metálica agarrada à extremidade do manipulador.

Um dos objetivos deste projeto é controlar a força que é exercida pela peça metálica no disco de polir.

O outro objetivo será analisar a viabilidade do sincrovision para o Ensinamento rápido de manipuladores industriais em operações de polimento

A estratégica de controlo da força consiste na relação existente entre a força e a velocidade. Ou seja, a força exercida pelo manipulador na polidora vai ser controlada dependendo do valor da velocidade da polidora. Assim não existe a necessidade de calcular o valor da força exercida, dispensando o uso de sensores de força.

Para validar a estabilidade do sistema foram efetuados diferentes testes para polimentos com nível de intensidade diferentes e apresentados os resultados para os diferentes testes.

(5)
(6)

Abstract

The industrial manipulators, since a few decades, have become a very powerful tool, typically used in flexible production systems. In such systems, the robots are in charge of carrying out a certain type of task: the execution of some takes may lead to the creation of contact forces as a working tool interacts physically with the work surfaces or objects. These forces must be controlled, otherwise the successfulness of the task as well as the good condition of the robot or any object within range may be put in risk. The need to control the forces thus becomes evident.

With this in mind, the works here described present a strategy of force control to be used on the task of polishing a piece of metal attached to the end-effector of the manipulator.

So the main objective of this project is to control the force that is exerted by the metal object on the polishing machine.

Another objective is to assert on the possibility of using a fast programming by gesture technique along with the developed force control method to achieve a robust programming by demonstration system.

The control strategy is based on a force estimation using the machine speed and not measuring the force itself directly. The force is then controlled depending on the value of the speed of the polisher.

To validate the stability of the system, several tests were performed using different levels of intensity and results are presented and discussed.

(7)
(8)

Agradecimentos

Em primeiro lugar queria agradecer de uma forma especial ao Prof. António Paulo Moreira e ao Marcos Ferreira por todo o apoio e empenho que foi dado por eles na execução deste projeto.

Ao Marcos Ferreira deixo um agradecimento especial por todo o conhecimento que partilhou, por todo o tempo que disponibilizou e por toda a ajuda entregue.

Ao colega Luís pela ajuda dada sempre que foi necessário.

Agradecer de uma forma muito grata a toda a minha família que deu todo o seu apoio incondicional durante todo o meu percurso académico.

Aos meus amigos e namorada que foram deveras importantes para seguir sempre em frente neste objetivo.

Por fim e o maior agradecimento de todos, aos meus querido pais que me abriram todas as portas disponíveis ao seu alcance para que concluísse com sucesso este grande objetivo.

(9)
(10)

Índice

Resumo ... iv

Abstract ... vi

Agradecimentos ... viii

Índice ... x

Lista de figuras ... xii

Lista de tabelas ... xiv

Abreviaturas e Símbolos ... xv

Capítulo 1 ... 17

Introdução ... 17

1.1 Estado da Arte ... 18

1.1.1Controlo de Força em Manipuladores ... 18

1.1.2Programação por Demonstração ... 22

1.2 Objetivos ... 27 1.3 Estrutura do Documento ... 28

Capítulo 2 ... 29

Hardware ... 29 2.1 Manipulador Industrial ... 29 2.2 Polidora ... 30 2.3 Sensor de Velocidade ... 31 2.4 Arduíno ... 34

Capítulo 3 ... 36

Controlo ... 36 3.1 Esquema ... 36

3.2 Serviços Implementados no Robô ... 37

3.3 Interface Gráfica ... 38

3.3.1. Sensor de Velocidade ... 39

3.3.2. Posição do Robô ... 39

3.3.3. Controlo Manual ... 39

3.3.4. Controlo Automático ... 40

(11)

Capítulo 4 ... 43

Resultados ... 43

4.1. Passo de 1, 3 e 5 mm ... 44

4.2. Passo de 0.25, 0.5 e 1 mm ... 46

4.3. Passo de 0.1 e 0.2 mm ... 55

4.4. Quadros Resumo dos Resultados ... 65

4.5. Viabilidade do Sincrovision ... 68

Capítulo 5 ... 72

Conclusões ... 72

(12)

Lista de figuras

Figura 2.1 - O painel de controlo e o robô são conetados por 2 cabos ... 29

Figura 2.2 - Unidade de programação e painel de controlo ... 29

Figura 2.3 - Manipulador da ABB ... 30

Figura 2.4 - Polidora usada com sistema do sensor de velocidade acoplado ... 30

Figura 2.5 - Sensor Ótico E3F2DS30C4 da Omron ... 31

Figura 2.6 - Funcionamento do sensor Ótico E3F2DS30C4 da omron ... 32

Figura 2.7 - Encoder Ótico ... 32

Figura 2.8 - Esquema de montagem do Sensor ... 33

Figura 2.9 - Ilustração do ajuste de sensibilidade do sensor ... 33

Figura 2.10 - Arduíno Uno ... 34

Figura 3.1 - Layout da interface gráfica ... 38

Figura 3.2 - Eixo de coordenadas usado ... 39

Figura 3.3 - Malha do Controlo Automático ... 41

Figura 4.1- Passagem de 2850 para 2700 com uma margem de 50 ... 45

Figura 4.2 - Passagem de uma velocidade de 2700 para 2500 com uma margem de 100 ... 46

Figura 4.3 - Passagem de 2700 para 2300 com margem de 50... 47

Figura 4.4 - Passagem de 2700 para 2300 com margem de 30... 47

Figura 4.5 - Passagem de 2700 para 2300 com margem de 60... 48

Figura 4.6 - Passagem de 2700 para 2300 com margem de 150 ... 48

Figura 4.7 - Passagem de 2700 para 2400 com uma margem de 30 ... 49

Figura 4.8 - Passagem de 2700 para 2400 com uma margem de 50 ... 49

(13)

Figura 4.10 - Passagem de 2700 para 2400 com uma margem de 125 ... 50

Figura 4.11 - Passagem de 2700 para 2500 com margem de 30 ... 51

Figura 4.12 - Passagem de 2700 para 2500 com margem de 50 ... 51

Figura 4.13 - Passagem de 2700 para 2500 com margem de 70 ... 52

Figura 4.14 - Passagem de 2200 para 2700 com margem de 30 ... 53

Figura 4.15 - Passagem de 2450 para 2700 com margem de 30 ... 54

Figura 4.16 - Passagem de 2500 para 2700 com margem de 50 ... 54

Figura 4.17 -Passagem de 2700 para 2200 com margem de 30 ... 55

Figura 4.18 - Passagem de 2700 para 2200 com margem de 70 ... 56

Figura 4.19 - Passagem de 2700 para 2200 com margem de 50 ... 56

Figura 4.20 - Passagem de 2700 para 2200 com margem de 100 ... 57

Figura 4.21 - Passagem de 2700 para 2300 com margem de 30 ... 58

Figura 4.22 - Passagem de 2700 para 2300 com margem de 50 ... 58

Figura 4.23 - Passagem de 2700 para 2300 com margem de 70 ... 59

Figura 4.24 - Passagem de 2700 para 2300 com margem de 150 ... 59

Figura 4.25 - Passagem de 2700 para 2400 com margem de 30 ... 60

Figura 4.26 - Passagem de 2700 para 2400 com margem de 50 ... 60

Figura 4.27 - Passagem de 2700 para 2400 com margem de 70 ... 61

Figura 4.28 - Passagem de 2700 para 2400 com margem de 100 ... 61

Figura 4.29 - Passagem de 2700 para 2500 com margem de 30 ... 62

Figura 4.30 - Passagem de 2700 para 2500 com margem de 50 ... 62

Figura 4.31 - Passagem de 2700 para 2500 com margem de 70 ... 63

Figura 4.32 - Passagem de 2700 para 2500 com margem de 100 ... 63

Figura 4.33 - Passagem de 2200 para 2700 com margem de 30 ... 64

Figura 4.34 - Passagem de 2450 para 2700 com margem de 50 ... 64

Figura 4.35 - Passagem de 2500 para 2700 com margem de 50 ... 65

(14)

Lista de tabelas

Tabela 3-1 - Serviços implementados no robô ... 37 Tabela 4-1 - Gama das Velocidades de Referência consoante o polimento ... 43 Tabela 4-2 - Resultados para o passo 1, 3, 5 com velocidade do manipulador a 5 mm/s ... 65 Tabela 4-3 - Resultados do passo 0.25, 0.5 e 1 mm e com velocidade do manipulador de 5

mm/s ... 66 Tabela 4-4 - Resultados do passo 0.1 e 0.2 mm e com velocidade do manipulador de 200

(15)

Abreviaturas e Símbolos

Lista de abreviaturas

ANN Artificial Neural Networks

CAD Computer Aided Design

DEEC Departamento de Engenharia Eletrotécnica e de Computadores FEUP Faculdade de Engenharia da Universidade do Porto

IEEE Institute of Electrical and Electronics Engineers NURBS Non Uniform Rational Basis Spline

PI Proporcional e Integral

PpD Programação por Demonstração USB Universal Serial Bus

Lista de símbolos

F Força

T Binário

w Watt

rpm Rotações por minuto

s Segundos ms Milissegundos Hz Unidade Si da frequência V Velocidade n Número de pulsos t Tempo Vp Velocidade da Polidora Vref Velocidade de Referência

M Margem de erro

mm Milímetros

(16)
(17)

Capítulo 1

Introdução

O sentido tradicional de controlar um manipulador robótico surge com a ideia de controlo da posição, velocidade ou aceleração do robô. Visto que, para tarefas que necessitem de controlo de posição não são possíveis de controlar em força e o mesmo acontece no caso contrário.

Assim surgiu a carência e consequentemente o estudo e criação de algoritmos em que seja possível o controlo da força ou binário e da posição conforme as necessidades da tarefa que se quer executar.

Existem tarefas que a estratégia de controlo de posição se adequa perfeitamente tais como pintura e soldadura onde não existe uma interação significativa com os objetos de trabalho. No entanto tarefas que envolvam contato significativo são melhor controladas através do controlo das forças de interação. Tarefas tais como rebarbagem, montagem e polimento são exemplos de tarefas que envolvem contato. Então a estratégia a usar depende seguramente da tarefa a desenvolver pelo manipulador.

Então devemos identificar dois pontos bastante importantes na escolha da técnica a usar.

Um deles é reconhecer se as forças necessitam somente de se manter entre uma determinada gama de valores que se sabem que são valores seguros de funcionamento. Nestes casos o valor exato das forças de contato não é relevante necessitando apenas de manter o valor destas forças numa gama de valores seguros. Para estes casos o uso de sensores de tato em garras é recorrente.

O outro ponto é identificar se as forças de contato devem ser controladas dependendo disso o grau de sucesso da tarefa que deve executar.

(18)

Neste trabalho vamos dar importância às tarefas onde existe uma significativa interação com o ambiente.

1.1

Estado da Arte

Nesta fase do trabalho foi feito um levantamento sobre algumas das técnicas usadas até à presente data, para controlo da força em manipuladores resumindo o funcionamento das mesmas bem como as estratégias usadas para programação por demonstração.

1.1.1

Controlo de Força em Manipuladores

Silas do Amaral, Edson R. de Pieri e Raul Guenther et al. (2000) [1] publicaram um artigo onde fazem referência a alguns trabalhos desenvolvidos até à data (Agosto de 2000) sobre o tema em questão. Alguns desses trabalhos irão ser referenciados em baixo.

Quando necessitamos de controlar diretamente a força o uso de sensores de força é um ato a considerar. Como referido em [1], Gorinevsky considera que a inserção de sensores de força traz diversas vantagens tais como:

• Seguimento de um contorno (esmerilhamento)

• Manipulação de cargas frágeis

• Segurança na execução de tarefas onde possa existir colisão

• Executar tarefas onde há exigência de controlo de força aplicada (polimento, rebarbar e corte)

• Cooperação de robôs

Em [1] é também relatado que Broome em 1993 desenvolveu um sistema que tinha como objetivo inspecionar a existência de fendas nas tubulações. Neste projeto a necessidade de controlo da força é evidente pois existe uma urgência de contato continuo, para detetar as fendas, independentemente de existir irregularidades na superfície de contato.

É exposto ainda em [1] que De Silva e Gu em 1995, desenvolveram um sistema capaz de cortar as cabeças dos peixes antes da embalagem. Para isso, a impedância era monitorizada controlando assim o sistema e efetuando um corte preciso. Refere-se ainda que no mesmo ano, Zubars e Hsia, criaram um sistema capaz de efetuar a fresagem de peças, feitas de materiais não homogéneos. Este sistema controlava a velocidade de corte em função da força exercida na ponta da ferramenta evitando-se assim danos nos objetos de trabalho.

(19)

O processo abordado nesta tese tem algumas parecenças com o sistema que foi desenvolvido no projeto anteriormente referido, pois é utilizada a medição de uma grandeza para controlar outra grandeza. No trabalho anterior a velocidade é controlada por uma força medida. Neste trabalho a força exercida pela ferramenta de trabalho será estimada pela velocidade da polidora como vamos poder comprovar mais adiante.

Uma das estratégias utilizada para o controle da força intitula-se “controlo Híbrido”. Este método consiste no controlo simultâneo da força e da posição. Como referido em [1], inicialmente esta estratégia foi proposta em (Rasibert e Craig, 1981) e posteriormente melhorada em (McClamroch e Wang, 1988) e (Yoshikawa, 1987). Mais tarde De Luca viria a mostrar um sistema ainda mais eficiente seguindo a mesma estratégia.

Abílio Azenha (1998) [2], apresentou um sistema que utiliza o controlo Hibrido. Neste trabalho, é estudada a técnica de controlo hibrido de força e posição tendo em atenção alguns efeitos que se mostraram com elevada relevância para um controlo preciso e estável das forças de interação. Alguns destes efeitos são os atritos, as folgas e a flexibilidade nas juntas. Neste projeto estes parâmetros são estudados ao pormenor. São estudadas diferentes formas para estudar a estabilidade do sistema em diferentes condições de funcionamento.

Pires da Silva (1999) [3], desenvolveu um trabalho onde efetuou um estudo relativamente ao controlo de forças em manipuladores e desenvolveu um método de controlo de forças explicito indireto de força, baseado em lógica fuzzy com um comportamento do tipo Proporcional e Integral (PI). Nesta solução apresentada o robô têm um sensor de força na extremidade do manipulador. Diz-se que o controlo é indireto pois este sistema aproveita o controlador de posição do sistema original. Assim, incluindo um anel exterior de controlo de força possibilita ajustar a posição do robô de acordo com a informação sensorial de força.

Os resultados apresentados para este sistema, obtidos por simulação e diretamente no robô, mostraram-se bastante viáveis sendo que foram testados em diferentes condições e superfícies.

Mais recentemente, também foi proposto por Nuno Mendes, Pedro Neto, J. Norberto Pires, e A. Paulo Moreira et al. (2010) [23] [24], o uso da técnica de controlo de força baseado na lógica fuzzy com um comportamento Proporcional e Integral (PI).

J.Gamez et al. (1970) [4], defendem que os manipuladores robóticos podem ser considerados sistemas inteligentes. Contudo a não utilização de sensores de medição que monitorizem a posição e força de contacto, impõe severas limitações para certo tipo de tarefas. No entanto, o uso de sensores de medição possibilita uma grande adaptabilidade por parte do robô ao meio ambiente tornando-os assim capazes de executar tarefas complicadas.

(20)

É defendida ainda a ideia que é necessário ter em conta não apenas as forças de interação e momentos de contato mas também as forças de inércia da massa.

Assim neste trabalho [4] é descrito como o controlo de forças em manipuladores pode ser aumentado com o uso de mais do que um sensor de força, mostrando uma abordagem onde a fusão de sensores de força é utilizada para estimar a força de contato melhorando assim a interação entra o manipulador e o ambiente. A estratégia apresentada baseia-se no uso de 3 sensores de força:

• Sensor para medir a Força / binário (F/T)

• Sensor para estimar a inércia, acoplado à extremidade do robô

Sensor em cada junta (resolvers/encoders)

Foram ainda utilizadas duas técnicas de controlo de forças, uma delas já referida em cima, controlo Híbrido, e a outra designada controlo de impedância.

Este trabalho mostrou uma nova técnica que ajudou a melhorar o desempenho bem como a estabilidade e robustez do sistema na fase de transição de impacto. Este facto deve-se à eliminação das perturbações introduzidas pelas forças de inércia, mostrando ainda que o controlo hibrido é uma técnica bastante usada e com resultados motivadores.

Outro dos métodos utilizados para o controle da força intitula-se “controlo por impedância”. Nesta estratégia o controlo da força e da posição é feito através do controlo da impedância mecânica da ferramenta terminal consoante as forças geradas pelo contato com o ambiente.

No trabalho descrito anteriormente foi referido o controlo de impedância para executar o controlo de força. Seguidamente será apresentado um projeto em que esta estratégia foi utilizada.

(21)

José Feio (2008) [5], apresentou um projeto que tinha como objetivo desenvolver um controlador de impedância que executar-se o controlo de força e impacto em um determinado manipulador, com intuito de auxiliar a execução de cirurgias ortopédicas. A utilização desta estratégia permite ao cirurgião executar tarefas com grau elevado de precisão, como por exemplo a furação e torneamento do fémur tendo como auxiliar o robô, sendo possível realizar esta tarefa com precisão e segurança. O modelo da estratégia de controlo de impedância utilizado foi proposto por (Siciliano & Vilani, 1999) [22]. No final do projeto foi concluído que para esta tarefa em específico e para tarefas em que o controlo de força, posição, e impacto sejam deveras importante, esta estratégia apresenta resultados positivos. Assim foi desenvolvido um projeto que oferece ao cirurgião uma enorme precisão ao robô e como tem um controlo da impedância permite ao cirurgião situar a ferramenta perante o paciente.

Carlos Teixeira (2009) [6] e Paulo Gouveia (2010) [7], desenvolveram projetos no âmbito da programação por demonstração de manipuladores industriais na tarefa de polimento. Nestes projetos o controlo da força está implícito pois é necessário controlar a força que o manipulador exerce sobre a polidora. Em Ambos os casos, a força será controlada consoante o valor da velocidade de rotação da polidora. Para efetuar a medição do valor da força, foi usado um sensor de força na extremidade do robô, obtendo assim os valores da força em cada instante. Com um sistema de aquisição de corrente e sincronizando o valor com os valores de força consegue-se controlar a força da maneira desejada.

Estes dois trabalhos referidos anteriormente [6] e [7] foram a base e o ponto de partida para o projeto que aqui irá ser apresentado. Contudo o valor da força não será adquirido por nenhum sensor de força, o seu valor será estimado pela velocidade de rotação do motor da polidora. Este valor irá depois ser utilizado no controlo do movimento do manipulador.

(22)

1.1.2

Programação por Demonstração

A complexidade de programação dos manipuladores industriais face ao tempo disponível para o fazer tem sido um fator importante, que prende a evolução dos manipuladores no mercado industrial. A dificuldade está em transmitir a facilidade de movimentos de um operador para o manipulador. Assim a programação por demonstração (PpD) tem vindo a desenvolver um papel fundamental para o ensinamento destes robôs.

Este trabalho desenvolve-se neste sentido, pois a imitação da trajetória humana tem diversas vantagens, como referência Carlos Teixeira (2009) [6] tais como:

1. Simplifica a programação do robô pois apenas tem de efetuar o movimento desejado. 2. O movimento humano tem implícito muito potencial no que diz respeito à realização das tarefas, tais como não sair da área de trabalho, as direções preferenciais que devem ser tomadas e regiões/movimentos que devem ser evitados que seria difícil de representar através de outro método.

3. É possível escolher as velocidades recomendadas para um determinado movimento. 4. Possibilita a utilização e programação de um manipulador a qualquer pessoa,

independentemente se esta possui conhecimentos de programação para tal.

O principal objetivo da PpD é permitir intuitivamente a programação de trajetórias para o manipulador num curto espaço de tempo.

Neste sentido surgem diferentes abordagens para a programação por demonstração. Estas diferem entre si nas estratégias usadas e nos dispositivos que utilizam, bem como nos manipuladores utilizados. O uso de um joystick e de um guia já foi sugerido em diversos trabalhos bem como o uso de uma luva antropomórfica. A utilização da fala e o recurso a canetas digitais para desenho foram métodos também já estudados por alguns grupos de trabalho. Outra abordagem também estudada é a observação de gestos humanos e posterior imitação dos mesmos. Esta abordagem também foi estudada em diversos trabalhos mas para movimentos ou seja, observação de um determinado movimento de uma dada ferramenta e a imitação do mesmo.

De seguida serão referidos alguns dos trabalhos que abordam estas estratégias de programação por demonstração.

(23)

 Através de um Joystick:

Shin-ichi Nakajima et al. (2004) [8] utiliza um joystick e um controlador de força de forma a conseguir realizar o polimento. O operador manipula o joystick e remotamente move uma ferramenta anexada à mão do robô. Além da operação manual, o sistema pode controlar a força da ferramenta automaticamente pelo sistema háptico. O operador pode assim utilizar dois modos de controlo de acordo com a tarefa.

Neste estudo, estima-se a força que o manipulador exerce no polidor através da velocidade e corrente consumida pela máquina de polir. Conseguindo-se assim ter vantagens em relação à estratégia de polimento apresentada por F. Nagata et al. (2001) [21], uma vez que se evita o uso de sensores de força e se facilita o ensinamento rápido por parte do operador, pois para ensinar o manipulador só necessitará de executar a tarefa uma única vez. A combinação do controlo manual com o controlo automático permite executar a tarefa de polimento de forma eficaz e flexível em objetos com formas complexas.

Esta estratégia é sugerida ainda por F. Nagata et al. (2001) [9], onde usa um joystick em conjunto com um controlador de força. O operador indica a direção e orientação da ferramenta e assim controla o manipulador. Este consegue ter a mínima noção de força através da rigidez do joystick.

 Através da fala:

Com recurso à fala, temos a programação de um tele-robô feita por Jayawardena,C. (2005) [10]. Neste estudo o robô tem uma base de dados onde estão guardadas diversas características de diversos objetos. O operador tem acesso ao cenário de trabalho e através da fala, descreve o objeto pretendido (forma, cor, tamanho). Se estas características estiverem já na base de dados do robô, e recorrendo à visão artificial, este tentará reconhecer e recolher o objeto pretendido; caso contrário, o robô questionará o operário sobre a posição real do objeto e atualizará a base de dados com as novas características do objeto.

Ainda utilizando a fala, temos o trabalho de Pires, J.N. et al. (2007) [11] (referenciado em [7]) onde é utilizada a fala para programar um manipulador. A programação é feita movendo-se o manipulador através de um guia preso na ponta do manipulador. É possível mover o manipulador nas direções pretendidas e simultaneamente interagir com a programação das trajetórias através da fala (tirar a posição do robô, tempos de espera e tipos de movimento MOVL, MOVJ, entre outros), sendo exequível programar, de uma maneira simples e versátil, todo o trajeto do manipulador.

(24)

 Através de uma luva antropomórfica:

Aleotti, J. et al. (2006) [12] sugere que o manipulador funcione como uma aproximação a um braço humano, usando uma fita moldável para que seja possível determinar a sua forma – o mesmo tipo de sensor que tem sido usado em aplicações na área da realidade virtual para introduzir movimentos humanos nas personagens virtuais. Este trabalho, todo ele é realizado em ambiente virtual, sendo usada a luva para interação com os objetos virtuais. Assim, neste ambiente, é permitido ao operador mover objetos, cujos movimentos serão posteriormente analisados. É então gerada uma trajetória aproximada ao movimento inicial através do algoritmo de NURBS.

Então, neste trabalho temos 3 fases distintas: a fase de treino, a fase de aprendizagem e a fase de decisão.

Na primeira fase, são efetuados diversos movimentos pelo robô e copiados pelo operador. São guardados os valores da fita. De seguida, o operador controla o robô em tempo real, movendo o seu braço. O robô tenta executar os movimentos, baseando-se nos valores adquiridos na primeira fase. De seguida surge a fase de decisão onde o movimento efetuado pelo manipulador é avaliado. Caso o movimento seja o pretendido dá-se por finalizada a aprendizagem caso contrário é necessário repetir o algoritmo até termos os resultados desejados.

Já antes este método tinha sido sugerido por Ekvall, S. e tal (2005) [13], onde este propõe o uso de luvas antropomórficas para a programação de manipuladores. Neste método a estratégia utilizada é estudar a maneira de como pegar nos objetos – objetos de diferentes tamanhos e de diferentes formas: esféricos, cilíndricos, discos. Então, no operador, é colocada a luva para segurar nos objetos pretendidos, através de modelos de Markov, rotação e translação da mão ou ambos simultaneamente. Por fim, é retirada essa informação e transferida para o manipulador.

 Através de desenhos:

O desenho é uma das formas mais simples de mostrar a forma de um determinado objeto e Pires, J.N. et al. (2007) [14] propõem o uso de canetas digitais (da Anoto technology) para através do desenho realizar a programação de tarefas. O que torna a programação destes manipuladores simples é o uso de ficheiros de CAD e interfaces para gerar código para os manipuladores.

(25)

 Através de um guia:

Yusuke, Maeda et al. (2008) [15] sugere a colocação de um guia com um sensor de força à ponta do manipulador. Nesta proposta um operador humano atribui um ponto inicial e uma meta para o objeto a mover e efetua diversos movimentos com o manipulador evitando os obstáculos. Todos os pontos e movimentos efetuados pelo operador são guardados.

O próximo passo é pegar nos dados guardados do passo anterior e calcular o espaço de trabalho e o espaço que necessita para mover o objeto sem colidir com os obstáculos. Assim, através de um algoritmo específico é gerada a melhor trajetória para o manipulador mover o objeto do início até à meta sem colidir com nenhum obstáculo. Podemos concluir que este método será utilizado essencialmente para manipulação e não poderá ser utilizado em tarefas como polir ou pintar, visto que é um método que apenas se aplica a movimentos lentos ou quando não importa a velocidade do movimento.

 Através de gestos:

Relativamente à imitação dos gestos humanos através da observação, R. Dillmann (2004) [16], Markus Ehrenmann et al. (2001) [17] e Manuel Lopes et al. (2005) [18], desenvolveram sistemas onde é usado um sistema de visão para observar os movimentos do operador para uma simples tarefas. Nestes estudos, o principal objetivo é tentar passar o conhecimento humano, realização de tarefas simples e complexas, para os robôs humanoides.

Nesta abordagem de ensinamento do manipulador através de gestos Pedro Neto et tal (2009) [19] propõe uma estratégia de programação usando um sensor de movimento - acelerómetro de 3 eixos – embebido no comando da consola wii. Nesta experiência foi provado que as redes neuronais (ANN – Artificial neural networks) são uma boa solução para reconhecimento de um bom gesto e apresentam uma elevada taxa de reconhecimento.

 Através de observação / imitação:

Paulo Malheiros, Paulo Costa, António Moreira e Marcos ferreira e tal (2009) [20], sugerem a deteção de marcadores de alta intensidade), acoplados à ferramenta de trabalho, neste caso à pistola de pintar visto ser a tarefa pretendida. A deteção destes será feita por câmaras de vídeo sincronizadas. Assim, o operador efetua os movimentos pretendidos e através do sistema de visão estereoscópica regista o caminho efetuado no espaço fazendo posteriormente o robô imitar esses passos.

(26)

Outro método diferente é utilizado por Nagata, F. et al. (2001) [21] onde é apresentado um sistema que a partir de um modelo constituído por um controlador de força e um gerador de trajetórias consegue efetuar um polimento muito eficaz de superfícies, sem precisar para o efeito de um ensinamento complicado do manipulador.

(27)

1.2

Objetivos

Este projeto tem como principal objetivo o desenvolvimento de uma estratégia de controlo da força aplicada por um manipulador numa tarefa de polimento normal.

A estratégia passa pela leitura e análise do valor da velocidade de rotação do disco de polimento e com este valor controlar o posicionamento da peça metálica acoplada na extremidade do robô, controlando assim a força exercida pelo manipulador. Ou seja, a ideia é desenvolver um sistema que adquira o valor da velocidade e através da análise da mesma corrigir a posição do robô.

Como já foi referido anteriormente esta técnica pode ser usada para a programação por demonstração na tarefa em causa. Por este facto, outro dos objetivos deste trabalho é fazer um estudo teórico da viabilidade do sistema sincrovision, desenvolvido na FEUP.

Trata-se de um sistema capaz de captar movimentos e posição 3D. É composto por marcadores luminosos sincronizados com o sistema de visão artificial.

Em suma, a finalidade do sistema, é que o manipulador efetue a aproximação e contato de uma peça metálica a um disco de polir, polindo assim a superfície da peça em contato com o disco de polir, consoante o nível de polimento desejado. A viabilidade do sistema é estimada consoante o grau de estabilidade do sistema bem como a rapidez com que este estabiliza. Outro fator que interessa para avaliar o sistema é a capacidade que este tem de controlar o contato entre a peça e o disco. Ou seja, quanto mais suave for o contato da peça com o disco melhor pois se for demasiado brusco poderá acontecer uma paragem indesejada da polidora devido ao excesso de força exercida pelo robô.

(28)

1.3

Estrutura do Documento

No capítulo número dois é apresentado todo o hardware utilizado para a realização deste trabalho. O hardware é todo ele descrito, apresentando as principais características de cada elemento e as suas funcionalidades. Outras características podem ser encontradas nas folhas de características (datasheets) fornecidas pelos fabricantes.

No terceiro capítulo, é descrito o funcionamento do sistema, ou seja, é exposto o software criado para a realização deste trabalho, bem como os serviços implementados para a realização do mesmo.

É no Quatro capítulo que são apresentados todos os resultados provenientes dos testes efetuados, para os diferentes passos utilizados, para as diferentes margens de erro e para os diversos tipos de polimento. Estes resultados além de ser expostos são também analisados.

Ainda neste capítulo é analisada a viabilidade da utilização do sincrovision neste projeto para programar por demonstração.

(29)

Capítulo 2

Hardware

Neste capítulo serão descritas as características e funcionalidades de cada um dos elementos de hardware utilizados neste projeto. Contudo só serão descritas as mais relevantes. Para saber as características e funcionalidades completas dos elementos basta aceder aos datasheets dos componentes, em que alguns podem ser encontrados na página do projeto.

2.1

Manipulador Industrial

O manipulador industrial usado para a realização deste trabalho foi ABB IRB 140, este é composto por duas partes distintas, o painel de controlo e o robô que são ligadas por 2 cabos.

A comunicação com o robô pode ser efetuada de duas maneiras, usando a unidade de programação e /ou painel de operador, localizado no painel de controlo. (ver figura2.1 e 2.2)

Figura 2.1 - O painel de controlo e o robô são conetados por 2 cabos

(30)

O robô possui 6 eixos que podem ser controlados manualmente com o “joystick” presente na unidade de programação ou consola de programação. Esta serve também, para criar diversos programas usando linguagem específica indicada nos manuais do manipulador, para definir sistemas de coordenadas, definir objetos de trabalho e ferramentas, selecionar e gravar programas, aceder às características do sistema e para muitas outras tarefas não tão relevantes para o projeto. Na figura 2.3 é possível ver uma imagem do robô utilizado.

2.2

Polidora

Para efeitos de polimentos foi usada uma máquina de 170 w de potência denominada esmeriladora que para o efeito em causa funcionou como polidora. Para isso, foi trocado um dos discos de uma das extremidades por um disco de polir incluído no conjunto da máquina, como podemos verificar na figura a baixo, figura 2.4.

Figura 2.3 - Manipulador da ABB

Figura 2.4 - Polidora usada com sistema do sensor de velocidade acoplado

(31)

Na outra extremidade foi colocado um encoder ótico para podermos calcular a velocidade da polidora, como irá ser explicado mais à frente no ponto referente ao sensor de velocidade.

2.3

Sensor de Velocidade

Nos trabalhos que foram referenciados como ponto de partida para esta tese o sistema criado para medir a velocidade não era muito robusto. Então para medir a velocidade de rotação da máquina de polir foi criado um sistema que consiste num sensor fotelétrico que está direcionado para um encoder ótico.

Os sensores fotelétricos também conhecidos por sensores óticos, têm como base a transmissão e receção de luz, que pode ser refletida ou bloqueada pelo objeto a ser detetado. Estes são constituídos por dois circuitos básicos. Um deles é responsável pela emissão de um feixe de luz e denomina-se transmissor ou emissor, sendo o outro encarregue pela receção do feixe de luz e denomina-se recetor.

O primeiro envia um feixe de luz através de um foto díodo, que emite flashes, com alta potência e curta duração, para evitar que o recetor confunda a luz emitida pelo transmissor com a luz do próprio ambiente. O recetor é constituído por um foto transístor sensível à luz e conjuntamente com um filtro sintonizado na mesma frequência de pulsação dos flashes do transmissor, fazem com que o recetor conheça simplesmente a luz do emissor.

O sensor utilizado neste projeto foi o E3F2DS30C4 da omron. (Ver Figura 2.5).

(32)

Figura 2.6 - Funcionamento do sensor Ótico E3F2DS30C4

Neste sistema o transmissor e o recetor são colocados na mesma unidade. Assim o acionamento da saída ocorre quando o

e reflete para o recetor o feixe de luz emitida pelo transmissor.

Neste caso, queremos que o sensor acione a saída quando detetar a cor branca, visto estarmos a usar um encoder ótico (Ver figura

presença de cor branca. Foi colada uma folha branca com o formato de um círculo e do tamanho do encoder visto este ser transparente e assim não era detetada a cor branca.

Para criar o encoder ótico foi construída uma circunferência em acrílico com as medidas que pretendíamos e colado papel autocolante preto com as formas do

impulsos por rotação. Este sistema foi acoplado rodar à mesma velocidade da polidora.

Funcionamento do sensor Ótico E3F2DS30C4 da omron

Neste sistema o transmissor e o recetor são colocados na mesma unidade. Assim o acionamento da saída ocorre quando o objeto a ser detetado entra na região de sensibilidade e reflete para o recetor o feixe de luz emitida pelo transmissor. (Ver Figura 2.6)

caso, queremos que o sensor acione a saída quando detetar a cor branca, visto ótico (Ver figura 2.7), ou seja não deteta um objeto mas sim a presença de cor branca. Foi colada uma folha branca com o formato de um círculo e do

visto este ser transparente e assim não era detetada a cor branca.

ótico foi construída uma circunferência em acrílico com as medidas que pretendíamos e colado papel autocolante preto com as formas do encoder

. Este sistema foi acoplado à outra extremidade do disco de polir mesma velocidade da polidora.

Figura 2.7 - Encoder Ótico

Neste sistema o transmissor e o recetor são colocados na mesma unidade. Assim o objeto a ser detetado entra na região de sensibilidade

)

caso, queremos que o sensor acione a saída quando detetar a cor branca, visto ), ou seja não deteta um objeto mas sim a presença de cor branca. Foi colada uma folha branca com o formato de um círculo e do

visto este ser transparente e assim não era detetada a cor branca.

ótico foi construída uma circunferência em acrílico com as medidas encoder, com 12 outra extremidade do disco de polir para

(33)

O sensor E3F2DS30C4 pode detetar a cor branca ou a cor preta consoante o ajuste da sua sensibilidade e pode colocar na saída o Vcc ou o Gnd conforme a montagem. Na figura 2.8 podemos ver a montagem elaborada para o sensor detetar a cor branca e colocar 5V na saída sempre que esta for acionada pela presença de cor branca.

O sensor em causa vem com um potenciómetro incorporado para ajuste de sensibilidade. Assim é mais fácil ajustar a distância a que queremos que o sensor detete a cor branca para isso basta usar uma chave de fenda adequada como ilustra a figura 2.9.

Assim, com este sistema conseguimos saber o número de vezes que o sensor é ativo em cada volta e através de alguns cálculos saber a velocidade do disco de polir. Esta contagem e posterior conversão serão feitas pelo Arduíno que vai ser abordado na secção seguinte.

Figura 2.8 - Esquema de montagem do Sensor

(34)

2.4

Arduíno

O Arduíno é uma placa única, projetada com um microcontrolador, no nosso caso o ATMEGA328P-PU, com suporte de entradas/saídas incorporado e ainda uma linguagem de programação modelo que é o C/C++. O objetivo da criação do Arduíno foi disponibilizar ferramentas flexíveis e fáceis de usar por profissionais e amadores a baixo custo. Uma típica placa de Arduíno é composta por um controlador, algumas linhas de entradas / saídas digitais e analógicas, além de uma interface serie ou USB que é usada para programar a placa e interagir com a mesma.

Como foi referido anteriormente a realização da contagem do número de pulsos, em que 1 pulso é considerado quando o sensor ativa a saída, bem como a conversão do número de pulsos para a velocidade de rotação é feita pelo Arduíno. De relembrar que 1 volta implica 12 pulsos e que 1 minuto tem 60 segundos. Para isto bastou aplicar a seguinte formula:

 =  12∗

60

( )

Em que V é a velocidade de rotação da polidora em rpm, n o numero de pulsos contados no instante de tempo t. Este valor de t não pode ser demasiado baixo porque a resolução deste sistema não o permite. O valor de t escolhido foi 200 ms, porque caso o valor escolhido fosse muito mais baixo ficaríamos sem resolução no sistema. Imaginemos que o tempo seria 20ms então a fórmula anterior ficaria:

 =  12∗

60

0.02=  ∗ 250 ( )

Assim teríamos uma resolução de 250 rpm por cada pulso, o que não é bom pois a velocidade irá variar sempre de 250 em 250 o que fará perder valores muito importantes para o funcionamento do sistema de controlo.

(35)

Então o valor escolhido para o tempo foi de 200 ms, ficando assim com uma resolução no sistema de 25rpm por cada pulso. Como a velocidade nominal da polidora era de 2850 rpm temos uma resolução de 0.88 % da velocidade nominal. A fórmula final será então:

 =  12∗

60

0.2=  ∗ 25 ( )

Resumindo, a cada 200 ms o valor da contagem dos pulsos é enviada para o controlar que fará a conversão para por fim obter o valor da velocidade.

(36)

Capítulo 3

Controlo

3.1

Esquema

Neste pequeno esquema podemos observar o funcionamento geral do sistema, em que através no sensor de velocidade, explicado anteriormente, são enviados os pulsos para o Arduíno. Por sua vez este encarrega-se de fazer a contagem do número de pulsos e envia o valor para o controlo com uma periocidade de 200 ms. O controlador por sua vez faz a conversão do número de pulsos para velocidade em rpm e irá analisar qual o comando a enviar ao manipulador para efetuar o movimento devido. Esta análise, feita pelo controlo, será descrita e explicada posteriormente no ponto 4 deste capítulo.

Sensor de

Velocidade

Arduino

(conta o numero

de pulsos )

Controlo

(calcula a velocidade

da Polidora e analisa o

que fazer)

Manipulador

(efetua os

serviços)

(37)

3.2

Serviços Implementados no Robô

Para controlar e monitorizar o robô foram desenvolvidos alguns serviços que irão ser enumerados e explicados neste ponto. A maior parte dos serviços são de movimento segundo o referencial. Ao valor do deslocamento iremos chamar passo e este foi escolhido através de resultados de testes que foram efetuados que serão mostrados posteriormente.

A tabela 3.1 mostra os serviços que foram implementados e os diferentes passos experimentados. De notar que o valor de deslocamento em cada movimento é o valor do passo, e que o comando é o valor recebido para indicar qual o serviço a executar.

Comando

Serviço

Passo (mm)

1 Move no sentido negativo do eixo do x 0.1 0.5 1 2 Move no sentido negativo do eixo do x 0.2 0.25 3 3 Move no sentido negativo do eixo do x 0.3 1 5 4 Move no sentido positivo do eixo do x 0.1 0.25 1 5 Move no sentido positivo do eixo do x 0.2 0.5 3 6 Move no sentido positivo do eixo do x 0.3 1 5

7 Move no sentido positivo do eixo do z 1

8 Move no sentido positivo do eixo do z 3

9 Move no sentido positivo do eixo do z 5

10 Move no sentido negativo do eixo do z 1

11 Move no sentido negativo do eixo do z 3

12 Move no sentido negativo do eixo do z 5

13 Lê a posição atual do robô e envia por porta serie

14 Vai para o ponto indicado

15 Termina Processos

Tabela 3-1 - Serviços implementados no robô

De salientar ainda que estes serviços criados no manipulador estão acessíveis remotamente, tal que para isso baste enviar o valor do comando correto através da porta série para ativar o serviço desejado. O valor do passo foi sendo alterado, para fazer essa alteração era necessário alterar a programação dos serviços do robô.

(38)

3.3

Interface Gráfica

Para aceder, aos serviços criados no robô, de uma forma remota foi criada uma interface gráfica usando o programa lazarus.

A figura 3.1 mostra o layout da interface criada.

Nesta interface temos 4 partes distintas, que serão explicadas mais à frente:

• Sensor de Velocidade

• Posição do Robô

• Controlo Manual

• Controlo Automático

As duas primeiras servem apenas para visualização, sendo que as outras duas servem para enviar comandos, ou seja controlar o manipulador.

(39)

3.3.1.

Sensor d

A unidade “Sensor de Velocidade”, é bastante

valor da velocidade da polidora, quase em tempo real, pois existe sempre os atrasos na comunicações. Estes atrasos (

comparados com o tempo de aquisição de velocidade Para o valor estar disponív

caso a porta série em causa é a port

3.3.2.

Posição do Robô

Nesta divisão, como referido anteriormente, serve apenas para visualizar a posição atual do robô, tendo simplesmente que carregar no botão para atualizar a posição do manipulador.

3.3.3.

Controlo Manual

O “Controlo Manual” tem como pr

movimentação para o robô. Estes movimentos podem ser realizados segundo o eixo do x e do z consoante o pretendido.

enviar o comando pretendido basta

Figura 3.2 -

Sensor de Velocidade

A unidade “Sensor de Velocidade”, é bastante básica onde simplesmente é apresentado o valor da velocidade da polidora, quase em tempo real, pois existe sempre os atrasos na comunicações. Estes atrasos (≈1ms) podem ser desprezados pois são muitos baixos

com o tempo de aquisição de velocidade.

Para o valor estar disponível basta ativar a comunicação série da porta caso a porta série em causa é a porta série 1.

Posição do Robô

Nesta divisão, como referido anteriormente, serve apenas para visualizar a posição atual do robô, tendo simplesmente que carregar no botão para atualizar a posição do manipulador.

Controlo Manual

O “Controlo Manual” tem como principal funcionalidade enviar comandos de movimentação para o robô. Estes movimentos podem ser realizados segundo o eixo do x e do z consoante o pretendido. Na figura 3.2 podemos ver os eixos de coordenadas referidos. enviar o comando pretendido basta pressionar o botão correspondente.

Eixo de coordenadas usado

z

x

onde simplesmente é apresentado o valor da velocidade da polidora, quase em tempo real, pois existe sempre os atrasos nas 1ms) podem ser desprezados pois são muitos baixos

rie da porta respetiva. Neste

Nesta divisão, como referido anteriormente, serve apenas para visualizar a posição atual do robô, tendo simplesmente que carregar no botão para atualizar a posição do manipulador.

incipal funcionalidade enviar comandos de movimentação para o robô. Estes movimentos podem ser realizados segundo o eixo do x e do Na figura 3.2 podemos ver os eixos de coordenadas referidos. Para

D

is

c

o

d

e

p

o

li

r

y

(40)

De salientar que os comandos são enviados para o robô, através da porta série, conforme o movimento pretendido e que o comando tem de corresponder ao serviço implementado no robô. Estes serviços foram explicados no ponto 3.2 deste relatório.

A criação desta unidade teve como objetivo, analisar as alterações no valor da velocidade conforme a força que se ia aplicando no polimento. Para isso foram efetuados diversos testes, controlando a posição do robô, efetuando movimentos segundo o eixo do x no sentido positivo (aproximar a peça da polidora), ou se necessário no sentido negativo (afastar a peça da polidora).

Estes testes serviram para ganhar uma noção do valor da velocidade da polidora em diferentes tipos de polimento. Assim temos noção das velocidades de referência que iremos precisar para posteriormente efetuar o polimento automaticamente.

3.3.4.

Controlo Automático

Por fim e não menos importante o “Controlo Automático”. Esta unidade é composta por 2 partes distintas. A primeira onde se ativa a unidade e a outra é onde se executa o ajuste dos valores da velocidade de referência e da margem. Esta sendo ativa, damos início ao polimento da peça metálica de forma automática, consoante o valor da velocidade de referência e da margem especificadas. Para especificar os valores de Velocidade de referência pretendida e margem de erro basta introduzir os valores nos campos indicados e pressionar o botão “Ajustar”.

Então a velocidade da polidora será analisada e o respetivo comando será enviado para o robô. Esta malha de controlo será explicada no ponto seguinte deste capítulo.

Para terminar os processos é preciso simplesmente pressionar o botão “Termina Processos”.

(41)

3.4

Malha do Controlo Autom

Como foi referido no ponto anterior o

para dirigir o robô consoante a velocidade da polidora. A malha de controlo é

Figura

Entenda-se que a sigla “Vp” é a velocidade da polidora, “Vref” é a velocidade da polidora que queremos que o robô esteja a polir e o “M” é a margem.

Resumindo, o valor da contagem dos pulsos é recebido e convertido para velocidade e rotações por minuto. Depois é feita uma an

afastar da polidora consoante o valor da velocidade de referência e da margem fornecidas. Assim se o valor da velocidade da polidora for demasiado abaixo do valor qu

robô afasta x mm o mesmo acontece se a velocidade for um pouco abaixo do prete este só afasta y mm. Os valores dos

Se

Vp <= Vref

-(M+50)

Envia comando

para afastar x

mm

Malha do Controlo Automático

do no ponto anterior o software criado para o controlo autom para dirigir o robô consoante a velocidade da polidora.

A malha de controlo é mostrada em esquema na figura 3.3.

Figura 3.3 - Malha do Controlo Automático

se que a sigla “Vp” é a velocidade da polidora, “Vref” é a velocidade da polidora que queremos que o robô esteja a polir e o “M” é a margem.

Resumindo, o valor da contagem dos pulsos é recebido e convertido para velocidade e rotações por minuto. Depois é feita uma análise para saber se o robô tem de aproximar ou afastar da polidora consoante o valor da velocidade de referência e da margem fornecidas. Assim se o valor da velocidade da polidora for demasiado abaixo do valor qu

mm o mesmo acontece se a velocidade for um pouco abaixo do prete mm. Os valores dos passos foram sendo alterados no decorrer dos testes

recebe a trama vinda do

arduino com o valor do

número de pulsos de 200

em 200ms

Calcula o valor da

velocidade Vp em rpm

Se

Vp <= Vref - M

Envia comando

para afastar y

mm

Se

Vp >= Vref +M

Envia comando

para aproximar

w mm

criado para o controlo automático serve

se que a sigla “Vp” é a velocidade da polidora, “Vref” é a velocidade da polidora

Resumindo, o valor da contagem dos pulsos é recebido e convertido para velocidade em lise para saber se o robô tem de aproximar ou afastar da polidora consoante o valor da velocidade de referência e da margem fornecidas. Assim se o valor da velocidade da polidora for demasiado abaixo do valor que queremos o mm o mesmo acontece se a velocidade for um pouco abaixo do pretendido mas

passos foram sendo alterados no decorrer dos testes.

Se

Vp<= Vref+M

&

Vp>= Vref - M

Está bem não

faz nada

(42)

Caso a velocidade seja superior à pretendida temos de aproximar o robô. Quando a velocidade está dentro dos parâmetros pretendidos o robô mantem-se. Para o processo de aproximação só temos um passo enquanto para o afastamento existem dois. Isto porque para a aproximação não podemos ter um passo muito grande, ou mesmo vários passos por isso só é usado um passo, enquanto no afastamento podemos ter a necessidade de afastar mais rápido e por isso foram escolhidos dois passos.

É de salientar que de início a malha de controlo continha condições para aproximar e afastar com os três valores do passo (por exemplo 1, 3 e 5). Contudo após os primeiros testes, concluiu-se que não era viável esta abordagem pois não poderíamos aproximar demasiado porque encravava a polidora e também não poderíamos afastar demasiado senão demorava muito tempo depois a aproximar. Assim, foram retiradas algumas condições ficando apenas com uma para aproximar e duas para afastar o que levou à malha de controlar apresentada na figura 3.3.

(43)

Capítulo 4

Resultados

Neste ponto serão apresentados os resultados para os diferentes passos utilizados, diferentes margens e para diferentes velocidades de polimento.

Para verificar as velocidades que a polidora apresentava em diferentes tipos de polimento foram efetuados testes de polimento utilizando o controlo manual como referenciado

anteriormente.

De relembrar que a velocidade da polidora em vazio apresenta o valor de 2850 rpm. Os testes efetuados mostraram que quando estamos a realizar um polimento suave a velocidade da polidora está na ordem dos 2700 rpm.

Fomos aproximando a peça metálica do disco de polimento até chegar a um ponto em que a polidora travava e consequentemente deixava de polir. Chegamos então à conclusão que para um polimento forte a velocidade da polidora está na ordem dos 2200 rpm. Para valores inferiores a 2200 rpm não interessa fazer testes pois a polidora irá travar devido ao excesso de força exercida e não irá polir. Assim, para um polimento médio basta escolher uma velocidade entre os 2600 e os 2300 rpm.

Então, os testes foram efetuados para diferentes valores de velocidade compreendidos entre 2700 rpm e 2200 rpm.

A tabela 4.1 mostra os resultados referenciados anteriormente.

Tipo de Polimento Gama de Valores de Velocidade de Referência

Suave 2800 até 2650

Médio 2650 até 2350

Forte 2350 até 2200

(44)

Os resultados serão apresentados consoante foram feitos os testes para os diferentes passos utilizados:

• Passo de 1mm, 3mm e 5mm.

• Passo de 0.25mm, 0.5mm e 1mm.

• Passo de 0.1mm e 0.2mm

De notar que nos primeiros dois passos temos três possíveis valores e no terceiro só temos dois. Isto deve-se ao facto que, durante os testes com os dois primeiros passos notou-se que o terceiro valor do passo só trazia problemas pois ou aproximava demasiado ou afastava demasiado demorando depois a aproximar, como referido no ponto 3.4 deste relatório. De realçar que na tabela 3.1 o valor dos passos está definido pois o serviço foi implementado, mas poderá não ter sido usado na malha de controlo ilustrada na figura 3.3.

Em cada um deles serão apresentados resultados para diferentes passagens de polimento, bem como para diferentes margens. O valor da margem de erro mínima possível para esta configuração é de 25, visto que o sistema de aquisição de velocidade tem uma resolução de 25. Ou seja, a velocidade muda de 25 em 25 rpm logo a margem de erro mínima tem de ser sempre superior. Assim o valor mínimo da margem que foi testado foi de 30.

4.1.

Passo de 1, 3 e 5 mm

De início, o valor do passo escolhido foi de 1, 3, ou 5 mm para aproximar ou afastar. De salientar que a velocidade programada para que o manipulador se movimentar foi de 200 mm/s.

Após diversos testes podemos verificar que estes valores de passo não eram viáveis porque quando o robô estava a aproximar, como o passo era muito grande este avançava demasiado levando a velocidade da polidora a descer drasticamente e consequentemente a afastar demasiado. Desta forma o sistema nunca conseguia estabilizar. Antes de alterar o passo ainda foi reduzida a velocidade do robô para 5 mm/s. Assim o sistema já não era tão instável porque o robô aproximava mais lentamente mas não conseguimos ter um sistema estável pois o passo ainda era muito elevado.

De seguida são apresentados alguns dados que comprovam o que foi mencionado anteriormente.

Na figura 4.1 podemos visualizar os resultados quando pretendemos um polimento suave, ou seja quase superficial, partindo com o sistema do repouso. Assim, iniciamos o sistema com a polidora a funcionar em vazio e introduzimos uma velocidade de referência de 2700 rpm. De relembrar que em vazio a velocidade da polidora é de 2850 rpm.

(45)

2000 2100 2200 2300 2400 2500 2600 2700 2800 2900 0 4 8 12 16 20 24 28 32 V e lo ci d a d e e m r p m Tempo em segundos

2850 -- 2700 com margem 50

velocidade 2850 2700 2750 2650

Analisando o gráfico anterior verificamos que o sistema não consegue estabilizar, tendo sempre variações bruscas de velocidade com o decorrer do tempo. Isto deve-se ao facto, como já foi referido, de o passo ser demasiado grande pois o manipulador avança demasiado, obrigando muitas das vezes a polidora a travar, baixando a sua velocidade de rotação drasticamente e por consequência o recuo em demasia do manipulador, não conseguindo estabilizar o polimento.

Para este passo será ainda apresentado outro teste (figura4.2), em que pretendemos um polimento médio, escolhendo o valor da velocidade de referência para 2500 rpm. Neste caso em específico, partimos de uma velocidade de rotação de 2700 rpm para a velocidade pretendida 2500 rpm. Então partiríamos de um polimento suave para um polimento médio.

(46)

Figura 4.2 - Passagem de uma velocidade de 2700 para 2500 com uma margem de 100

Após estes resultados chegamos à conclusão que com este passo não conseguimos ter um sistema estável. O valor da margem usada era indiferente pois o sistema não apresentava melhoria com a sua alteração.

Concluímos então que teríamos de diminuir o passo para não ser tão brusca a aproximação nem o afastamento.

4.2.

Passo de 0.25, 0.5 e 1 mm

O passo foi assim alterado para 0.25mm, 0.5mm ou 1mm. A velocidade do robô manteve-se em 5 mm/s.

Com estes valores de passo o nosso sistema teve uma melhoria significativa. Contudo esta estabilidade só era adquirida com valores de margens altos, porque com valores de margens baixos o sistema não conseguia estabilizar como podemos verificar nos resultados dos testes que irão ser apresentados seguidamente.

Estes resultados serão apresentados divididos por velocidades de referência, mostrando os resultados para diferentes margens.

1900 2000 2100 2200 2300 2400 2500 2600 2700 2800 2900 0 4 8 12 16 20 24 28 32 36 V e lo ci d a d e e m r p m Tempo em segundos

2700--2500 com margem de 100

velocidade 2700 2500 2570 2430

(47)

1800 1900 2000 2100 2200 2300 2400 2500 2600 2700 2800 0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 V e lo ci d a d e e m r p m Tempo em segundos

2700--2300 com margem de 30

velocidade 2700 2300 2330 2270 1800 1900 2000 2100 2200 2300 2400 2500 2600 2700 2800 2900 3000 0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 V e lo ci d a d e e m r p m Tempo em segundos

2700--2300 com margem de 50

velocidade 2700 2300 2350 2250  Velocidade de referência 2300 rpm

Neste grupo de testes a velocidade de polimento pretendida é de 2300 rpm. De notar que a velocidade inicial é de 2700 rpm. Ou seja, estamos a partir de um polimento suave para um polimento forte. Assim neste caso testamos logo o sistema a funcionar ao seu máximo (polimento forte), com diferentes margens de erro.

Figura 4.4 - Passagem de 2700 para 2300 com margem de 30

(48)

1800 1900 2000 2100 2200 2300 2400 2500 2600 2700 2800 0 2 4 6 8 10 12 14 16 V e lo ci d a d e e m r p m Tempo em segundos

2700--2300 com margem de 60

velocidade 2700 2300 2360 2240 1800 1900 2000 2100 2200 2300 2400 2500 2600 2700 2800 2900 3000 0 5 10 15 20 25 30 35 40 V e lo ci d a d e e m r p m Tempo em segundos

2700--2300 com margem de 150

velocidade 2700 2300 2450 2150

Com esta velocidade de referência podemos comprovar o que foi dito anteriormente, que para margens muito pequenas (figura 4.5 e 4.6) o sistema não consegue estabilizar. Contudo com margens um pouco maiores o sistema já estabiliza mesmo para este polimento forte.

O tempo que demora a estabilizar é um valor que não era constante nestes casos demorou entre 15 a 25 s aproximadamente.

Figura 4.5 - Passagem de 2700 para 2300 com margem de 60

(49)

1900 2000 2100 2200 2300 2400 2500 2600 2700 2800 2900 0 4 8 12 16 20 24 28 32 36 40 44 V e lo ci d a d e e m r p m Tempo em segundos

2700--2400 com margem 30

velocidade 2700 2400 2430 2370 1900 2000 2100 2200 2300 2400 2500 2600 2700 2800 2900 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 V e lo ci d a d e e m r p m

Tempo em segundos Milhares

2700--2400 com margem 50

velocidade 2700 2400 2450 2350  Velocidade de referência 2400

Agora a velocidade de referência foi reduzida um pouco e testamos o comportamento do sistema para diferentes margens de erro. Os resultados obtidos são de tudo idênticos aos obtidos para uma velocidade de referência de 2300 rpm.

Figura 4.7 - Passagem de 2700 para 2400 com uma margem de 30

(50)

1900 2000 2100 2200 2300 2400 2500 2600 2700 2800 0 5 10 15 20 25 30 V e lo ci d a d e e m r p m Tempo em segundos

2700--2400 com margem 70

velocidade 2700 2400 2470 2330 1500 1600 1700 1800 1900 2000 2100 2200 2300 2400 2500 2600 2700 2800 2900 3000 0 5 10 15 20 25 30 35 40 45 50 55 60 V e lo ci d a d e e m r p m Tempo em segundos

2700--2400 com margem 125

velocidade 2700 2400 2525 2275

Mais uma vez comprova-se que conseguimos um sistema estável para penas margens altas sendo que o sistema demora aproximadamente entre 20s a 45s a estabilizar. É de referir ainda que o tempo de estabilização continua a não ser regular.

Gràfico 1 - Passagem de 2700 para 2400 com uma margem de 70Figura 4.9 - Passagem de 2700 para 2400 com uma margem de 70

(51)

2200 2300 2400 2500 2600 2700 2800 2900 0 5 10 15 20 25 V e lo ci d a d e e m r p m Tempo em segundos

2700--2500 com margem de 30

velocidade 2700 2500 2530 2470 1900 2100 2300 2500 2700 2900 0 5 10 15 20 25 30 35 V e lo ci d a d e e m r p m Tempo em segundos

2700--2500 com margem de 50

velocidade 2700 2500 2550 2450  Velocidade de referência 2500

Foram ainda efetuados testes em que a velocidade de referência fosse no valor de 2500 rpm. Nestes testes foram visíveis as melhorias da resposta pois a exigência não é tão elevada. Ou seja, a força exercida pelo manipulador é menor. Como podemos comprovar na análise das figuras 4.11, 4.12 e 4.13, o sistema consegue estabilizar mesmo para margens mais baixas.

Gràfico 2 - Passagem de 2700 para 2500 com margem de 30 Figura 4.11 - Passagem de 2700 para 2500 com margem de 30

(52)

2200 2350 2500 2650 2800 0 5 10 15 20 25 30 35 40 45 50 55 60 65 V e lo ci d a d e e m r p m Tempo em segundos

2700--2500 com margem de 70

velocidade 2700 2500 2570 2430

Neste caso como era previsto pois a velocidade de referência é maior, comparada com as anteriores, não é exercida tanta força na polidora logo o sistema torna-se mais estável mesmo com margens pequenas. Por este facto não foram efetuados teste com margens maiores pois o sistema já estava a responder de forma agradável.

Contudo o tempo que demora a estabilizar varia demasiado mesmo com a mesma margem. Assim temos um sistema mais estável que para o passo anterior (passo 1, 3 e 5 mm) mas ainda não o suficiente.

Os resultados mostrados até agora mostram o desempenho do sistema na passagem de um polimento suave para um polimento mais forte, ou seja, quando queremos que a velocidade de rotação da polidora durante o polimento seja menor.

De seguida serão apresentados os dados dos testes realizados quando o oposto é pretendido.

Imagem

Figura 2.4 - Polidora usada com sistema do sensor  de velocidade acoplado
Figura 2.5 - Sensor Ótico E3F2DS30C4 da Omron
Figura 2.7 - Encoder Ótico
Figura 2.9 - Ilustração do ajuste de sensibilidade do sensor
+7

Referências

Documentos relacionados

Neste tipo de situações, os valores da propriedade cuisine da classe Restaurant deixam de ser apenas “valores” sem semântica a apresentar (possivelmente) numa caixa

Este dado diz respeito ao número total de contentores do sistema de resíduos urbanos indiferenciados, não sendo considerados os contentores de recolha

O presente estudo objetivou demarcar a idade de segregação, por meio da variação radial da massa espe- cífica básica, caracterizar o comportamento de propriedades físicas no

(grifos nossos). b) Em observância ao princípio da impessoalidade, a Administração não pode atuar com vistas a prejudicar ou beneficiar pessoas determinadas, vez que é

nesta nossa modesta obra O sonho e os sonhos analisa- mos o sono e sua importância para o corpo e sobretudo para a alma que, nas horas de repouso da matéria, liberta-se parcialmente

3.3 o Município tem caminhão da coleta seletiva, sendo orientado a providenciar a contratação direta da associação para o recolhimento dos resíduos recicláveis,

Neste estudo foram estipulados os seguintes objec- tivos: (a) identifi car as dimensões do desenvolvimento vocacional (convicção vocacional, cooperação vocacio- nal,

Essa revista é organizada pela Sociedade Brasileira de Planejamento Energético (SBPE) e por isso foram selecionados trabalhos que tinham como objetivo tratar a