• Nenhum resultado encontrado

2010.2Monografia Edney

N/A
N/A
Protected

Academic year: 2021

Share "2010.2Monografia Edney"

Copied!
72
0
0

Texto

(1)

Edney da Silva Souza

MANIPULAC

¸ ˜

AO DE OBJETOS UTILIZANDO UM ROB ˆ

O M ´

OVEL

FEIRA DE SANTANA 2010

(2)

MANIPULAC

¸ ˜

AO DE OBJETOS UTILIZANDO UM ROB ˆ

O M ´

OVEL

Trabalho de Conclus˜ao de Curso apresentado ao curso de Engenharia de Computac¸˜ao da Universidade Estadual de Feira de Santana para a obtenc¸˜ao do t´ıtulo de Bacharel em Engenharia de Computac¸˜ao.

Orientador: Prof. Anfranserai Morais Dias

Feira de Santana 2010

(3)

meu pai Expedito e minha m˜ae Terezinha, que me deram a vida com amor, e aos meus amigos que me apoiaram e compreenderem a minha ausˆencia, durante a realizac¸˜ao deste trabalho.

(4)

A rob´otica ´e uma ´area de estudo em grande desenvolvimento nos dias atuais, pois permite automatizar tarefas, nos mais diversos campos da sociedade. Robˆos submarinos, robˆos dom´esticos, sondas interplanet´arias, robˆos desarmadores de bombas e at´e robˆos que auxiliam pessoas com deficiˆencia, s˜ao exemplos da sua utilizac¸˜ao. Pesquisas e desenvolvimento na ´area s˜ao geralmente pioneiras e inovadoras, possibilitando a criac¸˜ao de equipamentos que possuem a capacidade de execuc¸˜ao de tarefas espec´ıficas e com certo grau de risco, onde a precis˜ao, eficiˆencia e repetibilidade s˜ao caracter´ısticas imprescind´ıveis. Por isso, o projeto de um robˆo requer uma an´alise criteriosa sobre os mais diversos fatores envolvidos no processo de automac¸˜ao. Este documento trata do desenvolvimento de um robˆo m´ovel manipulador de objetos, constru´ıdo a partir de dois kits educacionais fornecidos pela empresa Lynxmotion. O primeiro, o kit AL5C ´e um brac¸o rob´otico, tamb´em conhecido como manipulador rob´otico, o segundo, o Kit Tri-Track Robot ´e um robˆo m´ovel, com deslocamento por esteiras. Estes dois kits juntos, permitir˜ao ao robˆo aqui proposto, manipular objetos e transport´a-los em um ambiente livre de obst´aculos. T´opicos como a modelagem cinem´atica direta e inversa, a gerac¸˜ao de trajet´oria, a implementac¸˜ao da comunicac¸˜ao utilizando a linguagem de programac¸˜ao Java e sua intefaceJavacomm, ser˜ao abordados para o entendimento do projeto e posterior compreens˜ao de como estes conceitos s˜ao aplicados `a este caso espec´ıfico.

(5)

Robotics is an area of study in major development today, it allows you to automate tasks in various fields of society. Underwater robots, domestic robots, interplanetary probes, bomb disposal robots and robots that assist people with disabilities are examples of the use of robotic technology in society’s benefit. Research and development in robotics are often pioneering and innovative, allowing you to create devices that are capable of performing specific tasks with any degree of risk, where precision, efficiency and repeatability are essential characteristics. Therefore, the design of a robot requires a careful analysis of the various factors involved in the automation process. This document deals with the development of a robot manipulator of objects, built from two educational kits supplied by the company Lynxmotion. The first, the AL5C is a robotic arm, also known as robotic manipulator, the second, the Tri-Track Robot Kit is a mobile robot, with displacement by mats. These two kits together, allow the robot proposed here, manipulate objects and transport them in an environment free of obstacles. Topics such as forward and inverse kinematics model, the trajectory generation, implementation of communication using the Java programming language and its JavaComm inteface will be addressed to understand the project and further understanding of how these concepts are applied to this case.

(6)

Figura 1 Estrutura de Dispositivos Rob´oticos (FORESTI, 2006) . . . 14

Figura 2 Robˆo m´ovel submarino - ALIVE (ROBOTICS, 2010) . . . 15

Figura 3 Robˆo m´ovel a´ereo - Pathfinder (AERONAUTICS; ADMINISTRATION, 2010) . . . 16

Figura 4 Robˆo m´ovel terrestre - Mer-B (AERONAUTICS; ADMINISTRATION, 2009) . . . . 16

Figura 5 Manipulador Rob´otico (BARRIENTOS et al., 1997) . . . 17

Figura 6 Robˆo militar com esteiras (HOWSTUFFWORKS, 2010) . . . 19

Figura 7 Cinem´atica Direta e Inversa - adaptado de (BARRIENTOS et al., 1997) . . . 20

Figura 8 Notac¸˜ao Denavit Hartenberg (ROS´aRIO, 2005) . . . 21

Figura 9 Servo motor desmontado (NAVARRO, 2010) . . . 25

Figura 10 Exemplo de posic¸˜oes adotadas por um servo motor (NAVARRO, 2010) . . . 26

Figura 11 Formato t´ıpico de um pacote serial ass´ıncrono (BARCELOS, 2010) . . . 29

Figura 12 Conector DB9 (BARCELOS, 2010) . . . 31

Figura 13 Proposta do projeto. . . 36

Figura 14 Brac¸o Rob´otico AL5C (LINXMOTION, 2010) . . . 37

Figura 15 Kit Tri-Track Robot(LINXMOTION, 2010) . . . 37

(7)

Figura 18 Esquema de Ligac¸˜ao do AL5C - adaptado de (LINXMOTION, 2010) . . . 44

Figura 19 Esquema de Ligac¸˜ao do Kit Tri-Track Robot - adaptado de (LINXMOTION, 2010) . . . 45

Figura 20 Chaves de configurac¸˜ao da placa Sabertooth (LINXMOTION, 2010) . . . 46

Figura 21 Panorama do sistema rob´otico completo - adaptado de (LINXMOTION, 2010) 47 Figura 22 Diagrama dos M´odulos de software para o sistema rob´otico . . . 48

Figura 23 Tela principal do software desenvolvido . . . 49

Figura 24 Tela Movimentos Manipulador . . . 50

Figura 25 Tela Movimentos Explorador . . . 51

Figura 26 Tela Manipulador + Explorador . . . 52

Figura 27 Tela de Configurac¸˜ao da Comunicac¸˜ao Serial . . . 53

Figura 28 Modelo manipulador AL5C . . . 54

Figura 29 Cinem´atica explorador . . . 56

Figura 30 Exemplo de trajet´oria para as coordenadas de X e Y no tempo . . . 59

Figura 31 Tela do LynxTerminal - (LINXMOTION, 2010) . . . 60

Figura 32 Gr´afico da trajet´oria manipulador AL5C (Teste 1) . . . 63

(8)

Tabela 1 Comunicac¸˜ao Serial - RS232C - Pinagem DB9 . . . 31

Tabela 2 Conjunto de Instruc¸˜oes para SSC-32 . . . 38

Tabela 3 Parˆametros Denavit-Hartenberg AL5C . . . 54

Tabela 4 Valores para o controle dos movimentos do sistema rob´otico . . . 58

Tabela 5 Teste de posicionamento do manipulador AL5C . . . 61

Tabela 6 Resultado dos testes de posicionamento do manipulador AL5C . . . 62

Tabela 7 Teste de locomoc¸˜ao Kit Tri-Track Robot . . . 65

Tabela 8 Resultado dos testes de locomoc¸˜ao Kit Tri-Track Robot . . . 65

Tabela 9 Testes da Tarefa 1 . . . 66

Tabela 10 Testes da Tarefa 2 . . . 67

(9)

API Application Programming Interface

ASCII American Standard Code for Information Interchange

CD Carrier Detect

CTS Clear to Send

DH Denavit-Hartenberg

DSR Data Set Ready

DTR Data Terminal Ready

EEPROM Electrically-Erasable Programmable Read-Only Memory EIA Electronic Industries Association

LSB Least significant Bit

PCM Pulse Coded Modulation

RD Receive Data RI Ring Indicator RS Recomended Standard RTS Request to Send TD Transmit Data TTL Transistor-Transistor Logic

(10)

1 INTRODUC¸ ˜AO . . . 11

2 FUNDAMENTAC¸ ˜AO TE ´ORICA . . . 13

2.1 Estrutura dos sistemas rob´oticos . . . 13

2.2 Categorias b´asicas dos robˆos . . . 14

2.2.1 Robˆos manipuladores . . . 14

2.2.2 Robˆos M´oveis . . . 15

2.3 Aspectos construtivos de robˆos manipuladores . . . 16

2.3.1 Juntas rob´oticas . . . 17

2.3.2 Elos ou v´ınculos . . . 18

2.3.3 Graus de liberdade . . . 18

2.4 Aspectos construtivos de robˆos exploradores . . . 18

2.5 Modelagem cinem´atica de robˆos manipuladores . . . 20

2.5.1 Notac¸˜ao de Denavit-Hartenberg . . . 20 2.5.2 Cinem´atica direta . . . 23 2.5.3 Cinem´atica inversa . . . 23 2.5.4 Gerac¸˜ao de trajet´oria . . . 24 2.6 Servo Motores . . . 25 2.7 Comunicac¸˜ao Serial - RS232 . . . 26

2.7.1 Conceito de comunicac¸˜ao de dados . . . 27

2.7.2 Canal de comunicac¸˜ao . . . 27

2.7.3 Processo de transmiss˜ao serial . . . 28

2.7.4 Taxa de transferˆencia (Baud Rate) . . . 29

2.7.5 Checksume paridade . . . 30

2.7.6 Interface serial RS232 . . . 30

3 METODOLOGIA . . . 32

3.1 Lista de Atividades . . . 32

3.2 Desenvolvimento e validac¸˜ao da modelagem matem´atica . . . 33

3.3 Comunicac¸˜ao serial . . . 34

3.4 Testes de integrac¸˜ao . . . 34

(11)

4.3 Conex˜oes do robˆo AL5C + Kit Tri-Track Robot . . . 39

4.4 Comunicac¸˜ao serial em JAVA . . . 41

5 DESENVOLVIMENTO . . . 43

5.1 Montagem dos componentes de Hardware . . . 43

5.2 Componentes de Software . . . 47

5.2.1 M´odulo de interface com o usu´ario . . . 48

5.2.2 M´odulo de comunicac¸˜ao serial . . . 52

5.2.3 M´odulo da modelagem cinem´atica . . . 53

5.2.4 M´odulo de acionamento . . . 56

5.2.5 M´odulo de gerac¸˜ao de trajet´oria . . . 58

6 TESTES E AN ´ALISE DOS RESULTADOS . . . 60

6.1 Testes manipulador . . . 61

6.2 Testes explorador . . . 64

6.3 Testes sistema completo . . . 66

7 CONCLUS ˜AO . . . 68

(12)

1 INTRODUC¸ ˜AO

Os avanc¸os tecnol´ogicos trazem grandes benef´ıcios `a sociedade em geral. Exemplos destes benef´ıcios s˜ao: equipamentos automatizados, aperfeic¸oamento dos meios de transporte e das t´ecnicas aplicadas em construc¸˜ao civil, e at´e mesmo no campo da biologia encontra-se a utilizac¸˜ao destas vantagens trazidas pelos avanc¸os tecnol´ogicos.

Rob´otica ´e uma das ´areas de estudo que vem contribuindo, significativamente, para que os seres humanos possam realizar tarefas que antigamente eram praticamente imposs´ıveis, manualmente, e que hoje s˜ao realizadas de maneira r´apida e eficaz, com a ajuda de equipamentos robotizados.

Um exemplo de aplicac¸˜ao da rob´otica ´e o manipulador utilizado nas ind´ustrias automobil´ısticas, que consegue realizar o trabalho de fabricar um autom´ovel de maneira r´apida e precisa, chegando a produzir, em s´erie e com perfeic¸˜ao, uma m´edia de cento e cinco mil unidades por mˆes (ANTT, 2010). Esta quantidade n˜ao poderia ser alcanc¸ada por linhas de produc¸˜ao com sistemas mecˆanicos tradicionais, devido `as limitac¸˜oes impostas, principalmente, pela manipulac¸˜ao humana no maquin´ario.

Outras aplicac¸˜oes em que os robˆos manipuladores se destacam, s˜ao as tarefas em ´area classificada, ambientes de dif´ıcil acesso ou at´e mesmo ambientes hostis onde ´e grande o risco oferecido aos seres humanos, impossibilitando que tais tarefas possam ser realizadas manualmente. Um exemplo deste tipo de aplicac¸˜ao ´e o robˆo MER-B (Opportunity) que explora o solo do planeta Marte, coletando amostras de rocha e fotografando o solo marciano. Inicialmente a proposta era que o robˆo permanecesse em solo marciano por apenas trˆes meses, por´em ele est´a completando dois anos em plena atividade (AERONAUTICS; ADMINISTRATION, 2009).

Robˆos inspetores, robˆos desarmadores de bombas, robˆos exploradores de terrenos acidentados e outros tipos existentes, j´a s˜ao comercializados mundialmente, por´em, destes citados acima, nenhum possui tecnologia genuinamente desenvolvida no Brasil.

´

E poss´ıvel adquirir um robˆo m´ovel manipulador de objetos, mas, s˜ao poucas empresas brasileiras que comercializam equipamentos e soluc¸˜oes na ´area de rob´otica m´ovel, obrigando os clientes a buscarem soluc¸˜oes importadas.

No Brasil e, mais especificamente, na Bahia, trabalhos de pesquisa e desenvolvimento na ´area de Rob´otica M´ovel s˜ao considerados pioneiros e podem trazer grandes benef´ıcios para o desenvolvimento s´ocio-econˆomico da regi˜ao. Um dos objetivos do desenvolvimento de

(13)

tecnologia na ´area de rob´otica m´ovel na Bahia ´e a popularizac¸˜ao de soluc¸˜oes de automac¸˜ao para sistemas mecˆanicos, tornando o prec¸o acess´ıvel para a aquisic¸˜ao de equipamentos robotizados, e por conseq¨uˆencia, barateamento no custo da produc¸˜ao de novos produtos e aumento na velocidade de produc¸˜ao.

O desenvolvimento de um manipulador robotizado por si s´o n˜ao confere a uma regi˜ao o sucesso total em termos de avanc¸o tecnol´ogico, por´em ´e um passo inicial para abrir novas pesquisas na ´area, estimulando os investimentos em tecnologia para a regi˜ao.

Este trabalho trata da an´alise, desenvolvimento e teste de um robˆo m´ovel manipulador de objetos, constru´ıdo a partir de dois kits educacionais fornecidos pela empresa Lynxmotion. O primeiro, o kit AL5C ´e um brac¸o rob´otico, tamb´em conhecido como manipulador rob´otico, o segundo, o Kit Tri-Track Robot ´e um robˆo m´ovel, com deslocamento por esteiras. Estes dois kits juntos, permitir˜ao ao robˆo aqui proposto, manipular objetos e transport´a-los em um ambiente livre de obst´aculos. Na sec¸˜ao 2 ser˜ao abordadas todas as t´ecnicas necess´arias para o entendimento do funcionamento de um robˆo, detalhando seus tipos, partes constituintes inclusive com noc¸˜oes introdut´orias sobre conceitos b´asicos de rob´otica que ser˜ao necess´arios `a compreens˜ao do projeto como um todo.

Na sec¸˜ao seguinte ser˜ao apresentados detalhes sobre a modelagem matem´atica para robˆos m´oveis e manipuladores que servir´a de base para a implementac¸˜ao dos algoritmos que controlam o seu funcionamento, al´em de detalhes sobre a cinem´atica aplicada para o projeto de robˆos.

Ser˜ao apresentados tamb´em detalhes sobre o robˆo AL5C com o Kit Tri-Track Robot do fabricante Linxmotion, com informac¸˜oes sobre os algoritmos que se pretende implementar para seu devido funcionamento.

E, por fim, de maneira resumida, ser˜ao apresentados os objetivos j´a alcanc¸ados no projeto do robˆo m´ovel manipulador de objetos, finalizando com uma an´alise conclusiva a respeito deste projeto.

(14)

2 FUNDAMENTAC¸ ˜AO TE ´ORICA

Este t´opico trata de todo o embasamento te´orico necess´ario para o estudo do desenvolvimento de aplicac¸˜oes que utilizem robˆos m´oveis e manipuladores rob´oticos. Ser˜ao mostrados a seguir conceitos e t´ecnicas utilizadas, que ser˜ao de suma importˆancia para o entendimento dos c´alculos e decis˜oes de projetos realizados nas fases subseq¨uentes.

2.1 Estrutura dos sistemas rob´oticos

Um sistema rob´otico, seja ele projetado por engenheiros, pesquisadores ou estudantes no campo da rob´otica, mecatrˆonica ou inteligˆencia artificial, deve possuir uma estrutura b´asica composta dos seguintes componentes (BRAGA, 2002):

• Sistema de Controle: determina a forc¸a, posic¸˜ao e velocidade dos seus componentes m´oveis a partir de sinais obtidos do sistema inteligente ou mesmo atrav´es de sinais externos podendo ser oriundos tamb´em de sensores;

• Drivers: s˜ao dispositivos respons´aveis pelo envio de informac¸˜oes oriundas do sistema de controle para os atuadores. Eles s˜ao respons´aveis por realizar a compatibilizac¸˜ao dos sinais de tal forma que os mais diferentes tipos de atuadores possam ser controlados; • Atuadores: s˜ao equipamentos capazes de converter a energia el´etrica fornecida pelo

sistema de alimentac¸˜ao e controlados pelos drivers em movimento mecˆanico;

• Sensores: s˜ao respons´aveis por adquirir (sentir) o ambiente ou at´e mesmo as condic¸˜oes atuais do pr´oprio sistema rob´otico, funcionando como feedback para o sistema de inteligˆencia;

• Sistema de Inteligˆencia: ´e considerado o centro de processamento do sistema rob´otico, pois ´e nele que s˜ao processadas as informac¸˜oes obtidas pelos sensores e s˜ao deliberadas ac¸˜oes em forma de sinais para o sistema de controle.

Um sistema que possui inteligˆencia ´e capaz de tomar suas pr´oprias decis˜oes ou at´e mesmo armazenar experiˆencia adquirida atrav´es de um supervisor, a qual ser´a de grande utilidade para a tomada de decis˜oes futuras.

(15)

Al´em dos componentes citados, os sistemas rob´oticos tamb´em devem possuir um fornecimento de energia, seja ela atrav´es de baterias ou uma fonte de alimentac¸˜ao externa, capaz de suportar a carga do somat´orio das potˆencias dos sub-sistemas.

Devido ao fato de um sistema rob´otico ser composto por v´arios sub-sistemas especializados em realizar uma dada tarefa componente para o funcionamento do robˆo, algumas literaturas classificam os robˆos como Sistemas Embarcados (ROS´aRIO, 2005). A Figura 4 demonstra, de maneira resumida, a estrutura b´asica de um sistema rob´otico.

Figura 1: Estrutura de Dispositivos Rob´oticos (FORESTI, 2006)

2.2 Categorias b´asicas dos robˆos

Os robˆos podem ser divididos em duas categorias b´asicas que s˜ao: os manipuladores e os robˆos m´oveis (ROS´aRIO, 2005).

2.2.1 Robˆos manipuladores

O robˆo manipulador consiste em um brac¸o mecˆanico motorizado program´avel que apresenta algumas caracter´ısticas antropom´orficas e um c´erebro na forma de um computador que controla seus movimentos (ROS´aRIO, 2005).

(16)

Em analogia ao brac¸o humano, o manipulador executa movimentos das suas partes constituintes, segundo uma pr´e-programac¸˜ao armazenada no seu sistema de controle e pode repet´ı-las fielmente indefinidamente, bastando que seja programado para tal.

Caracter´ısticas mais detalhadas sobre os manipuladores ser˜ao abordadas em t´opicos posteriores.

2.2.2 Robˆos M´oveis

Os robˆos m´oveis podem ser classificados de acordo com o ambiente em que est˜ao inseridos e suas respectivas miss˜oes a serem executadas (VALAVANIS; GRACANIN, 1997).

• Robˆos M´oveis Submarinos N˜ao Tripulados: s˜ao utilizados para realizar tarefas subaqu´aticas em dutos, lagos e represas; trabalhos em profundidade; explorac¸˜ao de petr´oleo; inspec¸˜ao e conserto de cabos submarinos e outras atividades. A sua formac¸˜ao estrutural deve permitir uma boa vedac¸˜ao e possuir resistˆencia a altas press˜oes devido ao ambiente em que ir˜ao trabalhar;

Figura 2: Robˆo m´ovel submarino - ALIVE (ROBOTICS, 2010)

• Robˆos M´oveis A´ereos N˜ao Tripulados: inicialmente projetado para fins militares, os robˆos m´oveis a´ereos s˜ao utilizados para mapeamento de territ´orio, reconhecimento de desastres naturais, inspec¸˜oes de redes de energia el´etrica e outras atividades ligadas ao fato deste equipamento poder realizar vˆoos coordenados por um sistema de controle normalmente embutidos na sua pr´opria estrutura;

(17)

Figura 3: Robˆo m´ovel a´ereo - Pathfinder (AERONAUTICS; ADMINISTRATION, 2010)

• Robˆos M´oveis Terrestres N˜ao Tripulados: utilizados para realizar tarefa em solo, geralmente onde a presenc¸a do ser humano n˜ao ´e aconselhada devido ao risco apresentado pelo ambiente hostil. Tamb´em s˜ao muito utilizados em (ch˜ao de f´abrica) para realizar tarefas repetitivas e de alta precis˜ao. Pode ser utilizado tamb´em no desarmamento de bombas ou at´e mesmo para fins de explorac¸˜ao de terrenos, neste ´ultimo caso recebem a nomenclatura de robˆos exploradores.

Figura 4: Robˆo m´ovel terrestre - Mer-B (AERONAUTICS; ADMINISTRATION, 2009)

Os robˆos exploradores ser˜ao melhor abordados nos t´opicos posteriores pelo fato de serem um dos objetos de estudo deste documento.

2.3 Aspectos construtivos de robˆos manipuladores

Os manipuladores rob´oticos possuem caracter´ısticas construtivas an´alogas ao brac¸o de um ser humano, entretanto diferencia-se, por ser constitu´ıdo por pec¸as mecˆanicas que tem seus movimentos relativos controlados por um equipamento computacional.

Os manipuladores s˜ao normalmente formados por um conjunto de corpos r´ıgidos ligados em s´erie por interm´edio de juntas, formando uma cadeia cinem´atica aberta, onde uma das extremidades do manipulador encontra-se rigidamente ligada a uma base fixa, enquanto que

(18)

a extremidade oposta suporta o efetuador que pode mover-se livremente no espac¸o (LOPES, 2001).

Este tipo de robˆo ´e muito utilizado na ind´ustria para realizar montagens em linhas de produc¸˜ao que necessite de uma alta precis˜ao e fidelidade na repetic¸˜ao dos movimentos. Trabalhos de soldagem, corte e pintura de pec¸as complexas, manipulac¸˜ao, paletizac¸˜ao de materiais, montagem e acabamento s˜ao exemplos destas aplicac¸˜oes. A Figura 5 apresenta um manipulador rob´otico, destacando suas partes constituintes.

Figura 5: Manipulador Rob´otico (BARRIENTOS et al., 1997)

2.3.1 Juntas rob´oticas

O brac¸o rob´otico ´e capaz de se mover em varias direc¸˜oes devido `a existˆencia de juntas ou uni˜oes tamb´em denominadas de “eixos”.

Os tipos de juntas rob´oticas mais comuns s˜ao (ROS´aRIO, 2005):

• Juntas Prism´aticas: permitem o movimento linear entre dois elos e s˜ao compostas de dois v´ınculos alinhados um dentro do outro; o v´ınculo interno desliza em relac¸˜ao ao externo e d´a origem ao movimento linear;

• Juntas Rotacionais: possibilita o movimento de rotac¸˜ao entre dois elos unidos por uma dobradic¸a comum. As juntas rotacionais s˜ao utilizadas em equipamentos ou ferramentas tais como em tesouras, limpadores de p´ara-brisa e dobradic¸as de portas;

(19)

• Juntas tipo Bola-e-encaixe: promovem o movimento como a combinac¸˜ao de trˆes juntas rotacionais, permitindo movimentos de rotac¸˜ao em torno dos trˆes eixos.

2.3.2 Elos ou v´ınculos

Elos ou v´ınculos s˜ao pec¸as r´ıgidas que interligam duas juntas e funcionam como a estrutura f´ısica do pr´oprio brac¸o rob´otico, tamb´em s˜ao conhecidos com a nomenclatura de links devido ao fato de permitirem a ligac¸˜ao entre estas juntas (ROS´aRIO, 2005).

Geralmente os elos s˜ao feitos de material r´ıgido projetados para suportar as cargas `as quais o robˆo foi projetado para manipular.

2.3.3 Graus de liberdade

O n´umero do grau de liberdade de um brac¸o rob´otico geralmente est´a associado com a quantidade de articulac¸˜oes. Logo, quando o movimento relativo se d´a em um ´unico eixo tem-se ent˜ao um grau de liberdade. Quando o movimento acontece em mais de um eixo, a articulac¸˜ao apresenta dois graus de liberdade. Grande parte dos brac¸os rob´oticos industriais possui entre quatro e seis graus de liberdade (ROS´aRIO, 2005).

2.4 Aspectos construtivos de robˆos exploradores

Os robˆos exploradores s˜ao uma subcategoria dos robˆos m´oveis, ou ainda, conhecidos como, ve´ıculos auto-guiados para fins de explorac¸˜ao. Este tipo de robˆo se diferencia dos manipuladores pelo fato de poderem se locomover dentro de um ambiente livre, n˜ao sendo limitado por uma posic¸˜ao fixa imposta por sua base, como no caso dos brac¸os rob´oticos (FORESTI, 2006).

Na maior parte dos casos os robˆos exploradores s˜ao utilizados para realizar tarefas em locais insalubres, de dif´ıcil acesso ou que oferec¸am risco de vida para o ser humano.

No caso dos robˆos exploradores mar´ıtimos, eles possuem sistemas de propuls˜ao para mergulho, espec´ıfico para a sua atividade e no caso dos robˆos exploradores a´ereos, possuem artif´ıcios que o permita voar, t˜ao qual como um avi˜ao ou helic´optero, por´em, mais detalhes

(20)

sobre essas tecnologias n˜ao ser˜ao abordados neste documento, devido ao fato de se distanciarem da proposta do projeto de um robˆo que executar´a tarefas, meramente terrestres.

Os robˆos m´oveis terrestres ou ve´ıculos exploradores terrestres, podem possuir sistema de locomoc¸˜ao equipados com rodas ou com esteiras, e possuem formato semelhante aos ve´ıculos tradicionais com as rodas laterais dispostas em duas linhas. Ou poderiam ser formados ainda por trˆes rodas como em um ve´ıculo do tipo triciclo.

O tamanho das rodas do robˆo explorador influencia diretamente na velocidade que ele pode alcanc¸ar, e a medida da distˆancia percorrida poder´a ser medida atrav´es de um odˆometro, por´em, estas medidas, `as vezes possuem alguns pequenos erros de aproximac¸˜ao por causa da derrapagem das rodas durante o percurso (MCCOMB, 2004).

Por outro lado, os robˆos m´oveis dotados de esteiras, apesar de possu´ırem basicamente o mesmo aspecto dos robˆos compostos de rodas, as suas esteiras lhe permitem transpor obst´aculos com maior facilidade, portanto s˜ao utilizados em terrenos acidentados e pantanosos. A Figura 6 mostra um robˆo m´ovel com sistema de locomoc¸˜ao por esteiras para fins militares, o MATILDA.

Figura 6: Robˆo militar com esteiras (HOWSTUFFWORKS, 2010)

Al´em dos tipos citados anteriormente, existem, ainda, os robˆos m´oveis com sistema de locomoc¸˜ao por pernas articuladas. O controle de sistemas de locomoc¸˜ao por pernas ´e bastante complexo, chegando a possuir 18 graus de liberdade, no caso dos hex´apodes, que s˜ao robˆos com seis pernas no formato de um inseto.

A partir do s´eculo XX, deu-se o surgimento dos robˆos com locomoc¸˜ao por duas pernas, eles s˜ao chamados de robˆos b´ıpedes e se aproximam muito das caracter´ısticas de locomoc¸˜ao do homem.

(21)

2.5 Modelagem cinem´atica de robˆos manipuladores

Para o projeto e construc¸˜ao de robˆos manipuladores torna-se necess´ario model´a-los matematicamente para definir o comportamento das suas partes constituintes de maneira precisa e inter-relacionadas.

A cinem´atica dos robˆos manipuladores tem como objetivo estudar o movimento dos mesmos em relac¸˜ao a um sistema de referˆencia. Assim, a cinem´atica se interessa pela descric¸˜ao anal´ıtica do movimento do robˆo em func¸˜ao do tempo e, em particular, com a posic¸˜ao e orientac¸˜ao do efetuador em relac¸˜ao aos valores adotados pelos seu ˆangulos de junta.

Existem dois problemas a resolver quando se estuda a modelagem cinem´atica de um robˆo. O primeiro deles ´e conhecido como Cinem´atica Direta, e consiste em determinar qual a posic¸˜ao e orientac¸˜ao da extremidade final do robˆo em relac¸˜ao a um sistema de coordenadas tomado como referˆencia, dada uma configurac¸˜ao de suas juntas.

O segundo problema ´e chamado de Cinem´atica Inversa, que diz respeito `a configurac¸˜ao que o robˆo deve adotar para uma posic¸˜ao e orientac¸˜ao da extremidade conhecida.

Denavit e Hartenberg, em 1955, propuseram um m´etodo sistem´atico para descobrir e representar a geometria espacial dos elementos de uma cadeia cinem´atica e em particular de um robˆo, com relac¸˜ao a um sistema de referˆencia fixo.

Figura 7: Cinem´atica Direta e Inversa - adaptado de (BARRIENTOS et al., 1997)

2.5.1 Notac¸˜ao de Denavit-Hartenberg

Em um robˆo, a evoluc¸˜ao das coordenadas das juntas em relac¸˜ao ao tempo representa o modelo cinem´atico de um sistema articulado no espac¸o tridimensional. A notac¸˜ao de Denavit-Hartenberg (DH) ´e uma ferramenta utilizada para sistematizar a descric¸˜ao cinem´atica de sistemas mecˆanicos articulados com n graus de liberdade (DENAVIT, 1955).

(22)

os quais descrevem completamente o comportamento cinem´atico de uma junta prism´atica ou rotacional. Na Figura 8 s˜ao indicados esses parˆametros, posicionados sobre um manipulador (ROS´aRIO, 2005):

Figura 8: Notac¸˜ao Denavit Hartenberg (ROS´aRIO, 2005)

• θi: ´e o ˆangulo de junta obtido entre os eixos Xi−1 e Xisobre o eixo Zi−1;

• di: ´e a distˆancia entre a origem do (i-1)-´esimo sistema de coordenadas at´e a intersecc¸˜ao

do eixo Zi−1com o Xiao longo do eixo Zi−1;

• ai: ´e o comprimento do elo, medido entre a intersecc¸˜ao do eixo Zi−1 com o eixo Xiat´e a

origem do i-´esimo sistema de referˆencia ao longo do eixo Xi(ou a menor distˆancia entre

os eixos Zi−1e Zi);

• αi: ´e o ˆangulo de torc¸˜ao, medido entre os eixos Zi−1 e Zi medidos sobre o eixo Xi

(usando-se a regra da m˜ao direita).

Para uma junta rotacional, di, ai e αi s˜ao os parˆametros de junta, cujo valor varia na

rotac¸˜ao do elo i em relac¸˜ao ao elo i-1. Para uma junta prism´atica θi, ai e αis˜ao os parˆametros

da junta, enquanto di ´e a vari´avel de junta (deslocamento linear).

Com os sistemas de coordenada DH estabelecidos, uma matriz de transformac¸˜ao homogˆenea pode facilmente ser desenvolvida relacionando-se o i-´esimo ao (i-1)-´esimo referencial de coordenadas, bastando apenas, realizar quatro transformac¸˜oes (CRAIG, 1989):

(23)

• A primeira transformac¸˜ao, consiste em uma rotac¸˜ao em torno do eixo de Zi−1, de um

ˆangulo θi, medido segundo a regra da m˜ao direita, de forma a alinhar Xi−1com Xi;

• A segunda transformac¸˜ao ´e uma translac¸˜ao ao longo do eixo Zi−1, de uma distˆancia di,

medida a partir do ponto de origem do elo anterior, at´e encontrar a intercess˜ao do normal comum entre Zi−1e Zi;

• A terceira transformac¸˜ao, consiste em uma translac¸˜ao ao longo do eixo Xi, de uma

distˆancia ai, partindo-se do ponto de intercess˜ao do eixo Zi−1com a normal, at´e encontrar

o eixo Zi;

• A quarta transformac¸˜ao consiste em uma rotac¸˜ao em torno do eixo Xi, de um ˆangulo αi,

medido segundo a regra da m˜ao direita, de forma a alinhar o eixo Zi−1com o eixo Zi.

Assim, tem-se em resumo, as seguintes transformac¸˜oes:

i−1A

i= Rot(z, θi) × Trans(z, di) × Trans(x, ai) × Rot(x, αi) (2.1)

Onde os s´ımbolos Rot e Trans significam respectivamente transformac¸˜oes de rotac¸˜ao e de translac¸˜ao. Em termos de transformac¸˜oes homogˆeneas, tem-se o seguinte:

i−1A i=        cosθi −senθi 0 0 senθi cosθi 0 0 0 0 1 0 0 0 0 1               1 0 0 0 0 1 0 0 0 0 1 di 0 0 0 1               1 0 0 ai 0 1 0 0 0 0 1 0 0 0 0 1               1 0 0 0 0 cosαi −senαi 0 0 senαi cosαi 0 0 0 0 1        (2.2) E por final, resulta na Equac¸˜ao 2.3 que ser´a utilizada para transformac¸˜ao de cada sistema de coordenadas. i−1A i=       

cosθi −cosαisenθi senαisenθi aicosθi

senθi cosαisenθi −senαicosθi aisenθi

0 senαi cosαi di 0 0 0 1        (2.3)

(24)

2.5.2 Cinem´atica direta

A modelagem cinem´atica direta se utiliza, fundamentalmente, da ´algebra vetorial e matricial para representar e descrever a localizac¸˜ao de um objeto no espac¸o tridimensional em relac¸˜ao a um referencial fixo. Visto que um robˆo pode ser considerado como uma cadeia cinem´atica formada por objetos r´ıgidos, “os elos” unidos entre si, atrav´es de articulac¸˜oes. Ent˜ao poder´a ser estabelecido um sistema de referˆencia fixo na base do robˆo e descrever a posic¸˜ao dos elos e juntas em relac¸˜ao a este dado sistema de referˆencia. Desta maneira, a cinem´atica direta se resume a encontrar uma matriz homogˆenea de transformac¸˜ao “T” que relacione a extremidade do robˆo em relac¸˜ao a referˆencia fixa situada na base do mesmo. Esta matriz “T” ser´a func¸˜ao das coordenadas de junta (BARRIENTOS et al., 1997).

Para um brac¸o rob´otico com seis graus de liberdade, a matriz “T” ser´a formada pela multiplicac¸˜ao das matrizes de transformac¸˜ao de cada eixo referencial, como mostra a Equac¸˜ao 2.4.

T =0A6=0A1 1A2 2A3 3A4 4A5 5A6 (2.4) A matriz de transformac¸˜ao homogˆenea 0A1 representa a localizac¸˜ao de um ponto do referencial 1 em relac¸˜ao ao referencial 0 (referencial da base), de maneira an´aloga uma matriz

0A

3representaria as coordenadas de um ponto do referencial 3 nas coordenadas do referencial 0

(referencial da base), logo, com a matriz T =0A6se tem a posic¸˜ao e orientac¸˜ao da extremidade representadas nas coordenadas da base (BARRIENTOS et al., 1997).

2.5.3 Cinem´atica inversa

O objetivo da modelagem cinem´atica inversa consiste em encontrar os valores que devem adotar as coordenadas de junta do robˆo para que a sua extremidade se posicione e oriente segundo uma determinada localizac¸˜ao espacial.

Assim como ´e poss´ıvel adotar o problema da cinem´atica direta de uma maneira sistem´atica a partir da utilizac¸˜ao de matrizes de transformac¸˜ao homogˆenea e independente da configurac¸˜ao do robˆo, o mesmo n˜ao ocorre com a modelagem cinem´atica inversa, sendo o procedimento de obtenc¸˜ao das equac¸˜oes fortemente dependente da configurac¸˜ao do robˆo.

A modelagem cinem´atica inversa pode ser resolvida basicamente atrav´es de trˆes m´etodos: analiticamente, fazendo-se manipulac¸˜oes matem´aticas nas equac¸˜oes obtidas para o modelo

(25)

cinem´atico direto; geometricamente, realizando c´alculos sobre as relac¸˜oes trigonom´etricas no modelo f´ısico do robˆo; ou numericamente, aplicando-se um m´etodo iterativo para aproximar os valores dos ˆangulos a serem encontrados (BARRIENTOS et al., 1997).

2.5.4 Gerac¸˜ao de trajet´oria

Definir configurac¸˜oes espec´ıficas dos ˆangulos de um manipulador rob´otico, por si s´o, n˜ao ´e suficiente para realizar a sua movimentac¸˜ao, pois, somente com os valores destes ˆangulos, o sistema de acionamento do robˆo, n˜ao ter´a como definir o seu comportamento para as posic¸˜oes intermedi´arias, para tal, al´em da definic¸˜ao dos dois pontos (origem e destino) ser´a necess´ario especificar um conjunto de pontos entre estes limites, que o robˆo deve adotar para conseguir alcanc¸ar o seu objetivo (CRAIG, 1989).

A gerac¸˜ao de uma trajet´oria, preferencialmente suave, ´e de grande importˆancia para a precis˜ao do movimento dos brac¸os rob´oticos e existem algumas t´ecnicas para esta realizac¸˜ao (CRAIG, 1989):

• Trajet´oria Retil´ınea: consiste em calcular os pontos que pertencem a uma reta que passa pelos pontos de origem e destino. Esta t´ecnica ´e bastante rudimentar e s´o permite que o brac¸o rob´otico ou o robˆo m´ovel, se movimente em linha reta;

• Trajet´oria Polinomial: consiste na utilizac¸˜ao de um polinˆomio interpolador. Dados dois pontos no espac¸o, um de origem e outro de destino, poder´a ser calculado os valores intermedi´arios, atrav´es da utilizac¸˜ao de uma func¸˜ao matem´atica que suaviza a trajet´oria de acordo com um polinˆomio escolhido.

Utilizando-se um polinˆomio interpolador de segundo grau, ent˜ao ser´a obtido uma par´abola que liga os dois pontos (origem e destino), caso seja escolhido um polinˆomio interpolador de terceiro grau, ent˜ao a trajet´oria entre estes dois pontos ser´a no formato de uma func¸˜ao c´ubica com dois pontos de inflex˜ao, o que evita os movimentos bruscos de uma trajet´oria retil´ınea (CRAIG, 1989).

A Equac¸˜ao 2.5 mostra um exemplo generalizado de polinˆomio interpolador c´ubico que pode ser utilizado para calcular as posic¸˜oes instantˆaneas da trajet´oria de um manipulador rob´otico, onde atrav´es do c´alculo da primeira derivada deste polinˆomio obt´em-se a velocidade instantˆanea (CRAIG, 1989).

Calculando a segunda derivada deste mesmo polinˆomio interpolador poder´a ser obtida a acelerac¸˜ao instantˆanea para o brac¸o rob´otico.

(26)

f(t) = a0+ a1t+ a2t2+ a3t3 (2.5)

2.6 Servo Motores

Um servo motor ´e um pequeno dispositivo com um eixo que pode ser posicionado em um ˆangulo desejado pelo envio de sinais codificados. Enquanto existir um sinal aplicado na entrada, o servo ir´a manter a posic¸˜ao angular do eixo. Quando o sinal mudar, a posic¸˜ao angular do eixo tamb´em muda. Na pr´atica, os servos s˜ao utilizados em avi˜oes radio-controlados para controlar os lemes de profundidade e de direc¸˜ao. S˜ao tamb´em utilizados em carros radio-controlados, brinquedos e robˆos.

Um servo motor, Figura 9, possui um circuito eletrˆonico de controle e um potenciˆometro (uma resistˆencia vari´avel rotativa) que est´a ligada ao eixo de sa´ıda. Este potenciˆometro possibilita ao circuito de controle monitorar o ˆangulo atual do servo motor. Se o eixo estiver no ˆangulo correto, o motor p´ara. Se o circuito detecta que o ˆangulo est´a incorreto, ativa o motor no sentido correto at´e que o ˆangulo esteja correto. O eixo de sa´ıda do servo motor ´e capaz de rodar aproximadamente 180o. Um servo normal ´e utilizado para controlar movimentos angulares entre 0o e 180o, n˜ao sendo capaz de girar mais, devido a uma limitac¸˜ao mecˆanica existente na roda dentada acoplada ao seu eixo.

Figura 9: Servo motor desmontado (NAVARRO, 2010)

A tens˜ao aplicada ao motor ´e proporcional `a distˆancia (ˆangulo) que tem de percorrer. Assim, se o eixo tem que girar um grande ˆangulo, o motor gira `a m´axima velocidade. Se tiver que girar um pequeno ˆangulo, o motor vai girar a baixa velocidade. Isto ´e chamado controle proporcional.

(27)

na Figura 10. A isto chama-se PCM (Pulse Coded Modulation ou Modulac¸˜ao por Pulso Codificado). O servo espera receber um pulso em 20 milisegundos (.02 segundos). A largura do pulso vai determinar o ˆangulo de rotac¸˜ao do motor. Um pulso de 1.5 milisegundos, por exemplo, vai fazer o motor girar para a posic¸˜ao 90o(tamb´em designada posic¸˜ao neutral). Se o pulso for mais curto que 1.5 ms, ent˜ao o motor vai girar o eixo para cerca de 0o.). Se o pulso for mais longo que 1.5 ms, ent˜ao o motor vai girar o eixo para cerca de 180 graus.

Figura 10: Exemplo de posic¸˜oes adotadas por um servo motor (NAVARRO, 2010)

2.7 Comunicac¸˜ao Serial - RS232

Para realizar a transferˆencia de dados entre equipamentos eletrˆonicos computadorizados, torna-se necess´aria a utilizac¸˜ao de algum meio de comunicac¸˜ao. Esta comunicac¸˜ao pode ser efetuada por meio de ondas eletromagn´eticas, como ´e o caso de comunicac¸˜ao sem fios, ou atrav´es da utilizac¸˜ao de um meio f´ısico, como por exemplo um cabo met´alico de cobre.

Uma das maneiras de realizar a comunicac¸˜ao entre os equipamentos computadorizados ´e atrav´es da comunicac¸˜ao serial cabeada, que ser´a melhor explanada nos t´opicos a seguir.

(28)

2.7.1 Conceito de comunicac¸˜ao de dados

Em um computador, a distˆancia que um sinal el´etrico pode percorrer varia de alguns mil´ımetros, como no caso da comunicac¸˜ao entre dois circuitos integrados na placa m˜ae, at´e cent´ımetros, como na comunicac¸˜ao entre os dispositivos perif´ericos, por exemplo um sinal el´etrico migrando da mem´oria principal para o disco r´ıgido e vice-versa (BARCELOS, 2010).

Algumas vezes a comunicac¸˜ao deve ser realizada com outros componentes que est˜ao fora dos circuitos que constituem o computador. Nesses casos as distˆancias envolvidas podem ser enormes, e ent˜ao surgem v´arios problemas que dificultam a transmiss˜ao de dados de maneira precisa. Embora alguns cuidados devam ser tomados na troca de dados dentro de um computador, o grande problema ocorre quando dados s˜ao transferidos para dispositivos fora dos circuitos do computador. Nesse caso a distorc¸˜ao e o ru´ıdo podem tornar-se t˜ao severos que a informac¸˜ao ´e perdida (BARCELOS, 2010).

A Comunicac¸˜ao de Dados estuda os meios de transmiss˜ao de mensagens digitais para dispositivos externos ao circuito originador da mensagem. Dispositivos Externos s˜ao geralmente circuitos com fonte de alimentac¸˜ao independente dos circuitos relativos a um computador ou outra fonte de mensagens digitais. Como regra, a taxa de transmiss˜ao m´axima permiss´ıvel de uma mensagem ´e diretamente proporcional a potˆencia do sinal, e inversamente proporcional ao ru´ıdo. A func¸˜ao de qualquer sistema de comunicac¸˜ao ´e fornecer a maior taxa de transmiss˜ao poss´ıvel, com a menor potˆencia e com o menor ru´ıdo poss´ıvel (BARCELOS, 2010).

2.7.2 Canal de comunicac¸˜ao

Um canal de comunicac¸˜ao ´e definido como sendo o meio pelo qual a informac¸˜ao trafega. A comunicac¸˜ao pode ser realizada por um canal f´ısico (fio) ou por algum meio de propagac¸˜ao atrav´es de energia radiante, como por exemplo ondas de r´adio ou um feixe de laser.

Normalmente o canal de comunicac¸˜ao ´e classificado de acordo com a direc¸˜ao em que a informac¸˜ao trafega. Na comunicac¸˜ao por canal simplex, a informac¸˜ao tem um ´unico sentido de tr´afego, por outro lado, caso a comunicac¸˜ao acontec¸a em duplo sentido no canal, este canal ser´a classificado como, canal half-duplex, por´em, neste caso, a comunicac¸˜ao nos dois sentidos n˜ao pode acontecer simultaneamente. J´a no caso dos canais full-duplex, os dados podem trafegar nos dois sentidos simultaneamente.

(29)

que podem ser encapsulados em mensagens de v´arios bits. Um byte (conjunto de 8 bits) ´e um exemplo de uma unidade de mensagem que pode trafegar atrav´es de um canal digital de comunicac¸˜oes. Uma colec¸˜ao de bytes pode ser agrupada em um frame ou outra unidade de mensagem de maior n´ıvel. Esses m´ultiplos n´ıveis de encapsulamento facilitam o reconhecimento de mensagens e interconex˜oes de dados complexos (BARCELOS, 2010).

2.7.3 Processo de transmiss˜ao serial

A maioria das comunicac¸˜oes em sistemas digitais ´e formada por um grande n´umero de bits, o que torna invi´avel transmit´ı-los simultaneamente, portanto, uma mensagem quando deve ser enviada por um canal de comunicac¸˜ao, ela ´e quebrada em pequenas partes e enviadas seq¨uencialmente (BARCELOS, 2010).

Na comunicac¸˜ao bit-serial, as mensagens s˜ao codificadas em bits e eles s˜ao enviados um a um, pelo canal. Este tipo de transmiss˜ao ´e mais conhecida com o nome de transmiss˜ao serial e, ´e utilizada pela maior parte dos sistemas digitais e perif´ericos de computadores (BARCELOS, 2010).

No outro lado da comunicac¸˜ao, ou seja, no equipamento receptor, os bits s˜ao rearranjados para compor a mensagem original.

A transmiss˜ao serial pode ser realizada utilizando-se duas t´ecnicas: Transmiss˜ao S´ıncrona e Transmiss˜ao Ass´ıncrona (BARCELOS, 2010).

• Transmiss˜ao S´ıncrona: nesta t´ecnica ´e utilizado um canal exclusivo de clock, para transmitir informac¸˜oes de temporizac¸˜ao, fazendo com que o receptor consiga identificar quando exatamente comec¸a um pacote de dados e quando o mesmo termina. Um segundo canal ´e utilizado para o tr´afego dos dados, respeitando os sinais de temporizac¸˜ao que ocorrem em paralelo no canal citado anteriormente;

• Transmiss˜ao Ass´ıncrona: ´e realizada atrav´es de um ´unico canal. O transmissor e o receptor devem ser previamente configurados, dando assim a possibilidade da troca de mensagens sem grandes perdas de dados. Para este tipo de transmiss˜ao (normalmente ´e utilizado o protocolo RS232), os dados s˜ao divididos em pacotes de 10 ou 11 bits, dos quais somente oito constituem a mensagem. Os bits restantes servem para o controle de inicio e fim de pacote, assim como informac¸˜oes relativas `a integridade do pacote (paridade). Quando o canal est´a em repouso, o sinal correspondente no canal tem um n´ıvel l´ogico ‘1’. Um pacote de dados sempre comec¸a com um n´ıvel l´ogico ‘0’ (“start

(30)

bit”) para sinalizar ao receptor que uma transmiss˜ao foi iniciada. O “start bit” inicializa um temporizador interno no receptor avisando que a transmiss˜ao comec¸ou e que ser˜ao necess´arios pulsos de clock. Seguido do “start bit”, 8 bits de dados de mensagem s˜ao enviados na taxa de transmiss˜ao especificada. O pacote ´e conclu´ıdo com os bits de paridade e de parada “stop bit”.

A Figura 11 mostra o formato t´ıpico para o pacote na transmiss˜ao ass´ıncrona.

Figura 11: Formato t´ıpico de um pacote serial ass´ıncrono (BARCELOS, 2010)

2.7.4 Taxa de transferˆencia (Baud Rate)

O termo taxa de transferˆencia refere-se `a velocidade com que a comunicac¸˜ao acontece, ou seja, a relac¸˜ao entre o tempo gasto e a distˆancia que uma mensagem leva para ser transmitida, e ´e medida em transic¸˜oes el´etricas por segundo (BARCELOS, 2010).

No padr˜ao de comunicac¸˜ao EIA232, a cada transic¸˜ao el´etrica, um ´unico bit ´e enviado, logo, a taxa de transferˆencia e a taxa de bits s˜ao idˆenticas, portanto nesse caso, uma taxa de 9600 bauds corresponde a uma transferˆencia de 9600 dados por segundo, ou um per´ıodo de aproximadamente, 104 µs (1/9600 s) (BARCELOS, 2010).

(31)

2.7.5 Checksum e paridade

Dist´urbios e ru´ıdos gerados ao longo do canal de comunicac¸˜ao podem interferir na qualidade dos dados transmitidos, fazendo com que o receptor receba mensagens incorretas ou com perda de dados. Para amenizar este tipo de situac¸˜ao, geralmente ´e implementada uma t´ecnica de detecc¸˜ao e/ou correc¸˜ao de erros (BARCELOS, 2010).

Para cada pacote enviado ´e adicionado ao seu final, um bit de paridade, que garante na maioria dos casos a integridade dos dados recebidos, realizando-se apenas uma simples verificac¸˜ao.

Na convenc¸˜ao de paridade-par (“even-parity”), o valor do bit de paridade ´e escolhido de tal forma que o n´umero total de d´ıgitos ‘1’ dos dados adicionado ao bit de paridade do pacote seja sempre um n´umero par. Na recepc¸˜ao do pacote, a paridade do dado precisa ser computada novamente pelo hardware local e comparada com o bit de paridade recebido com os dados. Se qualquer bit mudar de estado, a paridade n˜ao ir´a coincidir, e um erro ser´a detectado. Se um n´umero par de bits for trocado, a paridade coincidir´a e o dado com erro ser´a validado. Contudo, uma an´alise estat´ıstica dos erros de comunicac¸˜ao de dados tem mostrado que um erro com bit simples ´e muito mais prov´avel que erros em m´ultiplos bits na presenc¸a de ru´ıdo randˆomico. Portanto, a paridade ´e um m´etodo confi´avel de detecc¸˜ao de erro (BARCELOS, 2010).

Outro m´etodo de detecc¸˜ao de erro envolve o c´alculo de um “checksum” quando mensagens com mais de um byte s˜ao transmitidas pelo canal de comunicac¸˜ao. Nesse caso, os pacotes que constituem uma mensagem s˜ao adicionados aritmeticamente. Um n´umero de checksum´e adicionado `a seq¨uˆencia do pacote de dados de tal forma que a soma dos dados mais o checksum seja zero (BARCELOS, 2010).

2.7.6 Interface serial RS232

A comunicac¸˜ao serial utilizando a interface serial RS232, possui uma s´erie de especificac¸˜oes para compatibilizar e padronizar como ser´a realizada a transmiss˜ao dos dados (BARCELOS, 2010).

A sigla RS significa “Recomended Standard”, e teve origem em 1969, criada por um comitˆe, conhecido nos dias de hoje com o nome de EIA (Electronic Industries Association). Atualmente os sinais implementados e sua forma de utilizac¸˜ao s˜ao muito pouco semelhantes `a especificac¸˜ao original (BARCELOS, 2010).

(32)

O padr˜ao RS232, desde que foi concebido, sofreu trˆes grandes modificac¸˜oes, sendo que a mais recente, em 1991, modificou o nome do padr˜ao para EIA232, renomeou alguns dos seus sinais e v´arias linhas novas foram definidas (BARCELOS, 2010).

A transmiss˜ao serial utilizando a interface RS232 se d´a atrav´es da sinalizac¸˜ao por tens˜ao, onde o n´ıvel l´ogico alto ´e representado atrav´es de um valor de tens˜ao que esteja dentro da faixa de -3V at´e -25V e o n´ıvel l´ogico baixo por sua vez ´e representado por um n´ıvel de tens˜ao entre +3V at´e +25V.

Os equipamentos que trabalham com n´ıvel l´ogico TTL (Transistor-Transistor Logic), devem possuir um conversor de n´ıveis, como por exemplo, o circuito integrado MAX232, que normaliza os n´ıveis de tens˜ao para 0v at´e +5V.

Uma descric¸˜ao breve dos sinais para a interface serial utilizando um conector do tipo DB9 poder´a ser vista na Tabela 1 e sua respectiva ilustrac¸˜ao na Figura 12.

Figura 12: Conector DB9 (BARCELOS, 2010)

Tabela 1: Comunicac¸˜ao Serial - RS232C - Pinagem DB9

Pino Sinal Sentido Descric¸˜ao

1 CD (Carrier Detect) Entrada receptor avisa quando recebe sinal 2 RD (Receive Data) Entrada Recebe dados enviados pelo receptor 3 TD (Transmit Data) Sa´ıda Transmite dados para o receptor 4 DTR (Data Terminal Ready) Sa´ıda transmissor avisa que est´a pronto

5 Signal Ground sinal de referˆencia

6 DSR (Data Set Ready) Entrada receptor avisa que conseguiu comunicar 7 RTS (Request to Send) Sa´ıda transmissor pede permiss˜ao para enviar dados 8 CTS (Clear to Send) Entrada receptor permite que transmissor envie dados 9 RI (Ring Indicator) Entrada receptor avisa que telefone est´a tocando

(33)

3 METODOLOGIA

Ap´os a apresentac¸˜ao do cap´ıtulo 2 com a base te´orica necess´aria para a construc¸˜ao deste projeto, ser´a visto a seguir, como estes componentes ser˜ao associados para compor a soluc¸˜ao proposta a ser desenvolvida.

Inicialmente ser´a apresentada uma sess˜ao relativa a uma lista de atividades para o projeto, e em seguida ser˜ao detalhados somente os principais itens desta lista.

3.1 Lista de Atividades

Para a melhor organizac¸˜ao do desenvolvimento do projeto, foi realizado um planejamento das atividades, dividindo-as em etapas e agrupando-as de acordo com a ´area de estudo espec´ıfica, possibilitando assim, o acompanhamento e controle da evoluc¸˜ao do projeto ao longo do tempo.

As atividades foram divididas em:

• Levantamento Bibliogr´afico: pesquisa em busca de livros e documentos que tratem dos assuntos, manipuladores rob´oticos, robˆos m´oveis, comunicac¸˜ao serial RS232, programac¸˜ao serial utilizando a linguagem de programac¸˜ao JAVA, entre outros assuntos que servem de aux´ılio te´orico para o desenvolvimento do projeto como um todo;

• Modelagem Matem´atica: desenvolvimento de modelos matem´aticos relativos `a cinem´atica direta e inversa, tanto do manipulador rob´otico quanto do robˆo m´ovel, assim como os c´alculos necess´arios para a gerac¸˜ao de trajet´oria dos mesmos;

• Comunicac¸˜ao Serial: estudo e implementac¸˜ao da comunicac¸˜ao serial entre o robˆo e o computador, atrav´es da utilizac¸˜ao da API (Application Programming Interface) de comunicac¸˜ao Javacomm;

• Testes pr´e-liminares da comunicac¸˜ao: realizac¸˜ao de testes de movimentac¸˜ao do robˆo atrav´es da comunicac¸˜ao serial;

• Validac¸˜ao da Modelagem Matem´atica: verificac¸˜ao dos resultados obtidos pela modelagem matem´atica, atrav´es da medic¸˜ao de pontos e ˆangulos no robˆo;

(34)

• Testes de Integrac¸˜ao: teste da interac¸˜ao dos m´odulos implementados, para garantir o correto funcionamento do robˆo. Os testes s˜ao realizados, pondo em funcionamento a interface do usu´ario, a modelagem matem´atica e a comunicac¸˜ao serial, para verificar, de maneira geral, o comportamento dos m´odulos implementados para o projeto.

3.2 Desenvolvimento e validac¸˜ao da modelagem matem´atica

A modelagem matem´atica consiste, basicamente, em realizar os c´alculos relativos `a modelagem cinem´atica direta, inversa e a gerac¸˜ao da trajet´oria. Em seguida simular e comparar os valores obtidos atrav´es de medidas realizadas diretamente no robˆo sobre valores de posic¸˜oes conhecidas, com os valores retornados pelos c´alculos das modelagens.

A cinem´atica direta do robˆo manipulador, ao receber como entrada, valores dos ˆangulos de junta de um manipulador, ir´a retornar, como valor calculado, a posic¸˜ao em coordenadas cartesianas (x, y, z) para uma determinada configurac¸˜ao destes ˆangulos de junta.

Por outro lado, a cinem´atica inversa, calcula os ˆangulos de junta, expressos no espac¸o de juntas, a partir de um ponto (x, y, z), fornecido no sistema de coordenadas cartesianas.

A modelagem matem´atica para este projeto deve contemplar as seguintes atividades: • Realizac¸˜ao de medic¸˜oes no corpo do robˆo (manipulador), para a retirada dos parˆametros

de Denavit Hartenberg;

• Desenvolvimento das matrizes de transformac¸˜ao para a cinem´atica direta; • Testes de transformac¸˜ao com ˆangulos conhecidos;

• Desenvolvimento das equac¸˜oes para o c´alculo dos ˆangulos na cinem´atica inversa; • Testes de transformac¸˜ao com pontos conhecidos;

• Desenvolvimento das equac¸˜oes para a gerac¸˜ao de trajet´orias, utilizar trajet´oria linear, polinˆomio quadr´atico e polinˆomio c´ubico;

• Implementac¸˜ao do algoritmo de gerac¸˜ao de trajet´oria para conferir se os pontos gerados formam a trajet´oria de acordo com o tipo de interpolac¸˜ao escolhida;

• Realizac¸˜ao de medic¸˜oes no robˆo m´ovel para os c´alculos utilizados na implementac¸˜ao da cinem´atica do Kit Tri-Track Robot;

(35)

3.3 Comunicac¸˜ao serial

O controle do robˆo ´e feito utilizando-se o padr˜ao RS232 de comunicac¸˜ao serial e atrav´es do envio de comandos no formato pr´e-estabelecido para o micro-controlador da ATMEL, que abriga um algoritmo desenvolvido pelo pr´oprio fabricante do robˆo, o total controle do posicionamento poder´a ser atingido.

As atividades relativas `a comunicac¸˜ao entre o software de controle e o robˆo devem conter as seguintes tarefas:

• Instalac¸˜ao da API de comunicac¸˜ao Javacomm, preferencialmente na plataforma de desenvolvimento Netbeans 6.9 ou superior;

• Implementac¸˜ao da configurac¸˜ao da comunicac¸˜ao serial;

• Implementac¸˜ao das rotinas para adequac¸˜ao ao protocolo da placa SSC32 (circuito integrado da ATMEL);

• Testes de movimentac¸˜ao das juntas individuais;

• Testes dos limites dos ˆangulos alcanc¸´aveis pelas juntas do robˆo manipulador; • Testes de movimentac¸˜ao das esteiras do Kit Tri-Track Robot.

3.4 Testes de integrac¸˜ao

Ap´os o desenvolvimento de todos os m´odulos que constituir˜ao o projeto global, foram realizados os testes de integrac¸˜ao, para garantir que a comunicac¸˜ao serial est´a funcionando corretamente com a interface do usu´ario, a modelagem matem´atica est´a funcionando corretamente com a comunicac¸˜ao serial, e assim compilar os resultados alcanc¸ados e avaliar a necessidade de modificac¸˜oes no projeto, al´em de trac¸ar metas futuras.

Para os testes de integrac¸˜ao foram desenvolvidas as seguintes atividades:

• Implementac¸˜ao das classes que realizar˜ao a ligac¸˜ao entre os m´odulos de comunicac¸˜ao, modelagem matem´atica e interface do usu´ario;

• Realizac¸˜ao de testes de funcionamento, apenas do manipulador, objetivando a retirada de um objeto de uma posic¸˜ao origem para uma posic¸˜ao destino, dentro do alcance do AL5C;

(36)

• Realizac¸˜ao de testes de funcionamento, apenas do robˆo m´ovel Kit Tri-Track Robot, objetivando a locomoc¸˜ao do robˆo de um ponto de origem para um ponto de destino dentro de um terreno plano e com limites bem definidos;

• Testes de funcionamento completo, verificando se o robˆo (AL5C + Kit Tri-Track Robot) realiza a manipulac¸˜ao de um objeto movimentando tanto o manipulador, quanto o robˆo m´ovel;

• An´alise dos resultados obtidos e tabulac¸˜ao de resultados para comprovar o correto funcionamento do projeto e alcance dos principais objetivos.

(37)

4 DESCRIC¸ ˜AO DA PROPOSTA

Este projeto visa desenvolver um sistema rob´otico capaz de manipular objetos dentro de um ambiente livre, onde a uni˜ao do manipulador AL5C e o Kit Tri-Track Robot permitir˜ao deslocar objetos que estejam fora da ´area alcanc¸ada pelo manipulador.

O robˆo, ao receber um sinal do computador, com informac¸˜oes referentes `a tarefa que ele deve executar, em um primeiro momento ir´a verificar se o objeto a ser manipulado se encontra dentro da ´area alcanc¸´avel pelo manipulador, assim como testar´a, se o local de destino do objeto est´a dentro desses limites do manipulador, se as verificac¸˜oes de posic¸˜oes forem afirmativas, ent˜ao o robˆo movimentar´a o brac¸o rob´otico. Caso contr´ario, o robˆo dever´a se aproximar at´e que este objeto esteja dentro dos limites do AL5C e, em seguida, obter o objeto e transport´a-lo para o seu objetivo, se aproximando o bastante para que seja alcanc¸ada uma posic¸˜ao onde o manipulador consiga entreg´a-lo corretamente. A Figura 13 mostra um ambiente contendo os componentes representativos da proposta do projeto.

Figura 13: Proposta do projeto.

4.1 O Robˆo AL5C + Kit Tri-Track Robot

A empresa Linxmotion Inc, fundada em 1995, disponibiliza kits educacionais para trabalhos na ´area de rob´otica. V´arios tipos de robˆos s˜ao disponibilizados atrav´es do seu site. O robˆo AL5C ´e um manipulador rob´otico com cinco graus de liberdade acionado atrav´es de servos-motores e comandado por um micro-controlador da ATMEL modelo

(38)

ATMEGA168-20PU, capaz de movimentar at´e 32 servos-motores, o qual est´a embarcado numa placa de circuito impresso desenvolvido pela pr´opria Linxmotion sob o nome de Placa Controladora SSC-32.

Figura 14: Brac¸o Rob´otico AL5C (LINXMOTION, 2010)

Outro robˆo disponibilizado tamb´em pela Linxmotion ´e o Kit Tri-Track Robot que ´e um modelo de robˆo m´ovel com locomoc¸˜ao por meio de duas esteiras, composto por dois motores de 12 volts, interligados em uma placa de potˆencia (Driver) desenvolvida pelo pr´oprio fabricante chamada, Sabertooth 2X10 R/C Regenerative Dual Channel Motor Controller.

Este tipo de robˆo m´ovel composto por esteiras ´e uma ´otima opc¸˜ao para o desenvolvimento de robˆos exploradores, visto que, as esteiras lhe permite superar obst´aculos com maior facilidade. Possui sistema de trac¸˜ao diferencial triangular e suporta uma carga m´axima de 2,26Kg e seu chassi permite a montagem acoplada de outros kits de rob´otica da Linxmotion.

Figura 15: Kit Tri-Track Robot (LINXMOTION, 2010)

Com a finalidade de reunir em um ´unico robˆo as qualidades de um manipulador rob´otico e a mobilidade de um robˆo m´ovel com locomoc¸˜ao por esteiras, torna-se ´util a montagem em conjunto do AL5C e o Kit Tri-Track Robot, formando um robˆo capaz de, ao mesmo tempo em que manipula objetos, transport´a-los de uma regi˜ao para outra por meio do movimento da sua base, fazendo o papel de robˆo m´ovel.

(39)

4.2 Programac¸˜ao do robˆo AL5C + Kit Tri-Track Robot

Como dito anteriormente, o kit educacional da Linxmotion vem equipado com uma placa controladora para os seus servos-motores, a SSC-32, que possui um micro-controlador, com software embarcado capaz de interpretar comandos relativos aos movimentos que os servos-motores devem realizar.

A placa SSC-32 recebe comandos atrav´es de uma interface serial usando o protocolo de comunicac¸˜ao RS232 e possui um conjunto de instruc¸˜oes pr´e-definida. As instruc¸˜oes b´asicas e necess´arias para fundamentar o desenvolvimento de programas para o AL5C + Kit Tri-Track Robotser˜ao detalhadas na Tabela 2.

Tabela 2: Conjunto de Instruc¸˜oes para SSC-32

Comandos para movimentar os servos-motores

] < ch > P < pw > S < spd > ...] < ch > P < pw > S < spd > T < time >< cr > < ch > N´umero do canal em decimal, 0-31

< pw > Largura do pulso em micro-segundos, 500-2500

< spd > Velocidade do movimento em µs/segundos para um canal, (opcional) < time > Tempo em mili-segundos para completar o movimento, afeta todos os canais

< cr > Carriage Return, ASCII 13, (requerido para iniciar uma ac¸˜ao) < esc > Cancela a ac¸˜ao corrente, ASCII 27

Comandos para controlar sa´ıdas discretas ] < ch >< lvl > ...] < ch >< lvl >< cr > < ch > N´umero do canal em decimal, 0-31

< lvl > N´ıvel l´ogico do canal, ‘H’ para alto e ‘L’ para baixo Comandos para leitura de entradas discretas

A B C D AL BL CL DL < cr > A B C D Letra referente `a entrada que se deseja ler o valor,

ASCII “0”=(0v), ASCII “1”=(+5v)

AL BL CL DL Entradas com latch, permanece em “0” ou em “1” at´e receber o comando *L

(40)

Exemplo para a movimentac¸˜ao de um dos servos-motores do manipulador poderia ser escrito da seguinte forma: ]5P1600S750 < cr >, que faria com que o servo-motor que est´a ligado no canal 5, se desloque para a posic¸˜ao 1600, movendo-se a uma taxa de 750µs por segundo at´e alcanc¸ar o seu destino.

O formato para os comandos enviados para a placa SSC-32 devem ser o seguinte formato: ] Servo-motor P Pulsos S Velocidade

• ]: indica o inicio da cadeia de caracteres para um comando; • Servo-motor: indica o n´umero do servo-motor a ser controlado; • P: indica que o controle ser´a feito atrav´es de pulsos;

• Pulsos: posic¸˜ao que dever´a adotar o servo-motor. • S: indica que ser´a definido o valor de velocidade. • Velocidade: valor de velocidade em microsegundos.

Para melhor entender o funcionamento do parˆametro de velocidade, considere que 1000µs s˜ao necess´arios para um trajeto de 90o de rotac¸˜ao, ent˜ao com uma taxa de 100µs por segundo o motor precisar´a de 10 segundos para completar o seu trajeto de 90o, analogamente, uma taxa de 2000µs por segundo levar´a 0,5 segundos para completar os mesmos 90o.

4.3 Conex˜oes do robˆo AL5C + Kit Tri-Track Robot

Os servos-motores e os atuadores do robˆo apresentado s˜ao controlados e alimentados por meio da placa SSC-32. Na Figura 16, pode ser visto a disposic¸˜ao dos componentes e conectores da placa controladora e em seguida um detalhamento das suas respectivas funcionalidades e formas de conex˜ao.

(41)

Figura 16: Placa controladora SSC-32 (LINXMOTION, 2010)

1. Regulador de tens˜ao para 5vdc;

2. Terminais para conex˜ao de alimentac¸˜ao, do acionamento dos servos-motores de 16 `a 31; 3. Configurac¸˜ao para interligar VS1 e VS2, permite utilizar uma ´unica fonte de alimentac¸˜ao

para o acionamento de todos os servos-motores;

4. Terminais para conex˜ao de alimentac¸˜ao, do circuito eletrˆonico do micro-controlador; 5. Configurac¸˜ao do n´ıvel l´ogico de tens˜ao em relac¸˜ao ao n´ıvel da alimentac¸˜ao principal,

permite utilizar o sinal de VS em VL;

6. Terminais para conex˜ao de alimentac¸˜ao, do acionamento dos servos-motores de 0 `a 15; 7. Conex˜oes para os servos-motores de 0 a 15 na parte inferior e 16 a 31 na parte superior; 8. Circuito integrado da Atmel ATMEGA168-20PU;

9. Configurac¸˜ao da comunicac¸˜ao serial; 10. Conex˜oes para as entradas discretas;

11. Sinalizac¸˜ao do funcionamento normal da placa controladora; 12. Conector DB9 para comunicac¸˜ao serial;

13. Conex˜ao para mem´oria EEPROM (Electrically-Erasable Programmable Read-Only Memory);

(42)

Algumas configurac¸˜oes podem variar de acordo com o modelo da placa controladora e o robˆo ao qual se deseja controlar.

Equipamentos com potˆencia maior que a suportada pela placa SSC-32 devem ser alimentadas de forma independente e o seu controle realizado atrav´es de uma interface que permita a isolac¸˜ao dos sinais de controle.

4.4 Comunicac¸˜ao serial em JAVA

Existem muitos dispositivos perif´ericos, externos ao computador, que utilizam a comunicac¸˜ao serial como padr˜ao para conectar-se a outros equipamentos. Exemplos destes dispositivos s˜ao as impressoras, cˆameras de v´ıdeo, scanners, plotters, robˆos, telefones, entre outros, que se utilizam do padr˜ao de comunicac¸˜ao serial para enviar e receber dados de outros dispositivos (SUN; ORACLE, 2010).

Para que estes equipamentos possam trocar informac¸˜oes corretamente ´e necess´ario que ambos suportem o protocolo envolvido na comunicac¸˜ao, neste caso, o padr˜ao serial RS232.

O desenvolvimento de um programa que atenda as regras do padr˜ao de comunicac¸˜ao desejado pode ser implementado utilizando-se uma linguagem de programac¸˜ao qualquer como JAVA, C, C++, etc.

Para facilitar o controle da comunicac¸˜ao serial utilizando uma linguagem de mais alto n´ıvel, a SUN Microsystems, desenvolveu uma API (Application Programming Interface) espec´ıfica para a comunicac¸˜ao serial utilizando a linguagem de programac¸˜ao JAVA (SUN; ORACLE, 2010).

A API Javacomm possibilita ao usu´ario implementar a comunicac¸˜ao entre dispositivos seriais, abstraindo os detalhes de mais baixo n´ıvel apresentados no padr˜ao RS232, o diagrama b´asico que define a maneira como funciona a API Javacomm pode ser visto na Figura 17.

(43)

A programac¸˜ao em JAVA utilizando a API Javacomm ´e baseada basicamente na classe abstrata CommPort e nas suas duas sub-classes SerialPort e ParallelPort que descrevem os dois principais tipos de portas encontrados nos computadores de uso geral (SUN, 2010).

A classe ComPort possui dois m´etodos muito importantes para o controle da comunicac¸˜ao serial, s˜ao eles, o GetInpuStream e GetOutputStream, que de fato manipulam os dados no canal de comunicac¸˜ao (SUN, 2010).

Informac¸˜oes mais detalhadas sobre o funcionamento da API Javacomm podem ser obtidos diretamente do site da SUN Microsystems.

(44)

5 DESENVOLVIMENTO

Este cap´ıtulo trata das etapas realizadas durante o desenvolvimento do sistema rob´otico manipulador de objetos. No primeiro momento ser˜ao apresentadas todas as fases relativas `a montagem e conex˜ao da parte f´ısica do sistema, ou seja, um t´opico dedicado a parte de hardware do projeto, em seguida, outro t´opico para a parte de software, apresentando os m´odulos implementados para o funcionamento do sistema rob´otico.

5.1 Montagem dos componentes de Hardware

Desenvolvimentos de projetos e produtos na ´area de rob´otica envolvem atividades como montagem mecˆanica e eletro-eletrˆonica, tornando as pesquisas nesta ´area uma tarefa multidisciplinar.

De posse do robˆo AL5C e do Kit Tri-Track, onde a parte mecˆanica j´a tinha sido previamente montada pelo orientador, ent˜ao foram feitos alguns estudos para entender como realizar a correta conex˜ao dos fios que interligam os servos-motores e suas respectivas placas de controle.

A Figura 18, apresenta o diagrama de ligac¸˜ao para o robˆo AL5C, destacando os valores de tens˜ao adequados para o seu correto funcionamento.

(45)

Figura 18: Esquema de Ligac¸˜ao do AL5C - adaptado de (LINXMOTION, 2010)

Observando a Figura 18, percebe-se a utilizac¸˜ao de duas fontes de alimentac¸˜ao, sendo a primeira de 6 volts para suprir de energia os servos-motores do brac¸o mecˆanico, e uma segunda fonte para alimentar o circuito de controle (placa SSC-32), sendo esta uma recomendac¸˜ao do fabricante a qual, garante que as variac¸˜oes do consumo de energia dos servos-motores n˜ao venham a influenciar na qualidade do sinal utilizado para a alimentac¸˜ao do circuito de controle que realiza comunicac¸˜ao serial e possui maior sensibilidade a essas variac¸˜oes .

A placa controladora SSC-32 permite o controle de at´e 32 servos-motores simultaneamente, possui um micro-controlador da ATMEGA168-20PU e possibilita a configurac¸˜ao da velocidade de comunicac¸˜ao serial atrav´es dos jumpers denominado ”BAUD”, que no caso deste projeto ser´a utilizado na configurac¸˜ao de 115,5kbps.

Al´em da conex˜ao do AL5C, realizou-se tamb´em as ligac¸˜oes dos fios para alimentac¸˜ao e controle do Kit Tri-Track Robot, que possui uma placa de potˆencia denominada Sabertooth, a qual possibilita o controle adequado dos dois motores das esteiras de locomoc¸˜ao.

(46)

Figura 19: Esquema de Ligac¸˜ao do Kit Tri-Track Robot - adaptado de (LINXMOTION, 2010)

A placa Sabertooth apresentada na Figura 19 controla os motores das esteiras atrav´es de comandos recebidos da placa controladora SSC-32, que al´em de controlar o manipulador AL5C, controla tamb´em os movimentos do robˆo explorador atrav´es dos terminais de conex˜ao disponibilizados para este fim.

S˜ao trˆes os sinais de controle que a placa Sabertooth recebe da placa SSC-32: Para frente e para tr´as, Girar para esquerda e para e direita, Inverter sentido de controle.

A placa Sabertooth possui um conjunto de chaves de configurac¸˜ao, que permite ao usu´ario escolher o modo de controle dos servo-motores do robˆo explorador. A Figura 20 apresenta os detalhes destas chaves de configurac¸˜ao.

(47)

Figura 20: Chaves de configurac¸˜ao da placa Sabertooth (LINXMOTION, 2010)

A placa apresenta os seguintes modos de operac¸˜ao:

• Mixing mode: Habilita e desabilita o modo de controle misto dos motores. Quando est´a configurado na posic¸˜ao desligada pode-se controlar os motores de forma independente; • Exponentiall: Habilita e desabilita o modo de controle exponencial. Valores pr´oximo ao

centro (1500), s˜ao menos sens´ıveis;

• Lithium mode: Habilitar quando estiver utilizando bateria de L´ıtio para alimentac¸˜ao dos servos-motores;

• Flip control: Configura o modo de invers˜ao do robˆo. Quando a chave est´a na posic¸˜ao ligada a invers˜ao ´e feita no modo R/C;

• Auto-calibrate: Configura o modo de calibrac¸˜ao autom´atica do reconhecimento de comandos de controle dos servos-motores;

• Timeout: Com a chave habilitada o robˆo verifica se n˜ao h´a mais comandos a serem executados e ap´os 1 segundo desabilita o funcionamento dos servos-motores.

No caso do Kit Tri-Track Robot utilizado neste projeto, as chaves de configurac¸˜ao da placa Sabertooth foram posicionadas da seguinte maneira: Mixing mode habilitado, Exponential desabilitado, Lithium mode desabilitado, Flip control modo digital habilitado, Auto-calibrate desabilitado e Timeout desabilitado.

Ap´os a conclus˜ao da conex˜ao dos cabos para os dois robˆos, ent˜ao realizou-se a integrac¸˜ao destes dois circuitos em um ´unico sistema, dando origem ao robˆo m´ovel manipulador, formado pelo manipulador AL5C com seus 6 servos-motores e o robˆo explorador Kit Tri-Track Robot composto principalmente por duas esteiras para o sistema de locomoc¸˜ao. A Figura 21 ilustra

(48)

um panorama do sistema completo, incluindo as ligac¸˜oes do AL5C, do robˆo explorador, do computador de controle e suas respectivas fontes de alimentac¸˜ao.

Figura 21: Panorama do sistema rob´otico completo - adaptado de (LINXMOTION, 2010)

5.2 Componentes de Software

Utilizando o Kit de desenvolvimento NetBeans 6.9 do fabricante Oracle e Sun Microsystems e a linguagem de programac¸˜ao Java, foram implementados componentes de software para o controle do sistema rob´otico manipulador de objetos. Nesta sess˜ao ser˜ao apresentados os m´odulos implementados com a explicac¸˜ao das suas funcionalidades. Os m´odulos que comp˜oem o projeto podem ser dispostos da seguinte forma, Figura 22: M´odulo de interface com o usu´ario, M´odulo de comunicac¸˜ao serial, M´odulo da modelagem cinem´atica, M´odulo de acionamento e M´odulo de gerac¸˜ao de trajet´oria. Estes m´odulos ser˜ao explicados individualmente e no final desta sess˜ao ser´a apresentada uma explicac¸˜ao geral dos algoritmos e como eles interagem entre si, para que o leitor tenha uma vis˜ao geral do funcionamento do projeto como um todo.

(49)

Figura 22: Diagrama dos M´odulos de software para o sistema rob´otico

5.2.1 M´odulo de interface com o usu´ario

Foram implementadas as telas do software necess´arias para tornar a interac¸˜ao do usu´ario com o controle do sistema rob´otico uma tarefa amig´avel. O software possibilita ao usu´ario, modificar as configurac¸˜oes da comunicac¸˜ao serial, realizar testes manuais com os dois robˆos separadamente, alterar os valores limites para o robˆo, controlar a velocidade dos movimentos, realizar a gravac¸˜ao de movimentos do manipulador, poder´a tamb´em realizar movimentos pr´e-programados do manipulador e do explorador, assim como lhe ´e dada a opc¸˜ao tamb´em de programar uma tarefa utilizando o manipulador e o explorador atrav´es da aba “Manipulador + Explorador”. Todas estas funcionalidades ser˜ao melhor explanadas ao longo deste documento e mais profundamente no t´opico que trata da realizac¸˜ao de testes de funcionamento do sistema.

Referências

Documentos relacionados

Complementando, Heckert e Willson (1963) descrevem que o controller deve fornecer informações oportunas aos gestores em tempo hábil relacionadas às alterações de planos ou

Nota (2) TAE calculada com base numa TAN de 3,990%, Euribor 6 meses e spread de 4,50%, ou, se maior, com base numa TAN de 4,50% taxa correspondente ao spread da operação, para

PREVALÊNCIA DAS OCLUSOPATIAS E HÁBITOS BUCAIS DELETÉRIOS EM PACIENTES ATENDIDOS NA CLÍNICA DE ORTODONTIA DA UNIVERSIDADE ESTADUAL DA PARAÍBA PREVALENCE OF MALOCCLUSIONS AND ORAL

Tendo em vista todo contexto positivo que as aulas práticas laboratoriais causam no processo de aprendizagem e das muitas dificuldades encontradas para suas

O jogador que lançar mais rápido, para a mesa, duas Cartas Resposta correspondentes aos fatores do pedido em jogo, vence a jogada e ganha a Carta Pedido.. Os

Evolução conceitual em atividade física, exercício e esporte. Meios e métodos de treino,

Soma das medidas dos ângulos externos / suma de las medidas de los ángulos externos Soma das medidas dos ângulos internos / suma de las medidas de los ángulos internos

Porém, para atender aos objetivos e responder às questões de pesquisa desse trabalho, acredita-se que o que está colocado oferece condições de dar uma visão consistente sobre como