projeto braço robotico

48
CURSO DE ENGENHARIA DA COMPUTAÇÃO JOÃO PAULO DE LIMA SARAIVA JULYANA DA ROCHA MARANHÃO THIAGO LUIZ ALVES LISTO SISTEMA DE CONTROLE DE BRAÇO MECÂNICO AUTOMATIZADO

Upload: igor-gabriel

Post on 02-Jan-2016

83 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Projeto Braço Robotico

CURSO DE ENGENHARIA DA COMPUTAÇÃO

JOÃO PAULO DE LIMA SARAIVA

JULYANA DA ROCHA MARANHÃO

THIAGO LUIZ ALVES LISTO

SISTEMA DE CONTROLE DE BRAÇO MECÂNICO AUTOMATIZADO

Page 2: Projeto Braço Robotico

BELÉM-PA

2008

INSTITUTO DE ESTUDOS SUPERIORES DA AMAZÔNIA

CURSO DE ENGENHARIA DA COMPUTAÇÃO

JOÃO PAULO DE LIMA SARAIVA

JULYANA DA ROCHA MARANHÃO

THIAGO LUIZ ALVES LISTO

Page 3: Projeto Braço Robotico

SISTEMA DE CONTROLE DE BRAÇO MECÂNICO AUTOMATIZADO

Trabalho de Monografia. Apresentado as disciplinas:

Automação, Microcontroladores e

Microprocessadores, Banco de Dados, Engenharia

de Software, Sistema de Comunicação como

requisito de 2ª avaliação.

Orientador (a) Prof. Msc. Márcio Nazareno de

Araújo Moscoso

BELÉM-PA

2008

INSTITUTO DE ESTUDOS SUPERIORES DA AMAZÔNIA

CURSO DE ENGENHARIA DA COMPUTAÇÃO

JOÃO PAULO DE LIMA SARAIVA

Page 4: Projeto Braço Robotico

JULYANA DA ROCHA MARANHÃO

THIAGO LUIZ ALVES LISTO

SISTEMA DE CONTROLE DE BRAÇO MECÂNICO AUTOMATIZADO

Esta Monografia foi julgada adequada para a obtenção da aprovação na disciplina de

projeto de engenharia, do 3ºano da Engenharia de Computação, e aprovada na sua forma final

pelo Instituto de Estudos Superiores da Amazônia

DATA: ____/____/____

CONCEITO: ______

______________________________________,

Prof. Msc. Márcio Nazareno de Araújo Moscoso

Orientador – IESAM

__________________________________________________

Prof.

Avaliador - IESAM

BELÉM-PA

Page 5: Projeto Braço Robotico

2008

AGRADECIMENTO

Agradeço à Deus por ter me iluminado e dado força para a realização e conclusão

deste trabalho.

Sou muito grato ao meu orientador Prof. Dr. Márcio Nazareno de Araújo Moscoso

pela orientação, esforço, apoio, incentivo e principalmente paciência.

Ao Prof. Dr Dionne Cavalcante Monteiro que foi o nosso primeiro orientador, que nos

ajudo a consolidar todas as idéias de nosso projeto.

Ao Aldo José de Oliveira Barbosa, que me deu bastante apoio nos momentos inicias

deste trabalho pelas discussões e dicas sobre o trabalho.

E à todas as pessoas que contribuíram direta ou indiretamente para a realização deste

trabalho.

Page 6: Projeto Braço Robotico

RESUMO

Esta projeto consiste na construção de um braço robótico e de um Software de controle

que tem como finalidade o auxilio em trabalhos perigosos. O sistema é formado por um braço

robótico articulado com três graus de liberdade, de juntas rotativas, acionamento direto por

motores dc com redução, uma garra com dois dedos e de um programa em Java, em que o

usuário fará o controle do braço. A abordagem utilizada na concepção do software será

desenvolvido a partir do conceito de movimento cinemático.

PALAVRAS - CHAVE: Braço robótico, Software, Java, Movimento cinemático.

Page 7: Projeto Braço Robotico

ABSTRACT

This project consists in building a robotic arm and a control software that is intended

to help in hazardous work. The system consists of an articulated robotic arm with three de-

grees of freedom, rotary joints, drive straight by dc motors with reduction, a clamshell with

two fingers and a program in Java, where the user will control the arm. The approach used in

designing the software will build on the concept of kinematic motion.

WORD KEY: Robot arm, Software, Movement kinematics.

Page 8: Projeto Braço Robotico

LISTAS DE FIGURAS

Figura 1: esquema de notação de elos e juntas num braço mecânico ilustrativo......................12

Figura 2: Seqüência de elos numa junta de um braço robótico................................................13

Figura 3: Braço robótico...........................................................................................................13

Figura 4: Tipo de junta empregada no robô..............................................................................13

Figura 5: Representação esquemática de juntas........................................................................14

Figura 6: Duas configurações distintas com movimentação idêntica: TVR e VRR.................14

Figura 7: braço com um (à esquerda) e dois graus de liberdade (à direita)..............................15

Figura 8: movimentos de um punho com 3gl...........................................................................16

Figura 9: Configuração de um punho TRT na forma compacta...............................................17

Figura 10: Robô articulado ou revoluto....................................................................................18

Figura 11: modelo de garras de dois dedos...............................................................................19

Figura 12: Volume de trabalho teórico de um robô cilíndrico..................................................20

Figura 13: volume (área) útil do manipulador RS40B. (Fonte:staubli robotics)......................21

Figura 14: Volume de manipulador KR30HA produzido pela Kuka Robotics. ......................21

Figura 15: Diagrama de blocos do controle em malha fechada................................................22

Figura 16: Deslocamento angular de um braço com 2GL num plano......................................24

Figura 17: Exemplo de Braço Robótico....................................................................................25

Figura 18: Acrílico....................................................................................................................25

Figura 19: PVC.........................................................................................................................25

Figura 20: Rolamento Internamente(eliminar).........................................................................26

Figura 21: Rolamento................................................................................................................26

Figura 22: Diagrama esquemático do robô...............................................................................27

Figura 23: circuito da ponte h...................................................................................................27

Figura 24: Motor.......................................................................................................................28

Figura 25: Pic............................................................................................................................28

Figura 26: Pic............................................................................................................................29

Figura 27: porta DB9 e microcontrolador max232...................................................................30

Figura 28: circuito da comunicaçao serial................................................................................30

Figura 29: tela do programa em java........................................................................................31

Page 9: Projeto Braço Robotico

SUMÁRIO

1 INTRODUÇÃO ...................................................................................................................... 9 1.1 OBJETIVOS ..................................................................................................................... 9 1.2 JUSTIFICATIVA ............................................................................................................. 9

2 ROBÓTICA .......................................................................................................................... 11 2.1 INTRODUÇÃO .............................................................................................................. 11 2.2 O QUE É ROBÓTICA .................................................................................................... 12 2.3 ANATOMIA DOS BRAÇOS MECÂNICOS ................................................................ 12 2.4 GRAU DE LIBERDADE ............................................................................................... 15

2.5.1 ÓRGÃO TERMINAL ............................................................................................ 18 2.6 SISTEMAS DE ACIONAMENTO ................................................................................ 19

2.6.1 Servo-motores ......................................................................................................... 19 2.7 VOLUME DE TRABALHO .......................................................................................... 19 2.8 SISTEMA DE CONTROLE ........................................................................................... 21 2.9 DINÂMICA DO BRAÇO ROBÓTICO ......................................................................... 22

2.9.1 Precisão dos movimentos ....................................................................................... 23 2.9.2 Precisão cartesiana em juntas robóticas .............................................................. 23

3 METODOLOGIA ................................................................................................................ 25 3.1 CARACTERÍSTICAS TÉCNICAS ................................................................................ 26 3.2 O PROJETO MECÂNICO ............................................................................................. 26 3.3 O ACIONAMENTO ....................................................................................................... 27

3.3.1 Circuito ................................................................................................................... 27 3.4 A COMUNICAÇÃO COM O COMPUTADOR ............................................................ 29

3.4.1 Circuito ................................................................................................................... 29 3.5 O SOFTWARE DE CONTROLE ................................................................................... 30 3.6 RESULTADOS ............................................................................................................... 31

4 CONCLUSÃO ..................................................................................................................... 32 REFERÊNCIA ........................................................................................................................ 33 ANEXOS .................................................................................................................................. 34

Page 10: Projeto Braço Robotico
Page 11: Projeto Braço Robotico

1 INTRODUÇÃO

O projeto consiste na construção de um manipulador articulado com 3 graus de

liberdade e de um programa que controla seus movimentos, que possuirá no seu órgão

terminal um suporte que podera garra. Através de um sistema de comunicação, o programa

guarda em sua memória o detalhe do percurso que o braço seguirá. Quando o programa está

rodando, o computador envia sinais ativando motores que movem o braço e o atuador no final

dele.

1.1 OBJETIVOS

Objetivo geral

Utilizar um software de computador para controlar um manipulador robótico

articulado, 3 graus de liberdade, com juntas do tipo rotacional e no seu órgão terminal será

utilizado uma garra para que possa pegar pequenos objetos.

Objetivos específicos

• Construir o braço robótico utilizando peças em acrílico e alumínio.

• Implementar um sistema de software para o controle do posicionamento do manipulador.

• Testar seus movimentos.

1.2 JUSTIFICATIVA

O objetivo de se substituir o ser humano em tarefas em que ele não poderia realizar, por

causa de suas próprias limitações físicas, ou por envolverem condições desagradáveis ou

extremas. Devido a essa necessidade que o no projeto consiste na construção de um braço

robótico controlado pelo PC usando porta serial para esse controle.

A utilização do braço robótico contribui em vários fatores como:

9

Page 12: Projeto Braço Robotico

Fatores técnicos:

Flexibilidade na gama de produtos fabricados, incremento da precisão, força, rapidez,

uniformidade e suporte a ambientes hostis, incremento dos índices de qualidade e de peças

rejeitadas.

Fatores econômicos:

Utilização eficiente de unidades de produção intensivo aumento de produtividade

(inexistência de interrupções, etc.), Redução do tempo de preparação da fabricação.

Fatores sociológicos:

Redução do número de acidentes, afastamento do ser humano de locais perigosos para a

saúde, Redução de horários de trabalho, aumento do poder de compra.

10

Page 13: Projeto Braço Robotico

2 ROBÓTICA

2.1 INTRODUÇÃO

Muitos anos atrás, os robôs faziam parte apenas da ficção científica, fruto da

imaginação do homem. No início dos anos 60, os primeiros robôs começaram a ser usadas

com o objetivo de substituir o homem em tarefas que ele não podia realizar por envolverem

condições desagradáveis, tipicamente contendo altos níveis de: calor; ruído; gases tóxicos;

esforço físico extremo; trabalhos monótonos, "chatos".

Nos últimos 20 anos, as tendências que garantem a evolução dos robôs são: o

constante aumento dos níveis salariais dos empregados; o extraordinário avanço tecnológico

no ramo de computadores, que induz à redução dos preços do robô e uma significativa

melhoria em seu desempenho.

A palavra robô (“robot”) tem origem da palavra tcheca robotnik, que significa servo.

O termo robô foi utilizado inicialmente por Karel Capek em 1923, nesta época a idéia de um

"homem mecânico" parecia vir de alguma obra de ficção. (SALANT ,90)

O grande escritor americano de ficção científica Isaac Asimov estabeleceu quatro leis

muito simples para a robótica:

1ª lei: "Um robô não pode ferir um ser humano ou, permanecendo passivo, deixar um ser

humano exposto ao perigo".

2ª lei: "O robô deve obedecer às ordens dadas pelos seres humanos, exceto se tais ordens

estiverem em contradição com a primeira lei".

3ª lei: "Um robô deve proteger sua existência na medida em que essa proteção não estiver em

contradição com a primeira e a segunda lei".

4ª lei: "Um robô não pode causar mal à humanidade nem permitir que ela própria o faça".

A quarta e última lei foi escrita por Asimov em 1984. (SALANT ,90)

A idéia de se construir robôs começou a tomar força no início do século XX com a

necessidade de aumentar a produtividade e melhorar a qualidade dos produtos. É nesta época

que o robô industrial encontrou suas primeiras aplicações.

Atualmente devido aos inúmeros recursos que os sistemas de microcomputadores, os

atuadores e os sensores nos oferece, a robótica atravessa uma época de contínuo crescimento

que permitirá, em um curto espaço de tempo, o desenvolvimento de robôs inteligentes

fazendo assim com que a ficção do homem antigo torne-se a realidade do homem atual.

11

Page 14: Projeto Braço Robotico

2.2 O QUE É ROBÓTICA

Podemos definir como robótica o controle de mecanismos electro-electrônicos através

de um computador, transformando-o em uma máquina capaz de interagir com o meio

ambiente e executar ações decididas por um programa criado pelo programador a partir destas

interações. (AMI,93)

Podemos exemplificar o uso da robótica em diversas áreas de conhecimento. Na

engenharia temos os robôs que mergulham a grandes profundidades para auxiliar em reparos

nas plataformas de petróleo; na medicina, os robôs já auxiliam as cirurgias de alto risco.

Outras aplicações podem ser menos percebidas, tal como a impressora que também é um

robô. (SALANT , 1990).

2.3 ANATOMIA DOS BRAÇOS MECÂNICOS

O braço robótico (GROOVER, 1988) é composto pelo braço e pulso. O braço consiste de

elementos denominados elos unidos por juntas de movimento relativo, onde são acoplados os

acionadores para realizarem estes movimentos individualmente, dotados de capacidade

sensorial, e instruídos por um sistema de controle. O braço é fixado à base por um lado e ao

punho pelo outro. O punho consiste de várias juntas próximas entre si, que permitem a

orientação do órgão terminal nas posições que correspondem à tarefa a ser realizada. Na

extremidade do punho existe um órgão terminal (mão ou ferramenta) destinada a realizar a

tarefa exigida pela aplicação. A Figura 1 mostra esquematicamente uma seqüência de elos e

juntas de um braço robótico. Nos braços reais, a identificação dos elos e juntas nem sempre é

fácil, em virtude da estrutura e de peças que cobrem as juntas para protegê-las no ambiente de

trabalho.

12

Page 15: Projeto Braço Robotico

Figura 1: esquema de notação de elos e juntas num braço mecânico ilustrativo.

Numa junta qualquer, o elo que estiver mais próximo da base e denominado elo de entrada. O

elo de saída e aquele mais próximo do órgão terminal, como ilustrado na Figura2.

Figura2: Seqüência de elos numa junta de um braço robótico.

A Figura 3 mostra um braço robótico industrial, com todas as suas partes.

Figura 3: Braço robótico

2.4 JUNTAS

As juntas utilizada em nosso trabalho é do tipo rotacional. Onde sua função é descritas

a seguir, e na Figura 4 podem ser visualizadas.

• A junta rotacional: Gira em torno de uma linha imaginaria estacionaria chamada de

eixo de rotação. Ela gira como uma cadeira giratória e abrem e fecham como uma dobradiça;

13

Page 16: Projeto Braço Robotico

Figura 4: Tipo de junta empregada no robô.

Robôs industriais utilizam em geral apenas juntas rotativas e prismáticas. As juntas

rotativas podem ainda ser classificadas de acordo com as direções dos elos de entrada e de

saída em relação ao eixo de rotação. Tem-se assim as seguintes juntas rotativas:

• Rotativa de torção ou torcional T: Os elos de entrada e de saída tem a mesma direção do

eixo de rotação da junta.

• Rotativa rotacional R: Os elos de entrada e de saída são perpendiculares ao eixo de rotação

da junta.

• Rotativa revolvente V: O elo de entrada possui a mesma direção do eixo de rotação, mas o

elo de saída e perpendicular a este.

A Figura 5 mostra uma representação esquemática destas juntas, e também da junta

prismática.

Figura 5: Representação esquemática de juntas

Robôs industriais adotam com freqüência soluções que tornam o reconhecimento das

juntas mais complexo. De fato, dependendo da forma com que os elos são construídos numa

representação esquemática, a nomenclatura do braço pode ser ambígua. A Figura 6 ilustra um

mesmo manipulador representado de duas formas distintas. A movimentação e igual em

ambos os esquemas. Este braço poderia ser denominado, indistintamente, de TVR ou VRR.

Para tornar a identificação única deve-se buscar uma geometria onde os elos sejam

formados por, no maximo, dois segmentos lineares. Neste caso, a configuração VRR seria a

correta.

14

Page 17: Projeto Braço Robotico

Figura 6: Duas configurações distintas com movimentação idêntica: TVR e VRR.

2.4 GRAU DE LIBERDADE

Os graus de liberdade (GL) determinam os movimentos do braço robótico no espaço

bidimensional ou tridimensional. Cada junta define um ou dois graus de liberdade, e, assim, o

número de graus de liberdade do robô é igual à somatória dos graus de liberdade de suas

juntas. Por exemplo, quando o movimento relativo ocorre em um único eixo, a junta tem um

grau de liberdade; caso o movimento se dê em mais de um eixo, a junta tem dois graus de

liberdade, conforme é apresentado na Figura 7. Observa-se que quanto maior a quantidade de

graus de liberdade, mais complicadas são a cinemática, a dinâmica e o controle do

manipulador. O número de graus de liberdade de um manipulador está associado ao número

de variáveis posicionais independentes que permitem definir a posição de todas as partes de

forma unívoca.

Figura 7:.braço com um (à esquerda) e dois graus de liberdade (à direita).

Os movimentos robóticos podem ser separados em movimentos do braço e do punho. Em

geral os braços são dotados de 3 acionadores e uma configuração 3GL, numa configuração

que permita que o órgão terminal alcance um ponto qualquer dentro de um espaço limitado ao

redor do braço. Pode-se identificar 3 movimentos independentes num braço qualquer,

conforme descritas a seguir, e mostradas na Figura 8:

15

Page 18: Projeto Braço Robotico

Vertical transversal (Pitch ou arfagem): movimento vertical do punho para cima ou para baixo

Rotacional transversal (Yaw ou guinada): movimento do punho horizontalmente para a

esquerda ou para a direita.

Radial transversal (Roll ou rolamento): movimento de aproximação ou afastamento do punho

Figura 8: movimentos de um punho com 3gl.

2.5 CONFIGURAÇÃO DO ROBÔ

A configuração física dos robôs (GROOVER, 1988) esta relacionada com os tipos de

juntas que ele possui. Cada configuração pode ser representada por um esquema de notação

de letras, como visto anteriormente. Considera-se primeiro os graus de liberdade mais

próximos da base, ou seja, as juntas do corpo, do braço e posteriormente do punho. A notação

de juntas rotativas, prismáticas e de torção.

Como visto anteriormente, um braço mecânico e formado pela base, braço e punho. O

braço e ligado a base e esta e fixada ao chão, a parede ou ao teto. E o braço que efetua os

movimentos e posiciona o punho. O punho e dotado de movimentos destinados a orientar

(apontar) o órgão terminal. O órgão terminal executa a ação, mas não faz parte da anatomia

do braço robótico, pois depende da aplicação a ser exercida pelo braço. A movimentação do

braço e a orientação do punho são realizadas por juntas, que são articulações providas de

motores. Em resumo, a base sustenta o corpo, que movimenta o braço, que posiciona o punho,

que orienta o órgão terminal, que executa a ação. Em geral utilizam-se 3 juntas para o braço e

de 2 a 3 juntas para o punho. Os elos do braço são de grande tamanho, para permitir um longo

alcance. Por outro lado, os elos do punho são pequenos, e, as vezes, de comprimento nulo,

para que o órgão terminal desloque-se o mínimo possível durante a orientação do punho.

Adota-se uma nomenclatura para os manipuladores com base nos tipos de juntas utilizadas na

cadeia de elos, que parte da base em direção ao órgão terminal. Assim um manipulador TRR

teria a primeira junta (da base) torcional, e as duas seguintes seriam rotacionais. O punho

16

Page 19: Projeto Braço Robotico

segue a mesma notação, porem separa-se o corpo do punho por dois pontos “:”, por exemplo,

TRR:RR. As configurações típicas para o braço e o punho de robôs industriais são

apresentadas nas Tabelas 1 e 2. A Figura 9 mostra a configuração de um punho TRT. Os

braços industriais mais comuns descritos nas seções seguintes.

Tabela 1:

Esquema de notação para designar configurações de robôs

Tabela 2:

Esquema de notação para designar configurações do pulso

Figura 9: Configuração de um punho TRT na forma compacta.

Onde no projeto foi utilizado a configuração articulada ou revoluto conforme

descriçãoabaixo:

2.5.1 Robô articulado ou revoluto

Estes tipos de robôs (GROOVER, 1988, Adade Filho, 1992), possuem 3 juntas

rotativas, conforme ilustrada a Figura 10. Eles são os mais usados nas industrias, por terem

uma configuração semelhante ao do braço humano, (braço, antebraço e pulso). O pulso e

unido a extremidade do antebraço, o que propicia juntas adicionais para orientação do órgão

terminal. Este modelo de configuração e o mais versátil dos manipuladores, pois assegura

maiores movimentos dentro de um espaço compacto. Os braços revolutos podem ser de dois

tipos: cadeia aberta ou cadeia parcialmente fechada. Nos primeiros pode-se distinguir

17

Page 20: Projeto Braço Robotico

facilmente a seqüência natural formada por elo-junta, da base ate o punho. Nos braços de

cadeia parcialmente fechada o atuador da terceira junta efetua o movimento desta por meio de

elos e articulações não motorizadas adicionais.

Figura 10: Robô articulado ou revoluto.

2.5.1 ÓRGÃO TERMINAL

Na robótica, órgão terminal (GROOVER,1988) é usado para descrever a mão ou

ferramenta que esta conectada ao pulso, como por exemplo, uma pistola de solda, garras,

pulverizadores de tintas, entre outros. O órgão terminal é o responsável por realizar a

manipulação de objetos em diferentes tamanhos, formas e materiais, porém esta manipulação

depende da aplicação ao qual se destina.

É valido ressaltar que os órgãos terminais requerem cuidados ao serem projetados,

pois é necessário controlar a força que está sendo aplicada num objeto. Para isso, alguns

órgãos terminais são dotados de sensores que fornecem informações sobre os objetos.

Existe uma grande variedade de modelos de garras que podem ser utilizadas em diversas

aplicações como por exemplos:

• Garra de dois dedos;

• Garra pra objetos cilíndricos;

• Garra articulada.

Onde no projeto foi utilizado a Garra de dois dedos conforme descrição abaixo:

A garra de dois dedos, como pode ser visualizada na figura 11, é um modelo simples e

com movimentos paralelos ou rotacionais. Este modelo de garra proporciona pouca

versatilidade na manipulação dos objetos, pois existe limitação na abertura dos dedos. Desta

forma a dimensão dos objetos não pode exceder esta abertura.

18

Page 21: Projeto Braço Robotico

Figura 11: modelo de garras de dois dedos

2.6 SISTEMAS DE ACIONAMENTO

Os acionadores (GROOVER, 1988) são dispositivos responsáveis pelo movimento das

articulações e do desempenho dinâmico do robô. Esses dispositivos podem ser elétricos,

hidráulicos ou pneumáticos, cada um com suas características. A seguir será descrito o

funcionamento do dispositivo utilizado no projeto.

2.6.1 Servo-motores

Servo-motores são compostos por motores DC e um redutor de velocidades, junto com

um sensor de posição e um sistema de controle re-alimentado. Em outras palavras, os servo-

motores podem ser considerados como sendo motores comandados em posição (angular ou

linear), já que, do ponto de vista de quem os utiliza, o controle interno em malha fechada é

irrelevante. Os servo-motores são pequenos, com ampla variação de torques. O mecanismo de

posicionamento ajusta a posição angular por meio de um sinal codificado que lhe é enviado.

Enquanto esse código estiver na entrada, o servo irá manter a sua posição angular. Em geral o

sinal é do tipo PWM, ou seja, a posição angular irá depender da largura do pulso enviado.

2.7 VOLUME DE TRABALHO

O volume de trabalho (GROOVER, 1988) é o termo que se refere ao espaço que um

determinado braço consegue posicionar seu pulso. Este volume, em geral, é estabelecido

conforme os limites impostos pelo projeto estrutural do braço, ou seja, a configuração física

19

Page 22: Projeto Braço Robotico

do braço robótico, os limites dos movimentos das juntas e o tamanho dos componentes do

corpo, braço e pulso. Por exemplo, o volume de trabalho de um braço esférico (TRL) seria,

teoricamente, o volume da esfera cujo raio é o comprimento do braço esticado. Braços

robóticos possuem volumes que dependem, é claro, da geometria e dos limites impostos ao

movimento por motivos estruturais ou de controle. Na maior parte deles, o volume é

altamente dependente de detalhes construtivos e raramente aparenta ou aproxima-se do

volume teórico. Por exemplo, o volume de um manipulador cilíndrico deveria ser um cilindro,

como mostrado na Figura 12, mas em geral não é. Em resumo, o volume de trabalho de um

manipulador depende, basicamente, da configuração do braço, dos comprimentos dos elos

(braço e punho) e de limites e restrições construtivas à movimentação das juntas.

Figura 12: Volume de trabalho teórico de um robô cilíndrico.

Os volumes de trabalho são medidos em unidades volumétricas, porém isto pouco ou

nada contribui na seleção de um braço para determinada aplicação. Muito mais importante do

que conhecer que o volume de um braço é de 1832 litros seria saber se ele consegue ou não

atingir um ponto afastado de 840 mm do seu eixo vertical, por exemplo. Em virtude deste

aspecto, os fabricantes de manipuladores robóticos fornecem o volume de trabalho em termos

do alcance do braço em um ou mais planos. A Figura 13 mostra a área de trabalho de um

braço SCARA em vista superior, produzido pela Stäubli. O deslocamento da terceira junta é

de 200 mm, neste braço. Braços articulados ou revolventes apresentam em geral um volume

bastante complexo, pois as juntas têm movimentos limitados. A Figura 14 mostra o volume

do braço KR30HA produzido pela Kuka Robotics.

20

Page 23: Projeto Braço Robotico

Figura 13: volume (área) útil do manipulador RS40B. (Fonte:staubli robotics).

Figura 14: Volume de manipulador KR30HA produzido pela Kuka Robotics.

Os volumes, alcances ou áreas de trabalho devem ser expressos sem a presença do órgão

terminal, já que este pode alterar significativamente tais valores, dependendo da aplicação.

2.8 SISTEMA DE CONTROLE

O sistema de controle de qualquer robô e realizado por meio de um sistema de

“software” e “hardware”. Este sistema processa os sinais de entrada e converte estes sinais em

uma ação ao qual foi programado.

O software pode ser desenvolvido em um computador pessoal ou num

microcontrolador. Neste aspecto, deve-se levar em consideração os pontos fortes e fracos de

cada possibilidade. O microcontrolador reduz o custo do projeto, e rápido, dedica-se apenas

ao controle do robô, porém possui limitações em relação ao tamanho do software. Já o

computador pessoal possui alta taxa de processamento e maior espaço para a alocação do

21

Page 24: Projeto Braço Robotico

software. Pode-se ainda aplicar uma solução mista, em que a parte mais leve do software fica

no microcontrolador e a parte de maior processamento fica no computador pessoal.

O sistema de hardware pode constituir, por exemplo, de motores de passos, cabos,

dispositivo de entrada, sensores e amplificadores de potencia. Um dos fatores mais

importantes e a utilização de sensores, pois podem ser dispositivos de um sistema de malha

fechada, ou seja, consiste em verificar o estado atual do dispositivo a ser controlado e

comparar essa medida com um valor predefinido. Esta comparação resultara num erro, ao

qual o sistema de controle fará os ajustes necessários para que o erro seja reduzido a zero. Um

esquema simples de malha fechada e apresentado em diagrama de blocos na Figura 15.

Onde pretendemos adotar esse tipo de sistema de controle em nosso projeto

futuramente, pois ira otimizar seu funcionamento.

Figura 15: Diagrama de blocos do controle em malha fechada.

2.9 DINÂMICA DO BRAÇO ROBÓTICO

O desempenho dinâmico do braço robótico (GROOVER, 1988) esta associado à

velocidade de resposta, estabilidade e precisão. A velocidade de resposta refere-se à destreza

do braço robótico ao mover-se de um lugar para outro num curto período de tempo. Desta

forma, o torque existente em cada junta do braço e a aceleração em cada elo devem ser

analisadas. Já a estabilidade pode ser estimada com base no tempo necessário para amortecer

as oscilações que ocorrem durante o movimento de uma posição para a outra. Se a

estabilidade for baixa pode-se aplicar elementos de amortecimento no braço, que melhoram a

estabilidade, mas influem na velocidade de resposta.

A precisão esta relacionada com a velocidade e estabilidade, pois e uma medida de erro na

posição do órgão terminal. Os conceitos relacionados com a precisão são analisados a seguir.

22

Page 25: Projeto Braço Robotico

2.9.1 Precisão dos movimentos

A precisão de movimento esta intrinsecamente correlacionada com três características,

como segue:

• Resolução espacial

• Precisão

• Repetibilidade.

A resolução espacial depende diretamente do controle de sistema e das inexatidões

mecânicas do braço robótico. O sistema de controle e o responsável por controlar todos os

incrementos individuais das articulações. Já as inexatidões relacionam-se com a qualidade dos

componentes que formam as uniões entre as articulações, como as folgas nas engrenagens,

tensões nas polias, e histereses mecânicas e magnéticas, entre outros fatores. A precisão esta

relacionada com a capacidade de um braço posicionar o seu pulso em um ponto marcado

dentro do volume de trabalho. A precisão relaciona-se com a resolução espacial, pois a

precisão depende dos incrementos que as juntas podem realizar para se movimentar e atingir

um ponto determinado.

Por fim, a repetibilidade esta relacionada com a capacidade do braço robótico de

posicionar repetidamente seu pulso num ponto determinado. Estes movimentos podem sofrer

influencias de folgas mecânicas, da flexibilidade e das limitações do sistema de controle.

2.9.2 Precisão cartesiana em juntas robóticas

Supondo-se que sejam conhecidas as precisões (ou resolução do controle) em cada

uma das juntas de um braço mecânico, deseja-se saber qual será a precisão cartesiana, isto e,

qual será a precisão do braço num determinado ponto de trabalho. E evidente que a precisão

cartesiana depende do ponto de operação, pois os erros de juntas rotativas são mais

acentuados quando o braço estiver estendido do que quando estiver recolhido. Será feita agora

uma analise simples para um braço de apenas uma junta rotativa, e, a seguir, um braço

composto de duas juntas rotativas movendo-se num plano.

Considera-se um braço com dois graus de liberdade e duas juntas rotativas movendo-

se num plano, como indica a figura 16. Neste braço percebe-se que as imprecisões cartesianas

dependem do movimento de ambas as juntas, uma vez que tanto J1 quanto J2 movimentam a

extremidade do braço (garra). O erro total será portanto composto pela soma dos erros

23

Page 26: Projeto Braço Robotico

causados por cada uma das juntas. A junta J2 provoca um erro semelhante ao causado por um

braço de uma única junta, visto anteriormente, de tal forma que.

Figura 16: Deslocamento angular de um braço com 2GL num plano.

Se _θ1 for também pequeno, então se pode projetar o vetor v em ambas as direções.

Para se obter:

Onde r e a distancia que vai do eixo de rotação da junta J1 ate a extremidade do braço. Porem

percebe-se que r senθ1 = y e que r cosθ1 = x. Alem disso, tem-se, da cinemática direta deste

braço, que x = a1 cosθ1 + a2 cos(θ1 + θ2), e que y = a1 senθ1 + a2 sen(θ1 + θ2). Logo a

precisão cartesiana total fica:

Onde iremos adotar esse tipo de precisão futuramente em nosso trabalha, para otimizar

a precisão dos movimentos.

24

Page 27: Projeto Braço Robotico

3 METODOLOGIA

Os princípios que nortearam o projeto e construção deste braço são os seguintes:

• Robô manipulador articulado com três graus de liberdade e garra, com acionamento

elétrico do tipo servo-motor, independente das juntas e controladas por computador.

• Programa de controle similar às interfaces de operação dos robôs industriais.

• Software de controle disponível para diversos sistemas operacionais.

Decidiu-se iniciar a construção do protótipo a partir do modelo de um kit para

construção de pequenos manipuladores robóticos, comercializado pela Lynxmotion

(figura17). Este kit foi escolhido por já conter os componentes necessários à construção de

um braço semelhante ao que desejávamos: material plástico, servo-motores, componentes

eletrônicos para o controle dos motores e interfaceamento com computador, etc.

Figura 17: Exemplo de Braço Robótico

O projeto original do robô foi modificado para se adequar às metas definidas. A

principal modificação foi a substituição dos elos em acrílico(figura18) por PVC(figura19),

devido o custo ser maior em acrílico. A utilização de rolamentos de esfera(figura20,21) para

que os elos de sustentação tenham maior mobilidade.

Figura 18: Acrílico Figura 19: PVC

25

Page 28: Projeto Braço Robotico

Figura 20: Rolamento Internamente(eliminar) Figura 21: Rolamento

Um software de controle do robô foi desenvolvido com a finalidade de produzir um

ambiente onde um usuário final possa interagir com o braço manipulador de forma a permitir

a movimentação das juntas do robô. Esta tem o objetivo de fazer o robô executar uma tarefa

ordenada pelo usuario.

3.1 CARACTERÍSTICAS TÉCNICAS

O projeto esta divido em varias partes: mecânica, acionamento, circuito, comunicação

com o computador e o software de controle

O protótipo devera realizar pequenas tarefas com deslocar pequenos objetos de um

ponto a outro, tudo isso através de um sistema que qualquer usuário possa utilizar.

A parte mecânica esta dividido em três partes a construção da garra, da base e da

estrutura que consiste no braço, antebraço e pulso.

3.2 O PROJETO MECÂNICO

O protótipo, construído em PVC, possui as características e dimensões indicadas na

figura 22.

26

Page 29: Projeto Braço Robotico

Fig. 22 Diagrama esquemático do robô

3.3 O ACIONAMENTO

O robô é acionado por 3 (três) servo-motores, da pittman gm9x14. Os servo-motores

são dispositivos que integram um motor CC, com uma caixa de engrenagens para redução. O

sinal de referência para o servo-motor é fornecida pelo circuito em ponte H onde será feito a

inversão da corrente,sendo controlado através do PIC 16F628A.

3.3.1 Circuito

Ponte H

Figura 23: circuito da ponte h.

O circuito da Ponte H da figura 23 é composto por:

4 x diodos 1N4004

4 x resistores 0,5K

2 x transistores NPN BC548

2 x transistores PNP BC558

O ciruito é construído com quatro "chaves" como mostra a tabela 3 ( Q13 – Q16 ) que

são acionadas. Para cada configuração das chaves o motor gira em um sentido. As chaves Q13

e Q14 assim como as chaves Q15 e Q16 estão diretamente ligadas a microcontrolador que é o

responsável pelo seu acionamento consequentemente sua rotação conforme a tabela detalhada

a abaixo.

tabela 3

Q13/Q14 Q15/Q16 DIREÇÃO

0 0 Parar

0 1 Esquerda

1 0 Direita

1 1 Parada Brusca

27

Page 30: Projeto Braço Robotico

Figura 24: Motor

Pic

Figura 25: Pic

O circuito da Ponte H é acionado pelo PIC 16F628A (figura 26) por apenas duas

saídas, como o projeto é composto por vários servos motores foram utilizados 8 portas do PIC

16f628A , como mostra a figura 25 que controlara 4 ponte H como mostra a tabela 4, as

portas utilizadas no programa inserido no pic foram.

Tabela 4

Figura 26: Motor

Programa

No programa foi utilizado muitas Funções, que é uma técnica de programação que

28

RA7 PIN_A7RA6 PIN_A6

Ponte

H_1RB6 PIN_B6RB7 PIN_B7

Ponte

H_2RB4 PIN_B4RB5 PIN_B5

Ponte

H_3RB0 PIN_B0 RB3 PIN_B3

Ponte

H_4

Page 31: Projeto Braço Robotico

procura otimizar o código e facilitar o entendimento do mesmo esta anexado no final da

documento..

3.4 A COMUNICAÇÃO COM O COMPUTADOR

Um computador ira controla o braço manipulador através da porta serial

DB9(figura27) de comunicação. Um circuito de interfaceamento, baseado no max 232 da

Microchip(figura 27), decodifica as mensagens recebidas através da porta serial e envia ao

PIC, que ira gera os sinais apropriados para todos os motores.

3.4.1 Circuito

MAX 232

Figura 27: porta DB9 e microcontrolador max232.

MAX232 é um circuito eletrônico que converte sinais de uma porta serial para sinais

adequados para uso em circuitos microprocessados, por exemplo. O MAX232 amplifica/reduz

sinais RX, TX, CTX e RTS. A discrepância de voltagem (acima de ± 12V do RS232 para

3.3V TTL) é gerada por capacitores (normalmente de 10 nF). O MAX232 é um

transmissor/receptor duplo que fornece níveis de voltagem TIA/EIA-232-F de uma única

fonte de tensão de 5V.

Para a montagem do circuito de comunicação da figura 28 foi utilizado:

1 x MAX 232

4 x Capacitores Eletrolítico 1uF

1 x Conector DB9

29

Page 32: Projeto Braço Robotico

Figura 28: circuito da comunicaçao serial

Porta Serial ----- MAX232

Transmissor da Porta serial é conectado no receptor do Max232

Receptor da Porta serial é conectado no transmissor do Max232

MAX232 ----- PIC

Transmissor do MAX 232 é conectado no receptor do PIC16f628a

Receptor do Max 232 é conectado no transmissor do PIC16f628a

3.5 O SOFTWARE DE CONTROLE

A versão atual do software de controle permite ao usuário atuar sobre cada uma das

juntas do robô. Podendo a qualquer momento realizar a listagem das portas enviar o dado

correspondente ao movimento que deseja ser realizado.

O programa foi desenvolvido em Java. conforme mostra figura abaixo.

30

Page 33: Projeto Braço Robotico

Figura 29: tela do programa em java

O programa tem a opção de listar as portas que estão abertas e disponíveis para o uso,

a tela de inserção dos comandos e o botão de enviar os dados, como mostra a figura 29, o

codigo fonte serialcom.java e serialcomleitura.java esta anexado no final da documento.

3.6 RESULTADOS

O braço manipulador robótico desenvolvido satisfaz aos objetivos iniciais do projeto:

possui uma estrutura compatível de movimento rápido, que permite demostrar o

funcionamento de um robô manipulador industrial; é de fácil construção, possibilitando a sua

reprodução em série; tem arquitetura aberta: hardware e software documentados para serem

usados na pesquisa em braços manipuladores; tem software disponível para várias

plataformas, que permite sua manipulação de diferentes plataformas de computação;e é de

baixo custo (inferior a 300 dólares).

31

Page 34: Projeto Braço Robotico

4 CONCLUSÃO

Sobre o braço robótico, podemos dizer que sua parte “estrutural” atende a proposta

desejada desde o começo do trabalho, juntamente com o software ( interface ) e o sistema de

controle do mesmo.

Com base nisso o Projeto do braço mecânico foi concluído no tempo previsto,

podendo ser trabalhado e melhorado muito mais.

Dificuldades Encontradas

No decorrer deste trabalho, foram encontradas algumas dificuldades:

• Houve certa dificuldade em compreender o modelo cinemático principalmente pela

complexidade do calculo.

• trabalho em acrílico, por ser caro e não dispor de recursos necessários.

• A montagem do braço, devido a difícil adaptação do motor nas juntas e ao seu peso.

Sugestões para Trabalhos Futuros

Após a finalização deste trabalho, é possível sugerir alguns trabalhos que podem.

Complementar e melhorar o projeto:

• Um novo protótipo robótico, com a utilização de servo-motor, para que tenha menor porte

e seja mais fácil construir.

• Desenvolver uma interface mais amigável.

• Desenvolver a construção de um robô manipulador tático, construindo uma base móvel,

tipo esteira, para operações de exploração, reconhecimento e desarmamento de bombas.

32

Page 35: Projeto Braço Robotico

REFERÊNCIA

BIANCHI, Reinaldo. Robótica. Centro Universitário da FEI. (2006). Apostila disponível em:

<http://www.fei.edu.br/~rbianchi/robotica/>.Acesso 10 abr 2008.

GOZZI, Giuliano. Curso Automação Industrial. Faatesp (2006). Apostila disponível em:

<http://www.faatesp.edu.br/publicacoes.asp?PagePosition=1&search=cnc&mode=allwords>.

Acesso 7 abr 2008.

ROGERCOM, Curso C++ Porta Paralela. Pesquisa e desenvolvimento. Disponível em:

<http://www.rogercom.com/Principal.htm>.Acesso 14 abr 2008.

LYNXMOTION, Portal de robot kits e componentes. Disponível em:

<http://www.lynxmotion.com/ViewPage.aspx?

ContentCode=assembly&CategoryID=19#arms>Acesso 16 mar 2008.

KERAMAS, James G. Robot Technology Fundamentals, local: delmar publiser, 1999.

LUNG-WEN TSAI. Robot analysis, local: wiley, 1999.

ROMANO, Vitor F. Robótica Industrial, local: edgard blucher, 2002.

(GROOVER,89) GROOVER, M. P.; WEISS, M.; Nagel, R. N.; ODREY, N. G. Robótica.

Tecnologia e Programação. São Paulo: McGraw-Hill,1989.

(SALANT,90) SALANT, M. A. Introdução à Robótica. São Paulo: McGraw-Hill, 1990.

(FU,88) Fu, K. S. Robotics: Control, Sensing, Vision and Inteligence. New York: McGrall-

Hill, 1987.

33

Page 36: Projeto Braço Robotico

ANEXOS

34

Page 37: Projeto Braço Robotico

SERIALCOM.JAVA

package PacoteComunicacaoSerial;

import gnu.io.CommPortIdentifier;

import java.util.Enumeration;

public class serialcom {

protected String[] portas;

protected Enumeration listadeportas;

public serialcom() {

listadeportas = CommPortIdentifier.getPortIdentifiers();

}

public String[] obterPortas()

{

return portas;

}

protected void listarPortas()

{

int i= 0;

portas = new String[10];

while(listadeportas.hasMoreElements())

{

CommPortIdentifier ips =

(CommPortIdentifier)listadeportas.nextElement();

portas[i] = ips.getName();

i++;

}

}

public boolean PortaExiste(String comp){

35

Page 38: Projeto Braço Robotico

String temp;

boolean e = false;

while (listadeportas.hasMoreElements()) {

CommPortIdentifier ips =

(CommPortIdentifier)listadeportas.nextElement();

temp = ips.getName();

if (temp.equals(comp)== true)

{

e = true;

}

}

return e;

}

protected void ImprimePortas(){

for (int i = 0 ; i < portas.length ; i++){

if (portas[i] !=null){

System.out.print(portas[i] + " ");

}

}

System.out.println(" ");

}

}

SERIALCOMLEITURA.JAVA

package PacoteComunicacaoSerial;

import gnu.io.CommPortIdentifier;

import gnu.io.SerialPort;

import gnu.io.SerialPortEvent;

import gnu.io.SerialPortEventListener;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

36

Page 39: Projeto Braço Robotico

public class serialcomleitura implements Runnable, SerialPortEventListener {

//propriedades

private String Porta;

public String Dadoslidos;

public int nodeBytes;

private int baudrate;

private int timeout;

private CommPortIdentifier cp;

private SerialPort porta;

private OutputStream saida;

private InputStream entrada;

private Thread threadLeitura;

//indicadores

private boolean IDPortaOK; //true porta EXISTE

private boolean PortaOK;// true porta aberta

private boolean Leitura;

private boolean Escrita;

//construtor default paridade : par

//baudrate: 9600 bps stopbits: 2 COM 1

public serialcomleitura() {

Porta = "COM1";

baudrate = 9600;

timeout = 1000;

};

//um Objeto ComObj é passado ao construtor

//com detalhes de qual porta abrir

//e informações sobre configurações

public serialcomleitura( String p , int b , int t ){

this.Porta = p;

this.baudrate = b;

this.timeout = t;

};

//habilita escrita de dados

public void HabilitarEscrita(){

37

Page 40: Projeto Braço Robotico

Escrita = true;

Leitura = false;

}

//habilita leitura de dados

public void HabilitarLeitura(){

Escrita = false;

Leitura = true;

}

//Obtém o ID da PORTA

public void ObterIdDaPorta(){

try {

cp = CommPortIdentifier.getPortIdentifier(Porta);

if ( cp == null ) {

System.out.println("A " + Porta + " nao existe!" );

System.out.println("ERRO!Abortando..." );

IDPortaOK = false;

System.exit(1);

}

IDPortaOK = true;

} catch (Exception e) {

System.out.println("Erro durante o procedimento. STATUS" + e );

IDPortaOK = false;

System.exit(1);

}

}

//Abre a comunicação da porta

public void AbrirPorta(){

try {

porta = (SerialPort)cp.open("serialcomleitura",timeout);

PortaOK = true;

System.out.println("Porta aberta com sucesso!");

//configurar parâmetros

porta.setSerialPortParams(baudrate,

SerialPort.DATABITS_8,

38

Page 41: Projeto Braço Robotico

SerialPort.STOPBITS_2,

SerialPort.PARITY_NONE);

} catch (Exception e) {

PortaOK = false;

System.out.println("Erro ao abrir a porta! STATUS: " + e );

System.exit(1);

}

}

//função que envie um bit para a porta serial

public void EnviarUmaString(String msg){

if (Escrita==true) {

try {

saida = porta.getOutputStream();

System.out.println("FLUXO OK!");

} catch (Exception e) {

System.out.println("Erro.STATUS: " + e );

}

try {

System.out.println("Enviando um byte para " + Porta );

System.out.println("Enviando : " + msg );

saida.write(msg.getBytes());

Thread.sleep(100);

saida.flush();

} catch (Exception e) {

System.out.println("Houve um erro durante o envio. ");

System.out.println("STATUS: " + e );

System.exit(1);

}

} else {

System.exit(1);

}

}

//leitura de dados na serial

public void LerDados(){

39

Page 42: Projeto Braço Robotico

if (Escrita == true){

try {

entrada = porta.getInputStream();

System.out.println("FLUXO OK!");

} catch (Exception e) {

System.out.println("Erro.STATUS: " + e );

System.exit(1);

}

try {

porta.addEventListener(this);

System.out.println("SUCESSO. Porta aguardando...");

} catch (Exception e) {

System.out.println("Erro ao criar listener: ");

System.out.println("STATUS: " + e);

System.exit(1);

}

porta.notifyOnDataAvailable(true);

try {

threadLeitura = new Thread(this);

threadLeitura.start();

} catch (Exception e) {

System.out.println("Erro ao iniciar leitura: " + e );

}

}

}

//método RUN da thread de leitura

public void run(){

try {

Thread.sleep(5000);

} catch (Exception e) {

System.out.println("Erro. Status = " + e );

}

}

40

Page 43: Projeto Braço Robotico

//gerenciador de eventos de leitura na serial

public void serialEvent(SerialPortEvent ev){

switch (ev.getEventType()) {

case SerialPortEvent.BI:

case SerialPortEvent.OE:

case SerialPortEvent.FE:

case SerialPortEvent.PE:

case SerialPortEvent.CD:

case SerialPortEvent.CTS:

case SerialPortEvent.DSR:

case SerialPortEvent.RI:

case SerialPortEvent.OUTPUT_BUFFER_EMPTY:

break;

case SerialPortEvent.DATA_AVAILABLE:

byte[] bufferLeitura = new byte[20];

try {

while ( entrada.available() > 0 ) {

nodeBytes = entrada.read(bufferLeitura);

}

String Dadoslidos1 = new String(bufferLeitura);

if (bufferLeitura.length == 0) {

System.out.println("Nada lido!");

} else if (bufferLeitura.length == 1 ){

System.out.println("Apenas um byte foi lido!");

} else {

System.out.println(Dadoslidos1);

}

} catch (Exception e) {

System.out.println("Erro durante a leitura: " + e );

}

System.out.println("n.o de bytes lidos : " + nodeBytes );

break;

}

}

41

Page 44: Projeto Braço Robotico

//função que fecha a conexão

public void FecharCom(){

try {

porta.close();

System.out.println("CONEXAO FECHADA>>FIM..");

} catch (Exception e) {

System.out.println("ERRO AO FECHAR. STATUS: " + e );

System.exit(0);

}

}

//Acessores

public String obterPorta(){

return Porta;

}

public int obterBaudrate(){

return baudrate;

}

}

CODIGO FONTE DO PIC

42

Page 45: Projeto Braço Robotico

43

Page 46: Projeto Braço Robotico

44

Page 47: Projeto Braço Robotico

45

Page 48: Projeto Braço Robotico

46