Você está na página 1de 150

DESENVOLVIMENTO DO

SISTEMA DE CONTROLO DE
UM BRAO ROBOTIZADO E
RESPETIVA INTERFACE COM O
UTILIZADOR
Fernando Miguel Gomes Pinto


Mestrado em Engenharia Electrotcnica e de Computadores
rea de Especializao de Automao e Sistemas
Departamento de Engenharia Eletrotcnica
Instituto Superior de Engenharia do Porto
2012
Este relatrio satisfaz os requisitos que constam da Ficha da unidade curricular de
Tese/Dissertao, do Mestrado em Engenharia Eletrotcnica e de Computadores na rea de
especializao de Automao e Sistemas
Candidato: Fernando Miguel Gomes Pinto, N 1060380, 106038@isep.ipp.pt
Orientao cientfica: Prof. Dr. Manuel Fernando dos Santos Silva, mss@isep.ipp.pt
Coorientao cientifica: Prof. Dr. Ramiro de Sousa Barbosa, rsb@isep.ipp.pt

Departamento de Engenharia Eletrotcnica
Instituto Superior de Engenharia do Porto
19 de Novembro de 2012











Aos meus pais e irmo



i
Agradecimentos
Em primeiro lugar gostaria de agradecer a realizao deste trabalho ao Eng. Manuel Silva
e ao Eng. Ramiro Barbosa, pela oportunidade, ateno e dedicao na orientao deste
trabalho e principalmente pelo incentivo demonstrado.
Gostaria tambm de agradecer ao Carlos Paiva e ao Pedro Peixoto pelo apoio e ajuda
dedicada minha pessoa ao longo deste projeto.
Por fim, um enorme agradecimento a toda a minha famlia, amigos e colegas por todo o
apoio e fora depositada em mim ao longo da realizao deste documento, bem como ao
longo do meu percurso escolar.



iii
Resumo
A robtica tem evoludo de forma significativa nos ltimos anos e passa a ser
indispensvel em vrias aplicaes nas reas da engenharia, aeronutica, medicina, entre
outras. O estado da arte do presente trabalho est dividido em duas partes, uma que aborda
vrios aspetos relacionados com a robtica e outra com os aspetos da fundamentao
matemtica por de trs da robtica, porque para controlar o rob necessrio implementar
expresses matemticas para o poder controlar.
Neste trabalho apresentado um sistema de controlo do brao robtico MENTOR e o
desenvolvimento de uma interface para o utilizador. Para o controlo do brao robtico foi
necessrio calcular a cinemtica direta e inversa, para que se possa obter os ngulos das
juntas para uma dada posio ou qual a posio final do brao robtico para um valor das
juntas.
O sistema bastante flexvel e foi desenvolvido para ser utilizado essencialmente para
aprendizagem de robtica, podendo no entanto ser utilizado em outras aplicaes.
Palavras-Chave
Robs, Cinemtica direta e inversa, Conveno Denavit-Hartenberg, Brao robotizado,
MENTOR, Microsoft Visual Studio


v
Abstract
Robotics has evolved significantly in recent years and is now essential in many
applications in the fields of engineering, aeronautics, medicine, etc. The state of the art of
the present work is divided into two parts, one that covers several aspects related to
robotics and one with the math underneath to the robotics because to control the robot is
required to implement mathematical expressions.
This dissertation presents a control system of the robotic arm MENTOR and the
development of a user interface. For the control of the robotic arm was necessary to
calculate the direct and inverse kinematics, so that one can obtain the angles of the joints to
a given position or what is the final position of the robotic arm given the joint values.
The system is very flexible and is designed to be used primarily for learning robotics,
however can be used in other applications.
Keywords
Robots, Forward and inverse kinematics, Denavit-Hartenberg convention, Robot arm,
MENTOR, Microsoft Visual Studio.

vii
ndice
AGRADECIMENTOS ..................................................................................................................................... I
RESUMO ....................................................................................................................................................... III
ABSTRACT ..................................................................................................................................................... V
NDICE ........................................................................................................................................................ VII
NDICE DE FIGURAS ................................................................................................................................. XI
NDICE DE TABELAS ............................................................................................................................... XV
ACRNIMOS ............................................................................................................................................ XVII
1. INTRODUO ...................................................................................................................................... 1
1.1. CONTEXTUALIZAO ....................................................................................................................... 1
1.2. OBJETIVOS ........................................................................................................................................ 1
1.3. CALENDARIZAO ........................................................................................................................... 2
1.4. ORGANIZAO DO DOCUMENTO ....................................................................................................... 2
2. ROBTICA ............................................................................................................................................ 5
2.1. HISTRIA DA ROBTICA ................................................................................................................... 6
2.2. DEFINIO DE ROB ...................................................................................................................... 12
2.3. AS TRS LEIS DA ROBTICA ........................................................................................................... 12
2.4. CONSTITUIO DE UM ROB INDUSTRIAL ...................................................................................... 13
2.4.1. Brao e punho de um brao robtico ..................................................................................... 13
2.4.2. Tipo de juntas ........................................................................................................................ 14
2.4.3. Graus de liberdade ................................................................................................................. 16
2.5. TIPOS DE ROBS ............................................................................................................................. 17
2.5.1. Cartesianos ou Gantry ........................................................................................................... 17
2.5.2. Articulado Vertical ou Antropomrfico ................................................................................ 18
2.5.3. Cilndricos ............................................................................................................................. 18
2.5.4. Esfricos ................................................................................................................................ 19
2.5.5. Articulado Horizontal ou SCARA ........................................................................................ 19
2.5.6. Paralelos ................................................................................................................................ 20
2.5.7. Volume de Trabalho .............................................................................................................. 21
2.6. CONTROLO DOS ROBS .................................................................................................................. 21
2.7. ATUADORES DE SISTEMAS DE ACIONAMENTO ................................................................................ 22

viii
2.7.1. Acionamento hidrulico ......................................................................................................... 22
2.7.2. Acionamento pneumtico ...................................................................................................... 23
2.7.3. Acionamento eltrico ............................................................................................................. 24
2.7.4. Comparao dos tipos de atuadores ....................................................................................... 25
2.8. SENSORES ........................................................................................................................................ 26
2.8.1. Sensores de posio ............................................................................................................... 26
2.8.2. Sensores de velocidade .......................................................................................................... 27
2.9. RESOLUO, REPETIBILIDADE E PRECISO ..................................................................................... 28
3. CINEMTICA, DINMICA E PLANEAMENTO DE TRAJETRIAS ....................................... 31
3.1. CINEMTICA ................................................................................................................................... 32
3.1.1. Cinemtica direta ................................................................................................................... 34
3.1.2. Cinemtica Inversa ................................................................................................................ 35
3.2. DINMICA ....................................................................................................................................... 37
3.2.1. Dinmica Direta ..................................................................................................................... 38
3.2.2. Dinmica Inversa ................................................................................................................... 38
3.3. FORMALISMO DE DENAVIT-HARTENBERG ....................................................................................... 39
3.4. PLANEAMENTO DE TRAJETRIAS .................................................................................................... 41
3.4.1. Interpolao linear ................................................................................................................. 42
3.4.2. Interpolao cbica ................................................................................................................ 42
3.4.3. Interpolao de quinta ordem ................................................................................................. 43
3.5. MTODOS DE CONTROLO DO ROB .................................................................................................. 44
3.6. CONCLUSES ................................................................................................................................... 44
4. ARQUITETURA DO SISTEMA ......................................................................................................... 47
4.1. DEFINIO DOS REQUISITOS DO SISTEMA ....................................................................................... 47
4.2. BRAO ROBTICO MENTOR ......................................................................................................... 48
4.3. FRIENDLYARM MICRO2440 ............................................................................................................ 53
4.4. MICROSOFT VISUAL STUDIO ........................................................................................................... 56
4.5. FONTE DE ALIMENTAO ATX ....................................................................................................... 56
4.6. UNIDADE DE PROCESSAMENTO ....................................................................................................... 59
4.6.1. STM32VLDISCOVERY ....................................................................................................... 60
4.7. CONTROLADOR DE MOTORES .......................................................................................................... 61
4.7.1. Ponte H .................................................................................................................................. 62
4.7.2. ST VNH5180 ......................................................................................................................... 64
5. IMPLEMENTAO DO SISTEMA .................................................................................................. 67
5.1. CLCULO NUMRICO ...................................................................................................................... 67

ix
5.1.1. Cinemtica Direta Segundo Denavit-Hartenberg .................................................................. 72
5.1.2. Cinemtica inversa ................................................................................................................ 75
5.1.3. Planeamento de trajetrias .................................................................................................... 85
5.2. HARDWARE .................................................................................................................................... 87
5.2.1. Placa de driver dos motores .................................................................................................. 87
5.2.2. Controlador do rob .............................................................................................................. 89
5.2.3. Joystick para a consola .......................................................................................................... 91
5.3. SOFTWARE ...................................................................................................................................... 93
5.3.1. Microsoft Visual Studio ........................................................................................................ 94
5.3.2. Controlo do rob ................................................................................................................... 98
5.4. CONCLUSES ................................................................................................................................ 102
6. TESTES E VALIDAO DO SISTEMA DESENVOLVIDO ....................................................... 103
6.1. CLCULO NUMRICO ................................................................................................................... 103
6.1.1. Cinemtica Direta ................................................................................................................ 104
6.1.2. Cinemtica inversa .............................................................................................................. 107
6.2. TRABALHO DESENVOLVIDO .......................................................................................................... 109
6.2.1. Interface Grfica - Consola ................................................................................................. 109
6.3. CONCLUSES ................................................................................................................................ 110
7. CONCLUSES ................................................................................................................................... 111
REFERNCIAS DOCUMENTAIS ........................................................................................................... 115
APNDICE A. RELAES TRIGONOMTRICAS ......................................................................... 117
ANEXO A. DOCUMENTAO DO TRABALHO ........................................................................... 119
ANEXO B. CUSTOS DE IMPLEMENTAO ................................................................................. 121


xi
ndice de Figuras
Figura 1 Rob da Unimation [2] ................................................................................................... 8
Figura 2 Brao de Standford [3] ................................................................................................... 8
Figura 3 Brao robtico PUMA [4] .............................................................................................. 9
Figura 4 KUKA FAMULUS [5] ................................................................................................... 9
Figura 5 Honda P3 [6] ( esquerda) e Sony QRIO [7] ( direita) ............................................... 10
Figura 6 Rob da ABB [8] ( esquerda) e rob da KUKA [9] ( direita) .................................. 11
Figura 7 Esquema de um manipulador mecnico [13] ............................................................... 13
Figura 8 Elos e juntas de um manipulador ................................................................................. 14
Figura 9 Junta prismtica ou linear ............................................................................................. 14
Figura 10 Junta rotacional ........................................................................................................ 15
Figura 11 Junta de toro .......................................................................................................... 15
Figura 12 Junta de revoluo .................................................................................................... 15
Figura 13 Junta esfrica ............................................................................................................ 16
Figura 14 Exemplo de graus de liberdade ................................................................................ 17
Figura 15 Rob de configurao cartesiana [15] ...................................................................... 17
Figura 16 Rob de configurao articulado vertical [15] ......................................................... 18
Figura 17 Rob de configurao cilindrica [15] ....................................................................... 18
Figura 18 Rob de configurao esfrica [15] .......................................................................... 19
Figura 19 Rob de configurao articulado horizontal [15] ..................................................... 19
Figura 20 Rob paralelo - configurao tripod [8] .................................................................. 20
Figura 21 Rob paralelo configurao hexapod [16] ............................................................ 20
Figura 22 Rob de acionamento hidrulico [17] ...................................................................... 23
Figura 23 Rob de acionamento pneumtico [18] .................................................................... 24
Figura 24 Rob de acionamento eltrico .................................................................................. 25
Figura 25 Potencimetro para indicar posies angulares [19] ................................................ 26
Figura 26 Codificador incremental e princpio de funcionamento ........................................... 27
Figura 27 Codificador absoluto e princpio de funcionamento ................................................ 27
Figura 28 Tacmetro mecnico ................................................................................................ 28
Figura 29 Tacmetro tico ........................................................................................................ 28
Figura 30 Ilustrao dos conceitos de repetibilidade e preciso ............................................... 29
Figura 31 Relao entre cinemtica direta e cinemtica inversa .............................................. 33
Figura 32 Rob SCARA configurao right elbow e left elbow ........................................... 34
Figura 33 Representao de um rob com duas juntas rotacionais .......................................... 35
Figura 34 Representao de um rob com uma junta rotacional e uma junta prismtica ......... 35

xii
Figura 35 Representao de um rob com duas juntas rotacionais .......................................... 36
Figura 36 Representao de um rob com uma junta rotacional e uma junta prismtica ......... 36
Figura 37 Configurao do brao robtico PUMA para uma mesma posio final ................. 37
Figura 38 Brao robtico MENTOR ........................................................................................ 48
Figura 39 Esquema do brao robtico ...................................................................................... 49
Figura 40 Estrutura mecnica do eixo 0 do rob ...................................................................... 50
Figura 41 Estrutura mecnica do eixo 1 do rob ...................................................................... 51
Figura 42 Estrutura mecnica do punho ................................................................................... 52
Figura 43 Rotao do punho ..................................................................................................... 52
Figura 44 Manipulador do brao robtico MENTOR .............................................................. 53
Figura 45 Unidade de processamento ....................................................................................... 54
Figura 46 Controlador FriendlyArm Micro2440+SDK Board ................................................. 55
Figura 47 Controlador FriendlyArm Micro2440+SDK Board com display ............................. 56
Figura 48 Fonte de alimentao ATX ....................................................................................... 57
Figura 49 Placa de desenvolvimento STM32VLDISCOVERY ............................................... 60
Figura 50 Ponte H ..................................................................................................................... 62
Figura 51 Ponte H conduo positiva, motor gira no sentido dos ponteiros do relgio ........ 62
Figura 52 Ponte H conduo negativa, motor gira no sentido contrrio aos ponteiros do
relgio .................................................................................................................................. 63
Figura 53 Ponte H motor travado, esquerda atravs da fonte, direita atravs da massa ... 63
Figura 54 Sistema de coordenadas da origem ........................................................................... 68
Figura 55 Sistema de coordenadas para a junta 1 ..................................................................... 69
Figura 56 Sistema de coordenadas para a junta 2 ..................................................................... 69
Figura 57 Sistema de coordenadas para a junta 3 ..................................................................... 70
Figura 58 Sistema de coordenadas para a junta 4 ..................................................................... 70
Figura 59 Sistema de coordenadas para a garra ........................................................................ 71
Figura 60 Sistema de coordenadas do brao robtico............................................................... 71
Figura 61 rea em que o brao robtico permite a configurao brao direito e brao esquerdo
.................................................................................................................................. 77
Figura 62 Esquema do brao robtico MENTOR, vista de topo .............................................. 78
Figura 63 Esquema do brao robtico MENTOR, vista de lado .............................................. 79
Figura 64 Configurao Upper Elbow esquerda e Lower Elbow direita ............................. 81
Figura 65 Esquemtico para o clculo de
2
............................................................................. 83
Figura 66 Esquemtico para o clculo de k
1
e k
2
...................................................................... 84
Figura 67 Driver da placa de controlo do motor DC ................................................................ 88
Figura 68 Indicador luminoso para o utilizador do sentido da corrente ................................... 88
Figura 69 Conetores de alimentao e controlo do motor ........................................................ 89
Figura 70 Mdulo STM32VLDISCOVERY ............................................................................ 90
Figura 71 Conetores da placa de controlo do rob ................................................................... 91

xiii
Figura 72 Microcontrolador da placa do joystick ..................................................................... 92
Figura 73 Joystick ..................................................................................................................... 92
Figura 74 Switches da placa do joystick.................................................................................... 93
Figura 75 Menu da consola ....................................................................................................... 95
Figura 76 Opo Executar programa da consola .................................................................. 96
Figura 77 Opo Programao On-Line da consola ............................................................. 97
Figura 78 Opo Move brao da consola .............................................................................. 97
Figura 79 Opo Modificar programa da consola ................................................................. 98
Figura 80 Relao entre a consola, controlo e MENTOR ........................................................ 99
Figura 81 Aplicao desenvolvida para o clculo da cinemtica direta e inversa .................. 104
Figura 82 Teste da cinemtica direta para a primeira iterao ............................................... 105
Figura 83 Teste da cinemtica direta para a segunda iterao ................................................ 105
Figura 84 Teste da cinemtica direta para a terceira iterao ................................................. 106
Figura 85 Teste da cinemtica direta para a quarta iterao ................................................... 106
Figura 86 Teste da cinemtica direta para a quinta iterao ................................................... 107
Figura 87 Teste da cinemtica inversa para a primeira iterao ............................................. 107
Figura 88 Teste da cinemtica inversa para a segunda iterao ............................................. 108
Figura 89 Teste da cinemtica inversa para a terceira iterao .............................................. 109


xiv


xv
ndice de Tabelas
Tabela 1 Calendarizao do projeto .............................................................................................. 2
Tabela 2 Comparao do volume de trabalho para cada configurao ....................................... 21
Tabela 3 Comparao dos tipos de atuadores ............................................................................. 25
Tabela 4 Caractersticas dos eixos .............................................................................................. 48
Tabela 5 Caractersticas principais do rob ................................................................................ 50
Tabela 6 Conector ATX, cores e significados ............................................................................. 58
Tabela 7 Ponte H estado do motor consoante os interruptores ................................................ 64
Tabela 8 Tabela de verdade do ST VNH5180 ............................................................................ 65
Tabela 9 Translao e rotao da junta 1, vista pela junta 0 ....................................................... 72
Tabela 10 Translao e rotao da junta 2, vista pela junta 1 ................................................... 73
Tabela 11 Translao e rotao da junta 3, vista pela junta 2 ................................................... 73
Tabela 12 Translao e rotao da junta 4, vista pela junta 3 ................................................... 74
Tabela 13 Translao e rotao da junta 4, vista pela junta 5 ................................................... 74
Tabela 14 Orientaes e rotaes em torno do eixo x e z.......................................................... 75
Tabela 15 Cinemtica direta para as juntas 2, 3 e 4 segundo Denavit-Hartenberg ................... 79



xvii
Acrnimos
C - Microcontrolador
P - Microprocessador
A.C. - Antes de Cristo
ABB - Asea Brown Boveri
AC - Alternated Current
ADC - Analogue-to-Digital Converter
ALU - Arithmetic Logic Unit
ARM - Advanced RISC Machine
AT - Advanced Technology
ATX - Advanced Technology Extended
BIOS - Basic Input/Output System
BJT - Bipolar Junction Transistor
CA - Corrente Alternada
CC - Corrente Contnua
CD - Compact Disk
CE - Compact Embedded
CISC - Complex Instruction Set Computer
CMOS - Complementary Metal-Oxide Semiconductor
CPU - Central Processing Unit

xviii
DC - Direct Current
DH - Denavit-Hartenberg
DOF - Degrees-of-freedom
E/S - Entrada/Sada
EEPROM - Electrically-Erasable Programable Read-Only Memory
GUI - Graphical User Interface
HTML - Hypertext Markup Language
I/O - Input/Output
I2C - Inter-Integrated Circuit
IBM - International Business Machines
IDE - Integrated Development Environment
ISA - Industry Standard Architecture
ISEP - Instituto Superior de Engenharia do Porto
JTAG - Joint Test Action Group
LCD - Liquid Crystal Display
LED - Light Emitting Diode
MCU - Microcontroller Unit
MOSFET - Metal-Oxide-Semiconductor Field-Effect Transistor
PCB - Printed Circuit Board
PCI - Placa de Circuito Impresso
PID - Proporcional Integral Diferencial

xix
PNP - Positive-Negative-Positive
PUMA - Programmable Universal Machine for Assembly
PWM - Pulse-Width Modulation
RAM - Random Access Memory
RISC - Reduced Instruction Set Computer
RP - Rotacional, Prismtico
RR - Rotacional, Rotacional
RTC - Real Time Clock
SCARA - Selectively Compliant Articulated Robot Arm
SD - Secure Digital
SDK - Software Development Kit
SMD - Surface Mount Device
SPI - Serial Peripheral Interface
T3 - Tool of The fuTure
TTL - Transistor-Transistor Logic
ULA - Unidade Lgica Aritmtica
USA - United States of America
USB - Universal Serial Bus
VDC - Voltage Direct Current
VGA - Video Graphics Array
XHTML - Extensible Hypertext Markup Language

xx
XML - Extensible Markup Language
XSLT - Extensible Stylesheet Language

1
1. INTRODUO
O presente documento pretende abordar todo o trabalho desenvolvido, bem como
apresentar os aspetos importantes para a realizao do mesmo, salientando principalmente
a robtica. Tambm pretende apresentar a matemtica envolvida no controlo de braos
robticos.
1.1. CONTEXTUALIZAO
Este projeto surgiu do desejo de realizar o controlo e o desenvolvimento de uma interface
para o utilizador de um brao robtico existente no Laboratrio de Controlo. O brao
robtico existente carecia de uma atualizao nas placas de controlo do mesmo, para tal,
surgiu o tema Desenvolvimento do Sistema de Controlo de um Brao Robotizado e
Respetiva Interface com o Utilizador. O controlo do brao robtico MENTOR era muito
rudimentar bem como a interface para o utilizar, que no era nada amigvel.
1.2. OBJETIVOS
Para a realizao do trabalho este foi dividido em objetivos mais pequenos de forma a
facilitar a sua prossecuo, nomeadamente:
Desenvolvimento do controlo;
Possibilidade de efetuar movimentos lineares e de juntas;
Interpolao de movimentos;
Desenvolvimento de uma interface para o utilizador;

2
Desenvolvimento de uma consola para controlo do brao.
1.3. CALENDARIZAO
Neste tpico apresentada a calendarizao das tarefas desenvolvidas para a realizao
deste trabalho. A Tabela 1 mostra a calendarizao grfica do projeto.
Tabela 1 Calendarizao do projeto
ID Nome das etapas Incio Fim Durao
Out Set Set Jul
1 28s 28-03-2012 15-09-2011 Perodo de aulas do 1 semestre
2 6s 9h 30-03-2012 15-02-2012 Pesquisa do estado da arte
4s 3h 30-04-2012 02-04-2012 Pesquisa dos conceitos matemticos ligados robtica
3 3s 3h 05-04-2012 15-03-2012 Escrita do estado da arte
5 3s 9h 15-05-2012 20-04-2012
Escrita do captulo Cinemtica, Dinmica e Planeamento
de trajetrias
6 2s 9h 31-05-2012 15-05-2012 Arquitetura do sistema a desenvolver
8 6s 9h 15-08-2012 02-07-2012 Sinistro e recuperao
9 4s 6h 14-09-2012 16-08-2012
Implementao do trabalho - Cinemtica e Planeamento
de trajectrias
10 5s 05-10-2012 03-09-2012 Implementao do trabalho Hardware eSoftware
4s 6h 30-10-2012 01-10-2012 Testes e ajustes da implementao
2011 2012
Mar Nov Fev Mai Nov Dez Abr
4
12
11
11s 9h 05-11-2012 16-08-2012 Elaborao dos restantes captulos da tese
7 6s 29-06-2012 21-05-2012 Escrita do captulo Arquitetura do sistema
Out Jun Ago Jan

1.4. ORGANIZAO DO DOCUMENTO
Este documento encontra-se estruturado nos seguintes captulos:
Robtica Neste captulo ser feita uma introduo, explicao do que a robtica,
tipo de robs, controlo e configurao;
Cinemtica, Dinmica e Planeamento de Trajetrias Este captulo destina-se
anlise dos fundamentos matemticas que so necessrios para efetuar o controlo
do movimento de um rob, bem como o planeamento de trajetrias;
Arquitetura do Sistema Aqui sero explicadas todas as tecnologias usadas para a
realizao deste projeto;
Implementao Captulo que diz respeito ao desenvolvimento do trabalho
realizado, onde explicado todo o processo da realizao da interface grfica e do
controlo do rob;
Testes e Validao do Trabalho Desenvolvido Neste captulo so explicados e
demonstrados os resultados obtidos na realizao do projeto;

3
Concluses - Por fim sero tiradas algumas concluses de todo o trabalho realizado
e sero apontadas algumas possibilidades para desenvolvimentos futuros.



5
2. ROBTICA
Desde os primrdios da sua origem, o ser humano sempre utilizou ferramentas e utenslios
que o auxiliaram na realizao de diversas atividades quotidianas relacionadas s suas
necessidades de sobrevivncia.
Para a civilizao ocidental o conceito de evoluo humana est diretamente associado ao
grau de desenvolvimento tecnolgico adquirido ao longo do tempo, atravs do
aperfeioamento destes objetos. Portanto, a motivao de se criar mquinas que possam
substituir o homem na realizao de tarefas uma caracterstica da prpria cultura
ocidental. A primeira referncia explcita a este conceito foi escrita por Aristteles no
sculo IV A.C.: se os instrumentos pudessem realizar suas prprias tarefas, obedecendo
ou antecipando o desejo de pessoas. Ao longo dos sculos, diversas invenes
propiciaram a necessria bagagem tecnolgica para a gradual substituio do homem pela
mquina. Porm, somente quando ocorre de forma sistemtica a aplicao da cincia
indstria h uma concreta alterao do cenrio, resultando na sociedade industrial. J no
fim do sculo XVI, Francis Bacon preconizava a ideia de que o saber devesse produzir
seus frutos na prtica, de que a cincia devesse ser aplicvel indstria, de que os homens
tivessem o dever sagrado de se organizarem para melhorar e transformar as condies de
vida.
6
A partir da mquina a vapor desenvolvida por James Watt em 1769, houve um acentuado
progresso em termos de automao de processos produtivos. A produo industrial em
larga escala e os meios de transporte revolucionaram social e economicamente as relaes
humanas. At meados do sculo XX o processo de produo foi baseado no emprego de
mquinas projetadas especificamente para a fabricao em srie de produtos de uma
mesma caracterstica, visando uma elevada produtividade, volume e qualidade. Este
modelo denominado automao rgida e foi bastante difundido pelo empresrio Henry
Ford no incio do sculo passado.
O avano tecnolgico das ltimas dcadas teve reflexo direto na organizao das
indstrias, as quais buscam minimizar os seus custos industriais atravs da adoo de
diversos modelos de produo. Neste contexto, destacam-se a automao programvel,
relativa fabricao em srie de pequenos e mdios lotes de produtos, e a automao
flexvel, referida fabricao de lotes variveis de produtos diversos.
2.1. HISTRIA DA ROBTICA
O conceito de rob vem j do incio da histria, quando mitos faziam referncia a
mecanismos que ganhavam vida. Na civilizao grega, os primeiros modelos de robs
encontrados foram figuras de aparncia humana e/ou animal, que usavam sistemas de
pesos e bombas hidrulicas.
No entanto, para se fazer referncia ao aparecimento e crescimento da robtica quase
obrigatrio falar de Leonardo Da Vinci. Muito frente do seu tempo, Da Vinci pensou
num rob de forma diferente, estudando primeiro a anatomia humana e animal tentando
perceber e arranjar solues para a implementao de um rob que produzia movimentos e
funes humanas (rob antropomrfico). O livro Codex Atlanticus fala dessa ideia, tendo
textos, grficos e esquemas sobre a implementao de um rob.
Passando para a poca mais atual, o termo rob vem do checo robota que significa
trabalho forado e foi usado pela primeira vez em 1921 por Karel Capek na sua pea de
teatro Rossums Universal Robots. Na sua viso, os robs eram mquinas de trabalho
incansveis, de aspeto humano com capacidades avanadas mesmo para os robs da
atualidade.
7
Isaac Asimov foi quem inventou a palavra robtica, para denominar a cincia que lida com
os robs, em 1942, numa pequena histria intitulada Runaround. Asimov props a
existncia de leis aplicveis robtica, que sero faladas mais frente.
O Homem sempre fantasiou com robs, e essa fantasia est bem assente na fico
cientfica atravs de filmes, livros, banda desenhada e at desenhos animados. Exemplos
mais conhecidos so o C3PO, o R2-D2, da saga Star Wars, ou at mesmo a trilogia
Terminator.
Os primeiros trabalhos em robtica de manipulao foram concebidos alguns anos depois
do fim da 2 guerra mundial. As primeiras mquinas eram do tipo Master-Slave e foram
introduzidas para manipular materiais perigosos. Entre eles, esto o gantry-rob
desenvolvido pela General Mills Corporation (USA, 1950), o Planetbot (1957) sendo o
primeiro rob comercial com coordenadas polares e o rob desenvolvido por Normam
Diedrich na Universidade Case Western Reserve (Cleveland, USA), que foi o primeiro
manipulador eltrico com juntas de revoluo.
J os primeiros passos da robtica industrial comeam a ser dados por volta de 1954,
quando George Devol efectuou as primeiras patentes sobre robtica. A primeira empresa a
produzir um rob industrial foi a Unimation, fundada por George Devol e Joseph F.
Engelberger em 1956, sendo baseada nas patentes originais de Devol.
Vrios modelos surgiram com estas novas tecnologias, como o T3 (Tool of The fuTure)
desenvolvido pela Cincinatti Millacron (1974), o brao de Stanford (fim dos anos 60) que
deu origem ao Programmable Universal Machine for Assembly (PUMA) da Unimation
Inc. (1978). O manipulador da IBM (1975) e o SCARA (Selective Compliant Articulated
Robot Arm) (1978-79) so tambm exemplos de robs que surgiram nesta poca.
Os robs da Unimation (Figura 1) eram apelidados de mquinas de transferncia
programadas, visto que a sua principal funo era transferir objetos de um ponto para
outro. Para isso os robs utilizavam atuadores hidrulicos e eram programados atravs da
aprendizagem de um conjuntos de coordenadas, ou ngulos de todas as juntas, que
durante o processo normal de trabalho eram executados ciclicamente [1].
8

Figura 1 Rob da Unimation [2]
Em 1969 Victor Scheinman desenvolveu o brao de Stanford (Figura 2), na
Universidade de Stanford, um rob articulado de 6 eixos, totalmente eltrico, projetado
para permitir uma soluo utilizando a anatomia de um brao. Isto permitiu que o rob
fosse capaz de seguir com preciso caminhos arbitrrios no espao e aumentou as
possibilidades de utilizar robs em aplicaes mais sofisticadas tais como montagem e
soldadura.

Figura 2 Brao de Standford [3]
Scheinman vendeu os seus projetos Unimation que, em parceria com a General Motors, o
comercializou posteriormente como a Mquina Programvel Universal para Montagem
PUMA como se pode ver na Figura 3.
9

Figura 3 Brao robtico PUMA [4]
Em 1973 a KUKA construiu o seu primeiro rob industrial, conhecido como FAMULUS
(Figura 4), sendo este o primeiro rob industrial articulado a possuir seis eixos controlados
eletronicamente.

Figura 4 KUKA FAMULUS [5]

10
Mais tarde, no ano de 1979, comea a ser comercializado pela Sankyo (Japo) e pela IBM,
o rob Selective Compliant Articulated Robot Arm (SCARA), sendo bastante utilizado nas
indstrias de montagens de pequenas peas, tais como:
Componentes eletrnicos;
Computadores;
Placas de circuito impresso.
Em 1983 surge a primeira linha flexvel de montagem automatizada com o uso de robs.
Desde ento o desenvolvimento dos robs foi crescendo, e a grande fantasia do Homem foi
sendo possvel de criar o rob antropomrfico ou humanoide. O primeiro rob deste tipo
com sucesso foi desenvolvido pela Honda (Figura 5, esquerda), em 1997, e conseguia
subir escadas. Em 2001 a Honda anuncia novos desenvolvimentos, como a capacidade de
locomoo, viso, olfato, tacto e voz. Em 2003, foi a vez de a Sony apresentar o seu rob
humanoide (Figura 5, direita), que tinha como principal desenvolvimento a possibilidade
de correr.

Figura 5 Honda P3 [6] ( esquerda) e Sony QRIO [7] ( direita)
O consequente desenvolvimento da eletrnica e da informtica leva hoje a robtica para
novas reas, como o setor domstico, a explorao de locais de difcil acesso para o
Homem e os brinquedos robotizados.
Desde o simples rob-aspirador at sonda Mars Pathfinder, a robtica cada vez est mais
presente no dia-a-dia, sendo o aspeto humanoide cada vez mais aperfeioado nos robs.
11
Em relao atualidade da robtica industrial, as principais marcas de robs e
manipuladores so, entre outras:
ABB (ASEA Brown-Boveri);
Adept Technology;
Fanuc;
Genmark;
Honda;
Innovative Robotics;
Kawasaky;
KUKA Robotic;
Motoman;
Staubli.
Os robs evoluram muito ao longo das ltimas dcadas, tendo sido desenvolvidas vrias
tcnicas de controlo. No entanto, ainda h muito trabalho nesta rea, nomeadamente a
programao destes, o controlo de fora, a retroao visual, a integrao sensorial,
passando tambm por novas estruturas mecnicas e novos materiais de forma a criar robs
mais leves, flexveis e baratos. Na Figura 6 podem-se observar exemplos deste tipo de
robs.

Figura 6 Rob da ABB [8] ( esquerda) e rob da KUKA [9] ( direita)

12
2.2. DEFINIO DE ROB
A origem do termo Robot, em portugus o termo alternativo rob, provm do termo
eslavo
1
Robota, que significa trabalho forado ou escravo e teve a sua introduo numa
pea de 1921 de Karel Capek.
No dicionrio portugus da Porto Editora, rob um mecanismo automtico, por vezes
com a configurao de um ser humano, capaz de fazer movimentos e executar certos
trabalhos em substituio do Homem [10].
2.3. AS TRS LEIS DA ROBTICA
Em 1942, o escritor e cientista russo Isaac Asimov, numa histria sua (Runaround),
enunciou 3 leis para a robtica. So elas:
Lei 1: Um rob no pode ferir um ser humano ou, por omisso, permitir que este
sofra algum mal.
Lei 2: Um rob deve obedecer s ordens que lhe sejam dadas por seres humanos,
exceto nos casos em que tais ordens contrariem a Primeira Lei.
Lei 3: Um rob deve proteger sua prpria existncia desde que tal proteo no
entre em conflito com a Primeira e Segunda Leis.
Isaac Asimov concebeu estas leis de forma a ser possvel a existncia de robs inteligentes,
ou seja, que conseguissem fazer a distino entre o bem e o mal, em convvio com os seres
Humanos, sem que os robs se revoltassem contra estes.
Mais tarde surgiu uma quarta lei:
Lei Zero: Um rob no pode fazer mal humanidade e nem, por inao, permitir
que ela sofra algum mal.
Desta forma, o bem da humanidade encontra-se em primeiro lugar, sendo esta mais
importante do que um indivduo isolado [11].



1
Relativo aos Eslavos, povos que se estabeleceram no centro, leste e sudeste da Europa
13
2.4. CONSTITUIO DE UM ROB INDUSTRIAL
O sistema robtico mais adotado na indstria um manipulador mecnico, que pretende
assemelhar-se ao brao humano. Em analogia com o corpo humano, constitudo por base,
corpo, brao e punho, como mostra a Figura 7 [12].

Figura 7 Esquema de um manipulador mecnico [13]
2.4.1. BRAO E PUNHO DE UM BRAO ROBTICO
O brao (arm) a parte do manipulador que normalmente est associada ao
posicionamento (x,y,z) no espao fsico cartesiano ou operacional. J o punho (wrist) tem
como funo orientar a garra, pina ou outros tipos de atuadores finais para executar uma
determinada funo. Estes componentes so constitudos por partes rgidas, os elos (links),
sendo ligadas entre si por juntas (joints), como mostra a Figura 8 [12].
14

Figura 8 Elos e juntas de um manipulador
2.4.2. TIPO DE JUNTAS
Junta o mecanismo que faz a unio entre dois elos; estas podem ser:
Prismtica ou Linear (P) So juntas onde os elos se movem linearmente, como
demonstra a Figura 9.

Figura 9 Junta prismtica ou linear
Rotacionais (R) As juntas rotacionais so caracterizadas por o elo de entrada e o elo
de sada estarem ligados por uma junta (dobradia), e com um elo podendo se mover
num movimento cadenciado em relao ao outro elo, como se mostra na Figura 10.
15

Figura 10 Junta rotacional
Toro (T) So juntas onde o elo de entrada e o elo de sada so paralelos e a rotao
da junta perpendicular aos dois elos, como mostra a Figura 11.

Figura 11 Junta de toro
Revoluo (V) A junta de revoluo caracterizada pelo elo de entrada ser
perpendicular ao elo de sada e a rotao da junta ser perpendicular ao elo de entrada e
paralela ao elo de sada, como ilustra a Figura 12.

Figura 12 Junta de revoluo
Esfricas (S) As juntas esfrias so juntas que apresentam trs graus de liberdade,
nomeadamente, mover nos eixos x e y e em torno do prprio elo. A Figura 13 um
exemplo de uma junta esfrica.
16

Figura 13 Junta esfrica
2.4.3. GRAUS DE LIBERDADE
Os graus de liberdade (degrees-of-freedom - DOF) esto associados ao nmero total de
movimentos independentes que um objeto pode efetuar. Por exemplo, se se pegar num
cubo, e se se considerar um sistema de 3 eixos (x,y,z), pode-se rod-lo em torno de cada
um dos eixos e ainda mov-lo ao longo desses mesmos 3 eixos, tendo assim 6 graus de
liberdade.
Um conceito diferente o de graus de mobilidade, associado ao nmero de juntas
existentes. Um exemplo comum desta diferena so os trips: na verdade em cada p
existem vrias juntas prismticas que afetam o mesmo movimento, isto , ao longo daquele
eixo em particular. Se em cada p houver 3 juntas, tem-se um trip com 3 graus de
liberdade mas 9 graus de mobilidade.
A Figura 14 representa um exemplo grfico do que so graus de liberdade, onde o objetivo
colocar a pea no encaixe. Para efetuar o movimento para a posio desejada (x,y,z) so
precisos trs graus de liberdade, mais trs para efetuar a orientao do encaixe (o
manipulador da presente figura no permite efetuar a orientao), o que perfaz um total de
seis graus de liberdade [12].
17

Figura 14 Exemplo de graus de liberdade
2.5. TIPOS DE ROBS
Atualmente existem no mercado vrios tipos de robs, sendo que estes diferem entre si,
entre outras caractersticas, na rea de trabalho e configurao. Na indstria uma operao
especifica precisa de um tipo de mecanismo especifico para a elaborao operao, de
maneira que precisa de uma configurao do rob especfica, e como tal optou-se por
desenvolver configuraes de robs que conseguissem cobrir as exigncias que cada tarefa
precisa.
2.5.1. CARTESIANOS OU GANTRY
Os robs de configurao cartesiana ou de Gantry so compostos por trs juntas
prismticas e com uma rea de trabalho semelhante a um paraleleppedo ou cubo, como
mostra a Figura 15.

Figura 15 Rob de configurao cartesiana [15]
18
2.5.2. ARTICULADO VERTICAL OU ANTROPOMRFICO
A configurao articulada vertical a configurao de robs mais usada na indstria. Estes
robs normalmente so constitudos por trs ou mais juntas rotativas, resultando uma rea
de trabalho normalmente parecida com uma esfera. Na Figura 16 pode-se observar esse
tipo de rob. De todos as configuraes est aquela que mais se assemelha a um brao
humano.

Figura 16 Rob de configurao articulado vertical [15]
2.5.3. CILNDRICOS
Os robs de configurao cilndrica so caracterizados por possurem duas juntas
prismticas e uma junta rotacional. O espao de trabalho deste rob assemelha-se a um
cilindro, como se pode ver na Figura 17, e da provm o nome desta configurao.

Figura 17 Rob de configurao cilindrica [15]



19
2.5.4. ESFRICOS
Ao contrrio da configurao articulada que s possui juntas rotacionais, este rob possui
juntas rotacionais e prismticas, sendo normalmente composto por duas juntas rotacionais
e uma prismtica. O espao de trabalho deste rob assemelha-se a uma esfera. Na Figura
18 pode-se observar um exemplo de rob com configurao esfrica.

Figura 18 Rob de configurao esfrica [15]
2.5.5. ARTICULADO HORIZONTAL OU SCARA
Os robs Selectively Compliant Articulated Robot Arm (SCARA) so normalmente
utilizados em aplicaes de montagem, isto porque a sua configurao permite que se
atinga elevadas velocidades para trabalhos leves. A configurao deste rob pode ser
observada na Figura 19.

Figura 19 Rob de configurao articulado horizontal [15]



20
2.5.6. PARALELOS
De todas as configuraes esta a mais distinta, derivado sua configurao. Estes robs
adotam geralmente duas configuraes como se lista a seguir.
Tripod A configurao tripod constitudo por trs braos que interligam a base,
placa e o end-effector (dispositivo da extremidade). So usados em aplicaes de
pick and place devido sua configurao permitir grandes velocidades e o seu
volume de trabalho assemelhar-se a um meia-esfera. A Figura 20 mostra um
exemplar deste tipo de configurao.

Figura 20 Rob paralelo - configurao tripod [8]
Hexapod A configurao hexapod ou Stewart Platform constituda por seis
braos, usa-se em aplicaes em que necessrio efetuar orientaes em roll, pitch
e yaw, como por exemplo, simulao de voo e posicionamento de antenas. Pode-se
ver este tipo de configurao na Figura 21.

Figura 21 Rob paralelo configurao hexapod [16]

21
2.5.7. VOLUME DE TRABALHO
Na Tabela 2 tem-se uma comparao do volume de trabalho para cada tipo de configurao
que um rob pode ter, considerando a situao ideal, onde cada articulao R capaz de
rodar 360, cada articulao P pode realizar uma translao de L (igual ao comprimento de
cada elo) e cada configurao tem trs juntas.
Tabela 2 Comparao do volume de trabalho para cada configurao
Configurao Volume de trabalho
Cartesiana


Cilndrica


Esfrica


Articulado horizontal


Articulado Vertical


Como se mostra, a configurao com maior volume de trabalho a configurao articulada
vertical, sendo que esta se assemelha a um brao humano [15].
2.6. CONTROLO DOS ROBS
O controlador dos robs normalmente uma unidade capaz de gerar informao de
ativao de um ou mais atuadores com base num algoritmo de controlo. Esse algoritmo
pode levar em linha de conta o comando desejado, o estado corrente do atuador, e o
prprio ambiente. Os algoritmos mais comuns recorrem ao chamado controlo
Proporcional-Integral-Diferencial (PID), podendo em certos casos espeficicos ter-se o
controlo de logca difusa (Fuzzy Logic).
Quando no existente em separado, o controlador chega a incluir a unidade de potncia, ou
seja, o elemento que liga diretamente ao atuador, fornecendo-lhe a energia que necessita
com base numa informao de baixo teor energtico, como so os sinais eltricos sada
de muitos controladores. Por vezes o controlador faz parte de um sistema maior de
interligao com o utilizador exterior, como o caso de um computador pessoal. Nestes
casos o controlador pode assumir a forma de uma carta de expanso do prprio
computador, ou ser um dispositivo exterior que comunica com o computador de uma forma
padro, como por exemplo uma ligao srie RS-232.
22
Esta integrao num computador, devido ao abundante nmero de ferramentas de interface
disponveis, permite especificar mais facilmente os comandos desejados para o
controlador, ou at de os gerar de forma automtica, como fazem muitos programas
(software).
O controlo de robs est subdividido em duas categorias:
Robs no inteligentes: so robs controlados por unidades de processamento e o
algoritmo usado segue as ordens programadas para o rob se mover.
Robs inteligentes: so robs que tambm so compostos por unidades de
processamento, mas o software que est no controlador, um sistema capaz de
interagir com seu ambiente atravs de sensores e tomar decises em tempo real.
2.7. ATUADORES DE SISTEMAS DE ACIONAMENTO
Entende-se por atuador o elemento capaz de converter um determinado tipo de energia
numa ao, em resposta a comandos que podem ser manuais ou automticos. Por exemplo,
se o funcionamento do sistema estiver baseado em algum movimento de uma de suas
partes, sero necessrios atuadores para fornecer energia mecnica para o movimento, ou
se o sistema for trmico, ser necessrio um atuador que fornea energia trmica para
atingir uma dada temperatura desejada. O mesmo se passa com os outros tipos de
atuadores.
Existe trs tipos de sistemas de acionamento nos robs, sendo eles:
Acionamento hidrulico;
Acionamento pneumtico;
Acionamento eltrico.
2.7.1. ACIONAMENTO HIDRULICO
Os principais componentes deste sistema so: motor(es), cilindro(s), bomba(s) de leo,
vlvula(s) e tanque(s) de leo. A bomba responsvel pelo fluxo de leo no cilindro em
direo ao pisto que movimenta a junta.
23
Este tipo de acionamento permite valores elevados de velocidade e fora, mas tem como
grande desvantagem um custo muito elevado. So preferveis em ambientes nos quais os
de acionamento eltrico possam causar problemas, como arcos eltricos.
Assim, este tipo de acionador geralmente associado a robs de grande porte, quando
comparados aos acionadores pneumticos e eltricos, embora a sua preciso em relao
aos acionadores eltricos seja menor. Na Figura 22 pode-se observar um rob com este
tipo de acionamento.

Figura 22 Rob de acionamento hidrulico [17]
2.7.2. ACIONAMENTO PNEUMTICO
Os acionadores pneumticos so semelhantes aos acionadores hidrulicos, a diferena est
na utilizao de ar em vez de leo.
de levar em considerao que a utilizao de um rob com acionamento pneumtico
(Figura 23) dever dispor de uma instalao de ar comprimido, incluindo compressor,
sistema de distribuio, filtros, secadores, etc. Geralmente, devido compressibilidade do
ar, os atuadores pneumticos no conseguem uma boa preciso de posicionamento, e as
cargas mximas suportadas (foras e momentos de toro) so menores relativamente aos
sistemas hidrulicos.
24
A vantagem deste tipo de sistemas reside principalmente no seu baixo custo, segurana e
facilidade de operao. De salientar que a maioria dos espaos industriais j tem uma
instalao de ar comprimido que pode ser utilizada.

Figura 23 Rob de acionamento pneumtico [18]
2.7.3. ACIONAMENTO ELTRICO
De entre os tipos de atuadores existentes, os atuadores eltricos so aqueles cada vez mais
utilizados devido s suas caractersticas de facilidade de controlo, sensibilidade e preciso.
No entanto oferecem menor fora e velocidade.
Existem trs grandes tipos de atuadores eltricos:
Motores de corrente contnua e alternada;
Servomotores de corrente contnua e alternada;
Motores passo a passo.
No que diz respeito aos motores de corrente alternada, estes so os que tm tido mais
aplicaes na rea da robtica devido aos custos de manuteno serem baixos e
facilidade de controlo. Os servomotores de corrente alternada so motores de pequena
dimenso, de baixa inrcia e que podem produzir elevadas aceleraes e desaceleraes.
So controlados mediante referncias de velocidade e so os mais utilizados atualmente
devido ao seu fcil controlo. Os motores passo a passo so motores muito leves, fiveis e
fceis de controlar. A sua principal vantagem em relao aos tradicionais servomotores a
25
capacidade para assegurar um posicionamento simples e exato, podendo rodar de forma
contnua e com vrias velocidades.Na Figura 24 pode-se observar um exemplar de rob de
acionamento eltrico.

Figura 24 Rob de acionamento eltrico
2.7.4. COMPARAO DOS TIPOS DE ATUADORES
Na Tabela 3 pode-se encontrar de forma resumida o que foi referido nas seces 2.7.1,
2.7.2 e 2.7.3.
Tabela 3 Comparao dos tipos de atuadores
Caractersticas
Tipo de atuador
Hidrulico Pneumtico Eltrico
Controlo
Fcil com vlvulas e
servo-vlvulas
Muito difcil devido a
questes de
compressibilidade do ar
Fcil, possibilidade de
ser elaborado
Velocidade Mdia/grande Muito grande Grande
Binrio Grande Pequeno Pequeno/mdio
Preciso Boa
M, exceto em operaes
a posies fixas
Boa, limitada pelo uso
de transmisso
Funcionamento em
situao esttica
Excelente, trata-se de
funcionamento normal
Bom, no h risco de
danificao do sistema
Mau, requer traves
Questes ambientais
Perigoso, fugas de
leo
Sistemas limpos, risco de
poluio sonora de
componentes,
compressores e das fugas
A presena de arcos
eltricos pode ser
indesejada
Custos Elevados Baixos Baixos
26
2.8. SENSORES
Os sensores so elementos destinados medio do estado interno do manipulador bem
como perceo do ambiente exterior. Os principais tipos de sensores usados num
manipulador so: sensores de posio, sensores de velocidade, fins-de-curso, sensores de
fora, detetores de proximidade capacitivos e indutivos.
Estes fornecem informao ao sistema de controlo, nomeadamente em que posies se
encontram as diversas juntas do manipulador, sensores que delimitam as deslocaes
externas das juntas e os que fornecem informao do meio ambiente envolvente.
2.8.1. SENSORES DE POSIO
2.8.1.1. Potencimetro
O sensor indicado na Figura 25 um potencimetro angular, onde a posio obtida
atravs de uma queda de tenso proveniente da resistncia dada pelo cursor do
potencimetro, por exemplo, se tivermos um potencimetro, cujo cursor pode girar entre
zero a trezentos e sessenta graus, o valor da resistncia dada pelo cursor varie entre zero e
mil Ohm. Se a resistncia dada pelo cursor for de quinhentos Ohm (180) e o
potencimetro for alimentado a cinco Volt, tm-se sada 2,5 Volt, o que significa que a
posio obtida metade da posio mxima.

Figura 25 Potencimetro para indicar posies angulares [19]

27
2.8.1.2. Codificadores angulares
Os codificadores angulares apresentam a vantagem de no possurem contactos sujeitos a
desgaste como o cursor de um potencimetro. Na Figura 26 apresenta-se um codificador
do tipo incremental. Neste codificador tem-se um bit para sinalizar uma posio de
referncia (posio de Home) e outro que vai alternar entre 0 e 1 sempre que exista
movimento.

Figura 26 Codificador incremental e princpio de funcionamento
Na Figura 27 mostra-se um codificador absoluto. Neste codificador usado normalmente o
cdigo de Gray, ou cdigo binrio inventado por Frank Gray, sendo um sistema de
numerao binria em que dois valores sucessivos diferem em apenas um bit.

Figura 27 Codificador absoluto e princpio de funcionamento
2.8.2. SENSORES DE VELOCIDADE
Para indicador de velocidade normalmente usado um tacmetro. Os tacmetros podem
ser mecnicos ou ticos. Na Figura 28 apresenta-se um tacmetro mecnico. O sensor
deteta movimento atravs dos dentes da roda, sendo a velocidade dada pela expresso:
(


(1)
28

Figura 28 Tacmetro mecnico
A Figura 29 representa um tacmetro tico, onde o funcionamento semelhante ao
tacmetro mecnico, s que neste tipo de sensor existe um emissor de luz, um recetor de
luz e uma roda com perfuraes. Sempre que o recetor de luz deteta luz, significa que
existe movimento, sendo a velocidade dada tambm pela equao (1).

Figura 29 Tacmetro tico
2.9. RESOLUO, REPETIBILIDADE E PRECISO
Existem alguns conceitos que so utilizados para a escolha de um rob. Entre estes esto, a
resoluo, a repetibilidade e apreciso. A resoluo refere-se ao menor movimento
incremental da junta. Por exemplo, se o dispositivo de medio detetar 720 incrementos
em 360, ou seja 360/720=0,5, isto significa que se tem uma resoluo de 0,5 por
incremento de uma junta.
Repetibilidade traduz a diferena de posio com que o rob volta a recolocar-se num
ponto visitado anteriormente.
Preciso dada pela diferena entre uma posio realmente atingida e a posio desejada
pela programao. Esta est relacionada com a resoluo, sendo que afetada pela carga
transportada e varivel conforme a zona do espao de trabalho.
A Figura 30 ilustra a relao entre repetibilidade e preciso.
29

Figura 30 Ilustrao dos conceitos de repetibilidade e preciso
31
3. CINEMTICA, DINMICA E
PLANEAMENTO DE
TRAJETRIAS
Neste captulo sero abordados todos os conceitos matemticos utilizados no controlo dos
robs e como elaborado o planeamento de trajetrias.
As primeiras duas seces apresentadas dizem respeito explicao e clculo da
cinemtica direta e inversa.
O documento tambm apresenta uma seco com uma tcnica matemtica alternativa para
o clculo da cinemtica direta, para robs com mais de trs graus de liberdade, sendo esta
conhecida como a conveno/formalismo de Denavit-Hartenberg.
Por fim tem-se uma seco que diz respeito a como se procede para o clculo de
trajetrias, sendo estas no espao das juntas ou no espao operacional.




32
3.1. CINEMTICA
Cinemtica o ramo da mecnica que estuda o movimento de corpos independentemente
das causas e efeitos que o produzem ou modificam (as causas e efeitos dos movimentos
denomina-se por Dinmica). Em robtica, a cinemtica dada pelas relaes geomtricas
entre as coordenadas no espao operacional e no espao das juntas. Para o clculo da
cinemtica no se consideram as massas, foras e/ou binrios que provocam o movimento
do rob.
A ttulo de exemplo, as variveis para efetuar o clculo da cinemtica, consoante a
configurao dos robs, so:
Robs RR
o Coordenadas no espao operacional (x, y)
o Coordenadas no espao das juntas (
1
,
2
)
Robs RP
o Coordenadas no espao operacional (x, y)
o Coordenadas no espao das juntas (, L)
A cinemtica de um brao robtico s diz respeito aos parmetros que definem a estrutura
geomtrica dos elos e aos ngulos das juntas. A modelao cinemtica efetuada em
relao a um sistema fixo de referncia de coordenadas, geralmente denominado de
sistema de coordenadas da base. Em relao cinemtica direta diferencial, esta estuda as
velocidades/aceleraes descrevendo o deslocamento espacial do atuador final do rob em
relao ao tempo.
A cinemtica direta calcula, para um conjunto de valores dos ngulos das juntas e/ou
comprimentos dos eixos prismticos e de parmetros dos elos, a posio/orientao do
atuador final, enquanto, a cinemtica inversa fornece os ngulos das juntas e/ou
comprimentos dos eixos prismticos, para um dado conjunto de parmetros dos elos e para
uma posio/orientao do atuador final.

No caso dos robs com dois graus de liberdade, e a ttulo de exemplo, tm-se as seguintes
relaes cinemticas.
33
Cinemtica
Direta
o Robs RR (
1
,
2
) (x, y)
o Robs RP (, L) (x, y)
Inversa
o Robs RR - (x, y) (
1
,
2
)
o Robs RP - (x, y) (, L)

A relao entre a cinemtica direta e inversa pode ser observada no esquema da Figura 31.
Cinemtica Directa
Cinemtica Inversa
ngulos das juntas e/ou
Comprimento do Eixo
Prismtico
Posio e Orientao do
Actuador Final
Parmetros dos
eixos

Figura 31 Relao entre cinemtica direta e cinemtica inversa
Usualmente, a definio da posio e orientao do punho do rob mais conveniente para
um programador se for especificada relativamente ao sistema de coordenadas cartesiano da
base do rob ou relativamente a um sistema definido pelo utilizador. Se a programao
orientada ao espao cartesiano, necessrio implementar a cinemtica inversa.
As tcnicas geralmente utilizadas para determinar a cinemtica de um rob so, em casos
mais simples, relaes trigonomtricas e noutros casos o formalismo de Denavit-
Hartenberg (seco 3.3).
34
A resoluo simblica da cinemtica direta, pode-se encontrar facilmente usando o
formalismo de Denavit-Hartenberg. A resoluo simblica de cinemtica inversa muito
mais complexa levando muitas vezes a obter vrias solues.
Atravs do seguinte exemplo pode-se observar que se obtm duas solues da cinemtica
inversa para uma mesma localizao no espao cartesiano de um rob SCARA (Figura 32).

Figura 32 Rob SCARA configurao right elbow e left elbow
Na Figura 32 tem-se esquerda a configurao Right Elbow (cotovelo direito) e direita a
configurao Left Elbow (cotovelo esquerdo), sendo possvel observar que se tm duas
configuraes diferentes das juntas para a mesma posio final.
Como se pode verificar, para uma dada posio no espao cartesiano, atravs da
cinemtica inversa obtm-se diversas solues. importante salientar que no mundo real,
quando uma dada posio do atuador final no pode ser alcanada devido a uma coliso do
brao robtico com o meio envolvente, pode ser necessrio recorrer a uma das diversas
solues da cinemtica inversa, para que a configurao esteja isenta de colises
[20][21][22].
3.1.1. CINEMTICA DIRETA
Como j foi referido, a cinemtica direta traduz, para um conjunto de valores dos ngulos
das juntas, comprimentos dos eixos prismticos e de parmetros dos elos, a
posio/orientao do atuador final.
Para um rob com dois graus de liberdade rotacionais (RR), como mostra a Figura 33, a
cinemtica direta traduz-se na equao (2).
35
[

] [

)
] (2)


Figura 33 Representao de um rob com duas juntas rotacionais
Na cinemtica direta s existe uma soluo (x,y) para cada par de valores (
1
,
2
).
Para um rob que contm uma junta rotacional e uma junta prismtica, como mostra a
Figura 34, a cinemtica direta traduz-se na equao (3).
[

] [
(

) (

)
(

) (

)
] (3)

Figura 34 Representao de um rob com uma junta rotacional e uma junta prismtica
3.1.2. CINEMTICA INVERSA
A cinemtica inversa traduz qual o valor das coordenadas das juntas para uma posio no
espao operacional.
Por exemplo, a cinemtica inversa para um rob com configurao RR (Figura 35), dada
pelas equaes (4)
36
[

] [
( ) (

))
(

)
] (4)

Figura 35 Representao de um rob com duas juntas rotacionais
No caso da configurao do rob RP (Figura 36), a cinemtica inversa traduz-se na
equao (5) e (6).
[

] [
( )

] (5)
[

] [
( )

(6)

Figura 36 Representao de um rob com uma junta rotacional e uma junta prismtica
Na cinemtica direta s existe uma soluo (x;y) para cada par de valores (
1
;
2
), enquanto
na cinemtica inversa para uma posio (x;y) obtm-se mltiplas solues para cada par de
valores (
1
;
2
) (s se obtm mltiplas solues se a configurao do rob tiver mais de
uma junta rotacional e estas possuirem uma amplitude de movimento superior a 180), isto
porque, vai depender da configurao que brao do rob tem para a dada posio. Na
Figura 37 pode-se observar quatro tipos de configurao que o brao robtico adota para a
mesma posio final, que so: brao esquerdo para cima (left and above arm), brao direito
37
para cima (right and above arm), brao esquerdo para baixo (left and bellow arm) e brao
direito para baixo (right and bellow arm).

Figura 37 Configurao do brao robtico PUMA para uma mesma posio final

3.2. DINMICA
A dinmica um ramo da mecnica que estuda as relaes entre as foras e os movimentos
por elas produzidos, sendo que a esta esto associados as trs Leis de Newton. Na robtica,
a dinmica so as equaes que estabelecem a relao entre foras/binrios (dos atuadores)
com as posies, velocidades e aceleraes, que ocorrem numa dada trajetria do rob.
Para um manipulador de n graus de liberdade, a dinmica segue as leis da fsica clssica e
pode ser expressa atravs de um conjunto de equaes diferenciais.
Como na cinemtica, tambm aqui se tem a dinmica direta e a dinmica inversa. A
expresso (7) corresponde dinmica inversa.
38
[()]

[()]

[()]

() (7)
T vetor dos binrios dos atuadores (n x 1)
Vetor das coordenadas no espao das juntas
J() matriz simtrica das inrcias (n x n)
N() matriz dos binrios centrfugos (n x n)
P() matriz dos binrios Coriolis (n x C
n
2
)
G() vetor dos binrios gravitacionais (n x 1)
3.2.1. DINMICA DIRETA
A dinmica direta permite calcular as aceleraes, velocidades e posies das juntas do
rob a partir das foras/binrios desenvolvidos pelos atuadores das juntas [22][23][24].
A dinmica direta calculada segundo as expresses (8), (9), (10) e (11).
{() ( )

( )} {()

()

()} (8)

() ()

[ (

) ()] (9)

()

() (10)
()

() (11)
3.2.2. DINMICA INVERSA
A dinmica inversa permite calcular os binrios/foras que surgem a partir das posies,
velocidades e aceleraes nas juntas do rob.
{()

()

()} {()}
(12)
()

) ()
(13)

O principal problema com a aplicao de controlo dinmico em tempo real a
complexidade de muitos termos na equao da dinmica inversa. Em robs com seis graus
39
de liberdade as expresses resultantes so muito complexas, sendo difcil a sua obteno
manualmente. Ento, para resolver este problema, faz-se uso do mtodo de Lagrange, onde
a energia cintica da ligao i, k
i
, de um manipulador dada por uma expresso do tipo:


(14)

Onde o primeiro termo a energia cintica devido velocidade linear do centro de massa
do elo e o segundo termo a energia cintica devido velocidade angular do elo.
3.3. FORMALISMO DE DENAVIT-HARTENBERG
O formalismo de Denavit-Hartenberg (DH) veio simplificar o clculo da cinemtica direta.
Na cinemtica direta para robs cujo volume de trabalho se encontra nos eixos cartesianos
x, y e z, seria necessrio proceder a trs rotaes (uma por cada eixo), mais trs translaes
(uma para cada eixo Jacques Denavit e Richard Hartenberg simplificaram as seis
variveis para quatro, mas para se obter esta simplificao necessrio obedecer s regras
da conveno de Denavit-Hartenberg.
As regras da conveno de Denavit-Hartenberg so as seguintes:
Um rob tem n sistemas de coordenadas, sendo n o nmero total de juntas;
O eixo de rotao da junta sempre paralelo ao eixo z
i
;
Se o eixo for primtico, o eixo z
i
obtido pelo o sentido em que se desloca a junta;
O eixo y
n-1
sempre paralelo ao eixo de abertura e fecho da garra e o eixo z
n-1

sempre paralelo ao eixo de orientao da garra;
Depois de se definir o eixo z
i
, obtm-se os eixos x
i
e y
i
seguindo a regra da mo
direita
2
.



2
A regra da mo direita uma regra e recurso mnemnico geralmente utilizada quando se necessita diferenciar e/ou
estabelecer como padro uma entre duas orientaes espaciais. Para se obter um sistema de coordenadas espaciais (x; y;
z), segundo a regra da mo direita o eixo x dado pelo indicador direito, eixo y pelo dedo mdio direito e o eixo z pelo
polegar direito. Depois tentamos criar um ngulo de 90 entre o indicador e o dedo do meio e por fim um ngulo de 90
entre o polegar e o indicador e assim obtemos um sistema de eixos espaciais segundo a regra da mo direita. O sentido
positivo do ngulo obtido atravs do fecho da mo direita e o polegar apontar no sentido positivo do eixo pelo qual ir
ser feita a rotao.
40
Como j referido, a conveno de Denavit-Hartenberg reduziu de seis para quatro o
nmero de parmetros necessrios para definir a localizao relativa entre o sistema de
coordenadas da base com o sistema de coordenadas da garra. Depois de se colocar os
sistemas de coordenadas em cada junta, procede-se criao da matriz A
i
, que resume a
translao e rotao da junta i vista pela junta i-1. A matriz A
i
do tipo da expresso (15).

(15)
Esta matriz A
i
construda com base noutras matrizes, como demonstra a expresso 16.

(16)
A matriz desenvolvida utilizando as expresses (17), (18), (19) e (20).

) [

(

) (

)
(

) (

)

] (17)

) [




] (18)

) [
(

) (

)
(

) (

)


] (19)

) [



] (20)
As expresses (17) (20) podem-se resumir nas equaes (21) e (22), sendo a primeira
relacionada com as translaes e rotaes sobre o eixo x e a outra sobre as rotaes e
translaes sobre o eixo z.
[

) (21)
[

) (22)
Da matriz A
i
tm-se quatro variveis, que vo traduzir a translao e rotao de uma junta
i-1 para uma junta i. As variveis so as seguintes e tm o seguinte significado:

i
- ngulo formado entre x
i-1
e x
i
medido em z
i-1

41

i
ngulo formado entre z
i-1
e z
i
, e medido em x
i

a
i
- distncia ao longo de x
i
desde a interseco de x
i
com z
i-1

d
i
distncia ao longo de z
i-1
desde a interseco de x
i
com z
i-1

So criadas n matrizes sendo que n corresponde ao nmero total de juntas. A seguir
procede-se ao desenvolvimento da matriz T, que corresponde relao entre a origem e a
extremidade do rob. A matriz T obtm-se atravs da multiplicao das n matrizes, como
demonstra a expresso (23).

(23)
A matriz T ento dada por:
[


] (24)
Sendo que p
x
, p
y
e p
z
correspondem posio da extremidade do rob em relao ao
sistema de coordenadas da origem.
3.4. PLANEAMENTO DE TRAJETRIAS
O planeamento de trajetrias consiste na determinao de um trajeto, fornecendo ao rob
uma sequncia de pontos, para este se mover de um ponto para outro (Cinemtica) com
velocidades e aceleraes apropriadas (Dinmica).
Quando se pretende deslocar um manipulador de uma posio inicial Pi para uma posio
final Pf, necessrio o controlo decidir como deve executar o deslocamento. O
planeamento de trajetrias pode ser efetuado no espao das juntas ou no espao
operacional e definido assim para um rob RR:
No espao das juntas: {


No espao operacional: {


Se for necessrio ter um controlo pormenorizado poder ser necessrio definir a primeira e
segunda derivadas temporais.
42
3.4.1. INTERPOLAO LINEAR
A interpolao linear, como o prprio nome indica, serve para planear trajetrias lineares
ou retilneas entre dois pontos, Pi e Pf. Considerando um rob RR temos a seguinte
interpolao linear, onde i o valor inicial e f o valor final.
No espao das juntas: {

() ( )

() ( )

[ ]
No espao operacional: {
() ( )

() ( )

[ ]
No espao das juntas, para se determinar a posio do rob ao longo da trajetria recorre-
se cinemtica direta, pois esta fornece a posio consoante o valor da posio das juntas.
No espao operacional necessrio determinar as posies das juntas do rob ao longo da
trajetria, recorrendo para isso cinemtica inversa.
3.4.2. INTERPOLAO CBICA
A equao do planeamento de trajetrias segundo a interpolao cbica dada segundo a
expresso (25).
()

(25)
Para a obteno da velocidade e acelerao tem-se as expresses (26) e (27).

()

(26)

()

(27)
Na interpolao cbica para se efetuar um movimento suave necessrio implementar pelo
menos quatro restries. As quatro restries so as seguintes:
Posio inicial igual a
i
;
Posio final igual a
f
;
Velocidade inicial igual a zero,

;
Velocidade final igual a zero,

.
Atravs das restries obtm-se as expresses (28), (29), (30) e (31).
43

(28)

(29)

(30)

(31)
onde a
0
, a
1
, a
2
e a
3
correspondem s expresses:

(32)

(33)

) (34)

) (35)
Com as restries tem-se uma evoluo da posio que se assemelha a uma funo cbica,
a velocidade a uma parbola e uma acelerao linear.
3.4.3. INTERPOLAO DE QUINTA ORDEM
A interpolao de quinta ordem adequada quando se pretende especificar a posio,
velocidade e acelerao da posio inicial e final. A interpolao de quinta ordem dada
por [23][24][25]:
()

(36)
Para a obteno da velocidade e acelerao tem-se as seguintes expresses:

()

(37)

()

(38)
As restries da interpolao de quinta ordem so ento dadas pelas expresses:

(39)

(40)

(41)

(42)

(43)

(44)
44
A soluo leva s equaes:

(45)

(46)


(47)

(48)

(49)

(50)

3.5. MTODOS DE CONTROLO DO ROB
Os robs existentes no mercado tm como controlo, o controlo Proporcional-Integral-
Diferencial (PID). Em casos mais especficos pode-se ter o controlo de lgica difusa ou
Fuzzy Logic, um controlo inteligente, adotando para isso as redes neuronais e algoritmos
evolutivos.

3.6. CONCLUSES
Neste captulo apresentaram-se os aspetos matemticos que esto relacionados com o
controlo e movimento dos robs. Pode-se sugerir que existe dois mtodos para o clculo da
cinemtica direta, que so, atravs de conceitos trigonomtricos ou atravs da conveno
de Denavit-Hartenberg. A conveno de Denavit-Hartenberg o mtodo mais prtico e
simples para calcular a cinemtica direta para robs que contenham mais de trs juntas.
Para o clculo da cinemtica inversa, verificou-se que s possvel calcular atravs de
desenvolvimento trigonomtrico, como tal necessrio possuir algum conhecimento
matemtico.
Na seco referente ao planeamento de trajetrias, pode-se concluir que existe diversos
mtodos de planear o movimento de um rob, podendo este ser simples ou complexo e
atravs de restries controlar a sua velocidade e acelerao.
45
A concluso deste captulo resume-se numa perspetiva de trabalho futuro de investigao
para um doutoramento, que consiste no desenvolvimento de uma frmula matemtica do
gnero da conveno de Denavit-Hartenberg, para o clculo da cinemtica inversa e que
nesta seja possvel obter as mltiplas solues que so sinnimo da cinemtica inversa
convencional. Se a realizao do trabalho futuro tiver sucesso, a robtica melhor
manipulada e entendida por qualquer pessoa, no criando tabus para trabalhos realizados
com a robtica.
47
4. ARQUITETURA DO
SISTEMA
Ao longo deste captulo so abordados todos os aspetos tcnicos e cientficos envolvidos
na realizao do projeto.
4.1. DEFINIO DOS REQUISITOS DO SISTEMA
Com a realizao deste projeto pretende-se controlar um brao robtico, cujo sistema de
controlo est muito descontinuado e como tal necessrio efetuar um upgrade. Para tal
convm utilizar tecnologias recentes na implementao do controlo. O controlo do rob
dever conter uma unidade de processamento e drivers de motores. Mas para controlar o
rob necessrio calcular as equaes da cinemtica direta e inversa, visto que, o brao
robtico MENTOR no muito conhecido e no existe nenhuma publicao das equaes
referentes sua cinemtica.
Deve-se desenvolver uma interface grfica, de modo que seja amigvel para o utilizador
poder controlar o brao robtico.
Para concluir, o controlador do rob dever planear as trajetrias de modo a permitir
efetuar movimento no espao das juntas e no espao operacional.
48
4.2. BRAO ROBTICO MENTOR
O rob MENTOR, que se pode observar na Figura 38, um brao robtico da Cybernetic
Applications com o objetivo de ser prtico e econmico para aprender a conhecer o
funcionamento de robs. O brao robtico constitudo por 5 eixos, mais a garra. Os eixos
e a garra so acionados por motores de corrente contnua acoplados a uma caixa redutora,
sendo a posio de cada eixo dada por um potencimetro de 10 k que est acoplado
sada da caixa redutora [26].

Figura 38 Brao robtico MENTOR

Na Tabela 4 esto apresentadas as principais caractersticas de cada eixo.
Tabela 4 Caractersticas dos eixos
Eixo 0 Coluna central
Movimento angular de 210
Comprimento do elo de 185mm
Eixo 1 Ombro
Movimento angular de 180
Comprimento do brao entre os centros dos
eixos de 165 mm
Eixo 2 - Brao
Movimento angular de 230
Comprimento desde o eixo central de 150 mm
Eixo 3* Punho Esquerdo Movimento angular de 320
Eixo 4* Punho Direito Movimento angular de 320
Rotao do punho (roll) Movimento angular de 320
49
Inclinao longitudinal do punho (pitch) Movimento angular de 120
Garra
Abertura de 30 mm
Fora de 10 Newton
Distncia final aos eixos 3 e 4 de 105 mm
*Na Figura 43 entende-se como que se obtm a rotao (roll) e inclinao longitudinal
(pitch) do punho, atravs da combinao entre o movimento do eixo 3 e do eixo 4.

Na Figura 39 encontra-se um esquema do rob com as respetivas medidas e gamas de
movimento das juntas.

Figura 39 Esquema do brao robtico
Na Tabela 5, esto referidas algumas caractersticas do rob.



50
Tabela 5 Caractersticas principais do rob
Repetibilidade 2 mm
Capacidade de carga 1000 g
Alcance (desde o eixo central) 420 mm
Dimenses da base
Comprimento 320 mm
Largura 270 mm
Altura 189 mm
Na Figura 40 est representado um esquema referente estrutura mecnica do eixo 0 do
brao robtico. Este eixo corresponde coluna central, que roda sobre uma engrenagem de
nylon situada no topo da base do rob, sendo atuada pelo conjunto do motor-caixa redutora
(caixa redutora de 500:1) com um par de engrenagens. A posio determinada por um
potencimetro acoplado parte inferior do eixo, como ilustra a Figura 40.

Figura 40 Estrutura mecnica do eixo 0 do rob
A Figura 41 corresponde seco inferior do brao, que roda apoiada na coluna central.
De igual forma, usado um par de engrenagens para a transferncia do movimento do
conjunto motor-caixa redutora para o eixo 1. A presente figura tambm vlida para
demonstrar o funcionamento do eixo 2, que corresponde seco superior do brao, e que
atuado da mesma forma que o eixo 1. Na parte final deste brao encontra-se uma pea em
ao, que funciona como contrabalano, mantendo o brao equilibrado na posio quando
51
este no se encontra alimentado, evitando assim manter sempre o motor ativado para o
brao permanecer na mesma posio. Da mesma forma existem contrapesos no brao
anterior com a mesma finalidade.

Figura 41 Estrutura mecnica do eixo 1 do rob
O punho do brao robtico (Figura 42) constitudo pelos eixos 3 e 4. Atravs da
combinao dos movimentos destes eixos pode-se obter a elevao e/ou rotao do punho
(ver Figura 43).
O eixo 5 corresponde garra, sendo tambm controlado por um motor de corrente
contnua. Por forma a manter a distribuio de peso do brao, o servomotor encontra-se no
brao anterior sendo que a garra atuada atravs de um cabo de ao, similar aos usados
nos traves de bicicleta. Desta forma possvel controlar o nvel de abertura da garra
adaptando-se ao tipo de objeto a manipular.
52

Figura 42 Estrutura mecnica do punho
Na Figura 43 est representada do lado esquerdo a estrutura do punho e direita tem-se
uma tabela onde possvel determinar a elevao (E) e a rotao (R) que o punho pode
efetuar atuando a junta 3 e a junta 4.

Figura 43 Rotao do punho
53
O brao robtico MENTOR composto por um pequeno manipulador (Figura 44)
semelhante ao rob MENTOR, que tem como principal objetivo comandar o brao
robtico principal atravs deste elemento, permitindo a atuao do rob de uma forma
direta sem qualquer requisito computacional. Este essencialmente constitudo por 6
eixos, conectados a 6 potencimetros, sendo uma imitao escala reduzida do brao
robtico adaptado mo humana, sendo assim fcil controlar o brao.

Figura 44 Manipulador do brao robtico MENTOR
4.3. FRIENDLYARM MICRO2440
O board FriendlyArm Micro2440 um mdulo de desenvolvimento dotado de um
processador Advanced Risc Machine (ARM) e com a capacidade de executar um sistema
operativo multi-tarefa. Este board composto por uma unidade de processamento mais
uma placa de perifricos. O board teve o intuito de servir como consola para controlar o
rob e de fornecer ao utilizador todos os dados para o controlo do rob, execuo e criao
de um programa [27].
A unidade de processamento (Figura 45) tem as seguintes caractersticas:
Dimenso da placa: 63 52 mm
CPU: Samsung S3C2440A ARM920T, com frequncia nominal de 400 MHz e
podendo atingir uma frequncia mxima de 533 MHz
54
RAM: 64 MB SDRAM, com barramento de 32 bits
Memria: 1GB NAND Flash e 2 MB NOR Flash com BIOS
Perifricos: Srie, SPI, USB, LCD, CMOS Camara Interface
Entradas e sadas analgicas
Indicadores luminosos: 4 LEDs
Conector de expanso com passo de 2,0 mm
Conector de Debug JTAG: 10 pinos com passo de 2,0 mm
Sistemas operativos que suporta:
o Windows CE 5 e Windows CE 6
o Linux 2.6
o Android

Figura 45 Unidade de processamento
A board dos perifricos (Figura 46) tem as seguintes caractersticas:
Dimenso do board: 180 x 130 mm
EEPROM: 1024 Bytes (I2C)
Slot para cartes de mmoria SD
3 portas RS232, com conector DB9
4 portas USB-A Host 1.1
1 porta USB-B Device 1.1
55
Conector de sada de udio de 3,5 mm
Conector de entrada de udio mono de 3,5 mm
Conector de Ethernet RJ-45 10/100M (DM9000)
RTC: Real Time Clock with battery (CR1220)
Beeper: PWM buzzer
Conetor de 20 pinos com passo de 2,0 mm para interface com uma cmara CMOS
Conetor de 41 pinos para displays do FriendlyARM
Conetor para board VGA
Painel tctil (Touch Panel) resistivo de 4 pinos
Entradas para o utilizador: 6 push buttons e 1 ADC
Conetor de expanso de E/S (2,0 mm)
Alimentao de 5 VDC com conector de 3,5 mm de dimetro e 1,35 mm de
profundidade

Figura 46 Controlador FriendlyArm Micro2440+SDK Board
O board final, isto a unidade de processamento, o display LCD e a placa de perifricos
tm o seguinte aspeto (Figura 47).
56

Figura 47 Controlador FriendlyArm Micro2440+SDK Board com display
4.4. MICROSOFT VISUAL STUDIO
O Microsoft Visual Studio uma ferramenta de desenvolvimento integrado (em ingls
Integrated Development Environment - IDE) da Microsoft. usado para o
desenvolvimento de aplicaes de consola e interfaces grficas (em ingls Graphical User
Interface - GUI). Junto com o Windows Forms, pode tambm ser usado para sites,
aplicaes web e servios web em cdigo nativo ou em cdigo suportado pelas plataformas
Microsoft Windows, Windows Mobile, Windows CE, .NET, .NET Compact Framework e
Microsoft Silverlight.
O Visual Studio suporta diferentes linguagens de programao, sendo estas: C/C++ (Visual
C++), C# (Visual C#), Basic (Visual Basic) e F#. Tambm suporta XML/XSLT,
HTML/XHTML, Javascript, CSS, M, Python e Ruby, sendo que para estas trs ltimas
linguagens necessrio a instalao de um pacote de software separadamente.

4.5. FONTE DE ALIMENTAO ATX
As fontes de alimentao Advanced Technology Extended (ATX) (ver Figura 48) so as
responsveis por distribuir energia eltrica a todos os componentes do computador. Por
isso, uma fonte de qualidade essencial para manter o bom funcionamento do
equipamento.
57

Figura 48 Fonte de alimentao ATX
Essencialmente, as fontes de alimentao so equipamentos responsveis por fornecer
energia aos dispositivos do computador, convertendo corrente alternada (CA ou em ingls
Alternate Current - AC) em corrente contnua (CC ou em ingls Direct Current DC ou
Voltage Direct Current - VDC), numa tenso apropriada para uso em aparelhos
eletrnicos.
Nos computadores usa-se um tipo de fonte conhecido como fonte comutada, isto , um
padro que faz uso de condensadores e bobinas no processo de converso de energia. A
vantagem disso que h menos gerao de calor, j que um mecanismo da fonte
simplesmente desativa o fluxo de energia ao invs de dissipar um possvel excesso. Alm
disso, h menor consumo, pois a fonte consegue utilizar praticamente toda a energia que
entra no dispositivo. Por se tratar de um equipamento que gera campo eletromagntico
(j que capaz de trabalhar com frequncias altas), as fontes comutadas devem ser
blindadas para evitar interferncia em outros aparelhos e no prprio computador.

58
Na Tabela 6 encontra-se a descrio de cada pino do conector ATX.
Tabela 6 Conector ATX, cores e significados
Tenso Pino Cor Cor Pino Tenso
+3,3 V 1 13 +3,3 V
+3,3 V 2 14 -12 V
Terra 3 15 Terra
+5 V 4 16 PS_ON
Terra 5 17 Terra
+5 V 6 18 Terra
Terra 7 19 Terra
Power OK 8 20 -5 V (opcional)
+5 VSB 9 21 +5 V
+12 V 10 22 +5 V
+12 V 11 23 +5 V
+3,3 V 12 24 Terra
Os cincos tipos de tenses de uma fonte ATX so:
+5 V: utilizado na alimentao de chips, como processadores, chipsets, mdulos de
memria e as portas USB;
-5 V: aplicada em dispositivos perifricos, como ratos e teclados;
+12 V: usada em dispositivos que contenham motores, como disco rgidos (cujo
motor responsvel por girar os discos) e drives de CD ou DVD (que possuem
motores para abrir a gaveta e para girar o disco);
-12 V: utilizada na alimentao de barramentos de comunicao, como o antigo
Industry Standard Architecture (ISA);
+3,3 V: usada por chips (principalmente pelo processador), reduzindo o consumo
de energia.
As fontes ATX oferecem a possibilidade de se desligarem via software, pois contam com
um sinal Transistor-Transistor Logic (TTL) chamado Power Supply On (PS_ON). Quando
o computador est em uso a placa-me (motherboard) mantm um nvel de tenso baixo
59
para o PS_ON, j quando no em uso o nvel de tenso do PS_ON permanece alto. Esse
sinal de ativao e desativao pode partir de recursos como:
Soft On/Off: ativao e desativao da fonte via software;
Wake-on-LAN: ativao e desativao da fonte via placa de rede;
Wake-on-Modem: ativao e desativao da fonte via placa de fax modem.
O sinal PS_ON depende da existncia do sinal 5 VSB (Standby). Esse recurso proporciona
ao computador entrar em modo descanso, ou seja, permite que determinados circuitos
sejam alimentados quando as tenses em corrente contnua esto suspensas, mantendo
ativa apenas a tenso de 5 V. Com isso possvel o computador manter-se ligado mesmo
que placa de vdeo ou discos rgidos estejam desativados.
O Power OK um recurso que funciona como uma proteo. A sua funo comunicar
com a fonte, a fim de verificar o correto funcionamento, ou seja, operando com tenses
aceitveis para o bom funcionamento e sem riscos de danificar algum componente do
computador. Caso esse sinal no exista, ou seja interrompido, o computador geralmente
desliga automaticamente.
Para este trabalho necessrio ter duas tenses: 3,3 Volt e 5 Volt para a eletrnica e
12 Volt para alimentar os motores. As fontes de alimentao ATX oferecem estas tenses,
tm a vantagem de terem perdas pequenas e custos reduzidos (entre 12 a 20). Uma
soluo para se obter as duas tenses seria o desenvolvimento de hardware com base em
fontes de tenses comutadas (oferecem perdas pequenas), s que o custo dos componentes,
placas de circuitos impresso e corrente que oferecem no se compara s fontes de
alimentao ATX.
4.6. UNIDADE DE PROCESSAMENTO
As unidades de processamentos podem ser do tipo microprocessador (P) ou
microcontrolador (C). A diferena entre os dois tipos que o microcontrolador possui um
microprocessador mais os perifricos, isto , o microprocessador possui a Unidade Lgica
Aritmtica (ULA ou, em ingls, Arithmetic Logic Unit - ALU), registo de dados e registo
de endereos e o microcontrolador, alm desses trs perifricos, tem mais a memria e
perifricos de entrada e sada (E/S ou, em ingls, Input and Output I/O).
60
Os microprocessadores e os microcontroladores podem ser de arquitetura de conjunto
complexo de instrues (Complex Instruction Set Computing CISC) ou conjunto
reduzido de instrues (Reduced Instruction Set Computing RISC). A diferena entre
CISC e RISC que, em RISC para conseguir fazer certa instruo complexa tem de se
combinar instrues simples e em CISC tem-se uma instruo que faz logo o desejado.
Para este trabalho em questo foi escolhida para unidade de processamento um
microcontrolador, por ter memria e perifricos embutidos e preos baixos.
4.6.1. STM32VLDISCOVERY
Para a escolha do microcontrolador que controlar o rob (controlo dos drivers dos
motores, leitura dos potencimetros e clculo da cinemtica do rob), foram tidos em conta
alguns critrios como, o preo, as especificaes tcnicas (memria, nmero de E/S e
protocolos de comunicaes), o conhecimento j adquirido sobre a famlia do
microcontrolador escolhido, que reduz o tempo de desenvolvimento, capacidade de
processamento e a facilidade de utilizao de sistema operativo multi-tarefa [29].
Estes requisitos colocaram a escolha no microcontrolador ARM CORTEX M3. Para
facilitar a utilizao deste microprocessador (programao e acesso aos pinos), e porque o
custo de integrao dos componentes necessrios para o utilizar era superior, decidiu-se
utilizar a placa de desenvolvimento STM32VLDISCOVERY (Figura 49), que inclui o
programador e acesso por pinos 0.1 (2,54 mm) de espaamento a todos os pinos do
microprocessador.

Figura 49 Placa de desenvolvimento STM32VLDISCOVERY
61
A placa de desenvolvimento composta por dois microcontroladores, sendo que um deles
utilizado para programar o outro, dois LEDs, dois botes (um de reset e outro para
qualquer utilizao) e cinquenta e um I/Os.
O microcontrolador o STM32F100RBT6B e tem as seguintes caractersticas:
Processador ARM 32-bit Cortex
TM
-M3 CPU;
Frequncia mxima de 24 MHz;
128 kbytes de memria Flash;
8 kbytes de SRAM;
Conversor analgico digital de 12 bits, com 16 canais;
3 portos USART;
2 interfaces I2C;
2 interfaces SPI;
12 Timers;
Custo mdio de 10 .
4.7. CONTROLADOR DE MOTORES
Um controlo de motor (ou mais comum driver de motor) um dispositivo, ou um conjunto
de dispositivos eletrnicos, que serve para regular o desempenho de um motor eltrico. Um
driver de motor pode incluir um meio manual ou automtico para iniciar e/ou parar o
motor, efetuar a seleo para rodar para a frente ou para trs, regular a velocidade, regular
ou limitar o binrio e proteger contra falhas e sobrecargas.
Cada motor eltrico tem que ter algum tipo de controlo, este pode ter diferentes
caractersticas e complexidades, isto dependendo da tarefa a que o motor est sujeito. O
exemplo mais simples de controlador um interruptor para ligar um motor a uma fonte de
energia. Os drivers de motores mais complexos fazem uso de um circuito em H, mais
conhecido como ponte H e que explicado a seguir.


62
4.7.1. PONTE H
A ponte H (Figura 50) um circuito eletrnico ou mecnico em forma de H, que permite
que uma tenso seja aplicada a uma determinada carga em qualquer direo. Estes circuitos
so frequentemente utilizados em robtica ou em outras aplicaes onde necessrio
colocar um motor de corrente contnua (CC) a girar no sentido dos ponteiros do relgio, no
sentido contrrio aos ponteiros de relgio, ou par-lo.
O termo ponte H deriva da representao grfica tpica de tal circuito. Uma ponte H
construda com quatro interruptores de estado slido (eletrnica) ou mecnico (rel).

Figura 50 Ponte H
A ponte H, como j referido anteriormente, usada para inverter o sentido de rotao do
motor, mas tambm pode ser usada para travar o motor. Isto possvel efetuar atravs da
combinao que se d aos interruptores S1, S2, S3 e S4. Quando os interruptores S1 e S4
esto fechados e os interruptores S2 e S3 abertos (Figura 51), aplicada uma tenso
positiva ao motor e este gira no sentido dos ponteiros de relgio.

Figura 51 Ponte H conduo positiva, motor gira no sentido dos ponteiros do relgio
63
Se se inverter o estado dos quatro interruptores (S1 e S3 abertos e S2 e S4 fechados)
(Figura 52), o motor gira em sentido contrrio aos ponteiros de relgio, isto porque
aplicada ao motor uma tenso invertida, permitindo esta operao.

Figura 52 Ponte H conduo negativa, motor gira no sentido contrrio aos ponteiros do relgio
Para travar o motor temos duas opes, uma quando se tem S1 e S3 fechados e S2 e S4
abertos (travar o motor alimentao) (Figura 53 da esquerda) e a outra opo quando se
tem S1 e S3 abertos e S2 e S4 fechados (travar motor massa) (Figura 53 da direita).

Figura 53 Ponte H motor travado, esquerda atravs da fonte, direita atravs da massa
Na ponte H nunca se pode ter S1 e S2 fechados e/ou S3 e S4 ao mesmo tempo, porque
provocam um curto-circuito na fonte de alimentao de entrada. Esta situao conhecida
em termos tcnicos como shoot-through.

Na Tabela 7 tem-se, de forma resumida, o estado do motor consoante o estado dos quatros
interruptores.
64
Tabela 7 Ponte H estado do motor consoante os interruptores
Interruptores
Estado do motor
S1 S2 S3 S4
Off Off Off Off Destravado
On Off On Off
Roda no sentido
dos ponteiros do
relgio
Off On Off On
Roda no sentido
contrrio aos
ponteiros de
relgio
On Off On Off Trava
Off On Off On Trava
On On Off Off Shoot-Through
Off Off On On Shoot-Through
On On On On Shoot-Through
As pontes H de estado slido so normalmente construdas com transstores, podendo estes
ser do tipo PNP, BJT e MOSFET. Os modelos mais eficientes de drivers de motores usam
MOSFETs, porque a resistncia ON (resistncia medida quando esto a conduzir)
apresenta valores baixos, fazendo com que o dispositivo tenha perdas menores.
4.7.2. ST VNH5180
Para a escolha do driver do motor foi necessrio que este tivesse os seguintes requisitos:
Fcil implementao
Baixo preo
Nmero reduzido de sinais para controlo da ponte H
Corrente eltrica suportada igual ou superior a 400 mA
Tenso eltrica suportada igual ou superior a 12 Volt
Baixa resistncia de conduo

65
O driver ST VNH5180 tem como principais caractersticas:
Tenso eltrica mxima do motor 41 Volt
Corrente eltrica mxima de 8 A
Proteo contra sobrecarga
Frequncia mxima de PWM - 20 kHz
Resistncia de conduo (per leg) de 180 m
Este driver precisa de trs sinais para controlar o movimento do motor, dois sinais para
ativar a ponte H, e um sinal para a modelao da largura do impulso que vai para o motor.
A Tabela 8 mostra a tabela de verdade das condies normais de funcionamento do driver
utilizado.
Tabela 8 Tabela de verdade do ST VNH5180
INA INB ENA ENB OUTA OUTB CS Operating Mode
1
1
1 1
H
H
High
Impedance
Brake to Vcc
0 L
Isense=Iout/k
Clockwise (CW)
0
1
L
H
Counterclockwise
(CCW)
0 L
High
Impedance
Brake to GND

67
5. IMPLEMENTAO DO
SISTEMA
Neste captulo so explicados, de forma sucinta, todos os passos realizados na
implementao do trabalho. A primeira seco diz respeito aos clculos matemticos,
relativos cinemtica e o planeamento de trajetrias.
Depois encontra-se uma seco onde demonstrado e explicado o hardware proposto para
o controlo do brao robtico MENTOR, isto porque o hardware que este brao robtico
possua era muito rudimentar.
Por fim, h uma seco referente ao software desenvolvido, na consola e firmware na placa
de controlo do rob.

5.1. CLCULO NUMRICO
Esta seco apresenta todos os clculos necessrios para obter ngulos para posies
desejadas e vice-versa. Para se obter as equaes da cinemtica direta optou-se pelo uso do
formalismo de Denavit-Hartenberg, por ser o mtodo mais recomendado e simples para
robs com mais de trs juntas. A cinemtica inversa, como j foi referido, s possvel
68
atravs de desenvolvimento trigonomtrico. Mas antes de se comear a calcular as
expresses matemticas da cinemtica direta, tem-se que comear a colocar um sistema de
eixos cartesianos (x,y,z) em cada junta seguindo as regras da conveco de Denavit-
Hartenberg.
O primeiro passo localizar e identificar o sistema de coordenadas da origem. O eixo z
0

paralelo ao eixo de rotao da junta 1, o eixo x
0
fica com a orientao de metade do ngulo
mximo da junta 1 e por fim coloca-se o eixo y
0
segundo a regra da mo direita. Na Figura
54 mostra-se o sistema de coordenadas da origem.

Figura 54 Sistema de coordenadas da origem
O eixo z
i
sempre paralelo ao eixo de rotao da junta. O sistema de eixos 1 foi
transladado para o topo do primeiro elo (translao em 185 mm medindo em z
0
), em que

1
= 0 coincidente com o sistema de coordenadas da origem. Na Figura 55 pode-se
observar onde se encontra este sistema de coordenadas.
69

Figura 55 Sistema de coordenadas para a junta 1
O sistema de coordenadas da junta 2 tem a mesma origem que o sistema de coordenadas da
junta 1, s que aqui existe uma rotao positiva de 90 em torno do eixo x
1
. A Figura 56
representa o sistema de coordenadas para a junta 2.

Figura 56 Sistema de coordenadas para a junta 2
Para a junta 3 o sistema de coordenadas localiza-se como mostra a Figura 57 e tem a
mesma orientao que o sistema de coordenada da junta 2 e uma translao de 165 mm em
x
2
.
70

Figura 57 Sistema de coordenadas para a junta 3
O sistema de coordenadas da junta 4, foi analisado com ateno de modo a se conseguir
uma relao entre o sistema de coordenadas da junta 3 e o sistema de coordenadas da
garra, a soluo para este sistema de coordenadas encontra-se representado na Figura 58.
Este sistema de coordenadas sofreu uma rotao negativa de 90 em torno do eixo z
3
, em
relao ao sistema de coordenadas da junta 3, e sofrendo depois uma rotao negativa de
90 em torno de x
4
o que vai resultar no sistema de coordenadas da garra.

Figura 58 Sistema de coordenadas para a junta 4
Por fim, o ltimo passo localizar os sistemas de coordenadas para garra, em que o eixo de
abertura e fecho da garra paralelo ao eixo y e o eixo z paralelo ao eixo da orientao da
garra, segundo a regra da mo direita. A Figura 59 ilustra o sistema de coordenadas da
garra.
71

Figura 59 Sistema de coordenadas para a garra
Por fim, na Figura 60, apresentam-se os vrios sistemas de coordenadas, sendo que estes
seguem todas as regras da conveno de Denavit-Hartenberg.

Figura 60 Sistema de coordenadas do brao robtico


72
5.1.1. CINEMTICA DIRETA SEGUNDO DENAVIT-HARTENBERG
Depois de se ter colocado os eixos de coordenadas em cada junta (seco 5.1.), procedese
obteno da matriz
i-1
A
i
que contm a translao e rotao da junta i em relao junta i-1.
Quando se obtiverem as matrizes procede-se sua multiplicao originando a matriz T,
que consiste na translao, rotao e posio da garra em relao origem. Para a obteno
da matriz
i-1
A
i
necessrio obter as seguintes variveis:

i
- ngulo formado entre x
i-1
e x
i
medido em z
i-1


i-1
ngulo formado entre z
i-1
e z
i
, e medido em x
i

a
i-1
- distncia ao longo de x
i
desde a interseco de x
i
com z
i-1

d
i
distncia ao longo de z
i-1
desde a interseco de x
i
com z
i-1

Na equao (51) tem-se a representao da matriz
i-1
A
i
e das variveis anteriormente
referidas que compem a respetiva matriz.

(51)
5.1.1.1. Sistema de coordenadas da junta 1 visto pelo sistema de coordenadas da
junta 0
Na Tabela 9 encontram-se de forma resumida as rotaes e translaes que so feitas do
sistema de coordenadas da origem para o sistema de coordenadas 1.
Tabela 9 Translao e rotao da junta 1, vista pela junta 0
Rotao em Z
i

1

Translao em Z d
i
185
Translao em X a
i-1
0
Rotao em X
i-1
0
Atravs dos valores anteriormente referidos obtm-se a equao (52), sendo esta referente
matriz de rotao e translao entre os dois primeiros sistemas de coordenadas.

(52)

73
5.1.1.2. Sistema de coordenadas da junta 2 visto pelo sistema de coordenadas da
junta 1
Na Tabela 10 tem-se a rotao e translao da junta 2 vista pela junta 1.
Tabela 10 Translao e rotao da junta 2, vista pela junta 1
Rotao em Z
i

2

Translao em Z d
i
0
Translao em X a
i-1
0
Rotao em X
i-1
90
A equao (53) corresponde matriz
i-1
A
i
da junta 2 vista pela junta 1.

(53)

5.1.1.3. Sistema de coordenadas da junta 3 visto pelo sistema de coordenadas da
junta 2
A Tabela 11 mostra as translaes e rotaes que a junta 2 sofre para originar o sistema de
coordenadas da junta 3.
Tabela 11 Translao e rotao da junta 3, vista pela junta 2
Rotao em Z
i

3

Translao em Z d
i
0
Translao em X a
i-1
165
Rotao em X
i-1
0
Na equao (54) tem-se representado a matriz
i-1
A
i
em relao junta 2 e 3.

(54)


74
5.1.1.4. Sistema de coordenadas da junta 3 visto pelo sistema de coordenadas da
junta 4
Na Tabela 12 tem-se representado as translaes e rotaes que a junta 3 sofre para
originar o sistema de coordenadas da junta 4. A rotao em z, como j tinha sido referido
na seco 5.1, sofreu uma rotao de -90 em torno do eixo z para melhor rotao e
translao do sistema de coordenadas da junta 4 para o sistema de coordenadas da garra.
Tabela 12 Translao e rotao da junta 4, vista pela junta 3
Rotao em Z
i

4
-90
Translao em Z d
i
150
Translao em X a
i-1
0
Rotao em X
i-1
0
A equao (55) refere-se matriz de rotao e translao da junta 4 vista pela junta 3.

[
(

) (

)
(

) (

)


]

(55)

5.1.1.5. Sistema de coordenadas da garra visto pelo sistema de coordenadas da
junta 4
Por fim tem-se o sistema de coordenadas da garra vista pela junta 4. A Tabela 13 mostra as
rotaes e translaes que a junta 4 sofre para originar o sistema de coordenadas da garra.
Tabela 13 Translao e rotao da junta 4, vista pela junta 5
Rotao em Z
i

5

Translao em Z d
i
105
Translao em X a
i-1
0
Rotao em X
i-1
-90
A equao (56) referente ltima matriz de rotaes e translaes da junta i vista pela
junta i-1.

(56)
75
A Tabela 14 um resumo das rotaes e translaes para cada uma das situaes
anteriormente referidas.
Tabela 14 Orientaes e rotaes em torno do eixo x e z
Junta
i

i-1
d
i
a
i-1

1
1
0 0 0
2
2
90 185 0
3
3
0 0 165
4
4
-90 0 150 0
5
5
-90 105 0

Como j tinha sido referido, depois da obteno das matrizes
i-1
A
i
procede-se
multiplicao destas para a originar a matriz T. Na equao (57) tem-se a multiplicao e
na equao (58) o significado de cada termo da matriz T, sendo que n, s e a so as rotaes
que o brao robtico faz em relao origem.


(57)
[


] (58)

Da expresso (58) retiram-se as expresses (59), (60) e (61), referentes posio do rob
para a posio das juntas conhecidas.

)[(

) (

) (

)] (59)

)[(

) (

) (

)] (60)

) (

) (

) (61)



5.1.2. CINEMTICA INVERSA
A cinemtica inversa um dos processos mais importantes para o controlo de um rob,
pois o utilizador na maioria das vezes escolhe a posio final do atuador do rob no espao
e no o valor que as juntas tomam.
76
O clculo da cinemtica inversa complexo, porque no existe nenhuma frmula
matemtica para calcular o valor dos ngulos das juntas para uma posio final para robs
com mais de dois graus de liberdade. No Apndice A encontra-se um formulrio com
algumas expresses da trigonometria. A conveno de Denavit-Hartenberg uma mtodo
matemtico que permite calcular facilmente o valor da posio final atravs dos ngulos
que a juntas tomam, para robs com mais de dois graus de liberdade. A seguir vai-se
demonstrar e explicar como que se calcula a cinemtica inversa para o brao robtico
MENTOR.
Na cinemtica inversa do rob MENTOR h quatro tipos de configurao que o brao
robtico pode tomar, que so:
Brao direito para baixo
Brao direito para cima
Brao esquerdo para baixo
Brao esquerdo para cima
As configuraes brao direito, brao esquerdo dependem dos ngulos das juntas de base;
se o ngulo total da base for inferior a 180 no se consegue ter as duas configuraes; se o
ngulo da junta da base for, por exemplo, 360 podem-se ter as duas configuraes para
qualquer ponto. O brao robtico MENTOR possui um ngulo total de 210 na junta da
base (primeira junta) o que significa que s se consegue obter as duas configuraes em
certos pontos da rea de trabalho. A segunda junta do brao tem um ngulo total de 180, o
que faz com que seja muito complicado de se obter as configuraes de brao direito e
brao esquerdo, logo a configurao que se vai usar a configurao brao esquerdo,
porque a configurao normal do brao robtico MENTOR.
Na Figura 61 mostra-se que s nos 30 de cada extremo (210 - 180 = 30) se pode utilizar
a configurao brao direito (right arm) e brao esquerdo (left arm), porque nos pontos
dessa rea que se consegue inverter os valores de uma dada posio em x e y, e por outro
lado estarem dentro da rea de trabalho do brao robtico.
77

Figura 61 rea em que o brao robtico permite a configurao brao direito e brao esquerdo
Resumindo o que foi dito anteriormente s em pontos muito especficos que se consegue
obter no brao robtico MENTOR a configurao brao esquerdo e brao direito.
De forma a simplificar os clculos da cinemtica inversa optou-se por no introduzir a
rotao da garra (roll) ou
5
, sendo que esta varivel fica ao encargo do utilizador, para
ainda simplificar mais os clculos. O valor de
5
depende do valor de
4
, o que significa
que quando se obtiver o valor de
4
para uma dada posio escolhida, vai-se alcanar o
valor de
5
para o utilizador escolher a orientao da garra.
Para se calcular o valor de
1
simples, visto que este depende de trs elementos, da
abcissa e ordenada da posio desejada e do offset das juntas, porque este valor s dependo
do plano xOy, como se pode verificar na Figura 62. O brao robtico MENTOR no tem
offset, isto , a distncia entre o centro do primeiro elo com o segundo a mesma distncia
entre o centro do segundo elo com o terceiro.

78

Figura 62 Esquema do brao robtico MENTOR, vista de topo
O ngulo da junta 1 (
1
) obtido pelo arco tangente de crculo completo (atan2). Na
equao (62) tem-se
1
para a configurao brao esquerdo e na equao (63) para a
configurao brao direito.

) (62)

(63)
Com todas estas simplificaes s se precisa de calcular
2
,
3
e
4
e estes ngulos vo
depender do valor de z da posio escolhida, do vetor p
1
(vetor de x com y) e da
orientao
3
do ltimo elo em relao base, como se mostra na Figura 63. Tambm nessa
figura est representado a configurao Upper Elbow ou Above Arm (representado a verde)
e Lower Elbow ou Below Arm (representado a preto).
Para calcular o valor de
2
,
3
e
4
atravs de uma dada posio, tem que se voltar a
calcular a matriz da translao e rotao da cinemtica direta atravs da conveno de
Denavit-Hartenberg, s que o primeiro eixo comea na junta 2 e vai at garra e no se
contabiliza a junta 5.



3
Se no for dada a orientao do ltimo elo base (ngulo ), para a cinemtica inversa, tem-se um nmero infinito de
valores para
2
,
3
e
4
, isto , cada um dos trs ngulos depende de um ou dos dois outros ngulos, fazendo com que se
tenha uma infinidade de condies para uma posio desejada.
79

Figura 63 Esquema do brao robtico MENTOR, vista de lado
O vetor p calculado da seguinte forma:


(64)
Na Tabela 15 encontra-se resumido o valor das variveis a usar para o clculo da
cinemtica direta segundo a conveno de Denavit-Hartenberg para o esquema da Figura
63.
Tabela 15 Cinemtica direta para as juntas 2, 3 e 4 segundo Denavit-Hartenberg
i
i

i-1
d
i
a
i-1

2
2
0 0 0
3
3
0 0 165
4
4
0 0 150
5 0 0 0 105
A equao (65) corresponde matriz T da cinemtica direta para o esquema anteriormente
referido.
80



] (65)
De forma a minimizar o tamanho da matriz T anteriormente referida, usaram-se variveis
cujo valor :
L
0
= 185 mm
L
1
= 165 mm
L
2
= 150 mm
L
3
= 105 mm
cos
2
= cos(
2
)
cos
23
= cos(
2
+
3
)
cos
234
= cos(
2
+
3
+
4
)
sin
2
= sin(
2
)
sin
23
= sin(
2
+
3
)
sin
234
= sin(
2
+
3
+
4
)
Atravs da matriz da equao (65) obtm-se as equaes (66), (67) e (68), referentes
posio do rob no plano zOp, sendo p o plano formado pelos eixos de coordenadas xOy.

)
(66)

) (67)

((

) (

)) (68)
Assumindo que so dadas as coordenadas cartesianas, x, y, z e o ngulo de orientao
4
, e
se quer encontrar expresses analticas para os ngulos das juntas
2
,
3
e
4
. Nesse caso, se
se substituir a expresso (68) em (66) e (67) pode-se eliminar
4
obtendo duas equaes em

2
e
3
, dadas por:



4
ngulo de orientao obtido atravs da soma dos ngulos formadors pela junta 2, 3 e 4, ou pelo ngulo que a junta 4
tem em relao ao sistema de coordenadas da base.
81

()

) (69)

()

) (70)
Nas equaes (69) e (70) tem-se do lado esquerdo os membros que se conhecem e do lado
direito as incgnitas a calcular.

()

()
(71)

()

() (72)
Com as expresses (71) e (72), consegue-se obter um manipulador RR, e assim
conseguem-se retirar as equaes da cinemtica inversa para este tipo de rob. Na Figura
64 ilustra-se a configurao que ser usada para o clculo da cinemtica inversa. O ngulo
de orientao faz com que seja possvel eliminar o ngulo
4
e o elo L
3
, restando s os
ngulos
2
e

3
, para facilitar no calculo da cinemtica inversa.

Figura 64 Configurao Upper Elbow esquerda e Lower Elbow direita
Atravs da cinemtica direta retiram-se as expresses:

()
(73)

() (74)
A hipotenusa da configurao planar RR obtida por:

[(

) (

) (

) (

)] (75)
Em seguida, usa-se as seguintes igualdades:
( ) () () () () (76)
( ) () () () () (77)
Portanto, obtm-se a expresso:
82

[(

) ((

) (

) (

) (

))
(

) ((

) (

) (

) (

))]

) (

) (

)]

)
(78)
Atravs da expresso (78) retira-se a equao:
(

(79)
A partir daqui, pode-se obter o ngulo diretamente usando a funo arco cosseno, no
entanto esta funo muito imprecisa para pequenos ngulos. A maneira tpica de evitar
esta impreciso converter de forma a poder utilizar a funo atan2. Pela trigonometria
sabe-se que o quadrado do seno mais o quadrado do cosseno de qualquer ngulo sempre
igual a um (expresso (80)).

)
(

) (


(80)
Atravs das expresses (79) e (80) obtm-se a expresso (81), onde possvel obter as
configuraes Lower Elbow e Upper Elbow.

((

) (

))

( (

))

)
(81)
A configurao Upper Elbow obtida com o sinal negativo na expresso (80) e a Lower
Elbow com o sinal positivo.
Para se obter
2
reescreveu-se as equaes no-lineares originais usando uma mudana de
varivel com ajuda do esquema Figura 65, obtm-se as seguintes equaes:
83

Figura 65 Esquemtico para o clculo de
2

) (82)

) (83)

) (84)

) (85)
onde

) (86)

) (87)
Em seguida, muda-se a forma de escrever as constantes k
1
e k
2
, atravs do auxlio da Figura
66:
84

Figura 66 Esquemtico para o clculo de k
1
e k
2


(88)
(

) (89)

()
(90)

()
(91)
Com as expresses (84), (85), (90) e (91) retiram-se as expresses:

() (

) () (

)
(92)

() (

) () (

)
(93)
ou
() (

) (

) (94)
() (

) (

) (95)

ou ainda

)
(96)

)
(97)
85
Aplicando a funo atan2 s expresses (96) e (97), obtm-se as equaes:

) ( )
(98)

( ) (

) (99)
com as expresses 86, 87 e 99 alcana-se a expresso:

()

()) (

)) (100)
Por fim, depois de se obter
2
e
3
, tira-se o valor de
4
atravs da equao:

(101)
5.1.3. PLANEAMENTO DE TRAJETRIAS
O planeamento de trajetrias um passo importante no controlo do movimento do brao
robtico. O movimento pode ser efetuado no espao operacional (em x, y e z) ou no espao
das juntas (
1
, ,
n
). Uma trajetria linear efetuada no espao operacional, enquanto
uma trajetria livre elaborado no espao das juntas.
No brao robtico MENTOR vai-se implementar um planeamento de trajetrias no espao
das juntas, denominado MoveJ (Joint move), e no espao operacional denominado de
MoveL (Linear move).
O planeamento no espao operacional obtido atravs da equao de uma linha reta no
espao tridimensional. Conhecendo dois pontos, um ponto inicial P(x
i
; y
i
; z
i
) e um ponto
final Q(x
f
; y
f
; z
f
), procede-se aquisio do vetor V que ir passar pelos os dois pontos e ter
a direo do movimento.
O vetor

dado por:

) (102)
A equao de linha reta entre os pontos P e Q :

[ ]
(103)
Daqui retira-se:
86
()
{

()

)
()

)
()

)
[ ] (104)
Em computao, a varivel t substituda por (n/k), sendo que k o nmero de pontos que
se quer entre os dois pontos e n [0; k], como mostra a expresso (105).
()
{

()

()

()

[ ] (105)
Para o planeamento de trajetrias no espao das juntas optou-se por usar uma interpolao
cbica, onde a velocidade inicial e final so nulas e oferece um movimento suave. A
interpolao cbica dada por:
()

(106)
Com as restries de velocidade inicial e final nulas, retiram-se as seguintes expresses:

(107)

(108)

)
(109)

)
(110)
Sendo que t
f
igual ao valor final do tempo pretendido para efetuar o movimento.
Substituindo as expresses (107), (108), (109) e (110) na expresso (106) obtm-se:
()


(111)
Para o clculo usada a equao:
()

[ ] (112)

87
5.2. HARDWARE
Como consideraes iniciais convm referir que a implementao do circuito de controlo
do rob, descrito neste captulo, teve em conta vrios fatores para alm da funcionalidade
pretendida.
O primeiro fator a tecnologia de montagem Surface Mount Device (SMD) escolhida pela
necessidade de minimizar o custo de produo e espao ocupado, uma vez que o hardware
desenvolvido para ser integrado num produto acabado onde o espao disponvel
limitado. H tambm que referir que alguns dos componentes escolhidos, entre eles os
drivers dos motores, no esto disponveis em outras tecnologias de montagem. Quanto
implementao propriamente dita esta ser descrita nas subseces 5.2.1 a 5.2.3, com as
principais funcionalidades descritas em pormenor, bem como os circuitos que permitem o
seu funcionamento.
Nesta seco mostra-se o hardware necessrio para o controlo do brao robtico
MENTOR, tendo em considerao os pontos referidos anteriormente. O brao robtico
MENTOR composto por seis motores DC de 12 Volt, de 250 mA nominais, e seis
potencimetros de 10 k. Logo, o controlador do rob dever controlar seis drivers de
motores DC e ler os seis potencimetros que vo dar o feedback da posio do brao
robtico no espao e a orientao de cada junta.

5.2.1. PLACA DE DRI VER DOS MOTORES
A placa de driver do motor composta pelo ST VNH5180 da ST Microelectronics, que
um driver de motores para tenses mximas at quarenta e um Volt e oito Ampere de
corrente mxima. Optou-se por desenvolver uma placa para cada motor, porque se ocorrer
uma avaria basta s reparar uma placa de driver do motor. O esquema do circuito
eletrnico para a placa de driver do motor encontra-se apresentado na Figura 67.
88

Figura 67 Driver da placa de controlo do motor DC
Uma forma da placa de driver do motor ser amigvel para o utilizador inform-lo do
sentido em que a corrente passa pelo motor; para este efeito colocaram-se dois LED na
sada do driver, como mostra a Figura 68, sendo que um dos LED tem o nodo ligado
sada OUTA e o outro LED tem o nodo ligado sada OUTB, fazendo com que seja
possvel identificar o sentido da corrente atravs de sinais luminosos.

Figura 68 Indicador luminoso para o utilizador do sentido da corrente
89
Para concluir a placa de driver do motor, colocaram-se trs conetores, um que ir ser para
ligar o motor, outro para a alimentao e outro para o controlo do driver, conforme se pode
ver na Figura 69.

Figura 69 Conetores de alimentao e controlo do motor
5.2.2. CONTROLADOR DO ROB
O controlador do rob composto por uma unidade de processamento ARM Cortex-M3. O
mdulo STM32VLDISCOVERY, utilizado para o controlo da aplicao, possui uma
interface que permite aceder a todos os pinos do microcontrolador, sendo assim possvel
implementar circuitos para a utilizao dos perifricos necessrios, mas tambm outros de
utilidade reconhecida para facilitar a implementao de funcionalidades futuras. A placa de
controlo s composta por um microcontrolador (Figura 70) e conetores de I/Os (Figura
71).
90

Figura 70 Mdulo STM32VLDISCOVERY
Devido a este circuito ser a base do controlador do brao robtico, necessita de receber
vrios sinais externos e enviar vrios sinais e, como tal, esta placa tem vrios conetores,
como mostra a Figura 71.
91

Figura 71 Conetores da placa de controlo do rob
5.2.3. J OYSTI CK PARA A CONSOLA
Para melhor manipulao e controlo da posio do brao robtico, optou-se por juntar uma
placa que contenha botes e um joystick de dois eixos. Esta placa composta por um
microcontrolador que ir ler os dois potencimetros do joystick e o estado dos botes. De
seguida vai mandar valores e aes para a consola, para esta depois enviar para a placa de
controlo, onde ir ou no atuar sobre as juntas do rob. Para microcontrolador usou-se um
Microchip PIC18LF2550, com tenses de alimentao entre 2 Volt a 5,5 Volt dependendo
da frequncia a que este trabalha, um porto USB e um porto RS-232 para comunicaes.
A Figura 72 representa o esquema em ORCAD do microcontrolador usado para controlar e
processar os dados da placa do joystick para a consola.
92

Figura 72 Microcontrolador da placa do joystick
O joystick composto por dois potencimetros de 10 k e um switch. O esquema
elaborado em ORCAD para a representao do joystick encontra-se representado na Figura
73.

Figura 73 Joystick
De modo a facilitar o controlo e manipulao do rob, colocaram-se switches para abertura
e fecho da garra e para a manipulao do Menu da consola. O esquemtico dos switches
encontra-se ilustrado na Figura 74.
93

Figura 74 Switches da placa do joystick
5.3. SOFTWARE
O software implementado foi dividido em duas vertentes, uma para software de alto nvel e
outra para de baixo nvel. O software para alto nvel foi desenvolvido no Microsoft Visual
Studio, em linguagem C#, e teve como finalidade criar uma interface grfica para a consola
(FriendlyArm) de modo que seja amigvel para o utilizador e que este consiga controlar o
brao robtico sem qualquer problema.
O desenvolvimento de software para baixo nvel teve como objetivo implementar firmware
para o STM32VLDISCOVERY, no IDE Keil uVision4, em linguagem C. O
STM32VLDISCOVERY tem como finalidade receber instrues da consola e controlar o
brao robtico. Tambm foi desenvolvido um firmware para o microcontrolador Microchip
PIC18F2550 no IDE MPLAB IDE v8.88, com compilador Hi-Tech C Compiler for PIC18
MCUs em linguagem C, tendo como objetivo principal enviar aes do joystick e dos
botes para a consola.
As comunicaes entre os vrios dispositivos so do tipo RS-232, possuindo as seguintes
caractersticas:
Tamanho dos dados: 8 bits
Velocidade de transmisso: 115200 kbps
94
Bits de paragem: 1 stop bit
Bits de paridade: nenhum
Controlo de fluxo: nenhum
Para a comunicao entre o joystick e a consola optou-se pelo USB, que se baseia no
conceito Cliente-Servidor, onde a consola o cliente e o board que contm o joyctick o
servidor. Sempre que a consola necessite de ler dados do board envia um pedido e o board
responde. Neste tipo de comunicao tem-se um array para envio e receo de dados,
sendo que a primeira posio do array corresponde ao tipo de pedido que o cliente faz e as
restantes posies so referentes informao para esse pedido. No lado do servidor a
primeira posio do array corresponde ao pedido do cliente e as restantes informao do
pedido.
5.3.1. MICROSOFT VISUAL STUDIO
A aplicao desenvolvida em Microsoft Visual Studio, na verso 2008 (esta a verso
mais recente suportada pelo FriendlyArm Micro2440 e pelo Windows CE 6.0), foi
desenvolvida com o intuito de colocar o FriendlyArm Micro2440 a trabalhar como uma
consola para melhor controlo do brao robtico MENTOR. A linguagem usada no
Microsoft Visual Studio foi o C# e teve como base conhecimentos prvios desta
linguagem. Para controlo dos objetos usados no Visual Studio usou-se a biblioteca de
objetos .NET Framework Compact 3.5.
A aplicao desenvolvida para a consola consiste em apresentar um menu simples e
amigvel, com quatros opes, que so: Programao On-line, Mover Brao, Executar
programa e Modificar programa. A Figura 75 ilustra o Menu desenvolvido para a consola.
95

Figura 75 Menu da consola
Todas as opes anteriormente mencionadas comunicam com o controlador do MENTOR
atravs de uma comunicao srie (RS-232). Os programas desenvolvidos encontram-se no
formato .txt, sendo fceis de editar e de desenvolver num computador mvel. A
aplicao, ao iniciar, envia por RS-232 o comando # CONNECTED, e s quando
receber OK que esta ativa os botes do Menu, ficando at l desabilitados.
A opo Executar programa (Run Program) consiste em enviar as linhas de cdigo por
RS-232 para o controlador do brao robtico MENTOR, que depois as ir traduzir em
movimentos e/ou aes. A Figura 76 ilustra a opo Executar programa. A primeira
linha de cada programa comea com Start, mas a primeira linha que a consola envia para
o controlo # EXECUTE, que vai informar o controlador que todos os dados depois do
comando # EXECUTE sero para mover e/ou efetuar aes no brao robtico. Por cada
movimento e/ou ao que o brao efetue ser enviada para a consola o valor da posio das
juntas e o estado da garra. A consola s envia a prxima linha ou comando quando o
controlo do brao robtico enviar para esta OK; se no enviar a consola no executa
nenhuma linha de cdigo.
96

Figura 76 Opo Executar programa da consola
De seguida vem a opo Programao On-Line (ON-Line Programming), que consta no
desenvolvimento de um programa de controlo com recurso ao controlador do brao
robtico MENTOR para a obteno da posio que o manipulador se encontra. Para a
obteno da posio, a consola envia o comando # CAPTURE e o controlador do brao
responde com a posio das juntas, posio espacial e o estado da garra. Nesta opo
tambm existe a opo de mover o brao robtico, mas aqui o objetivo ajudar no
desenvolvimento do programa de controlo. A Figura 77 mostra esta opo.
97

Figura 77 Opo Programao On-Line da consola
A seguir vem a opo Mover brao (Move Robot Arm), que consiste no envio do
comando # MOVE, para o controlador entrar no modo MOVE e, de seguida, todos os
comandos enviados so do tipo mover junta para o lado positivo, lado negativo e junta
parada, isto juntamente com a abertura e fecho da garra. O controlador enviar tambm
para a consola a posio da junta para que exista um feedback entre ambos. A Figura 78
ilustra a interface desenvolvida para esta opo.

Figura 78 Opo Move brao da consola
98
Por fim, tem-se a ltima opo, Modificar programa (Modify Program), que serve para
modificar um programa desenvolvido na consola ou um programa desenvolvido em
recurso a outra tecnologia, como um computador. Na Figura 79 pode-se observar a
respetiva opo.

Figura 79 Opo Modificar programa da consola
Em todas as opes, exceto na opo Mover brao, existe a possibilidade de gravar os
ficheiros. Estes so gravados na memria da consola e o nome deles dado pelo dia, ms,
ano, hora e minuto em que gravado, como exemplo 01_11_12_10_05.txt. Tambm
todas as opes, exceto a opo Modificar programa, recebem dados provenientes do
controlador do MENTOR e esto disponveis na consola na barra inferior, sendo a
informao recebida do tipo valor da posio das juntas e valor da posio espacial onde o
brao robtico se encontra.

5.3.2. CONTROLO DO ROB
O controlo do rob consiste em receber dados da consola e atuar sobre o rob. A
comunicao entre a consola e o controlador do rob feita atravs de RS-232. A Figura
80 mostra um diagrama de blocos que relaciona a consola com o brao robtico.
99
Consola Controlo MENTOR Drivers Motores RS-232
Sinais digitais
Brao robtico
MENTOR
Movimento
Posio
Dados
Dados

Figura 80 Relao entre a consola, controlo e MENTOR
O controlador comea por fazer as inicializaes e depois s inicia quando receber da
consola # CONNECTED, enviando para a consola OK, para esta ativar as opes que
a compem. Depois da comunicao entre o controlador e a consola estar estabelecida, o
controlador do MENTOR fica outra vez espera. Se receber o comando # EXECUTE,
deve responder com OK, ficando a saber que todos os futuros dados sero para
movimentar e/ou realizar aes no brao robtico. Os comandos que a consola ir enviar, e
que se iro traduzir em movimento e/ou aes so do tipo:
CLAW_OPEN
CLAW_CLOSE
MOVEL()
MOVEJ()
Os dois primeiros comandos so relativos a aes da garra, os outros comandos so
relativos a movimento. O comando MOVEL() relativo ao brao robtico efetuar uma
trajetria linear. Para tal necessrio enviar uma posio inicial, uma posio final, uma
orientao inicial e final da junta cinco, o ngulo para a posio inicial e final escolhidas,
e a configurao que o rob toma para a posio inicial e final (configurao Upper Elbow
e Lower Elbow). O controlador pega nos dados iniciais e finais, coloca no planeamento de
trajetrias para movimentos lineares, une os dois pontos atravs de um vetor, divide a
unio dos dois pontos em n pontos e depois procede ao clculo da cinemtica inversa para
cada ponto. Por cada ponto calculado ir mover o brao robtico e enviar para a consola o
valor da posio do rob no espao, a posio das juntas e o estado da garra, pois s ir
receber outro comando quando chegar posio final e enviar para a consola OK.
O controlador entra no modo MOVE quando receber da consola o comando # MOVE, e
este responde com OK, depois ir receber um comando do tipo MOVE( junta 1, junta 2,
100
junta 3, junta 4, junta 5, Claw). Dentro do comando MOVE(), o valor da junta i
contm a direo que a junta deve mover ou parar,isto , se o valor for zero a junta deve
estar bloqueada, se for um, a junta desloca-se no sentido contrrio aos ponteiros do relgio
e se for menos um desloca-se no sentido dos ponteiros do relogio. Por cada movimento
e/ou ao que exera deve enviar para a consola a posio no espao, a posio das juntas e
o estado da garra. Quando esta informao chegar consola ser exibida na barra inferior
para o utilizador. O controlador s move a junta i quando receber ordem para tal ou se
ainda no recebeu ordem para parar e no atingiu o valor limite da junta.
O modo CAPTURE do controlador serve para obter a posio do rob no espao, a posio
das juntas e o estado da garra. Para realizar a programao On-Line, o controlador s entra
nesse modo quando receber o comando # CAPTURE e, de seguida, envia os dados das
posies para a consola.
O ltimo modo em que o controlador pode entrar o modo de HOME. Quando recebe o
comando # HOME, este coloca o rob com todas as juntas a zero graus, o que d ao rob
a posio nas abcissas de 420 mm, nas ordenadas de 0 mm e de altura 185 mm.
O programa main deve conter uma rotina que leia os dados recebidos pela porta srie; se os
dados recebidos comearem por #, significa que o programa deve entrar num modo
especifico. Por exemplo, se receber o comando # EXECUTE dever ir para a rotina
EXECUTE, todos os outros dados que no sejam iniciados com # so dados que iro ser
usados na rotina.
Para verificar os dados recebidos atravs da consola utilizou-se a funo if, que verifica se
o primeiro carcter #; se for, a varivel Mode ir conter os dados recebidos exceto com
#.
if(strcmp(GetParam(Data_Received,0,' '),"#")==0)
strcpy(Mode, GetParam(Data_Received,1,' '));
A seguir encontra-se a funo GetParam(), que retorna a anlise da mensagem.
/**
Function that returns the parse the string
msg, nr number, using the separator sep
@param[in] msg string target
@param[in] nr number of occurrence
@param[in] sep separator character
@return Return pointer to Parameter in a
comma delimited list
*/
101

char * GetParam( const char * msg, int nr, char
sep)
{
char *dst, *src;
int cnt = 0;

src = (char *)msg;
do
{
dst = buf;
while (*src && (*src != sep))
*dst++ = *src++;
src++;
} while (cnt++ < nr);
*dst = 0;
return buf; //buf varivel global do tipo char
*buf
}
A seleo do modo de funcionamento da unidade de processamento feita da seguinte
forma:
switch(Mode)
{
case 'EXECUTE':
//function EXECUTE
break;

case 'MOVE':
//function MOVE
break;

case 'CAPTURE':
//function CAPTURE
break;

case 'HOME':
//function HOME
break:

default:
GPIOC.GPIO_BIT_0=0; //Disable all
motors
break;
}



102
5.4. CONCLUSES
O clculo da cinemtica direta foi simples de realizar depois de se perceber como funciona
a conveno de Denavit-Hartenberg e a regra da mo direita. J o clculo da cinemtica
inversa foi demorado, pois levou muito tempo a entender que sem o ngulo de orientao
(ngulo
4
medido em relao base do rob) ter-se-ia um nmero infinito de solues
para determinadas posies no espao. As expresses da cinemtica inversa calculadas
permitem obter a configurao Upper Elbow e Lower Elbow para determinadas posies
no espao, o que dificultou ainda mais a obteno das mesmas.
Para o planeamento de trajetrias, foi implementado uma interpolao cbica para
movimentos no espao das juntas e para o espao operacional usou-se a equao de uma
linha reta que une dois pontos no espao tridimensional.
O hardware desenvolvido teve como base uma unidade de controlo, onde se l os valores
da posio das juntas atravs de potencimetros, controlam-se seis drivers de motores e
pode-se efetuar um elevado processamento a uma frequncia elevada. Tambm aqui foi
desenvolvido um pequeno board, que contm um joystick e botes, com a finalidade de
ajudar o utilizador a conseguir uma melhor manipulao do brao robtico.
A fim de finalizar o captulo da implementao foi necessrio desenvolver software para a
consola, controlo do MENTOR e joystick.
O trabalho implementado, encontra-se apresentado no Anexo A, assim como os ficheiros
de MATLAB para o clculo da cinemtica direta e inversa do brao robtico MENTOR,
uma aplicao destinada ao clculo da cinemtica, ficheiros relativos implementao da
interface grfica, software desenvolvido e o projeto do hardware desenvolvido.

103
6. TESTES E VALIDAO DO
SISTEMA DESENVOLVIDO
Este captulo baseia-se nos testes e validao de todo o trabalho implementado. Aqui sero
discutidos todos os resultados obtidos.

6.1. CLCULO NUMRICO
Nesta seco validam-se os resultados obtidos na seco 5.1 com uma aplicao
desenvolvida (Figura 81) no Visual Studio, em linguagem C#, para essa finalidade.
104

Figura 81 Aplicao desenvolvida para o clculo da cinemtica direta e inversa
6.1.1. CINEMTICA DIRETA
As expresses da cinemtica direta devem ser validadas, para que no introduzam erros
nos seus clculos. Para tal procede-se validao e comparao de valores tericos
conhecidos com valores de simulao.
Para
1
=0,
2
=0,
3
=0,
4
=0,
5
=0, tem-se a posio calculada x=420, y=0 e
z=185 e esta mesma posio se obtm em simulao, como mostra a Figura 82.
105

Figura 82 Teste da cinemtica direta para a primeira iterao
Para
1
=45,
2
=0,
3
=0,
4
=0,
5
=0, tem-se teoricamente a posio x=296,9848,
y=296,9848 e z=185, tal como em simulao, como mostra a Figura 83.

Figura 83 Teste da cinemtica direta para a segunda iterao
Para
1
=90,
2
=0,
3
=0,
4
=0,
5
=0, tem-se teoricamente a posio x=0,
y=420 e z=185, e o mesmo resultado se obtm em simulao, como ilustra a
Figura 84.

106

Figura 84 Teste da cinemtica direta para a terceira iterao
Para
1
=0,
2
=90,
3
=0,
4
=0,
5
=0, tem-se teoricamente a posio x=0, y=0 e
z=605, sendo os mesmos valores obtidos em simulao, como apresenta a Figura
85.

Figura 85 Teste da cinemtica direta para a quarta iterao
Para
1
=45,
2
=0,
3
=45,
4
=45,
5
=0, tem-se teoricamente a posio
x=265,919, y=265,919 e z=290,066, e os mesmos valores so obtidos em
simulao, como mostra a Figura 86.
107

Figura 86 Teste da cinemtica direta para a quinta iterao
6.1.2. CINEMTICA INVERSA
As expresses obtidas na seco 5.1.2 para o clculo da cinemtica inversa, tambm vo
ser validadas atravs da aplicao referida na seco 6.1.
Para a posio x=420, y=0, z=185 e =0, tem-se teoricamente uma s soluo da
cinemtica inversa, que corresponde aos seguintes ngulos,
1
=0,
2
=0,
3
=0,

4
=0,
5
=0. Na Figura 87 mostram-se os resultados obtidos em simulao.

Figura 87 Teste da cinemtica inversa para a primeira iterao
108
Para a posio x=376,066, y=0, z=291,066 e =0, tem-se teoricamente a soluo
correspondente aos seguintes ngulos,
1
=0,
2
=0,
3
=45,
4
=45,
5
=0. A
Figura 88 mostra que para a dada posio final obtm-se duas configuraes do
brao.

Figura 88 Teste da cinemtica inversa para a segunda iterao
Para a posio x=226,095; y=226,095; z=449,899 e =40, obtm-se teoricamente
a soluo correspondente aos ngulos
1
=45,
2
=30,
3
=20,
4
=10,
5
=0. Na
Figura 89 pode-se ver que para a dada posio final se obtm duas configuraes
do brao.
109

Figura 89 Teste da cinemtica inversa para a terceira iterao
6.2. TRABALHO DESENVOLVIDO
De todo o trabalho desenvolvido em termos de software e hardware s se testou o software
desenvolvido em Microsoft Visual Studio para o board FriendlyArm. No foi possvel
verificar o hardware e o software referentes ao controlo do MENTOR, porque o
Departamento de Engenharia Eletrotcnica do Instituto Superior de Engenharia do Porto,
no tinha fundos monetrios para fazer a aquisio das placas de circuito impresso (PCI ou
em ingls Printed Circuit Board - PCB) para o controlo do MENTOR e para o driver do
motor, bem como os componentes que compem as PCBs. O valor da implementao
deste projeto encontra-se calculado no Anexo B.

6.2.1. INTERFACE GRFICA - CONSOLA
Como referido na seco anterior, s foi possvel testar a aplicao para a consola, porque
o candidato a possua e a pde testar ao mximo. Como tal so demonstrados testes
relativos aos dados que a consola envia e os dados que recebe. Estes testes encontram-se
num ficheiro no Anexo A.

110
6.3. CONCLUSES
Nesta seco comentam-se, por tpicos, os resultados obtidos em cada seco deste
captulo, de forma mais sucinta para o leitor.
Na seco 6.1.1 os resultados obtidos foram muito satisfatrios: no caso da primeira,
terceira e quarta iterao obteve-se em alguns casos x e y prximos de zero, sendo que o
valor terico zero. Isto deve-se ao facto do software utilizado efetuar clculos em vrgula
flutuante
5
. A obteno destes valores pode ser obtida atravs dos ficheiros de MATLAB ou
de uma aplicao que esto contidos no Anexo A.
Os resultados obtidos na seco 6.1.2 foram inesperados, porque a equao da cinemtica
inversa calculada e obtida permite obter dois valores, um para cada configurao que o
brao robtico pode adotar para atingir a mesma posio final. Se os valores de posio
introduzidos, ou o valor do ngulo , no estiverem corretos ser emitida uma mensagem
de erro.
Para finalizar, devido aos custos de implementao deste projeto e no existncia de
fundos monetrios para a implementao do mesmo, no foi possvel testar o hardware
desenvolvido nem testar e corrigir pequenos erros do software desenvolvido.



5
Em vrgula flutuante pode-se representar um nmero em diversas formas, como por exemplo o nmero 1234, pode ser
representado por 1,234x10
3
ou 123,4x10
1
, e assim ao se efetuar clculos em vrgula flutuante o resultado final pode ser
uma aproximao do valor real esperado.
111
7. CONCLUSES
Ao longo do presente documento tentou-se mostrar e explicar como surgiu a robtica, que
tipos de configurao de robs esto disponveis no mercado, quais so as partes que
compem um brao robtico, que tipo de acionamento estes podem ter e quais os sensores
so usados para o controlo do mesmo.
Ao nvel terico tambm se falou na matemtica por de trs do controlo de um rob, a qual
serve para obter uma posio no espao conhecendo o valor das juntas ou conhecer o valor
das juntas para uma dada posio (cinemtica do rob). Na robtica a matemtica no se
resume s a posicionamento mas tambm s velocidades e aceleraes que os atuadores
devem tomar para satisfazer determinados movimentos (dinmica do rob). Para finalizar
tem-se o planeamento de trajetrias e os sistemas de controlo, sendo o planeamento de
trajetrias usado para a unio de dois pontos, quer no espao operacional quer no espao
das juntas, e os sistemas de controlo so usados para o controlo de velocidade e acelerao
que os atuadores devem ter para uma determinada trajetria.
O captulo a seguir parte terica da robtica apresenta a arquitetura do sistema onde so
mencionados os principais componentes e tecnologias para a realizao e implementao
do projeto em causa. Os mais salientados foram o board FriendlyArm que, devido s suas
caractersticas tcnicas, que permitiram us-lo como uma consola para controlo do brao
112
robtico, o board STM32VLDISCOVERY, que devido ao seu pequeno e poderoso
processador, bem como ao baixo preo de aquisio do mesmo beneficiou para efetuar o
sistema de controlo do brao robtico, e o software de desenvolvimento Microsoft Visual
Studio, devido ao poder de computao e simplicidade para o desenvolvimento interfaces
grficas.
De seguida, apresenta-se o captulo da implementao onde se explicou que o brao
robtico MENTOR carecia de um upgrade a nvel de software e hardware, pois este no
era amigvel para o utilizador e era limitado. Este captulo foi divido em clculo numrico,
hardware e software. O clculo numrico surgiu devido a inexistncia das expresses que
compem a cinemtica direta e inversa do brao robtico. Neste captulo no foi possvel
efetuar um controlo dinmico devido escassa informao sobre o sistema de acionamento
que o brao robtico MENTOR dispe, pois para efetuar um controlo dinmico
necessrio saber as caractersticas do sistema de acionamento.
O captulo que se seguiu foi o dos testes realizados relativos implementao do projeto,
sendo que este captulo ficou incompleto devido s razes mencionadas relacionadas com a
falta de fundos monetrios. Os resultados obtidos foram satisfatrios em relao
implementao matemtica e a aplicao desenvolvida de fcil utilizao e perceo.
De forma a finalizar o presente documento, ser apresentada uma sntese e uma perspetiva
futura resultante da realizao do trabalho. A sntese que se pode concluir com a realizao
do trabalho foi que, os robs podem auxiliar na realizao de tarefas que podem causar
perigo ao ser Humano e trabalhar continuamente sem paragem, tendo o contra, de colocar
o posto de trabalho Humano em risco. A preciso, repetibilidade e resoluo que os robs
possuem hoje em dia, elevada devido ao sistema de controlo implementado, tipo de
implementao no planeamento de trajetrias e da disposio de sensores de alta resoluo
no mercado.
Uma das perspetivas futuras deste trabalho j foi mencionada na seco 3.6, e consiste no
desenvolvimento de expresses matemticas para simplificar o clculo da cinemtica
inversa de um manipulador com mais de trs graus de liberdade, j que o formalismo de
Denavit-Hartenberg permitiu simplificar o clculo das expresses da cinemtica direta para
manipuladores com mais de trs graus de liberdade. Tendo duas formas simples para o
utilizador calcular a cinemtica de um rob, a matemtica envolvida na robtica poder ser
113
vista com outros olhos e o desenvolvimento no mbito da robtica ser superior. A outra
prespectiva futura, consiste em colocar o brao robtico MENTOR operacional, e como
tal, solicitar ao Departamento de Engenharia Eletrotecnica do Instituto Superior de
Engenharia do Porto, para dispor verbas monetrias para a compra das placas de circuitos
impresso e respectivos componentes.
Por fim sugeria uma atualizao do brao robtico MENTOR existente no Laboratrio de
Controlo do Instituto Superior de Engenharia do Porto, que consistia na alterao dos
potencimetros por codificadores ticos baseados na codificao de Gray (codificadores
absolutos), pois estes no sofrem um desgaste mecnico como os potencimetros. Os
codificadores de Gray tambm tm a vantagem de no ser preciso utilizar portas
analgicas, bastando s portas digitais para efetuar a leitura da posio.

115
Referncias Documentais
[1] Rosheim; Mark Elling. Leonardos Lost Robots. Springer, 2006, p. 69
[2] Rob da Unimation; Acedido a 1 de Novembro de 2012;
http://www.xtimeline.com/evtview.aspx?id=113072
[3] Brao de Standford; Acedido a 1 de Novembro de 2012;
http://infolab.stanford.edu/pub/voy/museum/pictures/display/1-Robot.htm
[4] Brao robtico PUMA; Acedido a 1 de Novembro de 2012;
http://newplans.net/Robotics/Laboratory/act.puma.htm
[5] KUKA FAMULUS; Acedido a 1 de Novembro de 2012; http://www.ifr.org/history/
[6] Honda P3; Acedido a 1 de Novembro de 2012;
http://en.wikipedia.org/wiki/Honda_P3
[7] Sony QRIO; Acedido a 1 de Novembro de 2012; http://realitypod.com/2010/06/top-
10-modern-robots/sonyqrio/
[8] ABB FlexPicker; Acedido a 1 de Novembro de 2012;
http://www.robotmatrix.org/Parallelrobot.htm
[9] KUKA KR 16; Acedido a 1 de Novembro de 2012; http://www.kuka-
robotics.com/en/products/industrial_robots/low/kr16_2/
[10] Porto Editora Dicionrio; Acedido a 27 de Outubro de 2012;
http://www.infopedia.pt/lingua-portuguesa/rob%C3%B4
[11] Isaac Asimov, I, Robot, New York: Doubleday & Company, 1950
[12] Rosheim, Mark E.; Robot Evolution: The Development of Anthrobotics; Wiley;
1994;ISBN 0-471-02622-0
[13] Esquema rob articulado; Acedido a 1 de Novembro de 2012;
http://www.robotmatrix.org/ArticulateRobotic.htm
[14] Configuraes de braos robticos; Acedido a 1 de Novembro de 2012;
http://www.societyofrobots.com/robot_arm_tutorial.shtml
[15] Latombe, Jean-Claude; Robot Motion Planning; Springer; 1990; ISBN 0-7923-9129-
2
[16] Plataforma de Stewart; Acedido a 1 de Novembro de 2012;
http://www.physikinstrumente.com/en/news/fullnews.php?newsid=155
[17] Rob de acionamento hidrulico; Acedido a 1 de Novembro de 2012;
http://journal.fluid-power.net/journal/issue13/fprcentre13.html
[18] Rob de acionamento pneumtico; Acedido a 1 de Novembro de 2012;
http://ailab.ifi.uzh.ch/robots
116
[19] Potenciomatro angular; Acedido a 1 de Novembro de 2012;
http://www.thelearningpit.com/hj/plcs_files/plcs-642.gif
[20] Spong, Mark W.; Hutchinson, Seth; Vidyasagar, M.; Robot Modeling and Control;
Wiley, 2005; ISBN 978-0471649908
[21] Siciliano, Bruno; Khatib, Oussama - Springer Handbook of Robotics:
Springer+Business Media; 2008. ISBN 978-3-540-23957-4, e-ISBN 978-3-540-
30301-5
[22] Craig, John J. Introduction to Robotics Mechanics and Control; Addison-Wesley
Publishing Company, Inc; 1989. ISBN 0-201-09528-9
[23] Nof, Shimon Y. - Handbook of Industrial Robotics; John Wiley & Sons, Inc; 1999.
ISBN 0-471-17783-0
[24] Campos, M.; Kumar, V.; Bajcsy R.; "Kinematic Identification of
Linkages,"Proceedings of the 3rd International Conference on Advances in Robot
Kinematics, Ferrara, Italy, Sep. 7-9, 1992
[25] Kumar, V.; Introduction to Robot Geometry and Kinematics; Acedido a 27 de
Outubro de 2012;
http://www.seas.upenn.edu/~meam520/notes02/IntroRobotKinematics5.pdf
[26] Documentao do brao robtico MENTOR consultar Anexo A
[27] FriendlyArm; Acedido a 1 de Novembro de 2012; http://www.friendlyarm.net/
[28] ATX Documentation v2.2, Acedido a 1 de Novembro de 2012;
http://www.formfactors.org/developer%5Cspecs%5Catx2_2.pdf
[29] STM32VLDISCOVERY, Acedido a 1 de Novembro de 2021;
http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITE
RATURE/USER_MANUAL/CD00267113.pdf
117
Apndice A. Relaes trigonomtricas
A seguinte figura ajuda a entender a trigonometria.

O cosseno do ngulo obtido atravs da diviso do cateto adjacente (OC) pela
hipotenusa (OB), e dado pela expresso:

(1)
O seno do ngulo obtido atravs da diviso do cateto oposto (BC) pela hipotenusa
(OB), e dado por:

(2)
A tangente de um ngulo obtida pela expresso:



(3)
Pelo teorema de Pitgoras sabe-se que a soma do quadrado dos catetos igual ao quadrado
da hipotenusa, na trigonometria o quadrado da hipotenusa obtido atravs do quadrado do
cateto adjacente com o quadrado do cateto oposto, ento sabe-se que:

(4)
118
Nas expresses (5) e (6) tm-se duas relaes usadas no clculo trigonomtrico.
( ) () () () () (5)
( ) () () () () (6)
Para uma equao no linear do tipo:
() () (7)
Pode-se definir:
()

e ()

(8)
Note- q r rr usando a funo atan2:
(

) (9)
Agora rescreve-se a equao (7) como:
()() ()()

(10)
ou
( )

(11)
Isto d duas solues para em termos do ngulo conhecido :

) (12)


119
Anexo A. Documentao do trabalho
O candidato optou pela colocao de toda a informao relativa ao projeto num CD e na
sua pgina pessoal do Instituto Superior de Engenharia do Porto,
ave.dee.isep.ipp.pt/~1060380. Nesta pgina pode-se obter os ficheiros do hardware,
software, clculo numrico e o documento escrito.
121
Anexo B. Custos de implementao
No presente anexo so apresentados os custos da implementao do presente projeto.
Componente Descrio Quantidade Custo total
PCB
Controlo do MENTOR dimenso 80 mm 125 mm,
dupla face, SolderMask, serigrafia e furos metalizados
1 85,00 [1]
Driver do motor dimenso 40 mm 40 mm, dupla
face, SolderMask, serigrafia e furos metalizados
6 85,00 [1]
Placa do joystick dimenso 40 mm 62 mm, face
simples, SolderMask, serigrafia e furos metalizados
4 40,00 [1]
Processador
STM32VLDISCOVERY 1 8,33 [2]
FriendlyArm Micro2440 + 7 LCD Display + SDK
board
1 185,00 [3]
Microchip PIC18F2550 - SMD 1 4,35 [2]
Driver ST VNH5180 6 3,14 [2]
Resistncias
1 k 100 2,20 [2]
1,5 k 100 2,20 [2]
4,7 k 100 2,20 [2]
10 k 100 2,20 [2]
100 k 100 2,20 [2]
Condensadores 100 nF/10 V 100 1,20 [2]
470 uF/30 V 10 5,00 [2]
33 nF/10 V 100 1,00 [2]
22 pF/10 V 100 1,00 [2]
122
470 nF/10 V 100 1,00 [2]
Sinalizao LED 4 2,00 [2]
MOSFET IRFR3707Z 6 0,96 [2]
Cristal 20 MHz 1 0,30 [2]
Botes Switches Push-Buttons 10 0,10 [2]
Conetores Mini USB-B 1 0,38 [2]
ATX 24 pinos 1 0,92 [2]
112 20 2,00 [2]
16 20 2,00 [2]
14 20 2,00 [2]
12 20 2,00 [2]
Outros Joystick 1 2,60 [4]
Fonte de alimentao ATX 1 20,00
Total: 500,00 [5]

[1] Circuito Total, Acedido a 1 de Novembro de 2012, http://www.circuitotal.pt/
[2] Mouser Electronics, Acedido a 1 de Novembro de 2012, http://pt.mouser.com/
[3] GeeeTech, Acedido a 1 de Novembro de 2012, http://www.geeetech.com/1g-micro2440-with-
7-inch-tft-lcd-sdk-p-237.html
[4] DealExtreme, Acedido a 1 de Novembro de 2012, http://dx.com/p/genuine-ps2-ps3-
controller-repair-parts-3-pin-analog-stick-black-107125?item=19
[5] O valor previsto contm uma pequena margem para imprevistos.

123

124