Você está na página 1de 48

CURSO DE ENGENHARIA DA COMPUTAO

JOO PAULO DE LIMA SARAIVA JULYANA DA ROCHA MARANHO THIAGO LUIZ ALVES LISTO

SISTEMA DE CONTROLE DE BRAO MECNICO AUTOMATIZADO

BELM-PA 2008 INSTITUTO DE ESTUDOS SUPERIORES DA AMAZNIA CURSO DE ENGENHARIA DA COMPUTAO

JOO PAULO DE LIMA SARAIVA JULYANA DA ROCHA MARANHO THIAGO LUIZ ALVES LISTO

SISTEMA DE CONTROLE DE BRAO MECNICO AUTOMATIZADO

Trabalho de Monografia. Apresentado as disciplinas: Automao, Microcontroladores e Microprocessadores, Banco de Dados, Engenharia de Software, Sistema de Comunicao como requisito de 2 avaliao.

Orientador (a) Prof. Msc. Mrcio Nazareno de Arajo Moscoso

BELM-PA 2008 INSTITUTO DE ESTUDOS SUPERIORES DA AMAZNIA CURSO DE ENGENHARIA DA COMPUTAO

JOO PAULO DE LIMA SARAIVA

JULYANA DA ROCHA MARANHO THIAGO LUIZ ALVES LISTO

SISTEMA DE CONTROLE DE BRAO MECNICO AUTOMATIZADO


Esta Monografia foi julgada adequada para a obteno da aprovao na disciplina de projeto de engenharia, do 3ano da Engenharia de Computao, e aprovada na sua forma final pelo Instituto de Estudos Superiores da Amaznia DATA: ____/____/____ CONCEITO: ______ ______________________________________, Prof. Msc. Mrcio Nazareno de Arajo Moscoso Orientador IESAM __________________________________________________ Prof. Avaliador - IESAM

BELM-PA

2008 AGRADECIMENTO

Agradeo Deus por ter me iluminado e dado fora para a realizao e concluso deste trabalho. Sou muito grato ao meu orientador Prof. Dr. Mrcio Nazareno de Arajo Moscoso pela orientao, esforo, apoio, incentivo e principalmente pacincia. Ao Prof. Dr Dionne Cavalcante Monteiro que foi o nosso primeiro orientador, que nos ajudo a consolidar todas as idias de nosso projeto. Ao Aldo Jos de Oliveira Barbosa, que me deu bastante apoio nos momentos inicias deste trabalho pelas discusses e dicas sobre o trabalho. E todas as pessoas que contriburam direta ou indiretamente para a realizao deste trabalho.

RESUMO Esta projeto consiste na construo de um brao robtico e de um Software de controle que tem como finalidade o auxilio em trabalhos perigosos. O sistema formado por um brao robtico articulado com trs graus de liberdade, de juntas rotativas, acionamento direto por motores dc com reduo, uma garra com dois dedos e de um programa em Java, em que o usurio far o controle do brao. A abordagem utilizada na concepo do software ser desenvolvido a partir do conceito de movimento cinemtico.

PALAVRAS - CHAVE: Brao robtico, Software, Java, Movimento cinemtico.

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 degrees 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.

LISTAS DE FIGURAS Figura 1: esquema de notao de elos e juntas num brao mecnico ilustrativo......................12 Figura 2: Seqncia de elos numa junta de um brao robtico................................................13 Figura 3: Brao robtico...........................................................................................................13 Figura 4: Tipo de junta empregada no rob..............................................................................13 Figura 5: Representao esquemtica de juntas........................................................................14 Figura 6: Duas configuraes distintas com movimentao idntica: TVR e VRR.................14 Figura 7: brao com um ( esquerda) e dois graus de liberdade ( direita)..............................15 Figura 8: movimentos de um punho com 3gl...........................................................................16 Figura 9: Configurao 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 terico de um rob cilndrico..................................................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 brao com 2GL num plano......................................24 Figura 17: Exemplo de Brao Robtico....................................................................................25 Figura 18: Acrlico....................................................................................................................25 Figura 19: PVC.........................................................................................................................25 Figura 20: Rolamento Internamente(eliminar).........................................................................26 Figura 21: Rolamento................................................................................................................26 Figura 22: Diagrama esquemtico 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 comunicaao serial................................................................................30 Figura 29: tela do programa em java........................................................................................31

SUMRIO 1 INTRODUO......................................................................................................................9 1.1 OBJETIVOS.....................................................................................................................9 1.2 JUSTIFICATIVA .............................................................................................................9 2 ROBTICA..........................................................................................................................11 2.1 INTRODUO..............................................................................................................11 2.2 O QUE ROBTICA....................................................................................................12 2.3 ANATOMIA DOS BRAOS MECNICOS................................................................12 2.4 GRAU DE LIBERDADE...............................................................................................15 2.5.1 RGO 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 DINMICA DO BRAO ROBTICO.........................................................................22 2.9.1 Preciso dos movimentos.......................................................................................23 2.9.2 Preciso cartesiana em juntas robticas..............................................................23 3 METODOLOGIA................................................................................................................25 3.1 CARACTERSTICAS TCNICAS................................................................................26 3.2 O PROJETO MECNICO.............................................................................................26 3.3 O ACIONAMENTO.......................................................................................................27 3.3.1 Circuito...................................................................................................................27 3.4 A COMUNICAO COM O COMPUTADOR............................................................29 3.4.1 Circuito...................................................................................................................29 3.5 O SOFTWARE DE CONTROLE...................................................................................30 3.6 RESULTADOS...............................................................................................................31 4 CONCLUSO.....................................................................................................................32 REFERNCIA........................................................................................................................33 ANEXOS..................................................................................................................................34

1 INTRODUO

O projeto consiste na construo de um manipulador articulado com 3 graus de liberdade e de um programa que controla seus movimentos, que possuir no seu rgo terminal um suporte que podera garra. Atravs de um sistema de comunicao, o programa guarda em sua memria o detalhe do percurso que o brao seguir. Quando o programa est rodando, o computador envia sinais ativando motores que movem o brao e o atuador no final dele.

1.1 OBJETIVOS Objetivo geral Utilizar um software de computador para controlar um manipulador robtico articulado, 3 graus de liberdade, com juntas do tipo rotacional e no seu rgo terminal ser utilizado uma garra para que possa pegar pequenos objetos. Objetivos especficos Construir o brao robtico utilizando peas em acrlico e alumnio. 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 no poderia realizar, por causa de suas prprias limitaes fsicas, ou por envolverem condies desagradveis ou extremas. Devido a essa necessidade que o no projeto consiste na construo de um brao robtico controlado pelo PC usando porta serial para esse controle. A utilizao do brao robtico contribui em vrios fatores como:

10

Fatores tcnicos: Flexibilidade na gama de produtos fabricados, incremento da preciso, fora, rapidez, uniformidade e suporte a ambientes hostis, incremento dos ndices de qualidade e de peas rejeitadas. Fatores econmicos: Utilizao eficiente de unidades de produo intensivo aumento de produtividade (inexistncia de interrupes, etc.), Reduo do tempo de preparao da fabricao. Fatores sociolgicos: Reduo do nmero de acidentes, afastamento do ser humano de locais perigosos para a sade, Reduo de horrios de trabalho, aumento do poder de compra.

11

2 ROBTICA 2.1 INTRODUO

Muitos anos atrs, os robs faziam parte apenas da fico cientfica, fruto da imaginao do homem. No incio dos anos 60, os primeiros robs comearam a ser usadas com o objetivo de substituir o homem em tarefas que ele no podia realizar por envolverem condies desagradveis, tipicamente contendo altos nveis de: calor; rudo; gases txicos; esforo fsico extremo; trabalhos montonos, "chatos". Nos ltimos 20 anos, as tendncias que garantem a evoluo dos robs so: o constante aumento dos nveis salariais dos empregados; o extraordinrio avano tecnolgico no ramo de computadores, que induz reduo dos preos 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 idia de um "homem mecnico" parecia vir de alguma obra de fico. (SALANT ,90) O grande escritor americano de fico cientfica Isaac Asimov estabeleceu quatro leis muito simples para a robtica: 1 lei: "Um rob no 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 contradio com a primeira lei". 3 lei: "Um rob deve proteger sua existncia na medida em que essa proteo no estiver em contradio com a primeira e a segunda lei". 4 lei: "Um rob no pode causar mal humanidade nem permitir que ela prpria o faa". A quarta e ltima lei foi escrita por Asimov em 1984. (SALANT ,90) A idia de se construir robs comeou a tomar fora no incio do sculo XX com a necessidade de aumentar a produtividade e melhorar a qualidade dos produtos. nesta poca que o rob industrial encontrou suas primeiras aplicaes. Atualmente devido aos inmeros recursos que os sistemas de microcomputadores, os atuadores e os sensores nos oferece, a robtica atravessa uma poca de contnuo crescimento que permitir, em um curto espao de tempo, o desenvolvimento de robs inteligentes fazendo assim com que a fico do homem antigo torne-se a realidade do homem atual.

12

2.2 O QUE ROBTICA

Podemos definir como robtica o controle de mecanismos electro-electrnicos atravs de um computador, transformando-o em uma mquina capaz de interagir com o meio ambiente e executar aes decididas por um programa criado pelo programador a partir destas interaes. (AMI,93) Podemos exemplificar o uso da robtica em diversas reas de conhecimento. Na engenharia temos os robs que mergulham a grandes profundidades para auxiliar em reparos nas plataformas de petrleo; na medicina, os robs j auxiliam as cirurgias de alto risco. Outras aplicaes podem ser menos percebidas, tal como a impressora que tambm um rob. (SALANT , 1990).

2.3 ANATOMIA DOS BRAOS MECNICOS

O brao robtico (GROOVER, 1988) composto pelo brao e pulso. O brao consiste de elementos denominados elos unidos por juntas de movimento relativo, onde so acoplados os acionadores para realizarem estes movimentos individualmente, dotados de capacidade sensorial, e instrudos por um sistema de controle. O brao fixado base por um lado e ao punho pelo outro. O punho consiste de vrias juntas prximas entre si, que permitem a orientao do rgo terminal nas posies que correspondem tarefa a ser realizada. Na extremidade do punho existe um rgo terminal (mo ou ferramenta) destinada a realizar a tarefa exigida pela aplicao. A Figura 1 mostra esquematicamente uma seqncia de elos e juntas de um brao robtico. Nos braos reais, a identificao dos elos e juntas nem sempre fcil, em virtude da estrutura e de peas que cobrem as juntas para proteg-las no ambiente de trabalho.

13

Figura 1: esquema de notao de elos e juntas num brao mecnico ilustrativo.

Numa junta qualquer, o elo que estiver mais prximo da base e denominado elo de entrada. O elo de sada e aquele mais prximo do rgo terminal, como ilustrado na Figura2.

Figura2: Seqncia de elos numa junta de um brao robtico.

A Figura 3 mostra um brao robtico industrial, com todas as suas partes.

Figura 3: Brao robtico

2.4 JUNTAS As juntas utilizada em nosso trabalho do tipo rotacional. Onde sua funo 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 rotao. Ela gira como uma cadeira giratria e abrem e fecham como uma dobradia;

14

Figura 4: Tipo de junta empregada no rob.

Robs industriais utilizam em geral apenas juntas rotativas e prismticas. As juntas rotativas podem ainda ser classificadas de acordo com as direes dos elos de entrada e de sada em relao ao eixo de rotao. Tem-se assim as seguintes juntas rotativas: Rotativa de toro ou torcional T: Os elos de entrada e de sada tem a mesma direo do eixo de rotao da junta. Rotativa rotacional R: Os elos de entrada e de sada so perpendiculares ao eixo de rotao da junta. Rotativa revolvente V: O elo de entrada possui a mesma direo do eixo de rotao, mas o elo de sada e perpendicular a este. A Figura 5 mostra uma representao esquemtica destas juntas, e tambm da junta prismtica.

Figura 5: Representao esquemtica de juntas

Robs industriais adotam com freqncia solues que tornam o reconhecimento das juntas mais complexo. De fato, dependendo da forma com que os elos so construdos numa representao esquemtica, a nomenclatura do brao pode ser ambgua. A Figura 6 ilustra um mesmo manipulador representado de duas formas distintas. A movimentao e igual em ambos os esquemas. Este brao poderia ser denominado, indistintamente, de TVR ou VRR. Para tornar a identificao nica deve-se buscar uma geometria onde os elos sejam formados por, no maximo, dois segmentos lineares. Neste caso, a configurao VRR seria a correta.

15

Figura 6: Duas configuraes distintas com movimentao idntica: TVR e VRR.

2.4 GRAU DE LIBERDADE

Os graus de liberdade (GL) determinam os movimentos do brao robtico no espao bidimensional ou tridimensional. Cada junta define um ou dois graus de liberdade, e, assim, o nmero de graus de liberdade do rob igual somatria 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 so a cinemtica, a dinmica e o controle do manipulador. O nmero de graus de liberdade de um manipulador est associado ao nmero de variveis posicionais independentes que permitem definir a posio de todas as partes de forma unvoca.

Figura 7:.brao com um ( esquerda) e dois graus de liberdade ( direita).

Os movimentos robticos podem ser separados em movimentos do brao e do punho. Em geral os braos so dotados de 3 acionadores e uma configurao 3GL, numa configurao que permita que o rgo terminal alcance um ponto qualquer dentro de um espao limitado ao redor do brao. Pode-se identificar 3 movimentos independentes num brao qualquer, conforme descritas a seguir, e mostradas na Figura 8:

16

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 aproximao ou afastamento do punho

Figura 8: movimentos de um punho com 3gl.

2.5 CONFIGURAO DO ROB A configurao fsica dos robs (GROOVER, 1988) esta relacionada com os tipos de juntas que ele possui. Cada configurao pode ser representada por um esquema de notao de letras, como visto anteriormente. Considera-se primeiro os graus de liberdade mais prximos da base, ou seja, as juntas do corpo, do brao e posteriormente do punho. A notao de juntas rotativas, prismticas e de toro. Como visto anteriormente, um brao mecnico e formado pela base, brao e punho. O brao e ligado a base e esta e fixada ao cho, a parede ou ao teto. E o brao que efetua os movimentos e posiciona o punho. O punho e dotado de movimentos destinados a orientar (apontar) o rgo terminal. O rgo terminal executa a ao, mas no faz parte da anatomia do brao robtico, pois depende da aplicao a ser exercida pelo brao. A movimentao do brao e a orientao do punho so realizadas por juntas, que so articulaes providas de motores. Em resumo, a base sustenta o corpo, que movimenta o brao, que posiciona o punho, que orienta o rgo terminal, que executa a ao. Em geral utilizam-se 3 juntas para o brao e de 2 a 3 juntas para o punho. Os elos do brao so de grande tamanho, para permitir um longo alcance. Por outro lado, os elos do punho so pequenos, e, as vezes, de comprimento nulo, para que o rgo terminal desloque-se o mnimo possvel durante a orientao 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 direo ao rgo terminal. Assim um manipulador TRR teria a primeira junta (da base) torcional, e as duas seguintes seriam rotacionais. O punho

17

segue a mesma notao, porem separa-se o corpo do punho por dois pontos :, por exemplo, TRR:RR. As configuraes tpicas para o brao e o punho de robs industriais so apresentadas nas Tabelas 1 e 2. A Figura 9 mostra a configurao de um punho TRT. Os braos industriais mais comuns descritos nas sees seguintes. Tabela 1: Esquema de notao para designar configuraes de robs

Tabela 2: Esquema de notao para designar configuraes do pulso

Figura 9: Configurao de um punho TRT na forma compacta.

Onde no projeto foi utilizado a configurao articulada ou revoluto conforme descrioabaixo:

2.5.1 Rob articulado ou revoluto Estes tipos de robs (GROOVER, 1988, Adade Filho, 1992), possuem 3 juntas rotativas, conforme ilustrada a Figura 10. Eles so os mais usados nas industrias, por terem uma configurao semelhante ao do brao humano, (brao, antebrao e pulso). O pulso e unido a extremidade do antebrao, o que propicia juntas adicionais para orientao do rgo terminal. Este modelo de configurao e o mais verstil dos manipuladores, pois assegura maiores movimentos dentro de um espao compacto. Os braos revolutos podem ser de dois tipos: cadeia aberta ou cadeia parcialmente fechada. Nos primeiros pode-se distinguir

18

facilmente a seqncia natural formada por elo-junta, da base ate o punho. Nos braos de cadeia parcialmente fechada o atuador da terceira junta efetua o movimento desta por meio de elos e articulaes no motorizadas adicionais.

Figura 10: Rob articulado ou revoluto.

2.5.1 RGO TERMINAL


Na robtica, rgo terminal (GROOVER,1988) usado para descrever a mo ou ferramenta que esta conectada ao pulso, como por exemplo, uma pistola de solda, garras, pulverizadores de tintas, entre outros. O rgo terminal o responsvel por realizar a manipulao de objetos em diferentes tamanhos, formas e materiais, porm esta manipulao depende da aplicao ao qual se destina. valido ressaltar que os rgos terminais requerem cuidados ao serem projetados, pois necessrio controlar a fora que est sendo aplicada num objeto. Para isso, alguns rgos terminais so dotados de sensores que fornecem informaes sobre os objetos. Existe uma grande variedade de modelos de garras que podem ser utilizadas em diversas aplicaes como por exemplos: Garra de dois dedos; Garra pra objetos cilndricos; Garra articulada. Onde no projeto foi utilizado a Garra de dois dedos conforme descrio 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 manipulao dos objetos, pois existe limitao na abertura dos dedos. Desta forma a dimenso dos objetos no pode exceder esta abertura.

19

Figura 11: modelo de garras de dois dedos

2.6 SISTEMAS DE ACIONAMENTO

Os acionadores (GROOVER, 1988) so dispositivos responsveis pelo movimento das articulaes e do desempenho dinmico do rob. Esses dispositivos podem ser eltricos, hidrulicos ou pneumticos, cada um com suas caractersticas. A seguir ser descrito o funcionamento do dispositivo utilizado no projeto.

2.6.1 Servo-motores

Servo-motores so compostos por motores DC e um redutor de velocidades, junto com um sensor de posio e um sistema de controle re-alimentado. Em outras palavras, os servomotores podem ser considerados como sendo motores comandados em posio (angular ou linear), j que, do ponto de vista de quem os utiliza, o controle interno em malha fechada irrelevante. Os servo-motores so pequenos, com ampla variao de torques. O mecanismo de posicionamento ajusta a posio angular por meio de um sinal codificado que lhe enviado. Enquanto esse cdigo estiver na entrada, o servo ir manter a sua posio angular. Em geral o sinal do tipo PWM, ou seja, a posio 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 espao que um determinado brao consegue posicionar seu pulso. Este volume, em geral, estabelecido conforme os limites impostos pelo projeto estrutural do brao, ou seja, a configurao fsica

20

do brao robtico, os limites dos movimentos das juntas e o tamanho dos componentes do corpo, brao e pulso. Por exemplo, o volume de trabalho de um brao esfrico (TRL) seria, teoricamente, o volume da esfera cujo raio o comprimento do brao esticado. Braos robticos 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 terico. Por exemplo, o volume de um manipulador cilndrico deveria ser um cilindro, como mostrado na Figura 12, mas em geral no . Em resumo, o volume de trabalho de um manipulador depende, basicamente, da configurao do brao, dos comprimentos dos elos (brao e punho) e de limites e restries construtivas movimentao das juntas.

Figura 12: Volume de trabalho terico de um rob cilndrico.

Os volumes de trabalho so medidos em unidades volumtricas, porm isto pouco ou nada contribui na seleo de um brao para determinada aplicao. Muito mais importante do que conhecer que o volume de um brao de 1832 litros seria saber se ele consegue ou no atingir um ponto afastado de 840 mm do seu eixo vertical, por exemplo. Em virtude deste aspecto, os fabricantes de manipuladores robticos fornecem o volume de trabalho em termos do alcance do brao em um ou mais planos. A Figura 13 mostra a rea de trabalho de um brao SCARA em vista superior, produzido pela Stubli. O deslocamento da terceira junta de 200 mm, neste brao. Braos articulados ou revolventes apresentam em geral um volume bastante complexo, pois as juntas tm movimentos limitados. A Figura 14 mostra o volume do brao KR30HA produzido pela Kuka Robotics.

21

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 presena do rgo terminal, j que este pode alterar significativamente tais valores, dependendo da aplicao.

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 ao ao qual foi programado. O software pode ser desenvolvido em um computador pessoal ou num microcontrolador. Neste aspecto, deve-se levar em considerao os pontos fortes e fracos de cada possibilidade. O microcontrolador reduz o custo do projeto, e rpido, dedica-se apenas ao controle do rob, porm possui limitaes em relao ao tamanho do software. J o computador pessoal possui alta taxa de processamento e maior espao para a alocao do

22

software. Pode-se ainda aplicar uma soluo 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 utilizao 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 comparao resultara num erro, ao qual o sistema de controle far os ajustes necessrios 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 DINMICA DO BRAO ROBTICO

O desempenho dinmico do brao robtico (GROOVER, 1988) esta associado velocidade de resposta, estabilidade e preciso. A velocidade de resposta refere-se destreza do brao robtico ao mover-se de um lugar para outro num curto perodo de tempo. Desta forma, o torque existente em cada junta do brao e a acelerao em cada elo devem ser analisadas. J a estabilidade pode ser estimada com base no tempo necessrio para amortecer as oscilaes que ocorrem durante o movimento de uma posio para a outra. Se a estabilidade for baixa pode-se aplicar elementos de amortecimento no brao, que melhoram a estabilidade, mas influem na velocidade de resposta. A preciso esta relacionada com a velocidade e estabilidade, pois e uma medida de erro na posio do rgo terminal. Os conceitos relacionados com a preciso so analisados a seguir.

23

2.9.1 Preciso dos movimentos

A preciso de movimento esta intrinsecamente correlacionada com trs caractersticas, como segue: Resoluo espacial Preciso Repetibilidade. A resoluo espacial depende diretamente do controle de sistema e das inexatides mecnicas do brao robtico. O sistema de controle e o responsvel por controlar todos os incrementos individuais das articulaes. J as inexatides relacionam-se com a qualidade dos componentes que formam as unies entre as articulaes, como as folgas nas engrenagens, tenses nas polias, e histereses mecnicas e magnticas, entre outros fatores. A preciso esta relacionada com a capacidade de um brao posicionar o seu pulso em um ponto marcado dentro do volume de trabalho. A preciso relaciona-se com a resoluo espacial, pois a preciso 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 brao robtico de posicionar repetidamente seu pulso num ponto determinado. Estes movimentos podem sofrer influencias de folgas mecnicas, da flexibilidade e das limitaes do sistema de controle.

2.9.2 Preciso cartesiana em juntas robticas

Supondo-se que sejam conhecidas as precises (ou resoluo do controle) em cada uma das juntas de um brao mecnico, deseja-se saber qual ser a preciso cartesiana, isto e, qual ser a preciso do brao num determinado ponto de trabalho. E evidente que a preciso cartesiana depende do ponto de operao, pois os erros de juntas rotativas so mais acentuados quando o brao estiver estendido do que quando estiver recolhido. Ser feita agora uma analise simples para um brao de apenas uma junta rotativa, e, a seguir, um brao composto de duas juntas rotativas movendo-se num plano. Considera-se um brao com dois graus de liberdade e duas juntas rotativas movendose num plano, como indica a figura 16. Neste brao percebe-se que as imprecises cartesianas dependem do movimento de ambas as juntas, uma vez que tanto J1 quanto J2 movimentam a extremidade do brao (garra). O erro total ser portanto composto pela soma dos erros

24

causados por cada uma das juntas. A junta J2 provoca um erro semelhante ao causado por um brao de uma nica junta, visto anteriormente, de tal forma que.

Figura 16: Deslocamento angular de um brao com 2GL num plano.

Se _1 for tambm pequeno, ento se pode projetar o vetor v em ambas as direes. Para se obter:

Onde r e a distancia que vai do eixo de rotao da junta J1 ate a extremidade do brao. Porem percebe-se que r sen1 = y e que r cos1 = x. Alem disso, tem-se, da cinemtica direta deste brao, que x = a1 cos1 + a2 cos(1 + 2), e que y = a1 sen1 + a2 sen(1 + 2). Logo a preciso cartesiana total fica:

Onde iremos adotar esse tipo de preciso futuramente em nosso trabalha, para otimizar a preciso dos movimentos.

25

3 METODOLOGIA

Os princpios que nortearam o projeto e construo deste brao so os seguintes: Rob manipulador articulado com trs graus de liberdade e garra, com acionamento eltrico do tipo servo-motor, independente das juntas e controladas por computador. Programa de controle similar s interfaces de operao dos robs industriais. Software de controle disponvel para diversos sistemas operacionais. Decidiu-se iniciar a construo do prottipo a partir do modelo de um kit para construo de pequenos manipuladores robticos, comercializado pela Lynxmotion (figura17). Este kit foi escolhido por j conter os componentes necessrios construo de um brao semelhante ao que desejvamos: material plstico, servo-motores, componentes eletrnicos para o controle dos motores e interfaceamento com computador, etc.

Figura 17: Exemplo de Brao Robtico

O projeto original do rob foi modificado para se adequar s metas definidas. A principal modificao foi a substituio dos elos em acrlico(figura18) por PVC(figura19), devido o custo ser maior em acrlico. A utilizao de rolamentos de esfera(figura20,21) para que os elos de sustentao tenham maior mobilidade.

Figura 18: Acrlico

Figura 19: PVC

26

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 usurio final possa interagir com o brao manipulador de forma a permitir a movimentao das juntas do rob. Esta tem o objetivo de fazer o rob executar uma tarefa ordenada pelo usuario. 3.1 CARACTERSTICAS TCNICAS

O projeto esta divido em varias partes: mecnica, acionamento, circuito, comunicao com o computador e o software de controle O prottipo devera realizar pequenas tarefas com deslocar pequenos objetos de um ponto a outro, tudo isso atravs de um sistema que qualquer usurio possa utilizar. A parte mecnica esta dividido em trs partes a construo da garra, da base e da estrutura que consiste no brao, antebrao e pulso. 3.2 O PROJETO MECNICO O prottipo, construdo em PVC, possui as caractersticas e dimenses indicadas na figura 22.

27

Fig. 22 Diagrama esquemtico do rob

3.3 O ACIONAMENTO O rob acionado por 3 (trs) servo-motores, da pittman gm9x14. Os servo-motores so dispositivos que integram um motor CC, com uma caixa de engrenagens para reduo. O sinal de referncia para o servo-motor fornecida pelo circuito em ponte H onde ser feito a inverso da corrente,sendo controlado atravs 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 construdo com quatro "chaves" como mostra a tabela 3 ( Q13 Q16 ) que so acionadas. Para cada configurao das chaves o motor gira em um sentido. As chaves Q13 e Q14 assim como as chaves Q15 e Q16 esto diretamente ligadas a microcontrolador que o responsvel pelo seu acionamento consequentemente sua rotao conforme a tabela detalhada a abaixo. tabela 3 Q13/Q14 0 0 1 1 Q15/Q16 0 1 0 1 DIREO Parar Esquerda Direita Parada Brusca

28

Figura 24: Motor

Pic

Figura 25: Pic

O circuito da Ponte H acionado pelo PIC 16F628A (figura 26) por apenas duas sadas, como o projeto composto por vrios 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 RA7 RA6 RB6 RB7 RB4 RB5 RB0 RB3 PIN_A7 PIN_A6 PIN_B6 PIN_B7 PIN_B4 PIN_B5 PIN_B0 PIN_B3
Ponte H_1 Ponte H_2 Ponte H_3 Ponte H_4 Figura 26: Motor

Programa No programa foi utilizado muitas Funes, que uma tcnica de programao que

29

procura otimizar o cdigo e facilitar o entendimento do mesmo esta anexado no final da documento.. 3.4 A COMUNICAO COM O COMPUTADOR

Um computador ira controla o brao manipulador atravs da porta serial DB9(figura27) de comunicao. Um circuito de interfaceamento, baseado no max 232 da Microchip(figura 27), decodifica as mensagens recebidas atravs 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 eletrnico 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 discrepncia 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 nveis de voltagem TIA/EIA-232-F de uma nica fonte de tenso de 5V. Para a montagem do circuito de comunicao da figura 28 foi utilizado: 1 x MAX 232 4 x Capacitores Eletroltico 1uF 1 x Conector DB9

30

Figura 28: circuito da comunicaao 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 verso atual do software de controle permite ao usurio 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.

31

Figura 29: tela do programa em java

O programa tem a opo de listar as portas que esto abertas e disponveis para o uso, a tela de insero dos comandos e o boto 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 brao manipulador robtico desenvolvido satisfaz aos objetivos iniciais do projeto: possui uma estrutura compatvel de movimento rpido, que permite demostrar o funcionamento de um rob manipulador industrial; de fcil construo, possibilitando a sua reproduo em srie; tem arquitetura aberta: hardware e software documentados para serem usados na pesquisa em braos manipuladores; tem software disponvel para vrias plataformas, que permite sua manipulao de diferentes plataformas de computao;e de baixo custo (inferior a 300 dlares).

32

4 CONCLUSO

Sobre o brao robtico, podemos dizer que sua parte estrutural atende a proposta desejada desde o comeo do trabalho, juntamente com o software ( interface ) e o sistema de controle do mesmo. Com base nisso o Projeto do brao mecnico foi concludo podendo ser trabalhado e melhorado muito mais. Dificuldades Encontradas No decorrer deste trabalho, foram encontradas algumas dificuldades: H ouve certa dificuldade em compreender o modelo cinemtico principalmente pela complexidade do calculo. trabalho em acrlico, por ser caro e no dispor de recursos necessrios. A montagem do brao, devido a difcil adaptao do motor nas juntas e ao seu peso. no tempo previsto,

Sugestes para Trabalhos Futuros Aps a finalizao deste trabalho, possvel sugerir alguns trabalhos que podem. Complementar e melhorar o projeto:

Um novo prottipo robtico, com a utilizao de servo-motor, para que tenha menor porte e seja mais fcil construir. D esenvolver uma interface mais amigvel. D esenvolver a construo de um rob manipulador ttico, construindo uma base mvel, tipo esteira, para operaes de explorao, reconhecimento e desarmamento de bombas.

33

REFERNCIA

BIANCHI, Reinaldo. Robtica. Centro Universitrio da FEI. (2006). Apostila disponvel em: <http://www.fei.edu.br/~rbianchi/robotica/>.Acesso 10 abr 2008. GOZZI, Giuliano. Curso Automao Industrial. Faatesp (2006). Apostila disponvel 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. Disponvel em: <http://www.rogercom.com/Principal.htm>.Acesso 14 abr 2008. LYNXMOTION, Portal de robot kits e componentes. Disponvel 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. Robtica Industrial, local: edgard blucher, 2002. (GROOVER,89) GROOVER, M. P.; WEISS, M.; Nagel, R. N.; ODREY, N. G. Robtica. Tecnologia e Programao. So Paulo: McGraw-Hill,1989. (SALANT,90) SALANT, M. A. Introduo Robtica. So Paulo: McGraw-Hill, 1990. (FU,88) Fu, K. S. Robotics: Control, Sensing, Vision and Inteligence. New York: McGrallHill, 1987.

34

ANEXOS

35

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){

36

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;

37

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 informaes sobre configuraes public serialcomleitura( String p , int b , int t ){ this.Porta = p; this.baudrate = b; this.timeout = t; }; //habilita escrita de dados public void HabilitarEscrita(){

38

Escrita = true; Leitura = false; } //habilita leitura de dados public void HabilitarLeitura(){ Escrita = false; Leitura = true; } //Obtm 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 comunicao da porta public void AbrirPorta(){ try { porta = (SerialPort)cp.open("serialcomleitura",timeout); PortaOK = true; System.out.println("Porta aberta com sucesso!"); //configurar parmetros porta.setSerialPortParams(baudrate, SerialPort.DATABITS_8,

39

SerialPort.STOPBITS_2, SerialPort.PARITY_NONE); } catch (Exception e) { PortaOK = false; System.out.println("Erro ao abrir a porta! STATUS: " + e ); System.exit(1); } } //funo 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(){

40

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 ); } } } //mtodo RUN da thread de leitura public void run(){ try { Thread.sleep(5000); } catch (Exception e) { System.out.println("Erro. Status = " + e ); } }

41

//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; } }

42

//funo que fecha a conexo 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

43

44

45

46

Você também pode gostar