Você está na página 1de 0

Robtica Industrial

Apontamentos tericos

Exerccios para aulas prticas

Problemas de exame resolvidos











Vtor M. F. Santos


Departamento de Engenharia Mecnica

Universidade de Aveiro

2003-2004










Contedo
1. INTRODUO............................................................................................................................................ 1-2
1.1 ORIGEM DO TERMO 'ROBOT'.................................................................................................................. 1-2
1.2 ALGUMAS DEFINIES DE ROBOT E ROBTICA................................................................................. 1-2
1.3 CLASSIFICAO DE ROBOTS................................................................................................................. 1-3
1.3.1 Geraes (cronologicamente) .......................................................................................................... 1-3
1.3.2 Nvel de inteligncia do controlador (pela JIRSA) .......................................................................... 1-3
1.3.3 Nvel de controlo dos programas no controlador............................................................................ 1-3
1.3.4 Linguagem de programao ............................................................................................................ 1-3
1.4 ALGUNS MARCOS NA HISTRIA DA ROBTICA................................................................................... 1-3
1.5 OS MANIPULADORES ROBTICOS......................................................................................................... 1-4
1.5.1 Robtica fixa versus robtica mvel ................................................................................................ 1-4
1.5.2 Elementos principais de um manipulador (ou robot industrial)...................................................... 1-4
1.6 O ROBOT E A AUTOMAO.................................................................................................................... 1-5
1.6.1 Tipos de automao ......................................................................................................................... 1-5
1.6.2 Aplicaes tradicionais dos manipuladores industriais .................................................................. 1-6
1.7 IMPORTNCIA DO ROBOT INDUSTRIAL ............................................................................................... 1-6
2. ESTRUTURA E TIPOLOGIA DE MANIPULADORES ........................................................................ 2-2
2.1 COMPONENTES ....................................................................................................................................... 2-2
2.1.1 Brao mecnico................................................................................................................................ 2-2
2.1.2 Ponta ou Garra (End-effector)......................................................................................................... 2-2
2.1.3 Actuadores........................................................................................................................................ 2-3
2.1.4 Sensores ........................................................................................................................................... 2-4
2.1.5 Controlador...................................................................................................................................... 2-5
2.2 TIPOS DE JUNTAS.................................................................................................................................... 2-6
2.2.1 Graus de liberdade e graus de mobilidade ...................................................................................... 2-6
2.2.2 Representao e arranjo cinemtico................................................................................................ 2-7
2.2.3 O brao humano............................................................................................................................... 2-7
2.3 ESPAO DE TRABALHO E TIPOS DE MANIPULADORES....................................................................... 2-7
2.3.1 Cartesiano (PPP) ............................................................................................................................. 2-8
2.3.2 Cilndrico (RPP) .............................................................................................................................. 2-8
2.3.3 Esfrico (RRP).................................................................................................................................. 2-9
2.3.4 Articulado Horizontal - SCARA (RRP) ............................................................................................ 2-9
2.3.5 Articulado vertical (antropomrfico) - RRR .................................................................................. 2-10
2.4 RESOLUO, REPETIBILIDADE, PRECISO........................................................................................ 2-10
3. SISTEMAS DE COORDENADAS............................................................................................................. 3-2
3.1 NOES INTRODUTRIAS - REVISES.................................................................................................. 3-2
3.1.1 Sistemas de eixos.............................................................................................................................. 3-2
3.1.2 Vectores e Matrizes .......................................................................................................................... 3-2
3.1.3 Pontos e referenciais........................................................................................................................ 3-6
3.2 TRANSFORMAES GEOMTRICAS ELEMENTARES........................................................................... 3-7
3.2.1 Exemplos de transformaes............................................................................................................ 3-7
3.2.2 A notao matricial para representar transformaes de um ponto a duas dimenses .................. 3-8
3.2.3 Matriz rotao para um caso geral................................................................................................ 3-11
3.2.4 Limitaes da matriz de transformao para representar a translao........................................ 3-12
3.3 COORDENADAS HOMOGNEAS........................................................................................................... 3-12
3.3.1 Introduo de componentes adicionais na matriz de transformao ............................................ 3-12
3.3.2 Transformaes compostas - produtos de matrizes de transformao.......................................... 3-13
3.4 MATRIZES DE TRANSFORMAO A 3 DIMENSES............................................................................ 3-15
3.4.1 Generalizao dos conceitos para 3 dimenses ............................................................................ 3-15
3.4.2 Componentes da matriz de transformao..................................................................................... 3-15
3.4.3 Interpretaes do que significa a matriz de transformao........................................................... 3-16
3.4.4 Ps-multiplicao e pr-multiplicao de matrizes de transformao.......................................... 3-18
3.4.5 Transformaes inversas. .............................................................................................................. 3-19
3.4.6 Grafos e equaes de transformao............................................................................................. 3-21
3.5 ORIENTAO E NGULOS DE EULER (RPY)...................................................................................... 3-25

ii
3.5.1 A componente de orientao numa transformao........................................................................ 3-25
3.5.2 Formas de expressar a orientao................................................................................................. 3-26
4. CINEMTICA DIRECTA DE MANIPULADORES............................................................................... 4-2
4.1 CINEMTICA DE UM MANIPULADOR.................................................................................................... 4-2
4.1.1 Definio.......................................................................................................................................... 4-2
4.1.2 Espao das juntas e espao cartesiano............................................................................................ 4-2
4.1.3 O algoritmo da Cinemtica Directa................................................................................................. 4-3
4.2 PARMETROS DE J UNTAS E ELOS......................................................................................................... 4-3
4.2.1 Eixo de uma junta............................................................................................................................. 4-3
4.2.2 Os quatro parmetros de elos e juntas............................................................................................. 4-4
4.2.3 Alguns exemplos de elos................................................................................................................... 4-5
4.2.4 Os parmetros cinemticos variveis .............................................................................................. 4-8
4.2.5 Transformao
i-1
A
i
associada a um elo .......................................................................................... 4-9
4.3 ATRIBUIO DE SISTEMAS DE COORDENADAS ................................................................................ 4-10
4.3.1 Exemplos simples de sistemas de coordenadas.............................................................................. 4-10
4.3.2 Algoritmo de Denavit-Hartenberg ................................................................................................. 4-13
4.3.3 Representao de Denavit-Hartenberg para um PUMA de 6 DOF .............................................. 4-13
4.4 EXEMPLOS DE CONSTRUO DA CINEMTICA DIRECTA................................................................ 4-14
4.4.1 Um manipulador a 5 DOF (Microbot Alpha II) ............................................................................ 4-14
4.4.2 Um manipulador do tipo SCARA (4 DOF) .................................................................................... 4-16
4.5 NGULOS FINAIS DE ORIENTAO EM FUNO DAS VARIVEIS DE J UNTA................................. 4-18
4.5.1 Comparao da matriz RPY(,,) coma parte rotacional da matriz
R
T
H
.................................... 4-18
4.5.2 Limitaes de preciso e reformulao ......................................................................................... 4-19
4.5.3 Exemplo de aplicao a um manipulador com 2 DOF em 3 dimenses........................................ 4-21
5. CINEMTICA INVERSA.......................................................................................................................... 5-2
5.1 O PROBLEMA........................................................................................................................................... 5-2
5.1.1 Resoluo para um manipulador RR no plano................................................................................ 5-2
5.1.2 Resoluo para o manipulador RR a 3D......................................................................................... 5-3
5.1.3 Mtodos e condies de existncia de solues. .............................................................................. 5-4
5.1.4 A redundncia cinemtica................................................................................................................ 5-4
5.2 ALGORITMO PARA UMA HEURSTICA DE CINEMTICA INVERSA..................................................... 5-6
5.3 RECURSO A TRANSFORMAES INVERSAS E COMPARAO DOS ELEMENTOS MATRICIAIS........ 5-7
5.4 SOLUO DE UMA EQUAO USUAL NO PROBLEMA DA CINEMTICA INVERSA........................... 5-8
5.5 ALGUMAS SOLUES ANALTICAS PADRO....................................................................................... 5-8
5.5.1 Robot planar de 3 elos ..................................................................................................................... 5-9
5.5.2 Soluo do brao antropomrfico a 3 DOF .................................................................................. 5-10
5.5.3 Soluo do punho esfrico ............................................................................................................. 5-12
5.5.4 Manipuladores com um punho esfrico ......................................................................................... 5-14
6. CINEMTICA DIFERENCIAL ................................................................................................................ 6-2
6.1 A PROBLEMTICA................................................................................................................................... 6-2
6.2 TRANSFORMAES DIFERENCIAIS....................................................................................................... 6-2
6.2.1 Conceitos.......................................................................................................................................... 6-2
6.2.2 Metodologia de utilizao................................................................................................................ 6-3
6.2.3 Exemplo numrico............................................................................................................................ 6-4
6.3 O J ACOBIANO DE UM MANIPULADOR .................................................................................................. 6-5
6.3.1 Determinao do Jacobiano ............................................................................................................ 6-6
6.3.2 Jacobiano inverso ............................................................................................................................ 6-7
6.3.3 Recurso pseudo-inversa ................................................................................................................ 6-9
6.4 SINGULARIDADES................................................................................................................................... 6-9
7. INTRODUO AO PLANEAMENTO DE TRAJECTRIAS............................................................ 7-12
7.1 TIPOS DE MOVIMENTO......................................................................................................................... 7-12
7.2 ABORDAGENS PARA PLANEAMENTO DE TRAJ ECTRIAS................................................................. 7-12
7.3 PLANEAMENTO NAS J UNTAS............................................................................................................... 7-13
7.3.1 Funo para a continuidade da velocidade................................................................................... 7-13
7.3.2 Planeamento nas juntas com pontos intermdios de passagem..................................................... 7-14
7.3.3 Alternativa a polinmios de ordem superior.................................................................................. 7-15
7.4 PLANEAMENTO NO ESPAO OPERACIONAL ...................................................................................... 7-17

iii
7.4.1 Princpios ....................................................................................................................................... 7-17
7.4.2 Problemas no planeamento do espao operacional ...................................................................... 7-19
8. INTRODUO VISO POR COMPUTADOR................................................................................... 8-1
8. INTRODUO VISO POR COMPUTADOR................................................................................... 8-1
INTRODUO E GENERALIDADES................................................................................................................ 8-2
Definio e reas da viso por computador
A imagem digital
Tcnicas de iluminao
GEOMETRIA DA FORMAO DE IMAGEM................................................................................................. 8-10
Transformao geomtrica
Calibrao da cmara
PROCESSAMENTO A BAIXO NVEL ............................................................................................................. 8-13
Relaes entre os elementos de imagem (pixels)
Ferramentas para processamento espacial de imagem: filtros e tcnicas.
ABORDAGEM A MDIO NVEL E MORFOLOGIA......................................................................................... 8-21
Operadores e operaes morfolgicas
Segmentao



Enquadramento e objectivos da disciplina
A designao robtica industrial surge do estudo dos manipuladores robticos que so usualmente
conhecidos por robots industriais. A disciplina tem como principal objectivo o de dar formao sobre os
princpios da manipulao robtica e a sua fundamentao matemtica. Desse modo, no se aborda uma
linguagem particular para a programao de robots industriais, mas espera-se que, no final, um aluno com
aproveitamento e com conhecimentos rudimentares de programao, consiga aprender e compreender uma
qualquer linguagem para programar manipuladores.
A disciplina enquadra-se no perodo final de uma licenciatura com afinidade automao, e
pressupe bons conhecimentos de lgebra e das grandezas e conceitos de mecnica, bem como uma razovel
capacidade de lidar com objectos no espao a trs dimenses.
Antes de entrar no ponto central do programa, que so a cinemtica directa, inversa e diferencial,
dado um certo destaque a sistemas de coordenadas e transformaes geomtricas para permitir uma
progresso mais slida pelo programa dentro.
Em detrimento da esttica e dinmica de manipuladores, que se reconhece ser de importncia muito
relevante, nomeadamente para o controlo, projecto e concepo de braos robticos, optou-se por fazer uma
introduo viso por computador pelo facto de tal rea se apresentar como das mais importantes na
robtica industrial actual. Igualmente consequncia desse cuidado a relativamente pequena dimenso da
ateno dada ao planeamento de trajectria. Todavia, os fundamentos e mtodos principais esto
contemplados e assegurados.
Na componente prtica os alunos trabalharo em MatLab que se revela uma ferramenta
perfeitamente indicada para estas matrias onde a manipulao de vectores e matrizes , a modo de dizer,
obrigatria.
Bibliografia
Introduction to Robotics P. McKerrow, Addison-Wesley, 1993.
Robotics: Control, Sensing, Vision, and Intelligence K. Fu, R. Gonzalez, C. Lee, McGraw-Hill, 1987.
Modeling and Control of Robot Manipulators L. Sciavicco, B. Siciliano, McGraw-Hill, 1996.
Robot Manipulators: Mathematics, Programming, and Control R. Paul, MIT Press, 1981.
Introduction to Robotics: Mechanics and Control J . Craig, Addison-Wesley, 1989.
Fundamentals of Robotics: Analisys & Control R. J . Schilling, Prentice-Hall, 1990.
Industrial Robotics: Technology, Programming, and Applications M. P. Grover et al., McGraw-Hill,
1986.

Mechanics and Control of Robots K. Gupta, Springer Verlag, 1997.
Industrial Robotics Handbook V. Hunt, Industrial Press Inc., 1983.
Nota
Este documento no substitui a bibliografia. Trata-se de resumos, de carcter no totalmente
completo e, por vezes, de densidade varivel na abordagem dos diversos assuntos.


Captulo 1

Introduo

Robtica Industrial V. Santos
Introduo 1-2
1. Introduo
1.1 Origem do termo 'robot'
Em portugus h o termo alternativo "rob". O termo eslavo Robota significa trabalhos forados ou
escravos, e teve a sua divulgao numa pea de 1921 de Karel apek.
Numa evoluo do mito passando pelo sonho de apek (entre outros) at fico dos tempos
correntes, o conceito de robot ou servo do homem tem ocupado a mentalidade do ser humano. Um exemplo
contemporneo dessa realidade foi dado pelo grande contributo de Isaac Asimov, que chegou a definir as
Leis da Robtica por volta de 1950:
1 Lei: Um robot no pode maltratar um ser humano, ou pela sua passividade deixar
que um ser humano seja maltratado.
2 Lei: Um robot deve obedecer s ordens dadas por um ser humano, excepto se
entrarem em conflito com a 1 lei.
3 Lei: Um robot deve proteger a sua prpria existncia desde que essa proteco no
entre em conflito com a 1 ou 2 lei.
1.2 Algumas definies de Robot e Robtica
Texto da FAQ comp.robotics
"Dispositivos electromecnicos pr-programveis para execuo de uma variedade de
funes."
Dicionrio Webster:
"Dispositivo automtico que executa funes normalmente atribudas a humanos ou uma
mquina com a forma de um humano."
ESHED Robotics, 1984
"Um robot um brao mecnico; um manipulador concebido para levar a cabo muitas
tarefas diferentes, e capaz de ser programado sucessivamente. Para levar a cabo as
tarefas atribudas, o robot move componentes, objectos, ferramentas e outros
dispositivos especiais por meio de movimentos e pontos pre-programados."
Em 1986, P. McKerrow props para robot a seguinte definio:
"Um robot uma mquina que pode ser programada para fazer uma variedade de
tarefas, do mesmo modo que um computador um circuito electrnico que pode ser
programado para fazer uma variedade de tarefas."
McKerrow
"Robtica a disciplina que envolve: a) o projecto, construo, controlo e programao
de robots; b) o uso de robots para resolver problemas; c) o estudo dos processos de
controlo, sensores e algoritmos usados em humanos, animais e mquinas, e; d) a
aplicao destes processos de controlo e destes algoritmos para o projecto de robots."
The Robot Institute of America
Um robot manipulador multi-funcional, programvel, projectado para mover materiais,
componentes, ferramentas ou dispositivos especiais atravs de movimentos
programveis variveis para a execuo de uma variedade de tarefas.
Standard International ISO 8373:1994(E/F) :
Manipulating industrial robot: Automatically controlled, reprogrammable multipurpose
manipulator programmable in three or more axes, which may be either fixed to place or
Robtica Industrial V. Santos
Introduo 1-3
mobile, of use in industrial automation applications. The robot includes - the manipulator
- the control system (hardware and software)
Usualmente o termo Robtica emprega-se para indicar a disciplina associada ao uso e programao
de robots, e a expresso Engenharia Robtica mais especfico e refere-se construo de robots e
dispositivos robticos.
Nem todos os sistemas automticos so robots; os sistemas automticos de funes fixas, como alguns
brinquedos com mobilidade ou mesmo uma mquina de Comando Numrico no so consideradas robots.
Para ter esse estatuto, dever o dispositivo ter uma capacidade de programao e, mais ainda, de alguma
adaptao ao problema prtico. Claramente, um robot pressupe um sistema que interage fisicamente pelo
movimento de certas componentes mecnicas.
1.3 Classificao de robots
1.3.1 Geraes (cronologicamente)
1-Robots executores (playback) - repetem uma sequncia de instrues pr-gravada como a
pintura ou soldadura.
2-Robots controlados por sensores - possuem malhas fechadas de realimentao sensorial.
Tomam decises com base nos sensores.
3-Robots controlados por viso - a malha fechada de controlo inclui um sistema de viso
(imagem que processada)
4-Robots com controlo adaptativo - o robot pode reprogramar as suas aces com base nos seus
sensores.
5-Robots com inteligncia artificial - usa tcnicas de inteligncia artificial para tomar as suas
decises e at resolver problemas.
1.3.2 Nvel de inteligncia do controlador (pela JIRSA)
Dispositivos manuais - operados por pessoas
Robots de sequncias fixas
Robots de sequncias variveis - onde o operador pode mudar a sequncia com facilidade.
Robots executores (playback) - onde o operador humano guia o robot a executar uma tarefa
fixa.
Robots controlados numericamente - o operador fornece apenas o programa do movimento, em
vez de o ensinar manualmente
Robots inteligentes - percebem e interagem com alteraes no ambiente.
1.3.3 Nvel de controlo dos programas no controlador
Inteligncia artificial - instrues de alto nvel que sero decompostas pelo sistema em funes
de mais baixo nvel.
Modo de controlo - os movimentos do sistema so modelizados incluindo as interaces
dinmicas entre os diferentes mecanismos. As trajectrias so planeadas partida,
bem como os pontos de contacto com os elementos a trabalhar (manipular). Deste
modelo formulada uma estratgia e os comandos de controlo so enviados para
prximo nvel mais baixo.
Servo-sistema - os actuadores controlam os parmetros do dispositivo usando os dados
sensoriais nas malhas de controlo.
1.3.4 Linguagem de programao
Sistema guiados - O operador indica os movimentos que o robot deve fazer
Programao ao nvel do robot - O utilizador escreve um programa a especificar as sequncias
de movimentos que o robot ter de executar.
Programao ao nvel de tarefa - o programador especifica apenas as aces a tomar sobre os
objectos que o robot manipular.
1.4 Alguns marcos na histria da robtica
1801 J. Jacquard inventou um tear programvel
1959 Primeiro robot comercial introduzido pela Planet Corporation. Era controlado por fins-
de-curso e excntricos
Robtica Industrial V. Santos
Introduo 1-4
1960 Primeiro robot Unimate. Princpios de controlo numrico e actuadores hidrulicos.
No ano seguinte foi instalado na Ford.
1968 Um robot mvel desenvolvido no Stanford Research Institute: Shakey. Cmara de
vdeo e sensores de contacto.
1971 O brao de Stanford desenvolvido pela Universidade de Stanford com actuao
elctrica.
1973 Primeira linguagem de programao de robots: WAVE seguida em 1974 pela
linguagem AL. As duas deram lugar mais tarde ao aparecimento da VAL, linguagem
comercial da Unimation
1978 PUMA introduzido pela Unimation
1979 SCARA desenvolvido na Univerisdade de Yamanashi com introduo comercial em
1981.
1981 Robot com actuao directa (direct drive) desenvolvido na CMU
1983 Projecto para uma linha flexvel de montagem automatizada com o uso de robots.
1997 A Honda anuncia o primeiro robot humanide que sobe escadas.
1.5 Os manipuladores robticos
1.5.1 Robtica fixa versus robtica mvel
As trs categorias principais de robots so
- Os manipuladores - robots industriais
- Os veculos auto-guiados (AGV)
- Os robots mveis
As principais diferenas entre estas categorias incidem nos seguintes pontos:
- Conhecimento contnuo da posio (verdade nos braos),
- Aplicaes distintas (manipulao e transporte),
- Necessidade de percepo do ambiente (crucial nos mveis),
- tipo de programao usada (normalmente mais exigente nos robot mveis).
1.5.2 Elementos principais de um manipulador (ou robot industrial)
1.5.2.1 Brao e punho (arm-wrist)
O brao a parte do manipulador que est normalmente associada ao posicionamento (x, y, z) no
espao fsico cartesiano, ou operacional. O punho afecta essencialmente a orientao (,,) da garra, pina
ou outros end-effector.
Todavia, muito comum que haja efeitos cruzados o brao afectar tambm a orientao e o punho
afectar a posio cartesiana Estes componentes de um manipulador so constitudos por partes rgidas, os
elos (links), ligadas entre si pelas juntas (joints)
Elo
Elo
J unta

Figura 1.1 - Elos e junta de um manipulador
1.5.2.2 O controlador
Unidade capaz de gerar informao de activao de um ou mais actuadores com base num algoritmo
de controlo. Esse algoritmo pode levar em linha de conta o comando desejado, o estado corrente do actuador,
Robtica Industrial V. Santos
Introduo 1-5
e o prprio ambiente. Os algoritmos mais comuns recorrem ao chamado controlo PID (proporcional-integral-
diferencial).
Quando no existente em separado, o controlador chega a incluir a unidade de potncia, ou seja, o
elemento que liga directamente ao actuador fornecendo-lhe a energia que necessita com base numa
informao de baixo teor energtico, como so os sinais elctricos 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 RS232.
Esta integrao num computador, devido ao abundante nmero de ferramentas de interface
disponveis, permite mais facilmente especificar os comandos desejados para o controlador, ou at de os
gerar de forma automtica, como fazem muitos programas (software).
1.5.2.3 Actuadores
Dispositivos que geram e impem movimento a uma qualquer parte mecnica pelo desenvolvimento
de foras e binrios baseada num princpio fsico de converso de energia. Podem ser, por exemplo, motores
elctricos, cilindros hidrulicos, ou pneumticos, electro-imanes, etc. Tm muitas vezes associados elementos
adicionais de transmisso mecnica. Fazem a actuao
1.5.2.4 Sensores
Elementos destinados medio do estado interno do manipulador bem como percepo do
ambiente exterior. Principais tipos de sensores usados num manipulador: codificadores, fins-de-curso,
sensores de fora, detectores de proximidade capacitivos e indutivos, etc. Fazem a percepo.
Controlador
(decide que medida de
actuao deve ser
imposta)
Unidade de potncia
(fornece energia ao
actuador com base nas
ordens do controlador)
Actuador
(gera deslocamento
linear ou rotacional)
Fonte de
energia para
os actuadores
Sensor
Comando
desejado

Figura 1.2 - Um sistema de controlo tradicional
1.6 O robot e a automao
1.6.1 Tipos de automao
A automao pode ser de dois tipos fundamentais: rgida e flexvel (programada)
Robtica Industrial V. Santos
Introduo 1-6

Figura 1.3 - Automao rgida
Figura 1.4 - Automao flexvel

Rgida cada componente do sistema tem
sempre a mesma funo ou conjunto limitado de
funes sem possibilidade de alterao de modo
simples, obrigando existncia de vrios
componentes por vezes afins
Flexvel- a multiplicidade de componentes
da automao rgida reduzida pelo introduo de
um sistema mais verstil: caso dos manipuladores
1.6.2 Aplicaes tradicionais dos manipuladores industriais
As aplicaes tradicionais mais importantes so as seguintes: manipulao de materiais, soldadura
(spot welding), pintura a spray. H muitos construtores de robots manipuladores no mundo actual: alguns
exemplos mais importantes de construtores e marcas so: ABB, KUKA , STAUBLI, ADEPT, PUMA, ...

Pintura a spray

Soldadura a arco

Acabamento - polimento de
superfcie
Figura 1.5 - Algumas aplicaes industriais de manipuladores
1.7 Importncia do robot industrial
O robot industrial v a sua importncia surgir a vrios nveis:
Tcnica: Vantagem e versatilidade
Humana: Tarefas pesadas ou desagradveis para humanos
Econmica: Um mesmo equipamento pode ter mltiplas funes e substituir vrios equipamentos
distintos.
Robtica Industrial V. Santos
Introduo 1-7
A atestar a importncia do robot industrial vm os nmeros expressos nos grficos das figuras
seguintes que mostram como o parque robtico mundial tem evoludo muito nos ltimos 10 anos na
indstria (Fonte: Revista Robtica 1999)

Figura 1.6 - Nmero de robots vendidos por ano e nmero estimado de robots industriais em servio.

Figura 1.7 - Nmero de robots por 10 000 trabalhadores na indstria



Captulo 2

Estrutura e Tipologia de
Manipuladores
Robtica Industrial V. Santos
Estrutura e Tipologia de Manipuladores 2-2
2. Estrutura e Tipologia de Manipuladores
2.1 Componentes
2.1.1 Brao mecnico
O brao mecnico constitudo por juntas e elos (joints and links). Os elos so usualmente blocos
alongados rgidos, e so ligados uns aos outros atravs das juntas. Os elos podem variar a sua posio
relativa e esto normalmente associados em srie. Existem variadssimas combinaes de elos e juntas de
acordo com as aplicaes, e que mais adiante se descrevero os tipos mais comuns.
2.1.2 Ponta ou Garra (End-effector)
Componente ligado extremidade do brao, isto , ligado ao ltimo elo do manipulador, e que tem
funes adicionais (agarrar ou prender um objecto, ou ainda um dispositivo com funes adicionais mais
especficas). A ponta ou end-effector pode ser do tipo garra (gripper) ou uma ferramenta (tool).
2.1.2.1 Garras
As garras de preenso mecnica (pina) so bastante comuns e eis de seguida alguns exemplos:


Figura 2.1 - Alguns princpios e tipologias de garras
Robtica Industrial V. Santos
Estrutura e Tipologia de Manipuladores 2-3
De notar o tipo de foras/movimentos aplicados e os resultados nas diversas situaes. Saliente-se a
garra do topo direito que pode servir para agarrar objectos de dimenso varivel graas sua mola. Ou
ainda, a garra na ltima ilustrao, na regio inferior direita, cujos dedos (pinas) de deslocam de forma
perfeitamente linear.
Alm das garras do tipo pina h ainda aquelas de funcionamento baseado em:
Vcuo
Magntica
Adesivos
Ou outros tipos dos quais se destacam as mos antropomrficas

Figura 2.2 - Mo (garra) antropomrfica
2.1.2.2 Ferramentas
Nas ferramentas a variedade muito grande mas as principais incluem as seguintes:
Soldadura
Corte jacto de gua
Furador, polidor, etc.
2.1.3 Actuadores
Os componentes que utilizam uma fonte de energia para fazer mover as juntas; so de trs tipos
essenciais. Eis uma breve comparao dos trs tipos de actuadores:

Tipos de actuadores
Caracterstica
Elctricos Hidrulicos Pneumticos
Controlo
Fcil. Possibilidade de
ser elaborado.
Hoje em dia mais
facilitado com as electro
servo-vlvulas
Muito difcil devido a questes de
compressibilidade do ar
Velocidades Grande Mdia/Grande Muito grande
Binrio a baixa velocidade
(aceleraes)
Pequenos/Mdios Grande Pequenos
Preciso
Boa. Limitada pelo uso
de transmisso
Boa
M, excepto em operaes a
posies fixas.
Funcionamento em situao
esttica
Mau. Requer traves.
Excelente. Trata-se de
funcionamento normal.
Bom. No h risco de danificao
do sistema.
Questes ambientais
A presena de arcos
elctricos pode ser
indesejvel.
Perigo de fugas de leo.
Sistemas limpos. Risco de poluio
sonora de componentes,
compressores e das fugas.
Custos Relativamente baixos Altos Relativamente baixos
Tabela 2-I - Breve comparao dos principais tipos de actuadores
Em cada junta h normalmente um actuador. Ao contrrio, no corpo humano, h normalmente 2
Robtica Industrial V. Santos
Estrutura e Tipologia de Manipuladores 2-4
msculos por cada junta para a moverem em direces opostas.
2.1.3.1 Tipo de actuao
Directa - O elemento mvel do actuador acoplado junta directamente.
Indirecta - o elemento mvel do actuador acoplado junta mediante um sistema de transmisso.

Actuao indirecta
Actuao indirecta
Actuao directa
Motor

Figura 2.3 - Ilustrao da actuao directa e indirecta
Os motores elctricos so normalmente usados em actuao indirecta (indirect drive) devido
combinao alta velocidade/binrio baixo. So excepes os casos dos motores especiais como os motores
passo a passo, ou os chamados direct-drive motors, que tm uma concepo especial e permitem altos
binrios a baixas rotaes. Porm, alguns destes tipos so por enquanto motores de grandes dimenses e
peso, portanto limitados a poucas aplicaes nos manipuladores; possvel encontr-los na base, ou seja, a
actuar a primeira junta do manipulador.
2.1.4 Sensores
Fornecem informao ao controlador, nomeadamente em que local esto as diversas juntas do
manipulador Alm destes sensores internos h tambm os interruptores de fim de curso que delimitam as
deslocaes extremas das juntas. Existem tambm os sensores externos dedicados a recolher informao
adicional sobre o ambiente.
2.1.4.1 Sensores de posio
Potencimetros, ( ) ( )
0
V t K t =

Figura 2.4 - Um potencimetro como indicador de posio angular
Robtica Industrial V. Santos
Estrutura e Tipologia de Manipuladores 2-5
Codificadores (incrementais e absolutos)
Os codificadores (especialmente os pticos) apresentam a vantagem de no possuir contactos sujeitos
a desgaste como o poderia ser o cursor de um potencimetro.

Figura 2.5 - O disco de um codificador ptico relativo e sistema de descodificao relativa (direita)

Figura 2.6 - O disco de um codificador ptico absoluto e sistema de descodificao obsoluta (direita)
2.1.4.2 Sensores de velocidade
Dispositivos que indicam a velocidade angular: Tacmetros: ( ) ( ) ( )
0 t t
V t K t K t = =


2.1.5 Controlador
O controlador o componente que determina e, frequentemente, monitoriza o movimento de cada
junta. Geralmente o controlador faz outras operaes relacionadas com a aplicao. A operao fundamental
a funo de controlo em cada junta, isto , o processo pelo qual se procura que os elos/juntas fiquem
posicionados ou tenham o movimento desejado numa dada tarefa a cumprir. Esse processo tem de obviar os
problemas de que as aces de um certo actuador no tm os efeitos desejados, ou seja, ter de haver um
controlo em malha fechada ou chamado controlo realimentado. Note-se porm que h sistemas (mormente
didcticos) onde o controlo feito em malha aberta. Quer isso dizer que os actuadores so activados e que se
espera que cumpram exactamente o previsto. Isso possvel em certa medida com motores passo-a-passo.
Se designarmos por m(t) a entrada de um controlador, e diferena entre a sada desejada para o
sistema (actuador) e a sua real sada chamarmos erro e(t), as funes de controlo mais comuns so as
seguintes:
on-off: ( )
( )
( )
0
0
0
0
K e t
m t
K e t
<


proporcional: ( ) ( )
p
m t K e t =
proporcional + diferencial (PD): ( ) ( )
( )
p
d
de t
m t K e t K
dt
= +
proporcional + diferencial +integral (PID):
Relembra-se que o valor m(t) designa a entrada a aplicar no controlador em cada instante.
Robtica Industrial V. Santos
Estrutura e Tipologia de Manipuladores 2-6
2.2 Tipos de juntas
As juntas so essencialmente de dois grandes tipos:
As prismticas (P) onde o movimento relativo dos elos linear
As rotacionais (R) onde o movimento relativo dos elos rotacional.
Existe ainda um terceiro tipo de junta designada por esfrica (S) que no fundo a combinao de
trs juntas rotacionais com o mesmo ponto de rotao.




Rotacional (revolute) Prismtica (linear)
Esfrica (3 rotacionais) (spherical
or ball-and-socket)
Figura 2.7 - Tipos de juntas
Na maioria dos manipuladores, as juntas so normalmente divididas em dois grupos:
Juntas principais (3 juntas mais prximas da base)
Juntas secundrias ou juntas do punho (as restantes juntas, mais prximas do end-effector)
2.2.1 Graus de liberdade e graus de mobilidade
Graus de liberdade (degrees-of-freedom - DOF) o nmero total de movimentos independentes que
um dispositivo pode efectuar. Um cubo no espao a 3 dimenses pode deslocar-se ao longo dos trs eixos, e
tambm rodar em torno de cada um deles, dando assim um total de 6 graus de liberdade para a sua
movimentao.
Algo diferente so os graus de mobilidade, associados ao nmero de juntas existentes. Um exemplo
comum desta diferena so os trips: na verdade em cada p temos vrias juntas prismticas que afectam o
mesmo o mesmo movimento, isto ao longo daquele eixo em particular. Se em cada p houver 3 juntas,
teremos um trip com 3 graus de liberdade mas 9 graus de mobilidade.
Exemplos de graus de liberdade necessrios para certas tarefas:


Para mudar esta pea e rod-la
so necessrios 4 graus de liberdade
apenas. (nota: o manipulador
ilustrado poder no ter a
possibilidade de o fazer, para certas
orientaes)
Robtica Industrial V. Santos
Estrutura e Tipologia de Manipuladores 2-7

Para colocar esta pea no
encaixe (que pode ter uma orientao
arbitrria) so necessrio 6 graus de
liberdade: 3 para as posies xyz e 3
para as 3 orientaes do encaixe. (o
manipulador ilustrado no o permite)
Figura 2.8 - Graus de liberdade necessrios para dois exemplos de movimento
2.2.2 Representao e arranjo cinemtico
Frequentemente, em diversa literatura existe uma simbologia prpria para representar de uma forma
padro um manipulador e as suas juntas. De seguida ilustra-se um caso para um manipulador RRP e mais
uma junta esfrica.

Figura 2.9 - Representao de um manipulador com as juntas RRPS, num total de 6 DOF
2.2.3 O brao humano
Cada brao humano, excluindo a mo e os dedos, dispe de 7 graus de liberdade:

Figura 2.10 - Graus de liberdade do brao humano
2.3 Espao de trabalho e tipos de manipuladores
Espao ou volume de trabalho (workspace or volume space) de um manipulador a regio dentro da
qual o manipulador pode posicionar o end-effector.
Quando se classifica um robot pela sua estrutura cinemtica, isto , pelo seu espao de trabalho,
apenas as juntas principais so usadas. Assim, h essencialmente 5 categorias de estruturas cinemticas
Junta Tipo
Graus de
liberdade
(DOF)
Ombro (Shoulder) Esfrica 3
Cotovelo (Elbow) Rotacional 1
Pulso (Wrist) Esfrica 3
Robtica Industrial V. Santos
Estrutura e Tipologia de Manipuladores 2-8
que se ilustram e descrevem resumidamente de seguida:
Cartesiana (PPP)
Cilndrica (RPP)
Esfrica (RRP)
Articulado horizontal ou SCARA (RRP)
Articulado vertical ou antropomrfico (RRR)
2.3.1 Cartesiano (PPP)



Volume do espao de trabalho: V =A
1
A
2
A
3

Figura 2.11 - Manipulador cartesiano (PPP)
2.3.2 Cilndrico (RPP)



Volume do espao de trabalho: ( ) [ ]
2 2
2 1
L A L A V + =
Figura 2.12 - Manipulador Cilndrico (ou RPP)
Robtica Industrial V. Santos
Estrutura e Tipologia de Manipuladores 2-9
2.3.3 Esfrico (RRP)



Volume do espao de trabalho: ( ) [ ]
3 3
3
4
L A L V + =
Figura 2.13 - Manipulador Esfrico (RRP)
2.3.4 Articulado Horizontal - SCARA (RRP)



Volume do espao de trabalho:
( ) ( )
( )
2 2
1 2 1 2 1 2
2
1 2 1 2
A L L L L L L
V
A L L L L


+ >


Figura 2.14 - Manipulador Articulado HorizontalSCARA (RRP)
Robtica Industrial V. Santos
Estrutura e Tipologia de Manipuladores 2-10
2.3.5 Articulado vertical (antropomrfico) - RRR



Volume do espao de trabalho:
( ) ( )
( )
3 3
1 2 1 2 1 2
3
1 2 1 2
4
3
4
3
L L L L L L
V
L L L L


+ >


Figura 2.15 - Manipulador Articulado vertical (ou antropomrfico) (RRR)

Podemos comparar os volumes de trabalho admitindo que as juntas rotacionais varrem 360 e que as
prismticas so todas iguais de comprimento L e que se deslocam o comprimento A e que A=L. Resulta
assim a seguinte tabela
Cartesiano
3
L V =
Cilndrico
3
3 L V =
Esfrico
3
3
28
L V =
Articulado Horizontal
3
4 L V =
Articulado Vertical
3
3
32
L

Note-se que o volume do espao de trabalho aumenta com o nmero de juntas rotacionais.
2.4 Resoluo, Repetibilidade, Preciso
Resoluo: o menor movimento incremental de uma junta; normalmente detectvel pelo dispositivo
de medio (codificador). Exemplo, se o codificador tiver 180 incrementos ento a sua resoluo ser de 180
incrementos por volta ou seja 360/180 = 2. Esta a resoluo angular, que pode ser convertida em
resoluo espacial em funo do comprimento da junta ( =L * sin (ResolAngular) )
Repetibilidade: traduz a diferena de posio (linear em geral) com que o robot volta a recolocar-se
num ponto visitado anteriormente.
Preciso: traduz a diferena entre uma posio realmente atingida e a posio desejada pela
programao. Est relacionada com a resoluo e por certo no poder ser melhor que o valor daquela (ou +/-
metade) - afectado pela carga transportada e varivel conforme a zona do espao de trabalho.

Robtica Industrial V. Santos
Estrutura e Tipologia de Manipuladores 2-11


Boa preciso
Boa repetibilidade
M preciso
Boa repetibilidade

Boa preciso
M repetibilidade
M preciso
M repetibilidade
Figura 2.16 - Ilustrao da preciso e repetibilidade



Captulo 3

Sistemas de Coordenadas
y
z
x
R
p
N
z'
y'
x'
R
q
N
q


( )

+ +
+ +
=
1 0 0 0
0
0
0
, ,




C C S C S
C S S S C S S S C C C S
C S C S S S S C C S C C
RPY
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-2
3. Sistemas de Coordenadas
3.1 Noes introdutrias - revises
3.1.1 Sistemas de eixos
Os sistemas de eixos coordenados a usar so ortogonais e directos. Directos significa que o sentido
positivo dos ngulos medido pela conveno usual (sentido anti-horrio) e que ilustrado na Figura 3-17.
x
y


y
z


Figura 3-17 - Sistemas directos de coordenadas a duas e trs dimenses.
3.1.2 Vectores e Matrizes
Um ponto no espao representvel por um vector com 3 coordenadas (2 se for no plano), em
particular um vector coluna, como se descrever adiante. O termo vector frequentemente associado a um
conceito de movimento ou deslocao numa dada direco (e sentido). Quando se referem as coordenadas de
um vector, neste ltimo significado, est-se a pensar num vector aplicado na origem do sistema de eixos e
com as coordenadas do seu ponto extremo. Assim, no exemplo ilustrado de seguida, o vector r

tem as
mesmas coordenadas do ponto P; se bem que estejam em causa dois conceitos formalmente distintos, eles
esto relacionados de tal forma que podemos usar o conceito de vector com representao matricial, para
representar qualquer das entidades geomtricas (ponto e vector) sem perigo de confuso:
0
0
x
y

=


r

ou
0
0
x
P
y

=


.
x
y
P(x
0
,y
0
)
r


x
y
P(x
0
,y
0
)
r

P
1
(x
1
,y
1
)
v


Figura 3-18 - Um ponto e um vector no plano. Ilustrao da soma de um ponto com um vector
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-3
Por outro lado, define-se tambm a soma de um ponto com um vector, que resulta num segundo ponto
(
1
P P = + v

). Geometricamente, isso equivale a que o vector a somar tenha a sua origem situada no ponto
inicial (P) e no na origem do sistema de eixos. Porm, e pelo exposto acima, dizer que o resultado da soma
um novo ponto, dizer tambm que um segundo vector. Desse modo, a soma de um ponto com um vector (e
forosamente nesta ordem porque a soma de um vector com um ponto no definida!) equivale tambm
soma de dois vectores. No lado direito da Figura 3-18 podemos verificar que o vector v

, para efeitos de soma


(traduzindo a tal deslocao ou movimento), aplicado no ponto P, se bem que a sua representao livre
(como muitas vezes dito) est representada a tracejado e aplicada na origem do sistema de coordenadas.
Estas duas representaes so todavia a mesma identidade traduzida numa propriedade comum (a
equipolncia); no obstante essa propriedade, so dois segmentos de recta orientados distintos (esto em
posies diferentes do plano). Este conceito de segmento de recta orientado no neste contexto
interessante, e por isso restringir-nos-emos ao conceito de vector e da propriedade de equipolncia que ele
traduz.
Podemos ento extrair da Figura 3-18 que
1
P P = + v

ou ainda
1
P P = v

, e dessa forma
determinar as coordenadas do vector v

custa dos dois pontos. O ponto P1 tem como coordenadas (x1,y1)


que so na verdade as coordenadas do vector associado u

. Como se espera, = + u r v

.
No que diz respeito nomenclatura, as designaes de vectores so indicadas por uma letra
minscula com uma seta por cima, em caracteres romanos (no itlicos) e por vezes ainda por essa mesma
letra em tom carregado (bold). Essas duas representaes (seta e bold) foram usadas acima mas, por
facilidade de escrita, em geral, usa-se s uma delas, e de preferncia a verso a carregado, exceptuando-se os
casos do texto manuscrito onde a verso com seta prefervel. Por outro lado, para representar matrizes
(arranjos rectangulares de nmeros ou expresses distintos entre si), dos quais os vectores so casos
particulares, usam-se letras romanas maisculas em tom carregado (a seta j no faria muito sentido visto
se perder a imagem geomtrica da tal propriedade do sentido do movimento). Em suma, e para facilitar a
escrita ao longo deste texto, usaremos as representaes indicadas na tabela seguinte:

Entidade Notao das representaes Exemplos
Vectores
Letra romana minscula a
carregado sem (ou
eventualmente com) seta por
cima
x
y
z



= =




v v


Matrizes
Letra romana maiscula sem
seta por cima
a b
c d


=



T
Coordenada
Letra minscula em itlico
(eventualmente romana)
0
5 x = ,
2
12 y =
Ponto*
Letra maiscula (romana ou
itlica)
( )
0 0 0 1 1
P , , P x y z =
ngulo Letra grega minscula
3

=
*Quando, em vez de ponto, pensarmos numa postura no espao (posio e orientao), o conceito de ponto
desvanece-se e falaremos de um vector que se representar com letras minsculas como convencionado.
As matrizes podem ser quadradas ou no quadradas. As quadradas tm as duas dimenses iguais,
isto , igual nmero de linhas e de colunas. H um tipo particular de matrizes no quadradas designadas
por vectores que tm uma s linha ou uma s coluna.

Robtica Industrial V. Santos
Sistemas de Coordenadas 3-4
0
0
0 0 1
a b
c d



=





T
1 3 2 12 1
0 5 2 7 10
4 2 8 3 0



T
1
x
y
z




=





v 1 4 2 1

=


u
Matriz quadrada
de ordem 3 (3X3)
Matriz no quadrada de
dimenso 3X5
Vector
coluna
Vector linha
Das operaes com matrizes h a destacar as que se descrevem a seguir.
3.1.2.1 Produto de um escalar por uma matriz
um operao que resulta numa matriz cujos elementos so todos afectados pelo mesmo factor
multiplicativo:
a b a b
c d c d





= =



T
3.1.2.2 Inverso de uma matriz
A inverso de uma matriz (quadrada) a operao pela qual se determina a sua inversa. A inversa de
uma matriz A uma outra matriz, representada por A
-1
, tal que o produto das duas resulta na matriz
identidade:
1
= A A I
S as matrizes quadradas no singulares tm inversa. A matriz inversa pode ser obtida, em geral,
pela matriz adjunta de A dividida pelo determinante de A:
( )
1
det
Adj

=
A
A
A

A matriz adjunta de uma matriz obtida pela substituio de cada termo pelo seu co-factor e
transpondo a matriz de co-factores.
3.1.2.3 Produto interno (escalar) de vectores
O produto interno uma operao que resulta num escalar cujo valor dado por:
. cos
x x y y
v u v u = + = v u v u
onde
x
y
v
v

=


v ,
x
y
u
u

=


u e
2 2
x y
u u = + u e o ngulo definido pelos dois vectores.
Esta operao comutativa. No faz sentido falar de associatividade porque o produto interno s est
definido entre dois vectores, no entre um vector e um escalar (aquele que resultaria do primeiro produto
interno).
3.1.2.4 Produto externo de vectores ou produto vectorial
O produto externo de vectores uma operao que resulta num terceiro vector perpendicular aos dois
primeiros. H vrios smbolos para representar esta operao e de seguida indicam-se alguns mais comuns.
A operao traduz-se deste modo: = = = a b a b a b c
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-5
a
b
c


a
b
-c


Figura 3-19 - Produto vectorial e a sua anti-comutatividade.
O vector resultante tem um sentido que advm do sistema directo usado, e que se representa na
Figura 3-19, do lado esquerdo. Uma regra prtica para determinar o sentido do vector resultante consiste na
chamada "regra da mo direita"; os dedos da mo esto fechados excepo do polegar que indica o sentido
do vector resultante e os restantes dedos indicam o sentido do ngulo entre os vectores. V-se claramente
que o produto externo de vectores no comutativo, e alis anti-comutativo, como se observa da Figura
3-19. Quer isto dizer que:
= = b a a b c
A definio de produto vectorial leva-nos seguinte expresso:
( ) ( ) ( )


det
x y z y z y z x z x z x y x y
x y z
a a a a b b a a b b a a b b a
b b b



= = +





i j k
a b i j k
onde ( )

, , i j k a base ortonormada do sistema de coordenadas (versores unitrios) e
x
y
z
a
a
a



=




a e
x
y
z
b
b
b



=





b .
Ainda sobre o produto vectorial pode-se dizer o seguinte:
. . sin = = c a b a b
3.1.2.5 Produto genrico de matrizes
Duas matrizes s so multiplicveis se tiverem a correcta concordncia de dimenses. Cada novo
elemento da uma matriz produto resulta do produto (interno) de cada vector linha do primeiro operando
matricial com cada vector coluna da segunda matriz operando. Deste modo se verifica que o nmero de
colunas da primeira matriz deve ser igual ao nmero de linhas da segunda matriz; no que respeita as
dimenses das matrizes envolvidas pode dizer-se, simbolicamente, o seguinte:
( ) ( ) ( ) m n n p m p = .
=
(5 X 4) (4 X 3) ( 5 X 3)

Figura 3-20 - Ilustrao da obteno de um elemento de uma matriz num produto de duas matrizes
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-6
3.1.3 Pontos e referenciais
Qualquer ponto no espao pode ser visto (designado) de diferentes formas consoante o referencial
usado; trata-se sempre do mesmo ponto fisicamente mas a sua descrio que se adequa com o ponto de
vista (referencial). Admitindo dois referenciais designados por R e N respectivamente, um mesmo ponto q
pode ser expresso num e noutro por
R
x
R R
y
R
z
q
q
q



=




q e
N
x
N N
y
N
z
q
q
q



=




q (Figura 3-21).
y
z
x
R
N
q
z'
y'
x'
R
q
N
q

Figura 3-21 - Um ponto q visto de dois referenciais diferentes
A relao entre
R
q e
N
q, como se ver mais tarde, tem necessariamente a ver com a relao de posio
e orientao entre os dois referenciais, ou seja, da forma como se obtm um a partir do outro.
Uma outra questo importante a movimentao de pontos. Movimentar um ponto no espao
significa alterar-lhe as coordenadas, isto , passar de uma posio q1 para uma posio q2 visto do mesmo
referencial; este processo designa-se por translao no espao e, geometricamente, pode ser traduzido pela
adio/subtraco de vectores como referido na seco 3.1.2.
y
z
x
R
q
1
q
2
p

Figura 3-22 - Translao de um ponto
Atentando para a Figura 3-22 podemos escrever que
2 1
= p q q ou que
2 1
= + q q p . Assim,
efectuou-se uma translao representada pelo vector p e as novas coordenadas do ponto so dadas por
2 1
2 2 1
2 1
x x
y y
z z
x
y
z
q q p
q q p
q q p



= = +




q . Fazer a translao de um segmento de recta (Figura 3-23) implica calcular as
novas coordenadas dos seus dois extremos e, nesse caso, ter-se-ia as seguintes relaes
2 1 A A
= + q q p e
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-7
2 1 B B
= + q q p .
y
z
x
R
q
A1
p
q
B1
q
B2
q
A2
p

Figura 3-23 - Translao de um segmento de recta.
Fazer a translao de figuras mais complexas implicaria recalcular todos as novas posies de todos
os pontos relevantes. Por exemplo, para calcular a nova descrio (posio) de um cubo, teramos de calcular
as novas coordenadas dos seus oito vrtices aps a translao. Claramente, este processo no interessante
(em especial para transformaes mais complexas que a translao, como veremos mais adiante), e requer-se
portanto uma forma alternativa e mais genrica para determinar a nova posio do cubo e de qualquer ponto
nele contido. Essa alternativa passa pela definio de um segundo referencial solidrio com o objecto a
mover. No instante inicial, antes da transformao, os referenciais coincidem, mas aps a transformao
teremos ainda o referencial original (R) e o novo referencial (N). O processo ilustra-se na Figura 3-24. O
ponto
N
q assinalado traduz as coordenadas de um dos vrtices (escolha arbitrria) no novo referencial, mas
so tambm as coordenadas desse mesmo ponto, em R, antes de haver qualquer translao! Aps a
translao, no referencial N, solidrio com o objecto, essas coordenadas mantm-se, mas no referencial que
foi deixado para trs (R) esse ponto tem agora as coordenadas
R
q. A relao entre essas coordenadas
obviamente dada por
R N
= + q q p . Note-se que o vector p est descrito no referencial original (p =
R
p),
donde, em rigor, se deva procurar escrever
R N R
= + q q p .

y
z
x
R
p
N
z'
y'
x'
R
q
N
q

Figura 3-24 - Translao de um cubo e do referencial a ele associado.
3.2 Transformaes geomtricas elementares
3.2.1 Exemplos de transformaes
Pela experincia fsica do dia a dia, possvel conceber transformaes geomtricas diferentes da
translao, das quais a rotao o exemplo mais comum. Por exemplo, uma rotao no espao 3D, em torno
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-8
do eixo dos zz, de um dado ngulo , Rot(z,), ou uma translao de valor a ao longo do eixo dos yy,
Trans(y,a) = Trans(0,a,0), podem ser ilustradas do seguinte modo:
y
z = z'
x
R
x'
y'

y =y'
z
x
R
x'
z'
N

Figura 3-25 - Ilustrao das transformaes Rot(z,) e Trans(y,a).
Na verdade, e como facilmente se deduz da Figura 3-25, no espao a trs dimenses h seis
transformaes geomtricas independentes, 3 translaes e 3 rotaes elementares: Trans(x,a), Trans(y,a),
Trans(z,a), Rot(x,), Rot(y,) e Rot(z,) . Naturalmente, e como se ver mais adiante, transformaes
sucessivas resultam numa outra transformao decomponvel nas seis transformaes elementares.
3.2.2 A notao matricial para representar transformaes de um ponto a duas dimenses
3.2.2.1 Transformao geomtrica genrica
Se atentarmos ao caso da translao no espao (a 2D para simplificar), poderemos escrever o
seguinte:
1
1
x
y
x x p
y y p
= +

= +


ou, em notao matricial:
1
1
x
y
x x p
y y p

= +



Podemos todavia admitir um caso de transformao geomtrica, linear, absolutamente genrica onde
cada nova coordenada possa depender no s de um parmetro independente, mas tambm de todas as
coordenadas originais. Uma expresso desse gnero seria dada por:
1
1
x
y
x ax by p
y cx dy p
= + +

= + +


ou, em notao matricial,

1
1
x
y
x a b x p
y y p
c d



= +





Designemos por T a matriz quadrada indicada,
a b
c d





, e por p o vector usado como termo
independente na expresso anterior. Rapidamente se verifica que a transformao de translao obtida
fazendo T identidade e p o vector de translao. Podemos assim considerar um conjunto de situaes para
valores de T e de p, e procurar relacion-los com transformaes geomtricas conhecidas. Vamos
primeiramente admitir um conjunto de situaes onde temos o caso particular de
0
0


= =



p 0

, ou seja, sem
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-9
translao.
3.2.2.2 Matriz identidade (transformao nula) e sem translao
se
1 0
0 1


=



T vir
1
1
1 0 0
0 0 1
x x x
y y y



= + =




, ou seja, no h transformao geomtrica alguma;
a matriz identidade no introduz transformao geomtrica.
3.2.2.3 Reflexo em relao a um eixo (simetria axial)
se
1 0
0 1


=



T vir claramente
1
1
1 0
0 1
x x x
y y y



= =




ou geometricamente:
x
y
P=(x,y)
P
1
=(x
1
,y
1
)
=(-x, y)

Figura 3-26 - Simetria axial
3.2.2.4 Reflexo em relao origem (simetria central)
se
1 0
0 1


=



T vir
1
1
1 0
0 1
x x x
y y y



= =




ou geometricamente
x
y
P=(x,y)
P
1
=(x
1
,y
1
)
=(-x, -y)

Figura 3-27 - Simetria central
3.2.2.5 Factor de escala
Uma transformao curiosa dada por
0
0 1
a

=



T , que resulta em

1
1
0
0 1
a x x ax
y y y



= =




.
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-10
Sobre um ponto poderia ter efeitos aparentes de uma translao, mas no de facto uma translao.
Basta pensar quando aplicada a um objecto mais complexo como um segmento de recta. Seja por exemplo o
segmento delimitado pelos pontos A(1,1) e B(2,2) e seja
3 0
0 1


=



T . imediato concluir que:
3 0 1 3
'
0 1 1 1
A


= =



e
3 0 2 6
'
0 1 2 2
B


= =




Geometricamente a operao pode ser representada como ilustrado na Figura 3-28.
x
y
A
B
A'
B'

Figura 3-28 - Transformao de escala aplicada ao segmento AB
A transformao anterior no uma translao porque no h nenhum vector que adicionado a
qualquer ponto de AB resulte no ponto respectivo de A'B', ou em smbolos
AB
: , '

= +
r
P
p p r . Basta
verificar por outro lado que o novo segmento mais longo!
3.2.2.6 Rotao de 90
Se
0 1
1 0


=



T ento temos uma transformao de rotao de 90 em torno da origem do sistema
de coordenadas:
1
1
0 1
1 0
x x y
y y x



= =





O fenmeno melhor ilustrado com um exemplo. Se pensarmos num tringulo com os seguintes
vrtices A(2,1), B(2,-1) e C(4,0), aps as transformaes vir:

0 1 2 1
'
1 0 1 2
A


= =



,
0 1 2 1
'
1 0 1 2
B


= =



e
0 0 1 4
'
0 4 1 0
C


= =





que se representa geometricamente na Figura 3-29.
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-11
x
y
A
B
C
A'
C'
B'

Figura 3-29 - Rotao de 90 no plano em torno da origem.
3.2.3 Matriz rotao para um caso geral
Pode-se verificar que a matriz de rotao de 90 vista anteriormente compatvel com o seguinte:
cos 90 sin90
sin90 cos 90


=



T
Poder-se- induzir que uma matriz de rotao genrica seja dada pela seguinte expresso:
cos sin
sin cos
C S
S C




= =



T
Vamos provar que assim . Seja um dado ponto no plano com coordenadas cartesianas (x, y) e
coordenadas polares (l, ). Posteriormente, aplicada a esse ponto uma rotao de valor em torno da
origem, resultando no ponto de coordenadas (x1, y1).


y
x

x
1
y
1

Figura 3-30 - Rotao genrica de um ponto no plano
A partir da Figura 3-30 possvel extrair as seguintes relaes:
( ) ( )
( ) ( )
1
1
cos cos cos sin sin
sin cos sin sin cos
x l l
y l l


= + =

= + = +


como
cos
sin
x l
y l

vir:

1
1
cos sin
sin cos
x x y
y x y


=

= +


e finalmente em notao matricial:
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-12
1
1
cos sin
sin cos
x x C S x
y y y
S C





= =





3.2.4 Limitaes da matriz de transformao para representar a translao
A translao tem um efeito independente das coordenadas. Est associada ao termo
x
y
p
p

=


p
indicado nas expresses mencionadas a partir da seco 3.2.2.1. Porm, seria vantajoso, pelo menos do ponto
de vista computacional, ter uma forma de representar uma transformao geomtrica de forma compacta e
elegante, em vez de uma matriz e um vector independente.
3.3 Coordenadas homogneas
3.3.1 Introduo de componentes adicionais na matriz de transformao
Uma soluo para a questo anterior (seco 3.2.4) obtm-se observando a expresso
1
1
x
y
x a b x p
y y p
c d



= +




. Basta conceber uma forma alargada de definir as coordenadas de um vector e
rescrever ento:
1
1
1 0 0 1 1
x
y
a b p
x x
y c d p y



=






Os termos introduzidos fazem surgir uma igualdade adicional (1=1), que verdadeira, e no altera
em nada o conhecimento do sistema, mas tem a vantagem de integrar numa nica matriz os efeitos da
rotao e de uma translao (pode ainda representar outros efeitos irrelevantes neste momento).
As coordenadas resultantes (com o termo unitrio adicional) so designadas coordenadas
homogneas, e este caso uma situao particular da definio geral de coordenadas homogneas: se
x
y
z



=




p , ento a variante homognea dada por
h
kx
ky
kz
k




=






p . Nestes captulos dedicados ao estudo dos
sistemas de coordenadas usa-se o caso particular de k=1.
A matriz de transformao (homognea) assim constituda por seces com significados especficos:

1 1 0 0
cos sin
sin cos
1
1
1
y
x
p
p
y
x
y
x


Componente
de translao
Componente
de rotao

Figura 3-31 - Componentes da matriz de transformao a duas dimenses.
Assim, uma rotao pura, no plano, traduz-se pela expresso:
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-13
( )
cos sin 0
sin cos 0
0 0 1
Rot




=






e uma translao pura, no plano, pela expresso:
( )
1 0
, 0 1
0 0 1
x
x y y
p
Trans p p p



=






3.3.2 Transformaes compostas - produtos de matrizes de transformao
Uma transformao geomtrica transforma um ponto noutro; portanto, uma sucesso de
transformaes traduz-se na multiplicao das diversas transformaes. Basta relembrar a propriedade
associativa da multiplicao de matrizes para o demonstrar:
( ) ( ) ( ) ( ) ( )
3 2 1 3 2 1
'
N N
= = = p T T T T p T T T T p T p
Assim, uma transformao composta ela mesma uma transformao geomtrica.
Observe-se porm que a ordem das multiplicaes (operao das transformaes) no
necessariamente comutativa. -o para as translaes puras e tambm para as rotaes puras no plano (no
espao no !), mas no o para transformaes genricas. De seguida demonstram-se estas situaes uma
por uma.
3.3.2.1 Sucesso de Translaes (comutativo)
Sejam duas translaes:
( )
1
1 0
, 0 1
0 0 1
x
x y y
a
Trans a a a



= =





T e ( )
2
1 0
, 0 1
0 0 1
x
x y y
b
Trans b b b



= =





T
Rapidamente se verifica que:

1 2 2 1
1 0 1 0 1 0
0 1 0 1 0 1
0 0 1 0 0 1 0 0 1
x x x x
y y y y
b a b a
a b a b

+


= = + =





T T T T
3.3.2.2 Sucesso de Rotaes no plano (comutativo)
Sejam duas rotaes no plano:
( )
1 1
1 1 1 1
cos sin 0
sin cos 0
0 0 1
Rot




= =





T e ( )
2 2
2 2 2 2
cos sin 0
sin cos 0
0 0 1
Rot




= =





T
Por facilidade de notao, convencionando as abreviaes cos
i i
C = e sin
i i
S = , o produto das
duas transformaes resulta em:
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-14
1 1 2 2
1 2 1 1 2 2
1 2 1 2 1 2 1 2
1 2 1 2 1 2 1 2
0 0
0 0
0 0 1 0 0 1
0
0
0 0 1
C S C S
S C S C
C C S S C S S C
S C C S S S C C








= =









= + +





T T

ou ainda, usando as regras do seno e do co-seno da soma de ngulos:
( ) ( )
( ) ( )
1 2 1 2
1 2 1 2 1 2
cos sin 0
sin cos 0
0 0 1



+ +


= + +





T T
Tambm se v claramente que a operao comutativa, e geometricamente corresponde a rodar
incrementalmente os sucessivos ngulos de rotao.
3.3.2.3 Sucesso de Translaes e rotaes (no comutativo)
Menos tolerante o caso da ordem de aplicao de translaes e rotaes. De facto, tambm se
demonstra com grande facilidade que a operao no comutativa.
Sejam as transformaes:
( )
1
1 0
, 0 1
0 0 1
x
x y y
p
Trans p p p



= =





T e ( )
2
cos sin 0
sin cos 0
0 0 1
Rot




= =





T
Como se espera, at da prpria definio de transformao geomtrica, imediato obter o seguinte:
( ) ( )
1 2
cos sin 0 1 0
, 0 1 sin cos 0
0 0 1 0 0 1
cos sin
sin cos
0 0 1
x
x y y
x
y
p
Trans p p Rot p
p
p






= = =







=





T T

Mas, por outro lado, a operao na ordem inversa resulta de forma bem diferente:
( ) ( )
2 1
cos sin 0 1 0
, sin cos 0 0 1
0 0 1 0 0 1
cos sin cos sin
sin cos sin cos
0 0 1
x
x y y
x y
x y
p
Rot Trans p p p
p p
p p






= = =









= +





T T

Robtica Industrial V. Santos
Sistemas de Coordenadas 3-15
3.4 Matrizes de transformao a 3 dimenses
3.4.1 Generalizao dos conceitos para 3 dimenses
Os conceitos abordados no caso do plano so, com relativamente pouco esforo, generalizveis para o
espao a trs dimenses. A translao tem mais um grau de liberdade e portanto haver mais uma
coordenada nos vectores. Todavia, a rotao deve agora ser definida em torno de um eixo, havendo, por isso,
3 tipos de rotaes possveis; as rotaes no espao 3D apresentam portanto mais diversidade e
complexidade do que no plano.
Em coordenadas homogneas um ponto agora dado por:
1
x
y
z




=





p
3.4.2 Componentes da matriz de transformao
A matriz de transformao para o espao 3D assume tambm as dimenses apropriadas:
0 0 0 1
x
y
z
a b c p
d e f p
g h i p




=





T
A sub-matriz R de T,
a b c
d e f
g h i



=





R , representar agora todo o conjunto de rotaes passveis de
afectar a transformao como se descreve mais frente. O vector
x
y
z
p
p
p



=




p traduz naturalmente a
translao.
y
z
x
Rot(x)
Rot(y)
Rot(z)

Figura 3-32 - Rotaes no espao a 3D.
Como foi j mencionado, a rotao pode ser feita em torno de trs eixos distintos, como se ilustra na
Figura 3-32. A variante mais intuitiva a rotao em torno dos eixo dos zz que deriva de imediato da rotao
do plano. As outras variantes so menos intuitivas mas a sua demonstrao no de forma nenhuma
complexa; bastar pensar na expresso usada para o plano a 2D e arranjar as matrizes de transformao
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-16
adequadas. Assim vir:
( )
cos sin 0 0
sin cos 0 0
,
0 0 1 0
0 0 0 1
Rot z





=







( )
1 0 0 0
0 cos sin 0
,
0 sin cos 0
0 0 0 1
Rot x


=







( )
cos 0 sin 0
0 1 0 0
,
sin 0 cos 0
0 0 0 1
Rot y







No caso de rotaes compostas em torno de dois ou mais eixos a componente de rotao (orientao)
da matriz de transformao ser mais complexa do que o das rotaes simples indicadas atrs.
A matriz de transformao geomtrica, homognea, tem, alm das rotaes e da translao mais
quatro termos (a ltima linha). Nesta abordagem os valores dessa linha s interessam ser [0 0 0 1], mas
noutros contextos tero a importncia adequada, nomeadamente no tratamento geomtrico de imagem
digital; so exemplos disso a perspectiva e o factor de escala global.

=
s
p r r r
p r r r
p r r r
z
y
x
3 2 1
33 32 31
23 22 21
13 12 11

T
Translao
Factor de escala
global
Perspectiva /
projeco
Rotaes
Factor escala local

Figura 3-33 - Componentes da matriz de transformao a 3D.
3.4.3 Interpretaes do que significa a matriz de transformao.
possvel individuar trs interpretaes/significados principais de uma matriz de transformao, que
se resumem de seguida:
Indica as transformaes geomtricas operadas sobre um ponto para o levar para outro local
geomtrico:
0 1
= q T q . Este facto traduz tambm o movimento imposto a um ponto, sempre
dentro de um mesmo referencial. No so aqui bvias todas as implicaes da transformao se o
objecto for um ponto, em especial as componentes de rotao.
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-17
y
z
x
R
q
0 q
1
R
T

Figura 3-34 - Significado de
R
T: movimentao de um ponto
Relaciona as coordenadas de um mesmo ponto fsico em dois referenciais diferentes, ou
seja:
R R N
N
= q T q . Muda-se o ponto de vista, e no caso anterior mudava-se o ponto!
y
z
x
R
N
q
z'
y'
x'
R
q
N
q

Figura 3-35 - Significado de
R
T: movimentao (criao) de um referencial
Transformao de um referencial (R) noutro referencial (N):
R
TN. Trata-se da criao de um novo
referencial por translao e rotao. Para tentar criar uma melhor imagem do processo, bastar
pensar que havia um segundo referencial N inicialmente coincidente com o referencial R mas
solidrio com o seu ponto de origem; a esse ponto foi depois aplicada a transformao levando
consigo o referencial N. A matriz de transformao representa todas as componentes de posio e
orientao de um novo referencial N em relao a um referencial original R. Isto , possvel
identificar na matriz
R
TN os quatro vectores que indicam a orientao (trs dos quatro vectores) e
a posio cartesiana (um vector) do novo sistema de coordenadas. Na expresso seguinte xN o
vector que indica a direco do novo eixo dos xx em relao base cannica do sistema R, e yN e zN
os vectores para as direces dos novos eixos dos yy e dos zz respectivamente:
11 12 13
21 22 23
31 32 33
0 0 0 1
0 0 0 0
x
y
N N N N
R
N
z
r r r p
r r r p
r r r p




= =






x y z p
T
y
z
x
R
N
z'
y'
x'
R
T
N

Figura 3-36 - Significado de
R
T: relao entre dois referenciais.
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-18
3.4.4 Ps-multiplicao e pr-multiplicao de matrizes de transformao
Foi visto anteriormente que a ordem de multiplicao das transformaes era importante (seco
3.3.2) porque se fosse alterada o resultado seria diferente. Ou seja, se uma transformao
R
T1 for seguida no
tempo de uma transformao
R
T2, ento isso equivale a ter uma transformao global
R
T =
R
T2
R
T1. Ou seja,
a transformao final resulta da pr-multiplicao das transformaes aplicadas sucessivamente no tempo.
Porm, pe-se a questo: e o que significar a transformao
R
T' =
R
T1
R
T2? Isto , em que que
resulta a ps-multiplicao de transformaes? O problema compreende-se melhor com um exemplo, que se
faz no plano a 2D para mais fcil visualizao.
Seja uma transformao T1=Rot(45) e uma transformao T2=Trans(x, a) que usaremos para criar
novos referenciais. A primeira situao que experimentamos TA = T2T1. Significa que primeiro rodamos o
referencial e em seguida lhe aplicamos uma translao, como se ilustra na Figura 3-37, do lado esquerdo. A
segunda situao ser designada por TB = T1T2 e significa que primeiro aplicada uma translao segundo o
eixo dos xx e depois uma rotao em torno da origem. O resultado o ilustrado no lado direito da mesma
figura. No primeiro caso, T2 foi pr-multiplicado a T1, no segundo caso, T2 foi ps-multiplicado.
x
y
a
x'
y'
y''
x''
45
T
A
=T
2
T
1
=Trans(x,a)Rot(45)

x
y
a
x'
y'
y''
x''
45
T
B
=T
1
T
2
=Rot(45)Trans(x,a)

Figura 3-37 - Diferenas entre pr- e ps-multiplicao de transformaes.
Em ambas as situaes, as transformaes foram realizadas em relao ao referencial original (xy).
Imagine-se porm uma alternativa que seria aplicar as transformaes em relao a cada referencial recm-
criado. Ou seja, so usados os referenciais intermdios para as novas transformaes a aplicar. Digamos
ento o seguinte: aplicar a rotao (no nico referencial ainda existente) e depois a aplicar translao ao
longo do referencial resultante da rotao. Geometricamente o processo pode ser ilustrado como na figura
seguinte:
x
y
a
x'
y'
y''
x''
45

Figura 3-38 - A segunda transformao (translao) foi realizada no novo referencial.
O resultado da Figura 3-38 muito interessante pois coincide com o resultado do segundo caso da
Figura 3-37 (lado direito), isto , TB = T1T2, ou seja, a ps-multiplicao da matriz. Prescinde-se de
demonstrao formal, mas podemos afirmar o seguinte: a pr-multiplicao de uma transformao por outra
equivale a aplicar esta segunda no referencial global; a ps-multiplicao de uma transformao por outra
equivale a aplicar esta segunda no novo referencial.
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-19
Segue-se um problema mais complexo usando o enunciado anterior. Determinar o novo referencial
depois de translacionar o original de uma unidade em cada eixo, depois rod-lo 90 em torno do novo eixo dos
yy, translacionar 1 unidade no novo eixo dos xx, e depois translacionar 1 unidade negativa no eixo dos zz do
referencial original.
A transformao dada pelo seguintes passos:
Passo 4 Passo 1 Passo 2 Passo 3

T= Trans(0,0,-1) Trans(1,1,1) Rot(y,90) Trans(1,0,0)
Note-se que o passo 4 foi uma pr-multiplicao e os restantes (2 e 3) foram ps-multiplicaes.
Graficamente o processo percorreu as seguintes fases:
y
0
z
0
x
0
z
1
y
1
z
0
x
0
z
2
y
2
x
2
y
0
z
0
x
0
z
3
y
3
x
3
y
0
z
0
x
0
z
4
y
4
x
4
y
0

Figura 3-39 - Os quatro passos da transformao T=Trans(0,0,-1)Trans(1,1,1)Rot(y,90)Trans(1,0,0)
Do ponto de vista matricial obtemos a seguinte expresso:
1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1
0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0
0 0 1 1 0 0 1 1 1 0 0 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
0 0 1 1
0 1 0 1
1 0 0 1
0 0 0 1




= =











=






T

A interpretao da matriz final directa e confirmvel pelo diagrama da Figura 3-39: o novo eixo dos
xx aponta no sentido contrrio do eixo dos zz original; o novo eixo dos yy aponta no mesmo sentido do eixo
dos yy original, e o novo eixo dos zz aponta no sentido do eixo dos xx original. Finalmente, a origem do novo
sistema de coordenadas est no ponto (1,1,-1) medido no referencial original.
3.4.5 Transformaes inversas.
A obteno de um novo ponto pela aplicao de uma dada transformao geomtrica pressupe que o
processo inverso igualmente possvel: trata-se to simplesmente de obter um ponto (o original) a partir de
outro (o que era designado de novo). Matematicamente o processo traduz-se do seguinte modo:
1
0 0 1 1

= = p T p T p p
Ou seja, pelo recurso inversa de uma matriz, foi possvel inverter o processo de transformao
geomtrica. Deste modo, a inversa da matriz de transformao tambm ela, necessariamente, uma matriz
de transformao.
Como transformao que , a transformao inversa assume todos os significados j conhecidos. Em
particular, realce-se a transformao de referenciais de onde sai a expresso: ( )
1
1 R R N
N N R


= = T T T .
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-20
R
N
q
R
q
N
q
R
T
N
N
T
R =
R
T
N
-1
p
0
p
1

Figura 3-40 - Transformao inversa
Na Figura 3-40 pretende-se ilustrar o processo de transformao inversa e algumas relaes entre
pontos. O ponto p0 sobre um dos eixos no referencial R tem o seu correspondente, aps a transformao
directa, no ponto p1 sobre o eixo do novo referencial, N. Note-se que p0 e p1 podem ser vistos como pontos
diferentes num mesmo referencial (esquecendo o outro referencial), ou cada um no seu referencial como
resultado de uma transformao de referencial. A partir da Figura 3-40 podemos ainda escrever uma
panplia de expresses que podero ajudar a compreender melhor as diversas relaes.
0 1
= p T p ,
1
0 1

= T p p
N N R
R
= q T q
1 R N N R N
R N

= = q T q T q
0 0
N N R
R
= p T p ,
1 1
R R N
N
= p T p , etc.
Note-se que nas relaes anteriores se tem T =
R
TN. S uma questo de contexto permite dispensar os
ndices; na verdade, quando no pensamos no significado de transformao de referenciais, no faz sentido
falarmos de referenciais, e a, os ndices que os descrevem (R,N,) no tm utilidade particular. Ou seja,
quando nas expresses acima intervm um nico ponto, mas visto de referenciais diferentes (
R
q e
N
q, por
exemplo), necessrio indicar a ordem da transformao (de R para N ou de N para R). Quando
relacionamos dois pontos diferentes num mesmo referencial (p0 e p1 por exemplo), em geral a transformao
entre eles no carecer de ndices desde que no haja ambiguidade. Em caso de dvida ou de potencial
ambiguidade sugere-se o uso dos referidos ndices!
A matriz de transformao tem propriedades particulares que permitem definir uma regra muito
expedita para calcular a sua inversa. De facto, se uma matriz transformao for dada por:
0 0 0 1
0 0 0 1
x
y
z
p
ROT p
p




= =







x y z p
T


ento a sua inversa ser dada por:
( )
1
0 0 0 1
T
ROT







=







p x
p y
T
p z




Note-se o uso da seta (redundante) para reforar a lembrana a natureza dos objectos em causa.
Como dito anteriormente, o seu uso no era aqui obrigatrio, contudo a sua presena recordar que, por
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-21
exemplo o produto px um produto interno (escalar) de vectores.
3.4.6 Grafos e equaes de transformao
Um dos problemas mais frequentes em robtica industrial, e na automao em geral, consiste em
determinar a posio relativa entre um componente e um seu sub-componente, sabendo as suas posies, em
relao a um referencial comum (como por exemplo a bancada de trabalho). Por outras palavras, qual deve
ser a transformao a aplicar ao sub-componente para o encaixar num local bem definido no componente
principal. Para melhor ilustrar a questo, imagine-se um parafuso (ou pino) que queremos encaixar numa
dada cavidade; note-se que a localizao do pino e da cavidade so conhecidos. Aps a identificao das
partes, devem definir-se referenciais associados a cada um deles e, a partir da, procurar as relaes entre os
referenciais. No exemplo do pino, Figura 3-41, os referenciais associados devem ser de tal forma que, na
posio final, aps o encaixe, os eixos devero todos coincidir, porque esse o objectivo da montagem
(assembling).
z
R
x
R
z
N
y
N
x
N
y
S
y
R
x
S
z
S

R
S
N
R
T
N
R
T
S
S
T
N

Figura 3-41 - Problema da insero geomtrica de um pino numa cavidade
Do grafo da Figura 3-41 podemos escrever a seguinte relao:
R
TN =
R
TS
S
TN. H varias formas de
demonstrar essa relao mas eis uma das formas mais expeditas: seja um ponto q qualquer no espao com as
diversas coordenadas
R
q,
S
q e
N
q consoante o referencial de onde visto. Do exposto na seco 3.4.3 podemos
escrever sucessivamente:
S
q =
S
TN
N
q
R
q =
R
TS
S
q
Combinando as duas expresses vem:
R
q =
R
TS (
S
TN
N
q)=

(
R
TS
S
TN)
N
q
Comparando a expresso anterior com
R
q =
R
TN
N
q vir finalmente:
R
TN =
R
TS
S
TN
Nesta expresso, e relembrando a situao da Figura 3-41, e o grafo de transformao, verifica-se que
h um termo desconhecido, trata-se de
S
TN, da a expresso de designar por equao de transformao. A
sua resoluo todavia muito simples, recorrendo apenas lgebra de matrizes:
S
TN=
R
TS
1

R
TN
Note-se que a transformao
S
TN no traduz a trajectria que deve fazer o pino para chegar ao
encaixe; traduz apenas uma relao geomtrica de posio e orientao que servir de base ao clculo do
eventual movimento/trajectria, que ser tema a abordar noutro captulo. Mais ainda,
S
TN traduz a posio e
orientao da cavidade como vista do referencial do pino, isto , a aco de controlo ou gerao do movimento
prescindir do referencial global R, no pino que tudo comea.
Prope-se ainda um outro exemplo mais elaborado onde se pretende descobrir a relao entre o
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-22
end-effector de um manipulador e o ponto de contacto com um objecto a pegar. A Figura 3-42 mostra uma
situao possvel onde se assinalam os diversos referenciais: W referencial global de trabalho (como a
bancada ou sala), R referencial da base do robot (localizao da base do robot na bancada), H referencial
do end-effector (depende do estado corrente das diversas articulaes do robot), O referencial do objecto a
pegar (localizao do objecto sobre a bancada), G referencial do ponto de contacto no objecto (local onde o
end-effector dever estabelecer contacto, como por exemplo o ponto central de uma face do objecto cuja
descrio geomtrica perfeitamente definida e conhecida). O grafo de transformao concebido levando
em linha de conta que no ponto G que se pretende o objectivo da operao.
W
R
H
G
O

R
G
W
T
O
W
T
R
R
T
H
O
T
G
W
H
H
T
G
O

Figura 3-42 - Transformaes geomtricas de um processo simples de manipulao
A partir do grafo de transformao podemos escrever a equao de transformao cuja varivel
(termo desconhecido)
H
TG:
W
TR
R
TH
H
TG =
W
TO
O
TG
Finalmente sai a expresso final:
H
TG =
R
TH
1

W
TR
1

W
TO
O
TG
3.4.6.1 Exemplo de uma montagem vista do referencial da pea
Para terminar esta seco, prope-se um exemplo numrico de um processo de montagem que
consiste em determinar a transformao a aplicar no paraleleppedo, e do seu ponto de vista, de tal modo
que encaixe na pea me ao longo das arestas assinaladas com uma seta a carregado. Escolheram-se os
pontos A e B para origem dos referenciais respectivos e assinalaram-se os eixos como indicado para
satisfazer os requisitos de alinhamento final.
A
B
z
A
y
A
x
A
x
B
z
B
y
B
R
q
0
q
1

R
B
A
R
T
A
R
T
B
B
T
A

Figura 3-43 - Exemplo de montagem.
Sabendo que
0
6
2
R
A



=





e
8
2
2
R
B



=




determinar a transformao necessria a aplicar pea, do
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-23
seu ponto de vista, para ela encaixar, isto , determinar
B
TA. O grafo de transformao o ilustrado, e dele
sair de imediato que
B
TA =
R
TB
-1

R
TA. A partir dos pontos dados, e observando a orientao dos eixos dos
sistemas ilustrados, imediato concluir o seguinte:
1 0 0 0
0 1 0 6
0 0 1 2
0 0 0 1
R
A




=






T ,
0 0 1 8
0 1 0 2
1 0 0 2
0 0 0 1
R
B




=






T
Portanto, e pelas propriedades da matriz de transformao homognea, podemos concluir que:
1
0 0 1 2 1 0 0 0 0 0 1 4
0 1 0 2 0 1 0 6 0 1 0 4
1 0 0 8 0 0 1 2 1 0 0 8
0 0 0 1 0 0 0 1 0 0 0 1
B R R
B A A


= = =







T T T
Para verificar que o procedimento est correcto, experimentemos o resultado em dois pontos distintos.
Atente-se porm s coordenadas e aos sistemas de coordenadas que se usam em cada caso! A transformao
B
TA a transformao a operar sobre o paraleleppedo, mas visto do seu prprio referencial. As coordenadas
que resultam sero tambm no seu prprio referencial. Podemos verificar a posteriori o seu valor noutros
referenciais conhecidos s para efeitos de confirmao. Tome-se por exemplo o ponto B propriamente dito
que, no seu referencial, tem as seguintes coordenadas:
B
B=[0 0 0 1]
T
Aps a transformao em causa (
B
TA), as suas coordenadas, sempre no referencial B e que
designamos por
B
B', sero dadas por:
0 0 1 4 4 0
0 0 1 0 4 4
B' B
0 1 0 0 8 8
1 0 0 0 1 1
B B B
A




= = =






T
mas, no referencial A, que ponto este? Sabendo
B
TA (e consequentemente
A
TB), para qualquer ponto
do espao vlida a seguinte relao
1 A A B B B
B A

= = q T q T q .
Portanto,
1
0 0 1 8
0 1 0 4
1 0 0 4
0 0 0 1
A B
B A


= =






T T
e por conseguinte, B' B'
A A B
B
= T , ou seja
0 0 1 8 4 0
0 0 1 0 4 4
B'
0 1 0 0 4 8
1 0 0 0 1 1
A



= =






,
como seria de esperar, visto este ponto no ser mais do que a origem do sistema A.
Um segundo teste pode ser feito a um outro vrtice do paraleleppedo ilustrado na Figura 3-43. No
referencial B, temos o ponto indicado por q0, que ter como coordenadas nesse referencial
B
q0. Esse ponto vai
ser movimentado para a posio q1, que ter coordenadas
B
q1 ou
A
q1, conforme o referencial. Admitindo as
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-24
dimenses 2x4x3 para o paraleleppedo, teremos ento, como se pode observar da referida figura, o seguinte:
0
4
2
0
1
B




=






q
Note-se que dever tambm este ser o valor para
A
q1 porque a localizao q1 o ponto de destino de q0
aquando da transformao. E por isso, q1 visto de A tem o mesmo valor que q0 visto de B, ou seja,
A
q1=
B
q0.
Assim, para verificar esta igualdade, passemos verificao da transformao para este outro vrtice do
paraleleppedo:
0 1
0 0 1 4 4 4
0 1 0 4 6 2
0 1 0 0 8 4
1 0 0 0 1 1
B B B
A




= = =






q T q
Mas, pelo raciocnio j executado anteriormente,
1 1
0 0 1 8 4 4
0 1 0 4 6 2
0 1 0 0 4 4
1 0 0 0 1 1
A A B
B



= = =






q T q
que resulta em
A
q1=
B
q0 como se esperava.
3.4.6.2 Exemplo de montagem vista do referencial global
No exemplo concreto anterior pode ressalvar uma questo. A transformao pretendida era suposta
ser aplicada no referencial da pea a mover, tal como sucedeu. Porm, igualmente legtimo procurar
determinar a transformao a aplicar mas visto do referencial global R. Reformulando, qual deve ser, vista
de R, a transformao a aplicar ao bloco que est em B de forme que "encaixe" no referencial A? Vamos
primeiro clarificar e distinguir esta situao da situao anterior (transformao vista do bloco a mover).
Primeira situao: o objecto sofreu
R
TB e em seguida deve sofrer
B
TA para atingir
R
TA, isto :
R
TB
B
TA=
R
TA. A segunda transformao (no tempo), por ser vista do novo referencial (B), ps-multiplicada
transformao original.
Segunda situao: o objecto sofreu
R
TB e em seguida deve sofrer uma transformao T2 para atingir
R
TA. Todavia, T2 deve ser vista do referencial global R e por isso deve ser pr-multiplicada a
R
TB:
T2
R
TB =
R
TA. Como T2 pretende transformar do referencial B para A, visto de R, vamos design-la do
seguinte modo T2=
R
TB,A.
Feita a distino de situaes podemos ento escrever:
R
TB,A
R
TB =
R
TA
ou seja,
R
TB,A =
R
TA
R
TB
-1

Substituindo, vir:
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-25
,
1 0 0 0 0 0 1 2 0 0 1 2
0 1 0 6 0 1 0 2 0 1 0 4
0 0 1 2 1 0 0 8 1 0 0 10
0 0 0 1 0 0 0 1 0 0 0 1
R
B A



= =







T
Bastar agora aplicar aos pontos j usados na situao anterior e confirmar os resultados.
,
0 0 0 1 2 8
6 0 1 0 4 2
B A
2 1 0 0 10 2
1 0 0 0 1 1
R R R
B A




= = =







T
O ponto q0, tem no referencial R as coordenadas:
0 0
0 0 1 8 8 4
0 1 0 2 4 2
0 1 0 0 2 2
1 0 0 0 1 1
R R B
B




= = =






q T q
e o ponto q1, tem no referencial R as coordenadas:
1 1
0 0 1 8 4 4
0 1 0 2 6 8
1 0 0 2 4 2
0 0 0 1 1 1
R R B
B




= = =






q T q
Finalmente, e como se esperava, a transformao operada sobre o ponto q0 resulta no ponto q1, tudo
visto do referencial R:
0 1 ,
0 0 1 2 8 4
0 1 0 4 4 8
1 0 0 10 2 2
0 0 0 1 1 1
R R R
B A




= = =






T q q
3.5 Orientao e ngulos de Euler (RPY)
3.5.1 A componente de orientao numa transformao
Numa matriz de transformao geomtrica, como j visto, h uma sub-matriz que traduz a orientao
do novo sistema de coordenadas com respeito ao sistema de coordenadas anterior. Essa sub-matriz de 3x3
contm na verdade os versores das trs direces dos trs eixos.
11 12 13
21 22 23
31 32 33
0 0 0 1
0 0 0 0
0 0 0 1
x
x
y y N N N N
R
N
z z
p
r r r p
r r r p ROT p
r r r p p








= = =











x y z p
T
Essa orientao o resultado de uma sequncia de 3 rotaes em torno de trs eixos distintos, que
traduz os trs graus de liberdade rotacional que existem no espao.
As sub-matrizes de rotao (ROT na expresso anterior) apresentam algumas propriedades que se
podem tornar teis em certas circunstncias, nomeadamente as seguintes:
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-26
A sua inversa igual sua transposta:
1 T
= R R
As suas colunas so ortogonais: 0 , 1, 2, 3
i j
i j i j = = c c


O seu determinante unitrio: ( ) det 1 = R
3.5.2 Formas de expressar a orientao
Podendo efectuar rotaes em torno de trs eixos (Figura 3-32) afigura-se um variado nmero de
combinaes possveis. Esse nmero aumentado pelo facto de cada rotao em torno de um dado eixo poder
ser feita em relao ao referencial original ou ao novo referencial recm-criado.
Aos ngulos de rotao em torno de cada um dos trs eixos chamam-se usualmente ngulos de Euler
e o seu significado depende da combinao de rotaes usadas. O nmero de combinaes distintas de 12 e
de seguida descrevem-se as duas mais usadas.
3.5.2.1 Roll-Pitch-Yaw (RPY)
A combinao de ngulos mais imediata a de pensar a rotao, em relao a um referencial fixo,
segundo os eixos x, y e z por esta ordem. Esta sequncia frequentemente conhecida pelos termos ingleses
Roll-Pitch-Yaw.
y
z
x
Roll(), Rot(z, )
Yaw(), Rot(x, )
Pitch(), Rot(y, )

Z
X
Y

Figura 3-44 - Rotaes RPY e correspondncia usual num punho de mannipulador.
Matematicamente a matriz de transformao obtida do seguinte modo:
( ) ( ) ( ) ( ) ( ) , , , , , , , RPY z y x = = Rot Rot Rot Rot
ou, aps desenvolvimento:
( )
0
0
, ,
0
0 0 0 1
C C S C C S S S S C S C
S C C C S S S C S S S C
RPY
S C S C C




+ +


+ +

=







Usualmente tambm se definem as seguintes expresses:
( ) ( ) , Roll z = Rot , ( ) ( ) , Pitch y = Rot , ( ) ( ) , Yaw x = Rot .
3.5.2.2 ngulos de Euler (tipo II)
Uma outra variante para os ngulos de Euler muito usada, a chamada tipo II (se bem que esta
designao varie muito com os autores). A sequncia a de rotao em torno do eixo dos zz, rotao em torno
do novo eixo dos yy, e finalmente rotao em torno do novo eixo dos zz. Esta variante tambm se designa
ngulos de Euler tipo Z-YN-ZN, onde o ndice N lembra que se trata de transformaes no novo sistema de
coordenadas.
Robtica Industrial V. Santos
Sistemas de Coordenadas 3-27
y
z =z'
x
Rot(z, )
Rot(z'', )
Rot(y', )
x'
y'
z''=z'''
x''
y'''
x'''

Figura 3-45 - ngulos de Euler do tipo II (Z-YN-ZN)
Matematicamente a operao pode ser expressa da seguinte forma:
( ) ( ) ( ) ( ) , , , , ,
II
Euler z y z = Rot Rot Rot
Aps expanso matricial, e relembrando da ps multiplicao efectuada para a segunda e terceira
rotao no tempo, chegamos ao resultado:
( )
1
1
, ,
1
0 0 0 1
II
C C C S S C C S S C C S
S C C C S S C S C C S S
Euler
S C S S C







+ +

=











Captulo 4

Cinemtica Directa de
Manipuladores


z
1
z
2

x
0
y
1

y
2

x
2
y
0

2

L
2
z
0

1

x
1

L
1

1 1 1 2 1 2 1 2 1 2 2 2 2 2
1 1 1 2 1 2 1 2 1 2 2 2 2 2
0
2
1 2 2 2 2 1
0 0 0
0 0 0
0 0 1 0 0 1 0 0
0 0 0 1 0 0 0 1 0 0 0 1
R
H
C S C C C S S L C C C S L C
S C S C S S C L S C S C L S
L S C L S L





= = =

+





T T



Elo

l d
1
1
+/2 0 L1
2
2
0 L2 0
Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-2
4. Cinemtica Directa de Manipuladores
4.1 Cinemtica de um manipulador
4.1.1 Definio
A cinemtica de um manipulador o estudo do conjunto de relaes entre as posies, velocidades e
aceleraes dos seus elos.
O estudo que aqui se inicia diz respeito apenas aos manipuladores srie, que alis a categoria que
inclui a grande maioria de manipuladores industriais e didcticos. Os manipuladores srie caracterizam-se
pelo facto de todas as juntas ligarem dois e apenas dois elos consecutivos.
A relao entre o referencial de origem e o referencial da extremidade (mo) do manipulador dada
por uma transformao
R
TH que, todavia, no d qualquer indicao sobre as relaes entre os elos
intermdios. Desse modo, para fazer um estudo da cinemtica, e outros, necessrio, antes de mais, definir
sistemas de coordenadas associados a cada elo, ou seja, atribuir-lhe referenciais. Por outro lado, a relao
geomtrica entre elos traduzvel por uma matriz de transformao: para ir de um extremo de um elo (junta
ou base do robot) at ao outro extremo do elo (a junta seguinte ou a extremidade do robot) far-se-o
translaes e rotaes. Em suma, um dado elo i ter associado a si a matriz de transformao Ai, onde a
primeira matriz, A1, relaciona o primeiro elo com a base fixa, e a ltima matriz, An, relaciona o referencial
da mo com o ltimo elo. ento claro que
R
TH = A1A2...An. A Figura 4.1 esquematiza as transformaes
associados a um manipulador de 3 elos.

R
H
A
1

A
2

A
3

J
1
H
R
T
H
A
1
R
A
2
A
3

J
2

R
TH = A1A2A3
Figura 4.1 - Matriz de transformao de um manipulador srie com 3 elos
4.1.2 Espao das juntas e espao cartesiano
O estudo da cinemtica divide-se em dois tipos de problemticas: localizao da mo a partir das
posies das juntas (cinemtica directa), e determinao das posies das juntas a partir da posio da mo
(cinemtica inversa).
Podemos assim definir dois espaos de variveis: o espao das variveis da juntas, ou simplesmente
espao das juntas, e o espao cartesiano ou operacional. A dimenso do espao operacional 6 (3 translaes
e 3 orientaes) e o espao das juntas tem como dimenso o nmero de juntas do manipulador. As operaes
Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-3
do espao das juntas para o espao cartesiano no apresentam qualquer ambiguidade, mas o contrrio pode
no ser verdade. De facto, o espao das juntas muitas vezes redundante, isto , nem sempre possvel
estabelecer uma relao unvoca com o espao cartesiano, significando que vrias configuraes no espao
das juntas resultam na mesma configurao no espao operacional
Cinemtica
inversa
Cinemtica
directa
Espao das
juntas
Espao
cartesiano

Espao das juntas
Espao operacional

Figura 4.2 - Cinemtica directa e inversa, e natureza no biunvoca da sua inter-relao
4.1.3 O algoritmo da Cinemtica Directa
Implementar a cinemtica directa de um manipulador significa, portanto, determinar as relaes que
exprimem um ponto no espao cartesiano, r

, em funo de um ponto no espao das juntas, q

, isto
( )
directa
= r F q

.
Os passos ou algoritmo para definir tal relao so, essencialmente, os seguintes:
Colocar o robot na posio zero (descrito adiante)
Atribuir um sistema de coordenadas a cada elo
Descrever as relaes (translaes e rotaes) entre as variveis das juntas e dos elos
Determinar as matrizes de transformao Ai dos diversos elos.
Multiplicar os Ai e obter a expresso
R
TH
Obter as coordenadas de posio da mo
Obter as coordenadas de orientao da mo
4.2 Parmetros de juntas e elos
Para atribuir sistemas de coordenadas a um elo ser preciso levar em conta a sua prpria geometria e
as consequncias que ter no elo seguinte da cadeia. No intuito de obter uma forma coerente e prtica de
determinao desses sistemas de coordenadas, necessrio definir conceitos tais como o eixo de uma junta
ou os parmetros cinemticos dos elos e juntas associadas.
4.2.1 Eixo de uma junta
O eixo de uma junta o eixo relacionado com a simetria do movimento inerente prpria junta e que
pode coincidir com o eixo de um ou outro elo ou mesmo ser-lhe ortogonal; de seguida descrevem-se as
situaes tipo. O eixo de uma junta far parte do sistema de coordenadas associados ao elo, e convenciona-se
que seja o eixo das coordenadas zz.
Eixo de junta rotacional
No caso de termos dois elos colineares, ento o eixo da junta coincide com o eixo longitudinal dos elos,
como se ilustra na Figura 4.3 do lado esquerdo. Este tipo de arranjo de junta colinear rotacional muito
usado em punhos de manipuladores. No caso dos elos terem o eixo de rotao perpendicular ao seu eixo
longitudinal (Figura 4.3, lado direito), estamos em presena de um arranjo muito comum para cotovelos, ou
seja o eixo da junta ortogonal.
Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-4




Figura 4.3 - Eixo de junta colinear e ortogonal em juntas rotacionais
Eixo de uma junta prismtica
Para juntas prismticas a abordagem semelhante. Existem os casos de junta colinear ou junta
ortogonal, conforme se ilustra na Figura 4.4, do lado esquerdo e direito, respectivamente.



Figura 4.4 - Eixo de junta colinear e ortogonal em juntas prismticas
4.2.2 Os quatro parmetros de elos e juntas
Um elo um elemento rgido que mantm fixas as relaes entre juntas sucessivas e pode ser
caracterizado com um determinado nmero de parmetros geomtricos/cinemticos no que diz respeito
transformao geomtrica que opera. Os elos intermdios so delimitados por duas juntas; que o precede
na srie de ligaes designa-se aqui por junta anterior, e outra designa-se posterior ou seguinte. Excepes
devem ser levadas em conta para os elos extremos do manipulador, onde s h uma junta delimitadora.
Apresenta-se de seguida uma definio conceptual de cada um dos quatro parmetros cinemticos, qual se
junta uma definio formal que ser usada mais adiante, a propsito do Algoritmo de Denavit-Hartenberg.
Para se compreender a definio formal recorre-se a uma a simbologia prpria, a saber:
Oi Ponto de origem do sistema de coordenadas i.
zi xi Ponto de interseco entre o eixo zi e o eixo xi
,
i
i i
x
O P Distncia do ponto Oi ao ponto Pi medido ao longo do eixo xi
( ) ,
i
i i y
x z ngulo medido da direco de xi para a direco de zi em torno do eixo yi
Comprimento do elo (li)
Distncia medida ao longo da normal comum entre os eixos das juntas. Traduz o conceito de
afastamento linear entre os eixos das juntas. Formalmente
1
: ( )
1
,
i
i i i i
x
l z x O

= .

1
Alguns autores preferem usar a letra a para designar este parmetro.
Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-5
Distncia entre elos ou deslocamento de juntas (di)
O deslocamento de juntas traduz, em geral, a distncia entre elos medida ao longo do eixo da junta
anterior. Definio formal: ( )
1
1 1
,
i
i i i i
z
d O z x


=
ngulo de junta (i)
ngulo definido normalmente entre o eixo de um elo e o eixo do elo seguinte. Definio formal:
( )
1
1
,
i
i i i
z
x x

=
ngulo de toro do elo (i)
ngulo de toro que o elo impe desde o eixo da junta anterior at ao eixo da junta seguinte.
Definio formal:
( )
1
,
i
i i i
x
z z

=
4.2.3 Alguns exemplos de elos
De seguida apresentam-se vrias geometrias de elos com o intuito de ilustrar os diversos parmetros
que afectam a cinemtica de um manipulador. A definio dos sistemas de coordenadas no muito rgida
excepo da definio do eixo zz que coincide com o eixo da junta, como convencionado. O n-simo elo e a sua
junta anterior (n-sima) so responsveis pela definio do sistema de coordenadas n que se considera
solidrio com o elo. O sistema de coordenadas (n-1) aquele sobre o qual opera a junta n e o respectivo elo n.
Desse modo, o sistema de coordenadas 0 (zero) o primeiro de todos e refere-se base fixa do manipulador.
Regras adicionais sero propostas mais adiante de uma forma estruturada para a definio do
algoritmo de Denavit-Hartenberg. Em todos os casos seguintes, o elo o n-simo da cadeia.

z
n-1
y
n-1
y
n
z
n
x
n
x
n-1

n+1
Junta n

Junta n+1

l
n

ln 0
dn = 0
n = varivel
n = 0
Figura 4.5 Exemplo 1 de elo juntas rotacionais paralelas

Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-6
z
n-1
y
n-1
y
n
x
n-1

n+1
Junta n

Junta n+1
z
n
x
n
l
n
d
n

ln 0
dn 0
n = varivel
n = 0
Figura 4.6 Exemplo 2 de elo: juntas rotacionais paralelas com desalinhamento

z
n-1
y
n-1
z
n
x
n
x
n-1

n+1
Junta n+1
Junta n

y
n
l
n

n

ln 0
dn = 0
n = varivel
n 0 (90)

Figura 4.7 - Exemplo 3 de elo: juntas rotacionais ortogonais


z
n-1
y
n-1
z
n
x
n
x
n-1

n+1
Junta n+1
J unta n

y
n
l
n
d
n

n

ln 0
dn 0
n = varivel
n 0 (90)
Figura 4.8 Exemplo 4 de elo: juntas rotacionais ortogonais e com desalinhamento

Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-7

z
n-1
y
n-1
z
n
y
n
x
n-1
Junta n+1
J unta n

x
n

n
d
n

n

ln = 0
dn 0
n = varivel
n 0 (+90)
Figura 4.9 - Exemplo 5 de elo: juntas rotacionais ortogonais (2 tipo)


z
n-1
y
n-1
z
n
y
n
x
n-1
J unta n+1
Junta n

x
n

n
d
n

n

ln = 0
dn 0 (varivel)
n 0 (+90)
n 0 (+90)
Figura 4.10 - Exemplo 6 de elo: junta prismtica e rotacional, ortogonais

z
n-1
y
n-1
z
n
y
n
x
n-1
Junta (n+1)
Junta n

x
n

n
d
n
l
n

ln 0
dn = varivel
n= 0
n 0 (+90)
Figura 4.11 - Exemplo 7 de elo: junta prismtica e rotacional, ortogonais (2 tipo)

Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-8

z
n-1
y
n-1
z
n
y
n
x
n-1
Junta (n+1)
Junta n
x
n

n
d
n
l
n

Parmetros aparentes:
ln 0
dn = varivel
n = 0
n 0 (+90)
A trao mais grosso indicam-se os
reais parmetros no contemplados de facto
nos 4 parmetros cinemticos aparentes
acima indicados.
Figura 4.12 Exemplo 8 de elo. Geometria mais elaborada com juntas prismticas ortogonais


z
n-1
y
n-1
z
n
y
n
x
n-1
Junta (n+1)

J unta n
x
n

n
d
n

n
l
n

n0
=+90
l
n

Parmetros aparentes:
ln 0
dn 0
n= 90 + varivel
n 0 (+90)
A trao mais grosso indicam-se os
reais parmetros no contemplados de facto
nos 4 parmetros cinemticos aparentes
acima indicados.
Figura 4.13 - Exemplo 9 de elo. Geometria mais elaborada com juntas rotacionais ortogonais
Os casos representados na Figura 4.12 e na Figura 4.13 so os mais complexos de todos os
apresentados aqui, e uma aplicao simplista das regras usadas nos casos restantes mostrar-se-ia
insuficiente porque aparentemente faltaria um termo de translao. Na verdade, uma escolha mais
criteriosa de dois parmetros permitiria obviar esse problema. Na referidas figuras ilustra-se a trao mais
grosso (e de cor diferente) essas medidas a ter de levar em conta; bastaria repensar, por exemplo, os
parmetros dn e n. Note-se que em algumas situaes, como o caso da Figura 4.12, a definio da matriz
de transformao simples (translaes e rotaes simples e bem definidas), e prescindiria de todo este
processo de o recurso aos parmetros cinemticos.
4.2.4 Os parmetros cinemticos variveis
Obviamente que os parmetros cinemticos no so sempre todos constantes, seno a transformao
geomtrica seria constante, e portanto o manipulador imvel. Dos quatro parmetros indicados dois esto
associados componente mvel (juntas); so as variveis de junta. Se uma junta for rotacional, a varivel de
junta o ngulo de junta i. Se a junta for prismtica, a varivel de junta o deslocamento da junta, ou
distncia entre elos, di.
A tabela seguinte resume os conceitos mais importantes sobre os parmetros cinemticos.
Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-9

Parmetro Smbolo
Junta
rotacional
Junta
prismtica
Definio formal
ngulo de junta
i
varivel fixo
( )
1
1
,
i
i i i
z
x x

=
Deslocamento de junta d
i
fixo varivel
( )
1
1 1
,
i
i i i i
z
d O z x


=
Comprimento do elo l
i
(a
i
) fixo fixo
( )
1
,
i
i i i i
x
l z x O

=
ngulo de toro do elo
i
fixo fixo ( )
1
,
i
i i i
x
z z

=
Tabela 4.1 - Tabela dos parmetros cinemticos
Para efeitos de uma abordagem genrica, diz-se que o vector variveis de junta designado por q e
dado pela seguinte expresso:
1 2
T
n
q q q

=


q

,
i
i
i
rotacional
q
d prismtica


4.2.5 Transformao
i-1
Ai associada a um elo
Depois do exposto imediato concluir que o elo i, associado sua junta i, realiza uma transformao
geomtrica, dando origem ao referencial i+1, que pode ser decomposta nas quatro operaes elementares:
Rotao i em torno do eixo da junta (zi-1)
Translao longitudinal ao longo do eixo do elo (xi) do seu prprio comprimento (li)
Translao transversal ao longo do eixo da junta (zi) do afastamento entre juntas (di)
Rotao i do eixo da junta (zi) em torno do eixo longitudinal (xi) do elo
Repare-se que estas transformaes elementares surgem concatenadas em sequncia, e por esta
ordem, se bem que as translaes possam comutar entre si, o que significa globalmente obter-se uma
transformao final por ps-multiplicao sucessiva, resultando na matriz
i-1
Ai ou mais simplesmente, Ai:

( ) ( ) ( ) ( ) , , 0, 0 0, 0, ,
i i i i i
z l d x = A Rot Trans Trans Rot
1 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0
0 0 0 1 0 0 0 1 0 0 0 1
i i i
i i i i
i
i i i
l C S
C S S C
d S C








=






A

0
0 0 0 1
i i i i i i
i i i i i i i
i
i i i
C S C S S l C
S C C C S l S
S C d






=






A (4.1)
Os elos de um manipulador so numerados a partir da base e o primeiro elo (mvel) o elo nmero 1
que se segue primeira junta, ou junta nmero 1. A base fixa designada o elo 0. Sistema de coordenadas 0
(zero) ser aquele a partir do qual se faz toda a transformao geomtrica do manipulador. H
frequentemente mais do que uma possibilidade de o fazer, conforme o interesse do problema. A Figura 4.14
ilustra duas possibilidades alternativas (a segunda a tracejado) para definir o sistema de coordenadas inicial
(zero) de um manipulador do tipo PUMA com 6 graus de liberdade: 6 juntas, 6 elos (mveis mais uma base
ou elo 0). Deve referir-se que haveria ainda vrias outras possibilidades de escolher os sistemas de eixos.
Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-10


Figura 4.14 - Elos e juntas de um manipulador do tipo PUMA. Assinala-se a tracejado uma alternativa para o sistema
de referncia.
4.3 Atribuio de sistemas de coordenadas
4.3.1 Exemplos simples de sistemas de coordenadas
Apresentam-se agora dois exemplos de atribuio de sistemas de coordenadas e a determinao de
parmetros cinemticos de coordenadas em dois manipuladores simples com dois graus de liberdade cada.
Antes de mais defina-se que a posio zero de um manipulador (Zero ou Home Position) aquela em que as
variveis de junta esto nos seus valores 0. Ou seja, as juntas rotacionais esto alinhadas com a referncia e
as juntas prismticas esto recolhidas.
Um manipulador planar a 2 DOF
z
0
z
1

z
2
y
0
y
1
y
2
x
2
x
1
x
0

2

l
1
l
2



Elo l d
1
1
0 l
1
0
2
2
0 l
2
0
Figura 4.15 - Sistemas de coordenadas e parmetros cinemticos de um robot planar a 2 DOF
O manipulador planar a 2 graus de liberdade (degrees of freedom - DOF) o mais simples dos
manipuladores interessantes, e a atribuio de sistemas de coordenadas relativamente bvia; bastar
atender ao eixo das duas juntas, e o resto sai naturalmente. Outras configuraes seriam possveis mas sem
vantagens adicionais. Podemos agora determinar as suas expresses de cinemtica directa usando a relao
(4.1) e fazendo as simplificaes de escrita C1 = C1 e S1 = S1:
x
0

y
0
z
0
Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-11
( ) ( )
( ) ( )
( ) ( )
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1
0 0 0
0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 1
C S C S S l C C S l C
S C C C S l S S C l S
S C





= =






A ,
2 2 2 2
2 2 2 2
2
0
0
0 0 1 0
0 0 0 1
C S l C
S C l S




=






A
Multiplicando as expresses obtidas vir:
1 1 1 1 2 2 2 2
1 1 1 1 2 2 2 2
0
2
0 0
0 0
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
R
H
C S l C C S l C
S C l S S C l S




= =






T T
1 2 1 2 1 2 1 2 2 1 2 2 1 2 1 1
1 2 1 2 1 2 1 2 2 2 1 2 2 1 1 1
0
0
0 0 1 0
0 0 0 1
R
H
C C S S C S S C l C C l S S l C
S C C S S S C C l C S l S C l S
+


+ + + +

=






T
Que, fazendo C12 = C1+2 = C(1+2), podemos simplificar em:

12 12 2 12 1 1
12 12 2 12 1 1
0
0
0 0 1 0
0 0 0 1
R
H
C S l C l C
S C l S l S
+


+

=






T
(4.2)

Analisando esta matriz podemos desde logo individuar as coordenadas (x,y,z) do end-effector do
manipulador. Dada a simplicidade do manipulador, era possvel obter estas mesmas coordenadas por anlise
geomtrica directa como se demonstra na Figura 4.16. Porm, a matriz de transformao alm de ser
genrica, possui mais informao. Por exemplo, dela se extrai tambm que a orientao do sistema de
coordenadas da mo (xH,yH) aponta nas novas direces dadas pelos vectores [C12 S12]
T
e [S12 C12]
T
,
respectivamente. Mais uma vez claro que estas orientaes tambm se deduziriam pela anlise geomtrica,
mas no de forma to directa.
Coordenada x do extremo do manipulador:
( )
1 1 2 1 2 1 1 2 12
cos cos x L L LC L C = + + = +
Coordenada y do extremo do manipulador:
( )
1 1 2 1 2 1 1 2 12
sin sin y L L L S L S = + + = +

1
y
x

2

L cos (
1
+
2
)
L cos
1

Figura 4.16 - Coordenadas para um manipulador planar a 2 DOF
Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-12
Um manipulador no planar a 2 DOF


z
1
z
2

x
0

y
1

y
2

x
2
y
0

2

L
2
z
0

1

x
1

L
1


Elo

l d
1
1
+90 0 L1
2
2
0 L2 0
Figura 4.17 - Sistemas de coordenadas e parmetros cinemticos de um robot de 2 DOF no espao a 3D
O manipulador 2 DOF no espao 3D, embora simples, j exigiu mais alguma ateno na atribuio
dos sistemas de coordenadas. Vejamos, por exemplo, o caso do referencial da base. Se x0 no tivesse a
direco indicada e apontasse ao invs na direco simtrica de y0 (indicado), e dada a direco apresentada
por x1, o ngulo de junta 1 (que se mede de x0 para x1 em torno de z0) teria de ter um termo constante que
seria neste caso +90, ou seja (1+90)! S assim se garantiria uma expresso correcta do referencial da mo
em relao ao referencial de origem (x0, y0, z0). Repare-se tambm que neste manipulador j h distncia
entre elos, d1 = L1.
As expresses para obter a cinemtica directa so as seguintes:
( ) ( )
( ) ( )
( ) ( )
1 1 1 1 1 1
1 1 1 1 1 1
1
1 1
90 90 0 0 0
90 90 0 0 0
0 90 90 0 1 0
0 0 0 1 0 0 0 1
C S C S S C C S
S C C C S S S C
S C L L





= =






A
( ) ( )
( ) ( )
( ) ( )
2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2
2
0 0 0
0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 1
C S C S S L C C S L C
S C C C S L S S C L S
S C





= =






A

1 1 1 2 1 2 1 2 1 2 2 2 2 2
1 1 1 2 1 2 1 2 1 2 2 2 2 2
1 2 2 2 2 1
0 0 0
0 0 0
0 0 1 0 0 1 0 0
0 0 0 1 0 0 0 1 0 0 0 1
R
H
C S C C C S S L C C C S L C
S C S C S S C L S C S C L S
L S C L S L





= =

+





T (4.3)
Como esperado, os resultados so um pouco mais complexos, mas mesmo assim verificveis por uma
anlise geomtrica. Por exemplo, observa-se que a coordenada z dada pela soma L2S2+L1. Se 2 for maior
que zero e menor que 90, ou seja, quando a junta 2 levanta o elo que lhe sucede, v-se que coordenada z
da posio de repouso L1 (como indicado na Figura 4.17), adicionado um termo proporcional ao
comprimento do segundo elo afectado do seno do ngulo da sua orientao. Outras observaes similares se
poderiam fazer.
Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-13
4.3.2 Algoritmo de Denavit-Hartenberg
Nos exemplos anteriores, a atribuio dos sistemas de coordenadas foi muito emprica, tendo-se usado
o eixo da junta e procurado que os diversos eixos x sassem sempre colineares para facilitar a definio do
ngulo de junta, conforme definio j referida na seco 4.2.2.; obter as expresses da cinemtica directa a
partir dos parmetros tabelados foi feito sem dificuldades de maior. No entanto, se os manipuladores se
complicarem o procedimento complica-se e dever-se- recorrer a uma metodologia mais sistemtica. O
algoritmo de Denavit-Hartenberg (algoritmo D-H) prope essa metodologia muito bem estruturada para, no
algoritmo da cinemtica directa, obter os sistemas de coordenadas e as transformaes associadas a cada elo
de um manipulador. Para ser aplicado, as juntas tm de estar numeradas por ordem crescente, comeando
pela base do manipulador. Pode ser dividido em 4 etapas fundamentais que se subdividem em vrios passos
elementares repetidos parcialmente em ciclos, consoante o nmero de elos do manipulador. Na Tabela 4.2,
que descreve o algoritmo, admite-se que o manipulador tem n juntas e para ele se definiro n+1 sistemas de
coordenadas, sendo o ltimo o associado mo ou garra.

1
Estabelecer o sistema de coordenadas (x
0
, y
0
, z
0
) na base de suporte, com z
0
ao longo do eixo
da junta 1. Convencionar x
0
e y
0
de forma conveniente.
For i=1 to n-1
2.1 Definir eixo junta i e alinhar z
i
com eixo da junta i+1
2.2 Definir O
i
(origem do sistema de coordenadas) de um dos seguintes modos:
2.3
Interseco de z
i
com z
i-1

Interseco da normal comum entre z
i
e z
i-1
com z
I

2.4 Definir x
i
= (z
i-1
z
i
), ou ao longo da normal comum a z
i-1
e z
i
quando so paralelos
2
2.5 Definir y
i
=z
i
x
I

Next i
3
Estabelecer o sistema de coordenadas da mo O
n
(o ltimo). Normalmente, a junta n
rotacional:
z
n
colinear com z
n-1
e a apontar para fora
x
n
normal a z
n
e z
n-1

y
n
de acordo com o sistema directo usual

Determinar parmetros de elos e juntas
For i =1 to n
4.1 ( )
1
1 1
,
i
i i i i
z
d O z x


= ; a varivel de junta se for prismtica
4.2 ( )
1
,
i
i i i i
x
l z x O

=
4.3

( )
1
1
,
i
i i i
z
x x

= ; a varivel de junta se for rotacional


4
4.4

( )
1
,
i
i i i
x
z z

=
Next i
Tabela 4.2 - Algoritmo de Denavit-Hartenberg para um manipulador com n juntas
4.3.3 Representao de Denavit-Hartenberg para um PUMA de 6 DOF
Um exemplo interessante de obteno de sistemas de coordenadas por ser visto na Figura 4.18. Trata-
se de um manipulador do tipo PUMA com 6 graus de liberdade, que um robot com grande expresso
prtica a nvel industrial. O exemplo pode parecer algo elaborado mas, sendo um exemplo extrado da
bibliografia, relevante que se faam todavia algumas observaes em relao ao representado.
O sistema de eixos (x0, y0, z0) poderia ter sido colocado na base. Isso alteraria apenas um dos
parmetros cinemticos do primeiro elo (translao em z)
Os eixos x0 e y0 poderiam estar rodados +90 em torno de z0. Essa tambm uma variante comum.
Os eixos z1, z2 e z4 poderiam apontar no sentido oposto, que teria como consequncia sentidos
Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-14
opostos para y1, y2 e y4. A principal diferena das duas alternativas seria o sentido de rotao
positiva para os ngulos de junta para o observador, mas de resto no haveria alteraes que
afectassem a resoluo do sistema.
O manipulador no est representado na sua posio zero! Para isso os elos deveriam estar
orientados de tal forma que todos os eixos xi fossem paralelos. No estando na posio zero dever-
se- ter algum cuidado na determinao dos diversos ngulos de junta j que alguns tero termos
constantes adicionais de +90, mormente 1 e 3.



J unta i

i

i

1 90 -90
2 0 0
3 90 90
4 0 90
5 0 -90
6 0 0
Figura 4.18 - Exemplo de sistemas de coordenadas para um PUMA de 6 DOF e indicao de e na configurao
ilustrada
4.4 Exemplos de construo da Cinemtica Directa
De seguida apresentam-se dois exemplos de implementao da cinemtica directa de dois
manipuladores usando o algoritmo de Denavit-Hartenberg: um manipulador antropomrfico de 5 DOF e um
SCARA a 4 DOF.
4.4.1 Um manipulador a 5 DOF (Microbot Alpha II)
Aplicando o algoritmo de Denavit-Hartenberg possvel chegar soluo ilustrada na Figura 4.19
para os sistemas de coordenadas de um manipulador do tipo Microbot Alpha II.
Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-15


z
1
z
2

x
0

y
1

y
2

x
2

y
0

2

z
0

x
1

L
B
L
C
L
D
L
A

5
z
3
y
5
z
4
y
4
x
4
z
5
x
3
y
3
x
5


Elo l d
1
1
+90 0 L
A

2
2
0 L
B
0
3
3
0 L
C
0
4
4
+90 +90 0 0
5
5
0 0 L
D

Figura 4.19 - Sistemas de coordenadas para um manipulador antropomrfico a 5 DOF
As origens O3 e O4 coincidem, pois que O4 dado pela interseco de z4 com z3. Note-se tambm que o
robot no est na posio zero e, por isso, a junta 4 tem na definio da sua varivel o termo correctivo de
+90, ou seja, nesta posio inicial, na qual os ngulos de junta assumem o valor zero, o eixo x4 j est
"adiantado" 90 em relao a x3.
Na sequncia do algoritmo da cinemtica directa basta obter as matrizes de transformao associadas
a cada elo, usando a expresso (4.1), e ps-multiplic-las em sequncia. Para a primeira matriz vem:
( ) ( )
( ) ( )
( ) ( )
1 1 1 1 1 1
1 1 1 1 1 1
1
90 90 0 0 0
90 90 0 0 0
0 90 90 0 1 0
0 0 0 1 0 0 0 1
A A
C S C S S C C S
S C C C S S S C
S C L L





= =






A
Para as matrizes seguintes, tambm imediato chegar s suas expresses:
2 2 2
2 2 2
2
0
0
0 0 1 0
0 0 0 1
B
B
C S L C
S C L S



=






A ,
3 3 3
3 3 3
3
0
0
0 0 1 0
0 0 0 1
C
C
C S L C
S C L S



=






A ,

( ) ( )
( ) ( )
4 4 4 4
4 4
4 4
4
90 0 90 0 0 0
0 0
90 0 90 0
0 1 0 0
0 1 0 0
0 0 0 1
0 0 0 1
C S S C
C S
S C


+ +




+ +


= =









A ,
5 5
5 5
5
0 0
0 0
0 0 1
0 0 0 1
D
C S
S C
L




=






A
A expresso final da transformao geomtrica do referencial da base para o referencial da mo
obtm-se pela seguinte multiplicao:
Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-16
1 1
1 1
0 0
0 0
0 1 0
0 0 0 1
R
H
A
C S
S C
L



=






T
2 2 2
2 2 2
0
0
0 0 1 0
0 0 0 1
B
B
C S L C
S C L S









3 3 3
3 3 3
0
0
0 0 1 0
0 0 0 1
C
C
C S L C
S C L S









4 4
4 4
0 0
0 0
0 1 0 0
0 0 0 1
S C
C S










5 5
5 5
0 0
0 0
0 0 1
0 0 0 1
D
C S
S C
L











Repartindo o produto em dois termos fundamentais, (A1A2A3)(A4A5), vir:
( )
( )
( )
1 2 3 1 2 3 1 2 3 1 2 3 1 1 2 3 1 2 3 1 2 5 5 4 4 4 4
5 5 4 4 4 1 2 3 1 2 3 1 2 3 1 2 3 1 1 2 3 1 2 3 1 2
2 3 2 3 2 3 2 3 2 3 2 3 2
0
0 0 0 1
C B D
D C B
R
H
C B A
C C C C S S C C S C S C S L C C C C S S L C C S C S S C L C
C C C S S L S C C S S S S C S S S C C L S C C S S S L S C
S C C S S S C C L S C C S L S L
+


+

=

+ + + + +





T
4
5 5
0 0
0 0 0 1
C
S C











Ou, recorrendo a relaes trigonomtricas, numa forma mais simplificada:

( )
( )
( )
1 2 3 123 1 2 3 123 1 1 2 3 123 1 2 5 5 4 4 4 4
5 5 4 4 4 4 123 1 2 3 123 1 2 3 1 123 1 2 3 1 2
5 5
23 23 23 2
2 2
2 2
1
2 0 0
2 2 0 2
0 0 0 1
0 0 0 2
C B D
D C B
R
H
C B A
C C S S S L C C L C C S C S S C L C
C C C S S L C S S C C C L S S L S C
S C
S C L S L S L


+ + +




+ + +


=


+ +







T

(4.4)
Recorde-se que C1-2-3 = cos(123) e C123 = cos(1+2+3), etc. O resultado final, por extenso, tem
uma representao com uma dimenso grfica muito grande e praticamente sem interesse neste momento.
O recurso a meios numrico-computacionais , por isso, recomendado para a obteno de valores concretos.
Para efeitos de verificao admitamos, por exemplo, que todas as juntas tem valor 0, ou seja, a
representao ilustrada na Figura 4.19. Assim, por substituio directa na expresso anterior teramos:
0 0 1 0 0 1 1 0 0
0 1 0 0 0 0 1 0 1 0 0
0 1 0 0 0 1 0 0 1 0 0
0 0 0 1 0 0 0 1 0 0 0 1
D B C D C B
D
R
H
A
L L L L L L
L
L
+ + +




= =






T
Desta expresso sai que a origem do sistema de coordenadas da mo est em (LB+LC+LD, 0, LA), que
x4 aponta na direco de z0, y4 aponta na direco simtrica de y0, e z4 aponta na direco de x0, o que se
confirma observando a Figura 4.19.
4.4.2 Um manipulador do tipo SCARA (4 DOF)
Um manipulador muito usado na prtica o SCARA de 4 graus de liberdade, de que se ilustra uma
representao na Figura 4.20. As 4 juntas foram numeradas obedecendo sua ordem de aparecimento a
partir da base. Podem surgir dvidas, na junta 3, se, na verdade, a ordem a representada. Esta
representao assume que a junta rotacional do punho est aps a junta prismtica, e que de facto o caso
mais comum. Porm, tambm se poderia ter o caso que a junta rotacional estivesse "antes" da prismtica,
implicando um sistema mecnico diverso que realmente suportasse a junta linear "sobre" um elo que poderia
rodar em torno de si prprio. Nesse caso a ordem das juntas seria a inversa da indicada e tambm os
parmetros cinemticos seriam outros, mas o resultado final seria o mesmo.
Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-17

Elo l d
1
1
+180 L
B
L
A

2
2
0 L
C
0
3 0 0 0 d
3

4
4
0 0 L
D


x
0

y
0

z
0

J
1

L
C

L
B

L
A

L
D
J
2

J
3
J
4

x
0
y
0
z
0
z
1
z
2

z
3

z
4

x
1
x
2

x
3

x
4

y
1
y
2
y
3
y
4

1
2

4

d
3
L
3
L
A
L
B
L
C


Figura 4.20 - Sistemas de coordenadas e parmetros cinemticos para um SCARA de 4 DOF
Note-se que na representao o manipulador no est na posio zero. Em especial notrio a junta
prismtica que, para melhor visualizao, est estendida apresentando, por isso, um valor de junta no nulo.
A metodologia seguida similar do manipulador anterior e, assim, a determinao das matrizes de
transformao tambm muito sistemtica. Vir portanto:
( ) ( )
( ) ( )
( ) ( )
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1
180 180 0
180 180 0
0 180 180 0 0 1
0 0 0 1 0 0 0 1
B B
B B
A A
C S C S S L C C S L C
S C C C S L S S C L S
S C L L





= =






A
2 2 2
2 2 2
2
0
0
0 0 1 0
0 0 0 1
C
C
C S L C
S C L S




=






A ,
3
3
1 0 0 0
0 1 0 0
0 0 1
0 0 0 1
d




=






A ,
4 4
4 4
4
0 0
0 0
0 0 1
0 0 0 1
D
C S
S C
L




=






A
A matriz final, resultante dos quatro produtos, aps simplificaes de ndole trigonomtrica, dada
pela expresso seguinte, onde se convenciona ainda que C1-2 = cos(1-2), C1-2-4 = cos(1-2-4), etc.:

1 2 4 1 2 4 1 1 2
1 2 4 1 2 4 1 1 2
3
0
0
0 0 1
0 0 0 1
B C
B C
R
H
D A
C S L C L C
S C L S L S
L d L


+


+

=







T (4.5)
Mais uma vez se pode confirmar a sua validade para o caso das juntas terem todas o valor 0 e, neste
caso, at mesmo para outros valores, dada a relativa simplicidade do manipulador quando comparado com o
Microbot Alpha II, apresentado anteriormente. Assim, pelo menos no que respeita a componente de
translao cartesiana (x, y, z), pode-se constatar a veracidade da expresso anterior observando a Figura
4.21 onde se ilustra esquematicamente uma vista de cima do manipulador; note-se porm que desta figura
no se podem tirar concluses relativamente coordenada z.
Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-18
y
0

x
0

4
y
4
x
4
L
B

L
C


1 1 2
1 1 2
B C
B C
x L C L C
y L S L S

= +
= +

Figura 4.21 - Vista esquemtica de cima do manipulador SCARA
4.5 ngulos finais de orientao em funo das variveis de junta
Para completar o algoritmo da cinemtica directa delineado na seco 4.1.3 falta ainda o seu ltimo
ponto, que determinar os ngulos de orientao final do sistema de coordenadas na mo, ou, se se preferir,
os ngulos de Euler. Como visto num captulo anterior, existem diversos tipos de ngulos de Euler sendo
dois deles mais comuns, dos quais se escolhe o caso RPY para ilustrar esta parte final do algoritmo. Note-se
todavia que o procedimento seria estritamente o mesmo para qualquer outro tipo de ngulos de orientao
(Euler) porque nos baseamos afinal na matriz de transformao associada. O problema que est aqui em
causa o de determinar os ngulos de Euler a partir dos elementos da matriz de transformao do
manipulador.
4.5.1 Comparao da matriz RPY(,,) coma parte rotacional da matriz
R
TH
A expresso genrica de transformao global no espao a 6 dimenses, usando ngulos RPY, dada
por:

( ) ( )
( ) ( ) ( ) ( )
, , , ,
, , , , ,
R
x y z
H
x y z
x
y
transformao transformao
Trans p p p RPY
de translao de orientao
Trans p p p Rot z Rot y Rot x
C C S C C S S S S C S C p
S C C C S S S C S S S C p
S C S C C







= = =



= =
+ +
+ +
=

T
0 0 0 1
z
p










(4.6)
A matriz de transformao do manipulador resulta do produto das transformaes intermdias dos N
elos e pode ser expressa do seguinte modo:
1 2
...
0 0 0 1
0 0 0 1
x x x x
y y y y
R
H N
z z z z
n s a p
n s a p
n s a p




= = =





n s a p
T A A A


Se o vector p tem um significado de imediato entendimento (coordenadas da origem do sistema da
mo medidas no sistema de origem), o mesmo no se aplica aos trs vectores individualizados na expresso
anterior, n

, s

, a

, e que esto associados orientao do sistema de eixos da mo em relao ao sistema de


referncia de base.
Para se entender melhor o significado destes trs vectores fazem-se as atribuies ilustradas na
Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-19
Figura 4.22. O vector a

designado por vector aproximao da mo, e tem uma direco que normal
palma da mo; o vector s

designado vector escorregamento ou deslizamento da mo (sliding) e tem a


direco do movimento dos dedos; o vector n

, finalmente, completa o sistema directo de coordenadas, e


designado por vector normal aos dedos da mo.

a
s
n

Figura 4.22 - Orientao do sistema de coordenadas da mo
Assim, por simples comparao das expresses indicadas anteriormente, pode-se escrever, por
exemplo, o seguinte:

sin
cos sin
sin cos
z
z
y
n
s
n


( )
( )
( )
arcsin
arcsin /cos
arcsin /cos
z
z
y
n
s
n

(4.7)
Ficam assim determinados os ngulos de Euler com base na matriz de transformao do manipulador
como se pretendia. Adiante-se desde j que esta no uma boa soluo do ponto de vista numrico, como se
explica na prxima seco.
4.5.2 Limitaes de preciso e reformulao
Na seco anterior, nomeadamente na ltima expresso dos ngulos de Euler, nota-se porm que,
quando o ngulo tendo para 90, o co-seno de tende para 0, e algumas das expresses correm o risco de
perder preciso em clculo numrico. Uma hiptese alternativa utilizar mais igualdades extradas das
duas matrizes e us-las aos pares de forma a minimizar esse risco de impreciso numrica. Poderemos ento
ter as seguintes igualdades:
sin
cos sin
cos cos
z
z
z
n
s
a

e
cos cos
sin cos
x
y
n
n


=

( ) arcsin
z
n = , tan
z
z
s
a
= , tan
y
x
n
n
=
A funo tangente inversa (arco-tangente) afigura-se menos sensvel s imprecises dos termos da
matriz de transformao do manipulador, quer porque eventuais erros sistemticos nos termos se atenuam
na diviso (sz/az, etc.), quer porque o domnio da funo arco-tangente infinito e portanto sem risco de
indefinio.
Porm, a obteno dos ngulos com recuso funo arco-tangente apresenta um outro problema
ligado determinao do quadrante do ngulo em causa. Por exemplo, se az = sz = -1 ento o quociente sz/az
resultaria igual a 1 e portanto = 45. Ora, ao ponto (-1,-1) corresponde um raio-vector com o ngulo de
135. Este erro de 180 representa o prprio perodo da funo tangente e tem de ser levado em conta no
clculo. Assim, uma aplicao cega da funo arco-tangente poder ser incorrecta; por isso que se deve
atender ao quadrante do ponto antes de calcular a arco-tangente. Muitas aplicaes de software
numrico recorrem funo arco-tangente com dois argumentos em vez de um s; existe a vantagem
adicional de poder lidar de antemo com quocientes onde o divisor seria 0. Nomes como atan(y,x) ou
atan2(y,x) so muito comuns para esta funo. A Tabela 4.3 define a funo atan2(x,y), tal como
Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-20
implementada na grande maioria das aplicaes de software.

Para alguns manipuladores, ou algumas configuraes especficas, as expresses extradas das
matrizes de transformao, pelas variveis e termos que incluem, no se proporcionam ao uso directo da
funo arco-tangente. Nesses casos, poder o problema ser reformulado usando uma tcnica relativamente
simples: a de reorganizar a equao matricial por pr- ou ps-multiplicao de transformaes parciais, ou
seja, passar, por exemplo, da frmula:
( ) ( ) ( ) ( ) , , , , ,
R
x y z
H
Trans p p p Rot z Rot y Rot x = T
frmula:
( ) ( ) ( ) ( )
1 1
, , , , ,
R
x y z
H
Rot z Trans p p p Rot y Rot x

= T
Usando propriedades apresentadas anteriormente, podemos obter as expresses das matrizes
inversas de uma forma muito imediata:
( )
1
1
0 0 0 0
0 0 0 0
,
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
C S C S
S C S C
Rot z


= =







( )
1
1
1 0 0 1 0 0
0 1 0 0 1 0
, ,
0 0 1 0 0 1
0 0 0 0 0 0 0 0
x x
y y
x y z
z z
p p
p p
Trans p p p
p p


= =







O que resulta em:
0
0
0 0 1
0 0 0 1
x
y
z
C S p
S C p
p












0 0 0 1
x x x x
y y y y
z z z z
n s a p
n s a p
n s a p









=
1 0 0 0 0 0
0 1 0 0 0 0
0 0 0 0
0 0 0 1 0 0 0 1
C S
C S
S C S C











e finalmente:

0 0
0 0 0
0 0
0 0 0 1 0 0 0 1
x y x y x y
y x y x x y
z z z
C S S S C n C n S s C s S a C a S
C S n C n S s C s S a C a S
n s a S C S C C



+ + +




=






(4.8)
Podemos agora repetir o processo j levado a cabo anteriormente (comparar as matrizes termo a
termo) e extrair mais alguns resultados. Assim, poderemos obter sucessivamente os ngulos , e :
Condio Definio Quadrantes
x >0 arctan
y
x
1 e 4
x =0 y 0
( ) sign y
2

Eixo das ordenadas


x <0
( ) arctan sign
y
y
x
+ 2 e 3
x =0 y =0 No se define, mas o valor 0 por vezes atribudo
Tabela 4.3 - Definio da funo atan2(y,x)
Robtica Industrial V. Santos
Cinemtica Directa de Manipuladores 4-21
para : 0
y x
n C n S = arctan
y
x
n
n
=
para :
x y
z
n C n S C
n S

+ =

arctan
z
x y
n
n C n S

=
+

para :
z
z
s C S
a C C


=

arctan
z
z
s
a
=
Note-se porm que h outras expresses que poderiam ser usadas. O que ficou assim garantido foi o
recurso exclusivo da funo arco-tangente em detrimento de arco-seno ou arco-co-seno. Nas expresses
acima, onde se l ar ct an, assume-se at an2, na definio dada.
4.5.3 Exemplo de aplicao a um manipulador com 2 DOF em 3 dimenses.
A matriz de transformao para o manipulador descrito na Figura 4.17, como derivado na ocasio,
dada por:
1 2 1 2 1 2 1 2
1 2 1 2 1 2 1 2
2 2 2 2 1
0
0 0 0 1
R
H
C C C S S L C C
S C S S C L S C
S C L S L





=

+





T =
0 0 0 1
x x x x
y y y y
z z z z
n s a p
n s a p
n s a p











z1 z2
x0
y1
y2
x2
y0
2
L2
z0
1
x1
L1

Assim, para esse manipulador, determinem-se os seus ngulos de Euler, isto , a sua orientao no
espao cartesiano relativamente ao referencial da base. Aplicando os resultados da seco anterior
poderemos obter, por simples substituio, o seguinte:
arctan
y
x
n
n
= ( )
1 2
1 1
1 2
arctan arctan tan
S C
C C
= = =
arctan
z
x y
n
n C n S

=
+

2 2
2
1 2 1 1 2 1 2
arctan arctan
1
S S
C C C S C S C


= = =
+

arctan
z
z
s
a
= ( )
2
arctan , 0
2
C

= = (ou -/2 se || > /2)




Captulo 5

Cinemtica Inversa de
Manipuladores

3
x
0
y
0
z
0

L
A
L
B

6
L
D
=d
6
P
W
P
z
3
y
4
x
5
x
3
z
4
y
5
y
3
x
4
z
5
z
6

n
s
a
z
1

z
2
L
C
( )
1 2 3
1
2
3
0 0 0 1
D
L















W A A A
a
P
p n s

( )
( )
0 1 0
3 6
0 1
1 2 3 3
4 3
6 3 3 3
5
6
5 4 6
0 0 0 1







R R
A A A R
R n s a p
A A
n s a
A



Equation Section 5
6 W
d = P P a


Robtica Industrial V. Santos
Cinemtica Inversa 5-2
5. Cinemtica Inversa
5.1 O Problema
Enquanto a cinemtica directa resulta do desenvolvimento imediato das expresses do manipulador,
a cinemtica inversa procura determinar o conjunto de valores das juntas que se adequam a uma dada
configurao do espao operacional ou cartesiano. A cinemtica inversa pode ser vista conceptualmente como
o conjunto de processos para determinar as funes inversas do sistema das expresses da cinemtica
directa. Ou simbolicamente: ( ) q F r

= , ( ) r F q

1
= ,
6 1
:

n
F . Graficamente o problema entende-se
pela observao da j anteriormente introduzida Figura 5.1.
Espao das
juntas (q)
Cinemtica
inversa
Cinemtica
directa
Espao
cartesiano (r)

Figura 5.1 As cinemtica directa e inversa e a relao dos espaos
A cinemtica inversa nem sempre um problema com soluo analtica, ou por vezes no tem mesmo
soluo! Mais complexo ainda o facto de no haver uma metodologia nica de aplicao directa. No ser
esse um problema grave porque as solues de interesse prtico esto j todas bem estudadas e s em casos
especiais ser necessrio conceber novas solues.
5.1.1 Resoluo para um manipulador RR no plano
Dos manipuladores com interesse prtico o caso mais simples o do manipulador planar a dois graus
de liberdade (2-DOF). Ilustra-se de seguida o processo de determinar a sua cinemtica inversa, quer dizer, o
valor das suas juntas 1 e 2 em funo da posio (x,y) da sua extremidade.
L
1

L
2

2
(x,y)

Figura 5.2 - Manipulador planar a dois DOF
Partindo das equaes da cinemtica directa, que so de fcil formulao, e que foram anteriormente
deduzidas, o processo o seguinte:
Robtica Industrial V. Santos
Cinemtica Inversa 5-3

( )
( )
1 1 2 1 2
1 1 2 1 2
cos cos
sin sin
x L L
y L L


= + +

= + +

(5.1)
Elevando ambos os membros das duas expresses ao quadrado, e adicionando-os, ficar:
( ) ( )
( ) ( )
2 2 2 2 2 2
1 1 1 1
2 2 2 2
2 1 2 2 1 2
1 2 1 1 2 1 2 1 1 2
cos sin
sin cos
2 cos cos 2 sin sin
x y L L
L L
L L L L



+ = + +
+ + + + +
+ + + +

Vir ento sucessivamente:
( ) ( ) [ ]
2 2 2 2
1 1 1 2 1 1 2 1 2 1 1 2 2 1
2 cos cos cos sin sin sin sin cos sin cos x y L L L L + = + + + +
( )
2 2 2 2 2 2
1 1 1 2 1 2 1 1 2 1 2 1 2 1
2 cos cos cos sin sin sin cos sin sin cos x y L L L L + = + + + +
2 2 2 2
1 1 1 2 2
2 cos x y L L L L + = + +

2 2 2 2
1 1
2
1 2
arccos
2
x y L L
L L

+
= (5.2)
Pode verificar-se desde j a existncia matemtica de duas solues para 2. reforada pelo sinal na
expresso (5.2).
A obteno de 1 no to imediata e uma soluo possvel passa pelo recurso tangente
trigonomtrica de uma diferena angular, como se pode observar de seguida:
L
1

L
2

2

(x,y)



Figura 5.3 - ngulos auxiliares para determinao da
cinemtica inversa do manipulador RR
( )
tan tan
tan
1 tan tan
A B
A B
A B

=
+


2 2
1 2 2
sin
tan
cos
L
L L

=
+


tan
y
x
=
Na Figura 5.3, como
1
= , vir, pela relao da tangente da diferena, o seguinte:
( ) ( )
( )
( )
2 2
1 2 2 2 2 1 2 2
1
2 2
1 2 2 2 2
1 2 2
sin
cos sin cos
tan tan
sin
cos sin
1
cos
L y
y L L xL x L L
L y x L L yL
x L L

+ +
= = =
+ +
+
+

ou seja

( )
( )
1 2 2 2 2
1
1 2 2 2 2
cos sin
arctan
cos sin
y L L xL
x L L yL


+
=

+ +

(5.3)
5.1.2 Resoluo para o manipulador RR a 3D
tambm possvel resolver a cinemtica inversa de um outro manipulador j introduzido
anteriormente no estudo da cinemtica directa. Trata-se do sistema RR no espao a 3D que se ilustra na
Figura 5.4 e onde tambm se apresenta a expresso da cinemtica directa conforme derivado anteriormente,
Robtica Industrial V. Santos
Cinemtica Inversa 5-4
igualada matriz de transformao geral que indica a postura no espao operacional com posio e
orientaes.


z
2

x
0

y
2

x
2

y
0

2

z
0

1


1 2 1 2 1 2 1 2
1 2 1 2 1 2 1 2
2 2 2 2 1
0
0 0 0 1
0 0 0 1
x x x x
y y y y
R
H
z y y z
C C C S S L C C n s a p
n s a p S C S S C L S C
n s a p
S C L S L








= =


+









T
Figura 5.4 - O manipulador RR no espao 3D
Mesmo restringindo-se ao uso de componentes de posio na matriz de transformao geral (por
serem em geral mais fceis ou explcitas de obter na prtica), a resoluo imediata para a varivel 1 aps
a diviso entre dos termos respeitantes posio px e py:

2 1 2
2 1 2
x
y
L C C p
L S C p
=


1
tan
y
x
p
p
=
1
arctan
y
x
p
p
= (5.4)
A obteno de 2 pode ser imediata se se considerarem as componentes de orientao, bastando
atender a nz e sz e arco-tangente do seu quociente mas, com base no termo pz da posio, viria tambm:

1
2
2
arcsin
z
p L
L


= (5.5)
A expresso (5.5) pode todavia apresentar limitaes de preciso numrica quando o valor de pz-L1 for
muito prximo de L2 ou mesmo se tiver erros sistemticos na sua avaliao, isto , no se est a usar uma
funo de arco-tangente com os seus benefcios numricos como descrito anteriormente noutro captulo. Mais
tarde apresenta-se outra soluo para este manipulador em que esse problema se resolve.
5.1.3 Mtodos e condies de existncia de solues.
A resoluo analtica apresentada para o caso RR planar ou o RR no espao nem sempre pode ser
facilmente estendida a mais graus de liberdade ou dimenses. Existem vrios mtodos alternativos na
literatura dos quais se destacam os seguintes:
Transformaes inversas (Paul et al., 1981)
Matrizes duais (Denavit, 1956)
Quaternions duais (Young & Freudenstein, 1964)
Mtodos iterativos (Vicker et al., 1964)
Abordagens geomtricas (Lee & Ziegler, 1984)
Em qualquer dos mtodos h porm vrias condies e situaes para a existncia de solues, e das
quais se destacam as seguintes:
O ponto no espao operacional deve estar no espao de trabalho
No se deve exceder os limites fsicos das juntas
Para haver soluo analtica (num caso de 6 eixos) suficiente que 3 eixos de juntas sucessivas se
intersectem ou sejam paralelos (Soluo de Pieper)
5.1.4 A redundncia cinemtica
Quando um manipulador pode atingir uma dada posio no espao com mais de que uma configurao
das juntas, diz-se que h redundncia. Diz-se que uma redundncia uma posio alternativa devido a uma
Robtica Industrial V. Santos
Cinemtica Inversa 5-5
junta, e se for N o nmero de redundncias ento o nmero de solues dado por 2
N
. Se o nmero de
solues for maior que o nmero de juntas ento a resoluo da cinemtica inversa do manipulador pode
trazer dificuldades adicionais, como a impossibilidade de obter uma soluo. No exemplo anterior do
manipulador RR planar as solues matemticas so de fcil interpretao graficamente, como ilustra a
Figura 5.5.

2
(x,y)
'
2
'
1

Figura 5.5 - Redundncia no robot RR planar
Matematicamente a existncia de redundncia detecta-se normalmente pelo aparecimento da funo
arccos(x) ou de radiciao (x).
A situao de redundncia pode ocorrer quando h mais graus de mobilidade do que os necessrios.
Manipuladores com mais de seis graus de liberdade so ditos infinitamente redundantes. Na Figura 5.6
ilustram-se as 4 solues clssicas de um manipulador antropomrfico (cotovelo-em-cima ou cotovelo-em-
baixo, ombro--direita ou ombro--esquerda)



Cotovelo em cima
ombro esquerda
Cotovelo em cima
ombro direita
Cotovelo em baixo
ombro esquerda
Cotovelo em baixo
ombro direita
Figura 5.6 - As quatro solues de um manipulador antropomrfico usando s as juntas primrias
Quando o manipulador tem um nmero infinito de configuraes para uma dada posio da mo diz-
se que se atingiu uma situao de degenerao. Casos mais comuns so o do manipulador RR planar de elos
iguais para a mo no ponto (0,0), ou ainda numa situao em que o punho do robot fique com dois eixos
colineares e alinhados (Figura 5.7).
1

2

5

Figura 5.7 - Ilustrao de duas situaes de degenerao: h um nmero infinito de combinaes de (1,2) ou (4,6),
respectivamente, para o end-effector nas configuraes indicadas.
Robtica Industrial V. Santos
Cinemtica Inversa 5-6
5.2 Algoritmo para uma Heurstica de Cinemtica Inversa
Dadas as dificuldades para a obteno da cinemtica inversa para um caso geral, o que se prope
usualmente o de seguir um conjunto de regras de forma a obter uma dada heurstica (descoberta) em que
os pontos principais so os seguintes:
1- Equacionar a matriz de transformao geral e a matriz de transformao do manipulador
2- Procurar em ambas as matrizes:
Elementos que envolvam um s varivel de junta
Pares de elementos que, quando divididos, produzem uma s expresso numa varivel de
junta (e que se possa usar a funo atan2 de preferncia)
Elementos ou suas combinaes simplificveis trigonometricamente
3- Equacionar elementos nas duas expresses
4- Repetir o processo para todos os termos identificados em 2
Tentar usar as componentes do vector de translao (p) mesmo
que no tenha variveis isoladas
Compara a expresso de transformao geomtrica do manipulador (A1A2...An) com a
expresso de transformao geral
Procurar elementos
a) que envolvam uma s varivel
b)pares de elementos divisveis que resultem numa expresso a uma varivel
(que possa usar a funo atan2() de preferncia)
c) elementos ou combinaes de elementos simplificveis trigonometricamente
Resolver todas as equaes identificadas no passo anterior
Alguma soluo sofre de risco
de impreciso numrica ou
mesmo indefinies?
Solues
imprecisas
Falta determinar variveis ?
Pr-multiplicar a equao matricial pela inversa de A1
ou
Ps-multiplicar a equao matricial pela inversa deAn
e repetir esse processo para as restantes Ai at se esgotarem
Sim
Sim
Falta soluo
para alguma das variveis de
junta ?
Fim No
Recorrer s solues
imprecisas rejeitadas
anteriormente...
...e definir as zonas de
funcionamento sem risco.
sim
Se ainda houver variveis de junta por resolver,
provvel que seja fisicamente impossvel
chegar soluo para o manipulador
em causa
Fim No
Figura 5.8- Algoritmo para uma heurstica de cinemtica inversa
Robtica Industrial V. Santos
Cinemtica Inversa 5-7
Nem sempre os passos apresentados so suficientes ou mesmo os ideais para obter as expresses para
todas as variveis de junta. Nesses casos necessrio recorrer a alguns artifcios de manipulao de
expresses como o recurso pr-multiplicao pela inversa de uma componente do produto A1A2...AN. Na
Figura 5.8 apresenta-se um algoritmo com os passos para um procedimento mais completo visando a
obteno das expresses para todas as variveis de junta de um manipulador.
5.3 Recurso a transformaes inversas e comparao dos elementos matriciais
Uma das tcnicas possveis para chegar a expresses de cinemtica inversa, inclusive no mbito do
algoritmo genrico delineado na Figura 5.8, o de recorrer s transformaes inversas com o objectivo de
obter expresses mais facilmente solveis. Ou seja, partindo da expresso matricial da cinemtica do
manipulador
1 2
...
R
n
H
= T A A A , que leva ao conjunto de equaes da cinemtica nas variveis e
parmetros de juntas, elos e espao operacional, reorganiz-la com a expectativa de obter expresses
individuais mais interessantes. Isto equivale a dizer que uma primeira reorganizao seria
1
1 2 1
...
R
n
n H

= T A A A A , ou em seguida
1 1
1 1 2 2
...
R
n
n n H


= T A A A A A , e assim por diante
enquanto possvel ou favorvel, ou respectivamente por pr-multiplicao, isto , passar para
1
1 2
...
R
H n

= A T A A e sucessivamente.
Exemplifique-se o processo pr-multiplicao pelas inversas com o manipulador RR no espao a 3D
descrito anteriormente (Figura 5.4), relembrando de um captulo anterior as matrizes dos dois elos:
1 1 1 2 1 2 1 2 1 2 2 2 2 2
1 1 1 2 1 2 1 2 1 2 2 2 2 2
0
2 1 2
1 2 2 2 2 1
0 0 0
0 0 0
0 0 1 0 0 1 0 0
0 0 0 1 0 0 0 1 0 0 0 1
C S C C C S S L C C C S L C
S C S C S S C L S C S C L S
L S C L S L





= = =

+





T A A
Neste caso, vai-se recorrer pr-multiplicao, ou seja, obter-se-:
1 0
1 2 2

= A T A , ou, de forma
desenvolvida, vir sucessivamente:

1
1 1 2 2 2 2
1 1 2 2 2 2
1 0
1 2 2
1
0 0 0
0 0 0
0 0 1 0 0 1 0 0 0 0 1
0 0 0 1 0 0 0 1
C S C S L C
S C S C L S
L







= =









n s a p
A T A

(5.6)
1 1 2 2 2 2
1 2 2 2 2
1 1
0 0 0
0 0 1 0
0 0 1 0 0 0
0 0 0 1
0 0 0 1 0 0 0 1
x x x x
y y y y
z z z z
C S C S L C n s a p
n s a p L S C L S
n s a p
S C








=












1 1 1 1 1 1 1 1 2 2 2 2
1 2 2 2 2
1 1 1 1 1 1 1 1
0
0
0 0 1 0
0 0 0 1 0 0 0 1
x y x y x y x y
z z z z
x y x y x y x y
n C n S s C s S a C a S p C p S C S L C
n s a p L S C L S
n S n C s S s S a S a C p S p C
+ + + +


=







(5.7)
Tentando recorrer apenas a termos de posio (pelas vantagens j referidas), vir o seguinte par de
expresses.

1 1 2 2
1 2 2
x y
z
p C p S L C
p L L S
+ =

(5.8)
do qual se obtm imediatamente a expresso para 2 admitindo que j se tinha obtido 1, por exemplo,
Robtica Industrial V. Santos
Cinemtica Inversa 5-8
usando (5.4):

1
2
1 1
arctan
z
x y
p L
p C p S


=
+
(5.9)
A vantagem imediata da expresso (5.9) em relao expresso (5.5) que se usa uma funo arco-
tangente; reala-se portanto que esta tcnica das matrizes inversas pode oferecer a possibilidade de solues
alternativas, e por vezes at as nicas possveis.
5.4 Soluo de uma equao usual no problema da cinemtica inversa
Da expresso (5.7), entre outras, verifica-se que existe um tipo de equao trigonomtrica que surge
com relativa frequncia na determinao de cinemtica inversa, e que se traduz genericamente da seguinte
forma:

1 2 3
cos sin k k k + = (5.10)
por isso importante que se derive uma soluo genrica expedita, o que se faz de seguida. Seja
tan
2
k

= ; sabendo que
2
1 cos
sin
2 2

= e que
2
1 cos
cos
2 2
+
= e, portanto, que
2 2
1 cos
tan
2 1 cos
k

= =
+
, imediato provar que
2
2
1
cos
1
k
k


=
+
, bastando usar mera substituio para o
verificar:
1 cos
1
1 cos 1 cos 2 cos
1 cos
cos
1 cos 1 cos 1 cos 2
1
1 cos

+ +
+
= = =
+ +
+
+
.
De forma similar se prova que
2
2
sin
1
k
k
=
+
, mais uma vez recorrendo a simples substituio:
( )
( )
( ) ( )
2
2
1 cos 1 cos
2 2 1 cos 2 tan
1 cos
1 cos 1 cos 2
1 cos
1 cos 1 cos 1 cos 1 cos 1 cos
1 1
1 cos 1 cos
1 cos 1 cos
1 cos sin
1 cos

+ +
= = = + =
+ + +
+ +
+ +
+
= = =
+

Assim, aps a substituio destes termos em k na expresso original (5.10) vir sucessivamente:
( ) ( )
2 2
1 2 3
1 2 1 k k k k k k + = +
( ) ( )
2
1 3 2 3 1
2 0 k k k k k k k + + =
2 2 2
2 1 2 3
1 3
k k k k
k
k k
+
=
+


2 2 2
2 1 2 3
1 3
2 arctan
k k k k
k k


+


=


+

(5.11)
5.5 Algumas solues analticas padro
A maioria dos manipuladores industriais pertencem a um pequeno nmero de tipos e configuraes
cinemticas, e obedecendo a umas regras tais que relativamente expedito obter a soluo da sua
cinemtica inversa. De seguida apresentam-se algumas solues para manipuladores mais simples que
podem ser combinadas, ou usadas na determinao de solues de manipuladores mais complexos com 6
Robtica Industrial V. Santos
Cinemtica Inversa 5-9
graus de liberdade, por exemplo. Alm das apresentadas, outras solues mais especiais podem ser
encontradas na literatura indicada na bibliografia.
5.5.1 Robot planar de 3 elos
A cinemtica inversa de um robot planar de trs eixos determina as expresses de [1, 2, 3] dado [x,
y, ]. Se a orientao no fosse dada ento haveria redundncia, e o brao teria um nmero infinito de
solues. Note-se para j que a orientao dada por:

1 2 3
= + + (5.12)
L
1

L
2

2
(x,y)
L
3

P
W


Figura 5.9 - Manipulador RRR planar
A resoluo da cinemtica inversa deste robot assenta na do robot planar RR uma vez que o ponto PW
(Figura 5.9) um ponto conhecido porque se sabe, obviamente, a posio e a orientao do end-effector bem
como o comprimento de elo L3:

3
3
Wx
Wy
P x L C
P y L S

(5.13)
Mas, tendo em conta as expresses geomtricas (5.1) j determinadas para o manipulador planar RR,
pode tambm escrever-se o seguinte:

1 1 2 12
1 1 2 12
Wx
Wy
P LC L C
P L S L S
= +

= +

(5.14)
ou, desenvolvendo,

1 1 2 1 2 2 1 2
1 1 2 1 2 2 1 2
Wx
Wy
P LC L C C L S S
P L S L C S L S C
= +

= + +

(5.15)
As expresses (5.15) levam j conhecida soluo para 2 como visto em (5.2).

2 2 2 2
1 2 1 2 2
2 Wx Wy P P L L L L C + = + + (5.16)

2 2 2 2
1 2
2
1 2
arccos
2
Wx Wy
P P L L
L L

+
= (5.17)
Em (5.17) mais uma vez se inscreve o sinal para recordar a redundncia do manipulador de
cotovelo-para-baixo ou cotovelo-para-cima.
Dado 2, a obteno de 1 poder ser feita como em (5.3) para o manipulador RR ou ento por um
outro processo (mais extenso) sem ter de recorrer tangente da diferena de ngulos, e que se descreve de
seguida. Basta tomar as expresses (5.15) e resolv-las em ordem a S1 e C1, e depois fazer uma substituio
recproca, como se mostra na sequncia seguinte:
Robtica Industrial V. Santos
Cinemtica Inversa 5-10
2 1 2
1
1 2 2
Wx
P L S S
C
L L C
+
=
+
,
2 1 2
1
1 2 2
Wy
P L C S
S
L L C

=
+

Por substituio de S1 na expresso de C1 vir em sequncia:
( )
( )
2 1 2
2 2
1 2 2 2 2 2 2 2 1 2
1 2 2
1 2
1 2 2
1 2 2
Wy
Wx
Wx Wy
P L C S
P L S
P L L C P L S L S L C S
L L C
C
L L C
L L C

+
+ +
+
= =
+
+

( ) ( )
2 2 2 2 2
1 1 2 2 1 2 2 2 2 1 2 2 2 2
2
Wx Wy
C L L C L L C L S P L L C P L S + + + = + +
Mas, atendendo expresso (5.16) vir:
( )
1 2 2 2 2
1 2 2
Wx Wy
Wx Wy
P L L C P L S
C
P P
+ +
=
+

e, aps um procedimento similar, viria para S1 o seguinte:
( )
1 2 2 2 2
1 2 2
Wy Wx
Wx Wy
P L L C P L S
S
P P
+
=
+

Vir finalmente para 1 a expresso (5.18), que se reconhece ser idntica a (5.3):

( )
( )
1 2 2 2 2
1
1 2 2 2 2
arctan
Wy Wx
Wx Wy
P L L C P L S
P L L C P L S

+
=
+ +
(5.18)
Por fim necessrio obter 3 que resulta de imediato de:

3 1 2
= (5.19)
5.5.2 Soluo do brao antropomrfico a 3 DOF
O brao antropomrfico a 3 graus de liberdade consta de trs juntas rotacionais num arranjo similar
ao ilustrado na Figura 5.10, onde PW o ponto extremo do manipulador (onde se poder fixar um punho
wrist).

3
x
0
y
0
z
0
P
W
x
3
y
3
z
3
L
A
L
B
L
C

Figura 5.10 - Brao antropomrfico de 3 DOF
A expresso da cinemtica directa do manipulador RRR antropomrfico pode ser derivada com base
num resultado obtido anteriormente quando se tratou do exemplo similar ao Microbot Alpha II a 5 DOF,
bastando considerar as trs primeiras juntas (sistemas de coordenadas de 0 a 3). Essa expresso dada pelo
seguinte, onde LA, LB e LC so os comprimentos dos 3 elos em causa:
Robtica Industrial V. Santos
Cinemtica Inversa 5-11
( )
( )
( )
( )
1 2 3 1 2 3 1 2 3 1 2 3 1 1 2 3 1 2 3 1 2
1 2 3 1 2 3 1 2 3 1 2 3 1 1 2 3 1 2 3 1 2
0
3
2 3 2 3 2 3 2 3 2 3 2 3 2
1 23 1 23 1 1 23 2
0
0 0 0 1
C B
C B
C B A
C B
C C C C S S C C S C S C S L C C C C S S L C C
S C C S S S S C S S S C C L S C C S S S L S C
S C C S S S C C L S C C S L S L
C C C S S C L C L C
S
+


+

= =

+ + + + +





+
=
T
( )
1 23 1 23 1 1 23 2
23 23 23 2
0
0 0 0 1
C B
C B A
C S S C S L C L C
S C L S L S L



+



+ +





As coordenadas de PW so precisamente as componentes de posio na matriz anterior, ou seja:

( )
( )
1 23 2
1 23 2
23 2
C B
Wx
W Wy C B
Wz
C B A
C L C L C
p
P p S L C L C
p
L S L S L

+




= = +





+ +


(5.20)
Daqui sai uma expresso para 1:
( )
( )
1 23 2
1 23 2
Wy C B
C B Wx
p S L C L C
C L C L C p
+
=
+

1
arctan
Wx
Wy
p
p




Verifica-se porm que na expresso anterior, os termos ( )
23 2 C B
L C L C + podem ser positivos ou
negativos o que resulta no segundo caso que
1
arctan arctan
Wx Wx
Wy Wy
p p
p p


= = +




; geometricamente
tambm fcil verificar esta situao. Implica isto que nesse caso 2 passa a ter o valor (2) e que 3 passe
a ter o valor (3), que se conclui igualmente pela observao geomtrica. Esta redundncia (que se tem de
admitir tambm matematicamente pelas diversas solues da arco-tangente) no implica alteraes nas
componentes pWx e pWy, como bvio e, como se mostra de seguida, tambm assegura que pWz seja constante.
Basta notar que
23 2 Wz C B A
p L S L S L = + + e que os valores correspondentes das juntas 2 e 3 para esta
redundncia no afectam o valor de S2 nem de S23, e tornam simtricos os valores C23 e C2, bastando atender
ao seguinte:
( )
2 2
sin S =
( ) ( ) ( ) ( )
2 3 2 3 2 3 23
sin sin sin S = + = + =
( )
2 2
cos C =
( ) ( ) ( )
2 3 2 3 23
cos cos C = + =
Falta agora determinar a expresso para as variveis 2 e 3 . Para isso, tomam-se os elementos da
matriz (5.20) (no sem antes ter re-arranjado pWz e migrar o termo LA para o outro membro da equao), e
elevam-se ao quadrado e adicionam-se conforme a sequncia seguinte:
( ) ( ) ( ) ( )
2 2 2
2 2 2 2
2 23 1 1 2 23 Wx Wy Wz B C B C A
p p p L L C L C C S L S L S + + = + + + +
( )
2
2 2 2 2 2 2 2 2 2 2
2 23 2 23 2 23 2 23
2 2
Wx Wy Wz B C B C B C B C A
p p p L L C L C L L C C L S L S L L S S + + = + + + + +
( ) ( )
2
2 2 2 2
2 23 2 23
2
Wx Wy Wz B C B C A
p p p L L L L L C C S S + + = + + +
( ) ( ) ( ) [ ]
2
2 2 2 2
2 2 3 2 3 2 2 3 3 2
2
Wx Wy Wz B C B C A
p p p L L L L L C C C S S S S C S C + + = + + + +
( ) ( )
2
2 2 2 2 2 2
2 3 2 3
2
Wx Wy Wz B C B C A
p p p L L L L L C C S C + + = + + +
Robtica Industrial V. Santos
Cinemtica Inversa 5-12
( )
2
2 2 2 2
3
arccos
2
Wx Wy Wz B C A
B C
p p p L L L
L L

+ +
=
Para obter a expresso de 2 basta pegar nas expresses de pWx, pWy e pWz e resolver uma delas em
ordem a S2 ou C2, num procedimento semelhante ao do manipulador planar RRR abordado na seco 5.5.1.
Partindo de (5.20) obtm-se sucessivamente o seguinte:
2 2
2 23 2 2 3 2 3
2 2 3 3 2
'
Wx Wx B C B C C
Wz A Wx B C C
p p L C L C L C L C C L S S
p L p L S L C S L C S

+ = + = +

= = + +


( )
2 2
2 3 2 3 Wx Wx C B C
p p L S S C L L C + + = +
2 2
2 3
2
3
Wx Wx C
B C
p p L S S
C
L L C
+ +
=
+

2 2
2 3
2 3 2 3
3
'
Wx Wx C
Wx B C C
B C
p p L S S
p L S L C S L S
L L C
+ +
= + +
+

( ) ( )
2 2 2
3 2 3 2 3 3
'
B C Wx B C Wx Wx C C
L L C p S L L C p p L S S L S

+ = + + + +



Recordando que
2 2
Wx Wx
p p r + = vir:
( ) ( )
2 2 2
3 3 2 3 3
'
B C Wz C C B C
L L C p rL S S L S L L C

+ = + +


( )
( )
( )
2 2
3 3 3 3
2
2 2 2 2 2
3 3 3
' '
2
B C Wz Wx Wy C B C Wz C
C B B C C B C
L L C p p p L S L L C p rL S
S
L L L L C L S L L C
+ + +
= =
+ + + +

Para o termo C2 vir por substituio:
( )
3 3 3
2
2 2
3 3 3
'
2
C B C Wz C
B C B C C B B C
r L S L L C p rL S
C
L L C L L C L L L L C
+
= +
+ + + +

( )
( ) ( )
( )( )
3
3
3
2
2 2
3 3
2 2
3 3 3 3
2 2
3 3
'
2
2 '
2
C
C Wz
B C
B C C B B C
C B B C C Wz B C C
B C C B B C
rL S
L S p
r L L C
C
L L C L L L L C
r L L L L C L S p L L C rL S
L L C L L L L C

+
= + =
+ + +
+ + + +
=
+ + +

Os resultados que se obtm aps a resto da manipulao so os seguintes:
( )( )
( )
2 2
3 3
2 2
2 2
B C Wz C Wx Wy A
Wx Wy Wz A
L L C p L L S p p
S
p p p L
+ +
=
+ +

( ) ( )
( )
2 2
3 3
2 2
2 2
B C Wx Wy C Wz A
Wx Wy Wz A
L L C p p L S p L
C
p p p L
+ + +
=
+ +

Daqui sai naturalmente
2
2
2
arctan
S
C
= .
Tendo havido uma redundncia em 1 e outra em 3 o nmero total de solues de 2
2
=4.
5.5.3 Soluo do punho esfrico
O punho esfrico (3 DOF) tem os 3 eixos a intersectarem-se num ponto, e pode ser encarado como um
subsistema de um manipulador a 6 DOF em que a matriz de transformao resulta do produto das matrizes
associadas aos ltimos 3 elos
3
5 6 4 6
= T A A A .
Robtica Industrial V. Santos
Cinemtica Inversa 5-13

6

L
D
=d
6

P
W

P
z
3
y
4
x
5

x
3
z
4
y
5

y
3
x
4
z
5

z
6

n
s
a
x
6

y
6


Figura 5.11 - Os trs elos e juntas do punho esfrico
A representao na Figura 5.11 mostra os trs eixos do punho esfrico onde, apesar da junta 4
parecer ter associado um elo com dado comprimento, mais interessante considerar que a origem do sistema
de eixos do punho se faz no ponto PW ilustrado. Dessa forma poder-se- posteriormente "concatenar" o
manipulador antropomrfico a 3DOF com o punho esfrico e assim obter um manipulador a 6 DOF. Aps
estas consideraes, a cinemtica directa do punho esfrico obtm-se com base nos parmetros cinemticos
de Denavit-Hartenberg que se ilustram na tabela seguinte:
Elo l D
4
4
+90 +90 0 0
5
5
+90 +90 0 0
6
6
0 0 L
D
Relembrando e usando a matriz de transformao de um elo, resultam daqui as seguintes matrizes:
4 4
4 4
4
0 0
0 0
0 1 0 0
0 0 0 1
S C
C S




=






A
5 5
5 5
5
0 0
0 0
0 1 0 0
0 0 0 1
S C
C S




=






A
6 6
6 6
6
0 0
0 0
0 0 1
0 0 0 1
D
C S
S C
L




=






A
e a expresso final:
4 5 4 4 5 6 6
4 5 4 4 5 6 6
4 5 6
5 5
0 0 0
0 0 0
0 0 0 0 1
0 0 0 1 0 0 0 1
D
S S C S C C S
C S S C C S C
C S L







A A A

4 5 6 4 6 4 5 6 4 6 4 5 4 5
4 5 6 4 6 6 4 5 4 6 4 5 4 5
4 5 6
5 6 5 6 5 5
0 0 0 1
D
D
D
S S C C S S S S C C S C S C L
C S C S S S C S S C C C C C L
C C C S S S L
+ +


+ +

=






A A A (5.21)
Comparando os termos respectivos com a matriz de transformao geral para a orientao:

3 3 3
3
6 3 3 3 3 3 3
3 3 3
x x x
y y y
z z z
n s a
n s a
n s a



= =





R n s a

(5.22)
obtm-se as expresses para as diversas variveis de junta:
Robtica Industrial V. Santos
Cinemtica Inversa 5-14

4 5 3
3
4
4 5 3 3
arctan
x
x
y y
S C a
a
C C a a

(5.23)
observando que
3 5 z
a S = e que
2 2 2
3 3 5 x y
a a C + = , e portanto que

2 2
5 3 3 x y
C a a = + (5.24)
de imediato se pode escrever o seguinte, fazendo notar que h, por isso, duas solues para 5.

3
5
2 2
3 3
arctan
z
x y
a
a a
=
+
(5.25)
Ainda observando e comparando (5.21) e (5.22) se deduz que:

3
6
3
arctan
z
z
s
n
=

(5.26)
Finalmente deve notar-se que, dado o termo C5 ter duas solues, alm de 5, tambm 4 e 6 as tero
porque tambm eles foram obtidos com base em C5. Assim, teremos as solues alternativas quando
2 2
5 3 3 x y
C a a = + , que recorde-se, tal com se tem vindo assumir, desde a sua introduo, faz-se uso da
funo atan2() em vez da mera arctan().
3
4
3
' arctan
x
y
a
a
=


3
6
3
' arctan
z
z
s
n


=
5.5.4 Manipuladores com um punho esfrico
Foi j referido que a soluo geral da cinemtica inversa de um manipulador pode tornar-se complexa
e at mesmo impossvel de resolver analiticamente. Todavia, uma parte considervel dos manipuladores
usados na prtica tm aquilo a que se chama um punho esfrico, isto , os eixos das trs juntas terminais
(associadas fundamentalmente orientao) intersectam-se num ponto. Com base nos resultados observados
no manipulador planar RRR, admite-se ser possvel definir um ponto ao longo de um manipulador cuja
posio pode ser expressa em funo da orientao e posio do end-effector e tambm funo de um nmero
limitado de variveis de junta! Isto equivalente a dizer que o problema da cinemtica inversa nesses
manipuladores decomposto em duas partes desacopladas entre si: posio e orientao.
Para o manipulador com punho esfrico, a escolha natural recai sobre o ponto de interseco dos trs
eixos das juntas terminais, ou seja, o ponto PW na Figura 5.12. Como previsto anteriormente, foi a
"concatenao" de dois sub-componentes que deu origem a este robot; note-se todavia que o processo carece
de um passo adicional. O sistema de eixos nmero 3 diferente no manipulador antropomrfico a 3 DOF
(onde sistema de eixos terminal) e no punho esfrico (onde sistema de eixos inicial). A caixa na Figura
5.12 ilustra essa diferena, mas observe-se contudo que a origem do sistema a mesma. Assim, no bastar
multiplicar os termos A1A2A3 do brao por A4A5A6 do punho, necessrio corrigir a discrepncia do sistema
de eixos nmero 3, por exemplo, atravs de uma ps-multiplicao de A3 por uma matriz que consta
simplesmente de duas rotaes: 90 em torno de y3 seguido de 180 em torno de x3 (original), ou seja:
( ) ( )
1 0 0 0 0 0 1 0
0 1 0 0 0 1 0 0
, 180 , 90
0 0 1 0 1 0 0 0
0 0 0 1 0 0 0 1
Rot x Rot y



=







=
0 0 1 0
0 1 0 0
1 0 0 0
0 0 0 1










Ainda relativamente Figura 5.12 observe-se que os sistemas de eixos no obedecem todos
Robtica Industrial V. Santos
Cinemtica Inversa 5-15
metodologia de Denavit-Hartenberg. De facto, segundo esse processo, o sistema de eixos nmero 3 deveria
ter a sua origem na interseco de z2 com z3 e no na de z3 com z4 como aqui acontece. Isso deveu-se ao
processo de construo deste robot a 6 DOF (como a "concatenao de dois sistemas menores), mas a nica
consequncia apenas a de operaes adicionais para "alinhamento" do sistema de eixos como se acabou de
fazer.

3
x
0
y
0
z
0

P
W
x
3
y
3
z
3
L
A
L
B

6
L
D
=d
6
P
W
P
z
3
y
4
x
5
x
3
z
4
y
5
y
3
x
4
z
5
z
6
n
s
a
z
1

z
2
L
C
Sistema de eixos n 3
Esq: Original no robot antropomrfico a 3 DOF
Dir: Variante no manipulador a 6 DOF
representado
P
W

z
3

y
3

x
3


Figura 5.12- Manipulador antropomrfico com 6 DOF e um punho esfrico
A cinemtica inversa do manipulador de punho esfrico (obteno de 1, 2, 3, 4, 5 e 6 em funo de
P, n

, s

e a

) possvel analiticamente usando um conjunto de passos como descrito de seguida. Da Figura


5.12 imediato concluir a seguinte relao vectorial:

6 W
d = P P a


(5.27)
Por outro lado, o ponto PW funo das juntas 1, 2, 3 (e s dessas) como se pode obter pela
cinemtica directa (5.21). Bastar, portanto, fazer a cinemtica inversa para o ponto PW e obter as variveis
de junta 1, 2 e 3, como demonstrado anteriormente na seco 5.5.2.
De seguida deve individuar-se a componente de orientao imposta por 1, 2, 3, que se extrai
tambm da expresso (5.21) e que se esquematiza em (5.28).

1 2 3
0
0 0 0 1
3
Wx
Wy
Wz
P
P
P





=






A A A
R
(5.28)
Finalmente, a obteno das variveis 4, 5 e 6 faz-se como no caso do punho esfrico (seco 5.5.3)
porque se pode saber o valor da sua componente de orientao que tem o valor
3 0 1
6 3

= R R R, como a
seguir se demonstra. A sub-componente matricial de orientao do end-effector dada por
0 1 2 3 4 5
5 1 2 3 4 6
= R R R R R R R , dado que nos produtos matriciais sucessivos, os elementos das
Robtica Industrial V. Santos
Cinemtica Inversa 5-16
componentes de orientao nunca so afectados pelos elementos da 4 coluna ou linha. Esta afirmao
justifica-se pela natureza da matriz de transformao geomtrica homognea, e confirma-se no diagrama
seguinte:
1 2
0 0 0 1 0 0 0 1 0 0 0 1




= =





TT
i i i i i i i i i
i i i i i i i i i
i i i i i i i i i




Desta forma, pode tambm escrever-se que a componente de orientao da matriz de transformao
do manipulador dada por
0 3
3 6
= R R R e portanto:
3 0 1
6 3

= R R R . Recorde-se que se conhece R da


cinemtica directa do manipulador completo, e
0
3
R da cinemtica directa aps as primeiras 3 juntas
atravs da expresso (5.28). Tendo este valor concreto para
3
6
R bastar resolver a cinemtica inversa do
punho esfrico e assim obter 4, 5 e 6.
O processo de cinemtica inversa de um manipulador antropomrfico (com at 6 DOF) pode ento ser
decomposto em duas fases: posicionamento do punho e sua orientao e que, em resumo, podemos
esquematizar simbolicamente nos seguintes dois passos principais, onde inclusivamente se assinalam, em
cada caso com um bordo circundante, quais as partes da matriz de transformao geral que se utilizam nas
operaes:
Passo 1:
( )
1 2 3
1
2
3
0 0 0 1
D
L















W A A A
a
P
p n s


Passo 2:
( )
( )
0 1 0
3 6
0 1
1 2 3 3
4 3
6 3 3 3
5
6
5 4 6
0 0 0 1







R R
A A A R
R n s a p
A A
n s a
A





Captulo 6

Cinemtica Diferencial de
Manipuladores


yy

2

zz

1

d
1

d
2
xx
dx
dy
dz


1 1 1
2 2 2
0
1
0 0 1
dx
d S C
dy
L C d
dz






=










2 1 2 2 1 2
1
2 1 2 2 1 2
2
2 2
0
dx L S C L C S
d
dy L C C L S S
d
dz L C







=








Robtica Industrial V. Santos
Cinemtica diferencial 6-2
6. Cinemtica diferencial
6.1 A problemtica
Nas cinemticas inversa e directa abordam-se as relaes entre coordenadas no espao operacional e
no espao das juntas de um dado sistema robtico. Todavia, essas relaes no do qualquer informao
sobre as caractersticas do movimento entre duas quaisquer configuraes, ou seja, quais so as relaes
entre as evolues temporais das coordenadas nos dois espaos. Dito de outra forma, se, por exemplo, a
extremidade da mo deve descrever um certo deslocamento (incremento) no espao a seis coordenadas
durante um dado intervalo de tempo, que deslocamentos (incrementos) devem ter as diversas juntas ou vice-
versa? Estes incrementos ou diferenas na posio e o seu estudo designam a chamada cinemtica
diferencial. Vai mostrar-se mais adiante que a relao entre deslocamentos infinitesimais nos espaos
operacional e das juntas dada pelo Jacobiano do manipulador.
Toda esta conjuntura leva ao estabelecimento de duas definies importantes: caminho e trajectria.
Por caminho entende-se um conjunto de pontos no espao (operacional ou das juntas) que deve ser
percorrido numa dada ordem; trajectria define um caminho levando em conta constrangimentos temporais,
ou seja, so definidos intervalos de tempo para a evoluo entre duas configuraes sucessivas ou, no caso
limite, a trajectria define a evoluo ao longo de um caminho em funo do tempo.
6.2 Transformaes diferenciais
6.2.1 Conceitos
Para expressar a noo de incrementos nas coordenadas (no espao operacional ou das juntas)
introduz-se o conceito de movimento diferencial geral ou transformao geomtrica diferencial, ou
simplesmente transformao diferencial. A transformao diferencial representa um acrscimo infinitesimal
e, como tal, vista como uma matriz de transformao usual que resulta da multiplicao de uma
transformao diferencial de rotao seguida de um transformao diferencial de translao, ou seja, num
dado referencial R, tem-se:

R R R
N
d d d = T Trans Rot (6.1)
onde a translao diferencial e rotao diferencial se expressam respectivamente por:
( ) , ,
R
d dx dy dz = Trans Trans (6.2)
( ) ( ) ( ) x, y, z,
R
x y z
d = Rot Rot Rot Rot (6.3)
Na rotao diferencial, a ordem das trs operaes arbitrria, como se pode verificar mais adiante
em (6.4). De facto, quando se mencionam incrementos infinitesimais, no caso das rotaes, est-se a assumir
rotaes de um ngulo infinitesimalmente pequeno d ou, formalmente, os limites das funes que traduzem
as rotaes quando 0 d . Se se recordar que ( ) lim sin
d
d

= e ( ) lim cos 1
d

= , possvel
concluir para a rotao diferencial o seguinte:
Robtica Industrial V. Santos
Cinemtica diferencial 6-3

( ) ( ) ( ) x, y, z,
1 0 0 0 1 0 1 0 0 1 0 0
0 1 0 0 1 0 0 1 0 1 0 0
0 1 0 0 1 0 0 0 1 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
R
x y z
z y y z
x z x z
x y y x
d



= =





= =







Rot Rot Rot Rot
(6.4)
Usando a expresso matricial da translao diferencial, pode expressar-se uma transformao
diferencial partindo de (6.1), substituindo o resultado obtido em (6.4) e finalmente obtendo-se o seguinte:

1 0 0 1 0 1
0 1 0 1 0 1
0 0 1 1 0 1
0 0 0 1 0 0 0 1 0 0 0 1
z y z y
z x z x
R
N
y x y x
dx dx
dy dy
d
dz dz








= =







T (6.5)
Assim, uma transformao diferencial caracterizada por seis componentes que formam o chamado
vector de deslocamento (movimento) diferencial e representado por:

t
x y z
dx dy dz




= =






d
D

(6.6)
6.2.2 Metodologia de utilizao
Dadas estas definies, agora pertinente questionar a sua utilidade e aplicabilidade prtica. Em
verdade, se um dado sistema de coordenadas
R
TN sofre uma transformao diferencial, o que se quer dizer
o seguinte relativamente sua nova localizao:
Nova Localizao =
R R R R R
N N N
d d d = T T Trans Rot T (6.7)
Mas, por sua vez, a transformao diferencial foi introduzida para ser um acrscimo infinitesimal
(diferencial) concebida para ser simplesmente tida como um termo aditivo de transformao geomtrica, ou
seja, deve ser tal que basta adicion-la a uma qualquer matriz de transformao geomtrica para obter uma
nova matriz (de transformao), devendo verificar-se o seguinte:
Nova Localizao =
R R
N N
d + T T (6.8)
Igualando as expresses (6.7) e (6.8) vir em sequncia:
R R R R R
N N N
d d d + = T T Trans Rot T
( )
R R R R R R R R R R
N N N N N
d d d d d = = = T Trans Rot T T Trans Rot I T T (6.9)
Ao factor
R R R
d d = Trans Rot I chama-se transformao de deslocamento diferencial (no
confundir com a transformao geomtrica diferencial) e permite determinar, em funo de uma qualquer
matriz representando um referencial em causa, qual o valor do incremento de transformao diferencial
para se poder obter a nova localizao. A transformao de deslocamento diferencial, face ao exposto, pode
escrever-se na forma matricial, chamando-se a ateno para a diagonal e linha de zeros:

0
0
0
0 0 0 0
z y
z x
R
y x
dx
dy
dz










(6.10)
A transformao diferencial de um certo sistema de coordenadas (que o no fundo
R
TN) foi abordada
implicitamente como sendo vista de um referencial base original, o referencial R. Porm, a transformao a
Robtica Industrial V. Santos
Cinemtica diferencial 6-4
aplicar poderia ser vista, no do referencial base R, mas do prprio referencial N que ir sofrer a
transformao diferencial. Isto reporta-nos s questes de pr- e ps-multiplicao de transformaes
abordadas em captulos anteriores. Assim, se uma transformao diferencial for vista no prprio referencial
(N), expressando por isso as transformaes diferenciais elementares por
N
d Trans e
N
d Rot , vir:
( )
R R R N N R N N R N
N N N N N
d d d d d + = = = T T T Trans Rot T I Trans Rot T (6.11)
6.2.3 Exemplo numrico
O conceito de transformao diferencial naturalmente uma abordagem terica que, quando
implementado numericamente, ter alguns erros que podero ser mais ou menos relevantes. Seja de seguida
um exemplo para ilustrar esta questo.
Dado um referencial
0 0 1 10
1 0 0 5
0 1 0 0
0 0 0 1




=






A , qual a matriz de erros na nova localizao se se aplicar o
processo das transformaes diferenciais com seguintes os movimentos diferenciais: 1 0 0.5
t

=


d

e
0 0.1 0
t

? Recordando metodologia exposta, o procedimento o seguinte:


Nova localizao = d d d + = A A Trans Rot A
onde
R
d = A A. Usando numericamente os vectores fornecidos como os vectores d

(e aqui
que se introduz o erro numrico), vir:
0 0 1 10 0 0 0.1 1 0 0.1 0 1
0 0 0 0 1 0 0 5 0 0 0 0
0.1 0 0 0.5 0 1 0 0 0 0 0.1 0.5
0 0 0 0 0 0 0 0 0 0 0 1
d




= =







A
Assim, a nova posio (aproximada) obtm-se como sendo:
0 0.1 1 11
1 0 0 5
0 1 0.1 0.5
0 0 0 1
d




+ =







A A
O valor exacto da transformao corresponde, alm da translao indicada, a uma rotao em torno
do eixo dos yy com valor 0.1, o que resulta em:
Nova localizao exacta =
( ) ( )
( ) ( )
cos 0.1 0 sin 0.1 1 0 0 1 10
0 1 0 0 1 0 0 5
0 1 0 0 sin 0.1 0 cos 0.1 0.5
0 0 0 1 0 0 0 1
novo




=






A
Efectuados os clculos, vir explicitamente:
0 0.0998 0.995 10.95
1 0 0 5
0 0.995 0.0998 0.498
0 0 0 1
novo




=







A
Finalmente, a matriz dos erros pode ser dada pelo seguinte:
( )
0 0.002 0.005 0.05
0 0 0 0
0 0.005 0.002 0.001
0 0 0 0
novo
d




+ =






A A A , que corresponde, em termos relativos, a que qualquer
Robtica Industrial V. Santos
Cinemtica diferencial 6-5
termo tenha um erro inferior a 0.5%.
Em resumo, o uso prtico da transformao diferencial tem essencialmente vantagens do ponto de
vista computacional dado que elimina o recurso a funes trigonomtricas. Todavia, esta utilizao deve ser
praticada dentro de limites comportveis de erros acumulados.
6.3 O Jacobiano de um manipulador
Aquando do estudo das cinemticas directa e inversa afirmou-se que se tratava formalmente de uma
relao vectorial entre dois grupos de variveis, no espao das juntas e no espao operacional e que
simbolicamente se poderia escrever ( ) = r F q


, para a cinemtica directa e, com as devidas restries de
interpretao e condies de existncia matemtica, ( )
1
= q F r


para a cinemtica inversa. Se se levar em
conta que a variao temporal de uma varivel espacial (distncia ou amplitude angular) traduz uma
velocidade (linear ou angular) imperativo pensar no que surge se se derivarem as expresses acima citadas
em ordem ao tempo. Claramente, se
t
x y x

=


r

ento,
t
d dx dy dz d d d
dt dt dt dt dt dt dt

=


r

onde se identificam 3 velocidades lineares e 3 velocidades angulares.


Se se pensar que o vector r

indica a postura da extremidade de um manipulador,


d
dt
r

indicar as
componentes cinticas dessa mesma extremidade. assim imediato questionar tambm como se relacionam
com elas as velocidades das diversas juntas do manipulador. A resposta est num resultado da anlise
vectorial referente diferenciao de funes vectoriais, e que, usando a nomenclatura adoptada at agora,
se traduz no seguinte:
d d = r J q

(6.12)
onde J designado o Jacobiano da funo vectorial F

. Se F

for expressa por


( ) ( )
1 2 1 2
, ,..., , ,...,
m n
r r r q q q = F , ou de modo equivalente ( )
1 2
, ,..., , 1, 2,...,
i i n
r f q q q i m = = , o que, na
linguagem dos manipuladores corresponde a assumir m variveis cartesianas e n juntas, o Jacobiano tem a
seguinte forma:

1 1 1
1 2
2 2 2
1 2
1 2
n
n
m m m
n
r r r
q q q
r r r
q q q
r r r
q q q








=








J

(6.13)
Para melhor entender esta formulao basta recordar o conceito de diferencial total de uma funo de
vrias variveis como, por exemplo, a duas: ( )
1 2
, x f = , donde se tem
1 2
1 2
f f
dx d d


= +

.
Assim, fica claro como se pode obter analiticamente a relao entre as diferenciais das variveis no
espao cartesiano em funo das diferenciais no espao das juntas. Bastar pensar na sua dependncia com
o tempo e pode-se escrever sem grandes dificuldades de intuio o seguinte:
d d
dt dt
=
r q
J

ou em notao compacta = r J q



ou ainda, com os devidos cuidados para evitar o abuso de notao, tambm o seguinte = v J

,
onde o vector v

representa as componentes de velocidade cartesiana e

o vector com as velocidades das


juntas (podendo elas tambm ser lineares no caso de juntas prismticas).
Robtica Industrial V. Santos
Cinemtica diferencial 6-6
6.3.1 Determinao do Jacobiano
O Jacobiano de um manipulador mostra-se assim com um elemento fundamental para relacionar as
velocidades no espao operacional em funo das velocidades das juntas. O seu clculo analtico pode ser
obviamente feito pela diferenciao das expresses da cinemtica directa como se apresentou. Na Figura 6.1
ilustra-se um manipulador RR planar com indicao dos incrementos envolvidos e as equaes da sua
cinemtica directa.

y
x
d
1

d
2
dx
dy

Cinemtica directa:
1 1 2 12
1 1 2 12
x LC L C
y L S L S
= +

= +


Figura 6.1 Incrementos cartesianos e nas juntas de um manipulador RR planar.
A obteno das expresses diferenciais do manipulador na situao da Figura 6.1 faz-se pelo j
referido conceito da diferencial total que utiliza as diversas derivadas parciais:

( ) ( )
( )
( ) ( )
( )
1 1 2 12 1 1 2 12
1 2 1 1 2 12 1 2 12 2
1 2
1 1 2 12 1 1 2 12
1 2 1 1 2 12 1 2 12 2
1 2
LC L C LC L C
dx d d L S L S d L S d
L S L S L S L S
dy d d LC L C d L C d




+ +

= + = +

+ +

= + = + +

(6.14)
As equaes obtidas em (6.14) podem naturalmente reorganizar-se e a expresso da cinemtica
diferencial de um manipulador RR planar resulta de forma compacta em:

1 1 2 12 2 12 1
1 1 2 12 2 12 2
dx L S L S L S d
dy LC L C L C d



=

+


(6.15)
A matriz do Jacobiano surge explcita e, naturalmente, o seu valor concreto depende em cada instante
dos valores dos ngulos de junta 1 e 2.
Um outro exemplo aqui apresentado diz respeito ao manipulador RR no espao a 3D que se relembra
na Figura 6.2, e onde se indica tambm a expresso da cinemtica directa, agora com as trs variveis no
espao cartesiano, mesmo sabendo-se que h uma certa dependncia entre elas.


yy

2

zz

1

d
1

d
2
xx
dx
dy
dz

Cinemtica directa:
2 1 2
2 1 2
2 2 1
x LC C
y L S C
z L S L

= +


Figura 6.2 - Manipulador RR a 3D e os acrscimos diferenciais cartesianos e nas juntas
Robtica Industrial V. Santos
Cinemtica diferencial 6-7
Pela metodologia descrita anteriormente pode chegar-se sem grandes dificuldades seguinte
expresso de cinemtica diferencial:

2 1 2 2 1 2
1
2 1 2 2 1 2
2
2 2
0
dx L S C LC S
d
dy L C C L S S
d
dz L C







=








(6.16)
de observar que o Jacobiano em (6.16) no quadrado, o que resulta de se terem considerado trs
variveis cartesianas e duas variveis de junta. No foram levadas em conta variveis de orientao
cartesiana (que reforariam a disparidade de variveis) dado que tambm elas no so independentes das
variveis de posio (x, y, z). Todavia, teria sido possvel integr-las sem dificuldades dado que se
relacionam de forma muito directa com as variveis de junta como se mostrou no captulo da cinemtica
directa.
A obteno analtica por diferenciao da cinemtica directa o processo mais natural para obter o
Jacobiano, mas outros processos existem na literatura como, por exemplo, por clculo vectorial ou por
coordenadas homogneas segundo o Algoritmo de Paul.
6.3.2 Jacobiano inverso
At agora abordou-se a questo de expressar os diferenciais das variveis do espao cartesiano em
funo das variveis de junta, mas e o problema inverso? Ou seja, como se pode expressar o andamento das
variveis de junta dados os andamentos das variveis cartesianas? Por exemplo, se se quiser que a evoluo
das coordenadas (x,y,z) do end-effector seja linear (isto , incrementos dx, dy e dz constantes), o que
corresponde descrio de uma linha recta no espao a 3D, como devero evoluir as juntas do manipulador?
Este problema com certeza de grande importncia prtica, e pode ser designado pelo problema da
cinemtica diferencial inversa. H visivelmente uma relao com a cinemtica inversa de manipuladores,
onde tambm a eram as variveis do espao operacional as entidades independentes custa das quais se
determinavam as variveis de junta. Se existir a funo de cinemtica inversa
1
F

tal que
( ) ( )
1
1 2 1, 2
, ,..., ,...,
n m
q q q r r r

= F

ento tambm aqui possvel obter o Jacobiano dessa funo inversa que
se designa por J
-1
, ou Jacobiano inverso, e ter-se-
1
d d

= q J r

. Todavia, esta designao de Jacobiano
inverso pode levar concluso arriscadamente apressada, como correspondendo matriz inversa do
Jacobiano do manipulador (6.13), o que nem sempre verdade porque esse Jacobiano pode no ser quadrado,
como o caso em (6.16), e logo nem sequer se poder definir a sua inversa. por isso comum usar as
designaes JF e JI para o Jacobiano directo (Forward) e para o Jacobiano inverso .
Feitas estas consideraes, surge assim a questo de como se pode obter o Jacobiano inverso, dado ele
ser fundamental para a determinao das velocidades das juntas. A definio leva a que a primeira tentativa
seja a de diferenciar as expresses da cinemtica inversa, o que sempre vlido se essas expresses
existirem. Por outro lado, se o Jacobiano (directo) for quadrado ento pode tentar-se a sua inverso quer
analtica, quer numrica, e nesse caso ser feita em cada instante, mas deste assunto voltar-se- mais
adiante.
Procure-se obter o Jacobiano inverso para o manipulador RR planar por inverso do Jacobiano
directo. Simbolicamente pode escrever-se a expresso (6.15) do seguinte modo:

11 12 1
21 22 2
dx J J d
dy J J d



=



(6.17)
Pela definio de inversa de uma matriz ter-se-:
( )
1
Adj

=
J
J
J
, onde a adjunta de uma matriz a
Robtica Industrial V. Santos
Cinemtica diferencial 6-8
matriz transposta dos co-factores, ou seja: ( )
22 21 22 12
12 11 21 11
t
J J J J
Adj
J J J J


= =




J . Por seu lado, o
determinante de J pode ser j obtido substituindo a sua real expresso dada em (6.15) e vir:
( ) ( ) ( )
1 1 2 12 2 12 2 12 1 1 2 12
det L S L S L C L S LC L C = + + + J (6.18)
Esta expresso pode ser sucessivamente desenvolvida e ter-se-:

( ) ( ) ( )
( ) ( ) ( )
2 2
1 2 1 12 2 12 12 1 2 1 12 2 12 12
1 2 1 12 1 12 1 2 1 2 1
1 2 2
det
sin
L L S C L S C L L C S L C S
L L C S S C L L
L L S

= + + + =
= = + =
=
J
(6.19)
Prosseguindo com o desenvolvimento do Jacobiano inverso pode-se finalmente constatar:

( )
( )
2 12 1 1 2 12
12 12
2 12 1 1 2 12
1
1 1 2 12 1 1 2 12
1 2 2 1 2
2 2
1
t
L C LC L C
C S
L S L S L S
LC L C L S L S
L L S L S
L L

+



+



= =
+ +




J (6.20)
Apesar do resultado obtido de forma aparentemente fcil em (6.20), nem sempre possvel obter o
Jacobiano inverso de forma analtica; na verdade, este caso dos poucos onde o mtodo resulta com
facilidade. A via alternativa da diferenciao das expresses da cinemtica inversa, por seu lado, oferece
mais uma possibilidade, em particular quando o Jacobiano directo no rectangular. precisamente esse o
caso do manipulador RR no espao a 3D cuja cinemtica directa est indicada na Figura 6.2 e a cinemtica
inversa, tal como indicado em captulos anteriores, dada por:

1
1
2
1 1
arctan
arctan
y
x
z L
x C y S

(6.21)
Rescrevendo a primeira parte da expresso anterior, vir:
1
1 1
1
sin
sin cos 0
cos
y
x y
x

= =
1 1 1 1 1 1
sin cos sin cos 0 dx x d y d dy + + =

1 1
1
1 1
sin cos
cos sin
dx dy
d
x y


+
=
+
(6.22)
Substituindo os termos de x e y pelos valores respectivos conhecidos da cinemtica directa (Figura
6.2), mais concretamente
2 1 2
x L C C = e
2 1 2
y L S C = , vir:

1 1 1 1 1 1
1
2 1 2 1 2 1 2 1 2 2 2 2 2 2
dx S dy C dx S dy C S C
d dx dy
L C C C L S C S L C L C L C

+ +
= = = +
+
(6.23)
Note-se que semelhante resultado poderia ser obtido pela diferenciao directa da expresso da
arco-tangente em (6.21) bastando desde logo recordar que
1 1
1
d dx dy
x y


= +

:

( )
( )
( )
1
2 2 2 2 2 2 2
1 1 1
1 1
y y x
d dx dy dx dy
y y x x x y x y
x x


= + = +
+ +
+ +
(6.24)
recorrendo tambm aqui a termos da cinemtica directa, aps substituio, vir:

1 1
1
2 2 2 2
2 2 2 2 2 2 2 2
y x S C
d dx dy dx dy
LC LC LC L C


= + = + (6.25)
A obteno do diferencial da varivel 2 podia-se fazer pela derivao da segunda expresso em (6.21)
Robtica Industrial V. Santos
Cinemtica diferencial 6-9
tal como se fez para a varivel anterior, mas o processo muito mais expedito se se atender na cinemtica
directa que
1 2 2
z L L S = + o que, por diferenciao directa, d de imediato
2 2 2
dz L C d = , ou seja:

2
2 2
1
d dz
L C
= (6.26)
Pode ento escrever-se a expresso final englobando o Jacobiano inverso:

1 1
1 1 1
2 2 2 2
2 2 2
2 2
0
0
1
1 0 0 1
0 0
S C
dx dx
d S C
L C L C
dy dy
L C d
dz dz
L C






= =








(6.27)
Quando nenhuma das solues analticas for vivel s restar a possibilidade da inverso numrica
do Jacobiano directo. O princpio o de que em cada instante (para os valores correntes das juntas) se pode
calcular o Jacobiano directo e inverter numericamente a matriz. Se, mesmo assim, o processo for
computacionalmente incomportvel, uma soluo o de calcular a priori (off-line) um conjunto de Jacobianos
inversos em pontos considerados fundamentais ou relevantes, e fazer algum tipo de interpolao nas
diversas variveis para os pontos onde essas inversas no tenham sido calculadas a priori. Este
procedimento requer menos poder de clculo mas em contrapartida exige grande capacidade de
armazenamento (memria).
6.3.3 Recurso pseudo-inversa
Mesmo com toda a metodologia apresentada, podem restar os casos em que o Jacobiano directo no
quadrado, logo sem possibilidade de definir a matriz inversa. Para esses casos pode-se tentar recorrer ao
conceito de pseudo-inversa de uma matriz que se define do modo seguinte.
Pseudo-inversa de uma matriz (m x n) de caracterstica mxima (isto com rank(A) = min(m,n), ou
ainda que o nmero de linhas ou colunas linearmente independentes seja igual menor das suas dimenses)
a matriz designada por A
+
tal que:
( )
( )
1
1
1
t t
t t
m n
m n
m n

= =

A AA
A A
A A A
.
Se a matriz for quadrada fica-se na situao tradicional da inversa. A pseudo-inversa de uma matriz
possui algumas propriedades interessantes, entre as quais se referem as seguintes:
+
= J J J J
+ + +
= J J J J
+
J tem as mesmas dimenses de
t
J
Na equao = J x b , a soluo
+
= x J b minimiza o valor de J x b (i.e.,
+
J J b b ), ou seja,
+
J J representa o valor mais prximo possvel da matriz identidade I.
6.4 Singularidades
Como visto, por exemplo nas expresses dos Jacobianos em (6.15) ou (6.16), e pela prpria definio
do Jacobiano, se as relaes da cinemtica directa forem diferenciveis (como o so praticamente todos os
modelos contnuos), ento o Jacobiano sempre definido. Por outro lado, o Jacobiano inverso mesmo quando
identificado por uma expresso analtica, pode nem sempre ficar definido para todos os valores das variveis
de junta, ou seja, para todas as configuraes do manipulador. Para entender este facto, basta atentar na
expresso (6.20) para o manipulador RR planar onde, se 2 for 0 ou 180, o Jacobiano inverso no tem
definio, ou ainda na expresso (6.27) para o manipulador RR no espao a 3D onde se 2 for 90 tambm
Robtica Industrial V. Santos
Cinemtica diferencial 6-10
esse Jacobiano inverso no tem definio numrica! De facto, nestes casos, o Jacobiano (directo) singular
(ter determinante nulo) e o Jacobiano inverso no definido, e diz-se que a respectiva configurao do
manipulador uma singularidade.
Fisicamente, o que significa uma singularidade? Em resumo, uma situao (configurao do robot)
na qual seria necessrio impor velocidades infinitamente altas numa ou mais juntas para manter
determinadas velocidades no espao operacional. Dito doutro modo, haver um actuador (ou mais) cujo
controlo ser sempre insuficiente para cumprir as velocidades desejadas no espao operacional. Tambm se
diz, por isso, que numa situao de singularidade h a perda de um ou mais graus de mobilidade que,
quando o nmero de graus de liberdade no manipulador for menor ou igual a 6, se diz perda de um grau de
liberdade.

y
x
Trajectria rectilinea
do end-effector que
ser interrompida na
singularidade


yy

2
zz

1
xx

12 12
1
1 2 1 2
1 1 2 12 1 1 2 12
2
1 2 2 1 2 2
C S
d dx dy
L S L S
LC L C L S L S
d dx dy
L L S L L S

= +
+ +
=

1 1
1
2 2 2 2
2
2 2
1
S C
d dx dy
L C L C
d dz
L C

= +
=

Figura 6.3 Situaes de singularidade para dois manipuladores nos limites do espao de trabalho.
A Figura 6.3 ilustra duas situaes de singularidades de manipuladores simples; esquerda, no
manipulador RR planar, quando o segundo ngulo de junta atinge os 0 no mais possvel ao robot
continuar o movimento, por exemplo, na execuo de uma recta a velocidade constante do end-effector., dado
que nenhum movimento da junta 2, independentemente do comportamento da junta 1, satisfaria essa
necessidade. Matematicamente a velocidade da junta 2 cresceria desmesuradamente ao aproximar-se do
valor 0. Na mesma figura, direita, est um outro exemplo onde as expresses diferenciais tm uma
interpretao fsica muito clara e intuitiva: na situao ilustrada, 2 = 90, nenhuma variao de 2 ser
suficiente por si s para alterar a cota z do end-effector e, por outro lado, nenhuma variao de 1 ser
suficiente para alterar a coordenada x ou y; isso de facto assim porque os termos da direita das expresses
tendem para infinito quando 2 tende para 90.
As singularidades mencionadas dizem respeito a situaes nos limites do espao de trabalho. Em
manipuladores com mais graus de liberdade possvel encontrar singularidades no interior do espao de
trabalho. Essas dizem respeito normalmente a alinhamento de elos interiores, como cotovelos, por exemplo.
Estas singularidades representam problemas srios no controlo dos manipuladores e no devem ser
descuradas nas fases de planeamento e execuo de trajectrias, por exemplo.


Robtica Industrial V. Santos
Cinemtica diferencial 6-11
Equation Chapter 7 Section 1Captulo 7

Introduo ao
planeamento de
trajectrias


f

t
f
0
(t)
t
t
b

b


( )
2
0
2 4
f f f
b
t t
t



Robtica Industrial V. Santos
Introduo ao Planeamento de Trajectrias 7-12
7. Introduo ao Planeamento de Trajectrias
7.1 Tipos de movimento
Num manipulador, depois de se saber como relacionar o espao das juntas com o espao operacional,
quer em termos geomtricos (cinemtica directa e inversa), quer em termos cinticos (cinemtica
diferencial), necessrio proceder ao que se chama planeamento de trajectria. Assim, o planeamento de
trajectria engloba o conjunto de estudos e mtodos que permitem definir os regimes de velocidade dos
diversos actuadores de forma a fazer o manipulador cumprir os objectivos de movimentao ou deslocamento
esperado (planeado). partida, num robot industrial, estes objectivos podem ser simplesmente o
deslocamento do end-effector entre dois pontos em repouso no espao de trabalho, durante um determinado
intervalo de tempo, como o caso tpico de manipulao (como a paletizao ou transferncia) ou, no outro
extremo de complexidade e exigncia, a execuo de uma trajectria bem definida do end-effector no espao
operacional e obedecendo a critrios temporais precisos, como so casos de algumas operaes contnuas
(pinturas, polimento, cordes de soldadura, etc.). O primeiro tipo de movimento designado o movimento
ponto-a-ponto e o segundo movimento de trajectria contnua.
No movimento ponto-a-ponto o percurso efectivo da garra no conhecido partida dado que as
configuraes intermdias entre os pontos extremos no so levadas em conta para cumprir este movimento.
No movimento de trajectria contnua o caso oposto, todos os pontos de passagem da garra esto definidos
partida, seja de uma forma analtica seja de forma numrica, e a com grande preciso. Numa soluo
intermdia, possvel fazer planeamento de trajectria entre dois pontos, mas com especificao de um
conjunto de pontos intermdios nos quais a configurao da garra mandatria e, por isso, cumprida. Esta
abordagem a mais verstil em termos de implementao prtica. Na verdade, uma sequncia de
movimentos ponto-a-ponto com espaamentos fsicos muito pequenos entre os pontos quase se assemelha, em
termos prticos, a uma trajectria continua no espao operacional!
7.2 Abordagens para planeamento de trajectrias
Antes de proceder ao planeamento de trajectria e subsequente execuo do movimento deve atender-
se a duas naturezas de constrangimentos:
1- Dar prioridade ao caminho a executar pelo end-effector no espao operacional, que pode ser ditado
pelo conhecimento prvio de obstculos no espao de trabalho, ou pela necessidade de percursos obrigatrios
pela natureza do processo subjacente, ou ento...
2- ...Dar mais importncia dinmica do movimento do manipulador, em particular na continuidade
e suavidade nas velocidades e aceleraes nas diversas juntas para no provocar solicitaes desmesuradas e
irregulares nos respectivos actuadores. Isto implica definir o planeamento de trajectria das juntas do
manipulador.
Neste segundo caso podem desde j adiantar-se algumas vantagens, como mais adiante melhor se
perceber:
A trajectria planeada nas variveis directamente controladas (variveis associadas s juntas)
Robtica Industrial V. Santos
Introduo ao Planeamento de Trajectrias 7-13
O planeamento feito com menores custos computacionais
As trajectrias de juntas so normalmente simples de planificar.
Por outro lado, h uma desvantagem bvia:
As posies das extremidades dos elos no so controladas e, por isso, podem descrever um
percurso muito irregular, com consequncias tambm no end-effector (pense-se por exemplo na
manipulao de um recipiente contendo lquidos e no completamente fechado!)
7.3 Planeamento nas juntas
Planear uma trajectria no espao das juntas significa determinar a evoluo de cada junta ao longo
do tempo de tal forma que so verificadas determinadas condies cinemticas da junta: posio, velocidade,
e at acelerao, no ponto inicial e no ponto final. Ou seja, um movimento deve decorrer desde o instante t0
at ao instante tf partindo do valor inicial de junta
0
at ao valor final de junta
f
, com uma velocidade
inicial ( )
0 0
t =

e uma velocidade final ( )
f f
t =

; mais ainda, pode desejar-se uma acelerao inicial
( )
0 0
t =

e tambm uma acelerao final ( )
f f
t =

.
7.3.1 Funo para a continuidade da velocidade
No caso mais simples tem-se uma posio de partida e uma outra chegada, e as velocidades inicial e
final iguais a zero. Pretende-se obviamente que a velocidade angular seja contnua para evitar aceleraes
teoricamente infinitas e portanto esforos gravosos para os equipamentos fsicos.
Dito de outra forma, quer-se portanto que a equao ( ) 0 t =

tenha duas razes para t=t0 e t=tf e


seja uma funo contnua. Muitas classes de funes serviriam o propsito destas condies, mas talvez a
mais simples seja a de considerar que uma polinomial em t. Assim, pelo facto de ter duas razes, a
expresso da velocidade da junta ser uma polinomial de 2 ordem, ou seja, (t) dever ser de 3 ordem,
donde saem as seguintes expresses genricas:
( )
2 3
0 1 2 3
t a a t a t a t = + + + (7.1)
( )
2
1 2 3
2 3 t a a t a t = + +

(7.2)
( )
2 3
2 6 t a a t = +

(7.3)
Sem perda de generalidade pode assumir-se que o instante t0 igual a 0, ou seja, o incio da
contagem do tempo, e assim as expresses anteriores tm uma traduo grfica como ilustrado na Figura
7.1.

(0)
t
f
0
(t)
t
(t
f
)

t
f
0 t
d/dt
t
f

0
t
d
2
/dt
2

Figura 7.1- Curvas de posio, velocidade e acelerao
Feito este raciocnio, torna-se agora necessrio determinar os termos a0, a1, a2 e a3 na expresso (7.1)
e seguintes. O processo directo e na simplificao assumida pode escrever-se o conjunto de condies a
verificar como sendo:
( ) ( ) ( ) ( )
0
0 0; ; 0 ;
f f f f
t t = = = =

(7.4)
Robtica Industrial V. Santos
Introduo ao Planeamento de Trajectrias 7-14
Combinando as expresses (7.1) e (7.2) com as condies em (7.4) pode escrever-se:
0 0
0 1
0
a
a

=
= =

e
( )
( )
2 3
0 1 2 3
2
1 2 3
2 3
f f f f f
f f f
t a a t a t a t
t a a t a t

= + + + =
= + +


o que resulta sucessivamente em:
2 3
0 2 3
2
2 3
0 2 3
t f f
f f
a t a t
a t a t

= + +

= +


2 3
0 2 3
2 3
2 3
f f f
f
a t a t
a a t

= +


3 3
0 3 3
2 3
3
2
3
2
f f f
f
a t a t
a a t

= +


( )
( )
3 0
3
2 0
2
2
3
f
f
f
f
a
t
a
t


Pode-se portanto fazer as substituies todas em (7.1) e obter o seguinte polinmio para a evoluo
das juntas:
( ) ( ) ( )
2 3
0 0 0
2 3
3 2
f f
f f
t t t
t t
= + (7.5)
A expresso obtida em (7.5) serve, como visto, para a situao onde as velocidades inicial e final so
nulas. Caso no o sejam, tendo-se portanto valores genricos
0

e
f

, a expresso mais geral poderia ser


derivada por um processo idntico ao de (7.5) e resultaria no seguinte:
( ) ( ) ( ) ( )
2 3
0 0 0 0 0 0
2 3 2
3 2 1 2 1
f f f f
f f f f f
t t t t
t t t t t



= + + + + +



(7.6)
7.3.2 Planeamento nas juntas com pontos intermdios de passagem
Por vezes, pode ser conveniente ou necessrio especificar uma trajectria onde haja pontos
intermdios de passagem da junta (via points) onde a sua velocidade no tem necessariamente de ser zero.
Um troo completo entre um ponto de partida e um ponto de chegada constituir-se-, pois, pela concatenao
de sucessivas funes individuais, mas agora a velocidade final e inicial nesses diversos troos no
necessariamente nula. Em termos prticos, as posies no espao das juntas obtm-se por cinemtica inversa
sobre as configuraes dos pontos de passagem no espao operacional, como esboa a Figura 7.2.

0

f

r
0
r
f

C
i
n
e
m

t
i
c
a

i
n
v
e
r
s
a

C
i
n
e
m

t
i
c
a

i
n
v
e
r
s
a

r
A
r
B
Espao
operacional
Espao das
juntas
C
i
n
e
m

t
i
c
a

i
n
v
e
r
s
a

C
i
n
e
m

t
i
c
a

i
n
v
e
r
s
a

A

B
Pontos intermdios via points

Figura 7.2 - Planeamento com via points
Todavia, levanta-se agora a questo: se a velocidade das juntas no ponto de partida e de chegada
nula, qual ser a velocidade da junta nos pontos intermdios de passagem? O utilizador (humano ou
software) pode no conhecer essas velocidades, ou mesmo no ter informaes para as impor de forma
eficiente (como, por exemplo, tendo a certeza que no impor esforos mecnicos devido a grandes
aceleraes no manipulador); trs alternativas se apresentam para resolver o problema:
1) As velocidades nos pontos de passagem so conhecidas no espao operacional e ter-se- de aplicar o
Jacobiano inverso do manipulador para as conhecer no espao das juntas.
Robtica Industrial V. Santos
Introduo ao Planeamento de Trajectrias 7-15
2) O sistema (planeador) escolhe as velocidades aplicando uma qualquer heurstica no espao das
juntas ou no espao operacional. Adiante explica-se um exemplo de uma heurstica apropriada.
3) O sistema escolhe as velocidades nos via points de forma a impor curvas de acelerao contnuas.
Este caso implica mais definies no polinmio ( ) t : ter agora de ser de 5 ordem e no apenas de 3 como
definido em (7.1).
Das trs possibilidades, a mais comum, e talvez mais fcil de aplicar com resultados prticos quase
sempre aceitveis, a segunda abordagem ligada questo da heurstica. O princpio o de fazer uma
espcie de interpolao das velocidades mdias entre dois troos adjacentes. Por exemplo, se as velocidades
mdias em dois troos consecutivos (separados pelo via point) tiverem sinais (sentidos) diferentes, ento o
ponto de passagem tido como o ponto de viragem isto , com velocidade nula. Caso contrrio, a velocidade
no ponto de passagem dada pela mdia das velocidades mdias em cada troo de cada lado do via point.
t
(t)

0

t
A
t
B
t
C
t
f


Figura 7.3 Processo heurstico de determinao da velocidade de junta nos via points.
No exemplo ilustrado na Figura 7.3 a velocidade de passagem quando a junta chega a A nula
porque a velocidade mdia entre 0 e A, isto ,
0 A
A
t

, e a velocidade mdia entre A e B, isto ,
B A
B A
t t


tm valores algbricos distintos (ou seja, sinais opostos). Graficamente, isso observa-se pelo valor da
derivada associada aos segmentos de recta respectivos; assim 0
A
=

. Para B essa situao repete-se mas


para C j no! De facto a velocidade
C

, por este processo, seria determinada pela seguinte expresso:


1
2
f C C B
C
f C C B
t t t t



= +


Naturalmente, possvel fazer um planeamento sem ter de recorrer a uma sequncia de polinmios
de 3 grau. Tendo o poder computacional adequado, pode recorrer-se a polinmios de grau arbitrariamente
elevado ou mesmo a outras funes que proporcionem suavidade como as splines ou mesmo funes
transcendentais. Todavia, em aplicaes prticas o polinmios de 3 ordem muitas vezes suficiente, e por
vezes at excessivo para as exigncias dos problemas.
7.3.3 Alternativa a polinmios de ordem superior
Em alternativa a um planeamento com polinmio de 3 (ou maior) ordem h obviamente a
possibilidade de evoluo linear do valor da junta mas, consequentemente, h descontinuidades na
velocidades e logo aceleraes desmesuradamente grandes com consequncias na estrutura fsica. A Figura
7.4 esboa as curvas de posio, velocidade e acelerao da junta.
Robtica Industrial V. Santos
Introduo ao Planeamento de Trajectrias 7-16

0
t
f
0
(t)
t

f
( ) t

( ) t


Figura 7.4 - Evoluo linear e a descontinuidade na velocidade
Para evitar as limitaes da evoluo linear (com severas limitaes de implementao prtica, alis)
pode procurar-se ter uma evoluo linear mas com perodos de acelerao limitada no fase de arranque e na
fase de paragem. Isto corresponde a um andamento com acelerao inicial, uma velocidade constante e um
perodo de desacelerao constante. Graficamente, a posio descrita por uma curva linear com
extremidades parablicas (parabolic blends) como se pode ver na Figura 7.5.

f

t
f
0
(t)
t
Troo
linear
t
b

b

t
m

m

Troo
parablico

t
f

0
(t)
t t
b

b

Figura 7.5 - Troo linear com extremos parablicos, ou o clssico movimento com rampas de acelerao
No troo parablico entre 0 e tb, com acelerao constante (

) e velocidade inicial nula, e com base na


equao tradicional de um parbola e nas relaes fsicas entre espao, velocidade e acelerao, tem-se:
( )
2
0
1
2
t t = +

(7.7)
Por outro lado, a velocidade atingida no fim desse troo parablico necessariamente igual
velocidade no troo linear para haver continuidade de velocidades, o que permite escrever:
( )
m b
b b b
m b
t t
t t



= = =


(7.8)
Ainda da Figura 7.5 claro que:

2
f
m
t
t = e
0
0
2
f
m



= + (7.9)
Por outro lado, com base em (7.7), tambm bvio que:

2
0
1
2
b b
t = +

(7.10)
Substituindo (7.9) e (7.10) em (7.8), vir uma equao do segundo grau em tb:

0 2 2
0 0
1
2 2 2
f f
b b b
t
t t t

+ = +

(7.11)
ou ainda
( )
2
0
0
b b f f
t t t + =


cuja soluo dada por:
Robtica Industrial V. Santos
Introduo ao Planeamento de Trajectrias 7-17

( )
2 2
0
4
2 2
f f f
b
t t
t

(7.12)
que indica qual o instante em que termina um troo parablico e o instante em que comea o outro
quando a acelerao desejada

, o ngulo inicial
0
, o ngulo final
f
e o tempo de execuo da
trajectria tf.
Naturalmente, para que (7.12) tenha significado fsico o radical tem de ser no negativo, o que leva a
impor a condio ( )
2 2
0
4 0
f f
t

, que se reduz condio principal:

( )
0
2
4
f
f
t

(7.13)
A expresso (7.12) poderia ainda apresentar-se numa forma com interpretao mais intuitiva como a
seguinte:

( )
2
0
2 4
f f f
b
t t
t

(7.14)
De, facto a expresso (7.14) permite relacionar directamente a obteno dos instantes de actividade
dos troos parablicos com base na acelerao desejada nessas fases. Da mesma expresso ainda se extrai o
interessante resultado sobre a menor durao possvel do troo linear (que zero) e que ocorre quando o
radical zero, ou seja, quando a acelerao dada por:
( )
0
2
4
f
f
t

.
Finalmente, digno notar-se que tambm possvel (e no invulgar) fazer planeamento de trajectria
com troos parablicos em casos com pontos de passagem intermdia (via points). O raciocnio da abordagem
similar aos j discutidos e na literatura h autores que detalham o processo que no se assume prioritrio
no mbito do presente texto.
7.4 Planeamento no espao operacional
7.4.1 Princpios
Se a tarefa do manipulador exigir um dado percurso no espao operacional (cordes de soldadura,
linhas de polimento, processos de pintura, etc...) o problema passa agora a ser o de garantir que as juntas se
movam de tal forma que o percurso do end-effector se faa conforme o requerido e de forma contnua, ou seja,
melhor do que ter uma sequncia, por maior que seja, de pontos intermdios de passagem. A questo nessa
alternativa de inmeros pontos de passagem a necessidade de computacionalmente ter-se de recorrer
resoluo em tempo extremamente curto (igual ao do perodo de actualizao do sistema de controlo do robot)
das equaes da cinemtica inversa.
Em casos muito simples (quer de manipuladores quer de trajectrias no espao operacional) pode
resolver-se a priori a questo da cinemtica inversa de forma analtica. Por exemplo, pode pensar-se num
manipulador RR planar onde se quer que o end-effector descreva um segmento de recta parametrizado da
seguinte forma:
( )
( )
7
7
, 0, 4
8
2
x t t
t
y t t

, como se ilustra na Figura 7.6.


Robtica Industrial V. Santos
Introduo ao Planeamento de Trajectrias 7-18

y
x
7/4



Cinemtica inversa do manipulador RR

2 2 2 2
1 2
2
1 2
arccos
2
x y L L
L L

+
=
( )
( )
1 2 2 2 2
1
1 2 2 2 2
cos sin
arctan
cos sin
y L L xL
x L L yL


+
=

+ +


Figura 7.6- Execuo de um segmento no espao operacional
Admitindo braos iguais e de comprimento unitrio, as equaes da cinemtica inversa do
manipulador RR, indicadas na Figura 7.6 podem rescrever-se de forma simplificada:
( )
( )
( )
( )
( )
2 2
1
2 2
7
2 1 cos sin
4
arctan
7
1 cos 2 sin
4
t t
t
t t



+


=


+ +



( )
( )
2
2
2
7
4 2
4
arccos
2
t t
t
+
=
Na redundncia de 2 pode optar-se pela soluo com sinal negativo que corresponde ao representado
na Figura 7.6. Assim sendo, obtm-se umas curvas para 1 e 2 sensivelmente como as indicadas na Figura
7.7.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
-85
-80
-75
-70
-65
-60
t
- acos ( 1 / 2 ( 21 / 13 - t )
2
+2 t
2
- 1 )

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
0
10
20
30
40
50
60
70
80
90
t

Figura 7.7 - Evoluo das juntas 2 (esq.) e 1 (dir.) para o manipulador RR executar uma linha recta
Este exemplo da resoluo analtica pouco mais do que um exerccio acadmico porque, na verdade,
no resolve o problema apresentado logo de incio, ou seja, na prtica, a cinemtica inversa tem de ser
calculada para todos os pontos necessrios ao controlador para levar a cabo o movimento desejado.
H muitos trabalhos nesta rea e diversas metodologias de abordar o problema sem ter de recorrer
to exaustivamente cinemtica inversa; da literatura merecedor destacar, por exemplo, o processo dos
quaternies duais.
Robtica Industrial V. Santos
Introduo ao Planeamento de Trajectrias 7-19
7.4.2 Problemas no planeamento do espao operacional
Quando se faz planeamento no espao operacional podem ocorrer alguns problemas dos quais se
destacam os seguintes:
Pontos intermdios da trajectria cartesiana inatingveis
Apesar de os pontos de partida e chegada estarem no espao de trabalho, h alguns pontos
intermdios que no so atingveis (Figura 7.8)
Espao de
trabalho
Regio
inatingvel

Figura 7.8 - Regio inatingvel para um manipulador RR
Grandes velocidades das juntas prximas das singularidades
Este problema no novo dado que j se abordou a questo das singularidades antes. Porm, no ser
nunca demais alertar para os riscos prticos da execuo de trajectrias arbitrrias no espao operacional.


Fase de grande
velocidade

Pontos de partida e chegada atingveis com configuraes diferentes
Neste caso destacam-se as situaes em que as configuraes de partida e chegada, por razes
construtivas ou de ordem fsica, no tm uma relao de continuidade na evoluo de uma para outra. A
estas situaes esto frequentemente associados os limites fsicos das juntas.





Captulo 8

Introduo viso por
computador

( ) q T q T q
R
R
C R
C
R C
= =
1


( ) q T P q T P c
R
R
C R
C
R
h
= =
1



R
z
C

y
C

x
C

x
R

y
R
z
R
C
q
C
q
R
q
Plano da
cmara


( ) ( ) g b e d e d g b p p + + + + = '





Robtica Industrial V. Santos
8-1
8. Introduo Viso por Computador
NOTA: Slides apresentados
NB: Nas pginas seguintes incluem-se os slides apresentados na aula. Notar que um mero resumo
da matria e no constitui elemento de estudo suficiente. Os apontamentos tirados das aulas e os livros e
restante bibliografia recomendados so as referncias fundamentais.
Resumo dos tpicos abordados
Parte I Introduo e generalidades
Definio e reas da viso por computador
A imagem digital
Tcnicas de iluminao
Parte II Geometria da Formao de Imagem
Transformao geomtrica
Calibrao da cmara
Parte III Processamento a baixo nvel
Relaes entre os elementos de imagem (pixels)
Ferramentas para processamento espacial de imagem: filtros e tcnicas.
Parte IV Abordagem a mdio nvel e morfologia
Operadores e operaes morfolgicas
Segmentao
Robtica Industrial
Introduo Viso por Computador
Dezembro 2003
Vtor M. F. Santos
Sumrio
Parte I
Definio e reas da viso por computador
A imagem digital
Tcnicas de iluminao
Parte II
Geometria da formao de imagem
Parte III
Relaes entre os elementos de imagem (pixels)
Ferramentas para processamento espacial de imagem: filtros e
tcnicas.
Parte IV
Princpios de segmentao e morfologia
Algumas Referncias
Robotics: Control, Sensing, Vision, and
Intelligence K. S. Fu, R. C. Gonzalez, C. D. G.
Lee, McGrawHill, 1987
Digital Image Processing R.C. Gonzalez, P.
Wintz, Addison-Wesley, 1987
http://www.ph.tn.tudelft.nl/Courses/FIP/frames/fip.html
Viso por Computador Parte I
Introduo e Generalidades
Definio e importncia
Viso por computador o processo de ...
Extraco,
caracterizao
e interpretao
de informao a partir de imagens do mundo
tridimensional
A viso, como mtodo sensorial, assume um
papel cada vez mais importante a vrios nveis:
Navegao em robtica autnoma (mvel)
Processos industriais envolvendo montagem e/ou
identificao de componentes
Vigilncia e sistemas de segurana
reas e nveis da viso por computador
1-Percepo
Aquisio ou obteno de imagem
2-Pr-processamento
Reduo de rudo ou realce de detalhes
3-Segmentao
Partio da imagem em zonas de interesse (objectos)
4-Descrio
Determinao de propriedades de objectos (tamanho, forma,)
5-Reconhecimento
Identificao de objectos descritos a partir de uma base de dados.
6-Interpretao
Atribuir significados a um conjunto de objectos reconhecidos
B
a
i
x
o

n

v
e
l
M

d
i
o

n

v
e
l
A
l
t
o

n

v
e
l
Formao da imagem
...na cmara escura
As dimenses e definio
do orifcio definem a
nitidez e o plano focal
...no olho humano
A imagem forma-se no
plano da retina por
projeco da luz vinda do
mundo 3D atravs de uma
lente (cristalino) que
muda de dimenses para
ajustar a distncia focal
Elementos do Olho Humano
A retina a superfcie
sensvel luz
Os msculos deformam
a lente (cristalino) para
mudar o plano focal e
assim ajustar-se
distncia dos objectos
A ris controla a
quantidade de luz que
entra, mudando o
dimetro da pupila
Imagem atravs de uma Lente
Todos os raios de luz que saem de um dado ponto de um objecto na
direco de uma lente convergente vo confluir, do outro lado, num
outro ponto a uma certa distncia do centro dessa lente: trata-se da
distncia focal.
O conjunto de todos os pontos para os quais se verifica esse facto
constitui o plano focal.
Assim, a imagem observada nesse plano diz-se focada.
Sensao e obteno da Imagem
A imagem foi inicialmente obtida por emulses
qumicas foto-sensveis depositadas numa chapa
ou pelcula colocada no plano focal
fotografia e cinema clssicos
A imagem de televiso foi a primeira a
decompor directamente uma imagem em linhas
horizontais suficientemente prximas para criar
a iluso de continuidade vertical
Os tubos das cmaras de filmar e os cinescpios
dos televisores. As 405 e 625 linhas foram
standards que ainda hoje vigoram
Os sensores modernos de imagem baseiam-se
nos Charge Coupled Devices (CCD)
Baixo custo e consumo de energia
Reduzidas dimenses (diagonal: 3.5 a 8 mm, ...)
Altas sensibilidades (0.5 lux, ...)
Percepo discretizada em linhas e em colunas
(500582, 752582, ...)
Imagem digital
Constituda por elementos discretos ou pixels
o pixel (=Picture Element)
Processo de amostragem da imagem
Amostragem espacial
Nmero limitado (finito) de pontos (pixels) nas duas
dimenses
Amostragem de amplitude ou intensidade
Cada ponto representado por um nmero que traduz os
nveis de cinzento (intensidade luminosa global)
Nas imagens a cores, cada ponto representado por mais
do que um nmero (normalmente 3)
Fenmeno de quantizao (nmero limitado de nveis)
Imagem digital (Cont.)
Uma imagem como uma funo z=f(x,y)
z - intensidade da luz no ponto (x,y)
x ,y - linha e coluna na imagem respectivamente
Uma imagem amostrada representvel por
uma matriz de dimenso (N x M)
( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )

=
1 , 1 1 , 1 0 , 1
1 , 1 1 , 1 0 , 1
1 , 0 1 , 0 0 , 0
,
M N f N f N f
M f f f
M f f f
y x f

Resoluo numa Imagem


Resoluo espacial
Nmero de linhas e colunas
pixels verticais e
horizontais
Efeito mosaico
Resoluo de amplitude ou
profundidade
Nmero de nveis de
cinzento ou cores por pixel
nas imagens a cores h
mais que um valor por pixel
( usual trs)
O nmero de bits e efeito
de solarizao
Nas imagens binrias, os
pixels so representados
por um s bit
Sobre imagens digitais
Para que uma imagem digital tenha a mesma
qualidade subjectiva que uma imagem de
televiso (P/B), deve ter cerca de:
512 x 512 pixels
128 nveis de cinzento
Problema da quantizao
Os falsos contornos (32 nveis demasiado pouco
para o olho humano)
Para satisfazer ao mnimo o olho humano
dever-se- ter:
256 x 256 pixels e 64 nveis de cinzento
Tcnicas de Iluminao
Importncia:
Podem simplificar os algoritmos a usar eliminando
sombras, reflexes especulares, etc.
Tcnicas principais:
Iluminao difusa (no directa)
Para objectos de superfcies suaves e regulares
Retro-iluminao (contraluz)
Para imagens a dois nveis onde s a geometria dos
objectos tenha interesse
Luz estruturada: projeco de pontos, linhas ou
grelhas na superfcie de trabalho
til para a percepo tridimensional de objectos.
Tcnicas de Iluminao-Ilustrao
Iluminao difusa
Eliminar sombras
Luz estruturada
Anlise geomtrica
Retro-iluminao
Alto contraste-imagens binrias
Iluminao direccionada
Realce de propriedades (geometria, textura)
Luz Estruturada: Princpios - I
Projeco de padres visveis numa superfcie
Projeco com feixes laser ou outras fontes coerentes
Percepo dos padres da imagem visvel e extraco das
propriedades
Luz Estruturada: Princpios - II
Cmara posicionada
distncia r (desconhecida) do
objecto e altura h
(conhecida) do feixe laser
y coordenada do ponto do
padro luminoso na imagem
obtida
Por simples relao de
tringulos, sabendo a
distncia focal f da cmara,
determina-se a distncia r do
objecto
Exemplos de
Retro-Iluminao e de Luz Estruturada
Conjunto de chaves sobre
superfcie translcida
iluminada por baixo.
Grande contraste na
imagem obtida.
Dois feixes de luz
coincidentes num plano
perdem essa coincidncia
quando projectados sobre
uma superfcie a uma cota
diferente do plano de apoio.
Viso por Computador Parte II
Geometria da Formao da Imagem
Geometria da formao de imagem-resumo
A transformao (geomtrica) de perspectiva
Transforma pontos do espao 3D em pontos no
plano 2D
Coordenadas do mundo real
Coordenadas da imagem (Cmara)
Distncia focal
Obteno das coordenadas da imagem a partir das
coordenadas do mundo real
Coordenadas cartesianas e coordenadas
homogneas
A transformao de perspectiva inversa e o seu
uso inconclusivo
Geometria da Imagem - I
Ponto real e ponto na imagem
Ponto real: w(X,Y,Z)
Ponto na imagem: c(x,y)
Relaes de distncias:
Se Z > vir:
y,Y
x,X
z,Z
c - (x,y)
w - (X,Y,Z)
Plano da imagem
Centro da lente
Distncia focal -
Z
X
Z
X x

=

Z
Y
Z
Y y

=

Z
X
x

Z
Y
y

Geometria da Imagem - II
Abordagem integrada das coordenadas
Coordenadas homogneas de um ponto
Ponto real: w
h
(kX, kY, kX, k), k0
Ponto imagem: c
h
? (resulta da transformao)
Transformao de perspectiva P
c
h
= P w
h

=
1
1
0 0
0 1 0 0
0 0 1 0
0 0 0 1

=
k
kZ
kY
kX
h
1
1
0 0
0 1 0 0
0 0 1 0
0 0 0 1

=
k
kZ
kZ
kY
kX
h

c
Geometria de Imagem - III
Coordenadas calculadas na imagem
(ponto c) do ponto real (w)
A coordenada z no tem aqui sentido
As coordenadas x e y obtm-se em
funo das coordenadas reais (X,Y,Z) e
de
A determinao inversa
(coordenadas reais a partir das
coordenadas de imagem) seria
obtida pela transformao inversa e
expressa pelo seguinte w
h
= P
-1
c
h
onde P
-1
seria como indicado.
Porm, a transformao no produz
pontos no espao 3D...!

=
Z
Z
Z
Y
Z
X
kZ
k
kZ
kZ
k
kY
kZ
k
kX
z
y
x

1
1
0 0
0 1 0 0
0 0 1 0
0 0 0 1
1

P
Calibrao da Cmara
Quando os sistemas de coordenadas da
cmara e do mundo real so diferentes
Necessidade de adequada transformao
geomtrica da cmara antes da perspectiva
Simples relao de transformaes...
... e transformao perspectiva:
R
z
C
y
C
x
C
x
R
y
R
z
R
C
w
C
w
R
w
Plano da
cmara
R R C
C
= w T w
( )
1
C R R C R
C R

= = w T w T w
( )
1
C R R C R
C R

= = = c P w P T w P T w
Viso por Computador Parte III
Processamento a Baixo Nvel
Imagem em baixo nvel sumrio
Relaes bsicas entre pixels
Vizinhanas
Critrios de distncia
Pr-processamento
Os filtros de convoluo
Deteco de pixels isolados
Tcnicas de suavizao
Tcnicas de Realce
Deteco de arestas
Limitao e binarizao
Suavizao de imagens binrias
Relaes entre pixels
Vizinhana de um pixel (n de pixels vizinhos)
N
4
(horizontal e vertical)
N
D
(diagonal)
N
8
= N
4
N
D
Medidas de distncia entre pixels
Euclidiana
D4 (ou city-block)
D8 (ou chessboard)
( ) ( ) ( )
2 2
,
y y x x E
q p q p q p D + =
( )
y y x x
q p q p q p D + = ,
4
( ) ( )
y y x x
q p q p q p D = , max ,
8
Pr-processamento de imagem
Abordagens
Espacial - sobre os pixels da imagem
Na frequncia - Transformadas de Fourier (o se
abordam aqui!)
Na abordagem espacial
Criao de uma nova imagem g(x,y) = h[ f(x,y) ]
h() : operador de pr-processamento que opera numa
vizinhana de cada pixel
Uso de mscaras de convoluo (ou janelas ou
filtros)
Matriz de coeficientes apropriados a determinado tipo de
tratamento ou deteco de propriedades
Princpio da utilizao de um filtro
Novo pixel funo do pixel original e do filtro:
onde p
i
pertence vizinhana do ponto em causa
Note-se que g(x,y) pode ser o valor directo do novo pixel,
ou ser usado de forma indirecta para o definir.
Os coeficientes de um filtro de 3x3:
( )

=
=
N
i
i i
p w y x g
1
,
w1 w2 w3
w4 w5 w6
w7 w8 w9
Filtro para detectar pontos isolados
Numa imagem binria (pixels com valores 0 ou
1), o seguinte filtro pode ser usado para
detectar se um pixel um ponto isolado no
meio de outros.
Se g(x,y) =8 ou -8 o ponto (x,y) isolado!
Note que os valores de 7, 6, 5,...,6,7
correspondem a todas as outras possibilidades
-1 -1 -1
-1 8 -1
-1 -1 -1
Tcnicas de suavizao (smoothing)
As tcnicas de suavizao dizem respeito
essencialmente reduo de rudo
Mdia de imagens (srie de N imagens da mesma
cena)
Filtro de mdia
Todos os pesos de um filtro de 3x3 com valor 1/9.
Filtro de mediana
Substituir cada pixel pela mediana da distribuio dos
nveis de todos os pixels da sua vizinhana (incluindo o
prprio). Filtros de 3x3 ou 5x5 so comuns.
( ) ( )

=
=
N
i
i
y x f
N
y x g
1
,
1
,
Tcnicas de realce (Enhancement)
Para adaptao ou compensao face a
alteraes de iluminao da cena
O Histograma de uma imagem
Conceito Exemplos
Operaes no histograma
Equalizao
alterao do valor de cada pixel para uniformizar a distribuio
de nveis de cinzento na imagem
Histogramas locais em vez de global
Para afectar a imagem parcialmente sem levar em conta todo
o resto da imagem
Aplicao de um histograma pr-definido
Por exemplo, para realar as partes mais escuras tornando-as
mais claras, e escurecendo as partes mais intensas
Expanso do contraste
Alterao da imagem para varrer toda a gama dinmica de
cinzentos com B bits:
( ) ( )
( ) ( ) [ ]
( ) [ ] ( ) [ ] y x f y x f
y x f y x f
y x g
B
, min , max
, min ,
1 2 ,

=
Deteco de arestas (Edge detection)
Importante para a deteco de objectos numa cena.
A tcnica principal a de detectar variaes de
intensidade usando um operador derivativo local
Exemplo de perfil de intensidades e suas derivadas:
Operador de gradiente
Definio
Norma do gradiente e aproximao usada
Variante discreta...
... e filtros correspondentes
T
y
x
y
f
x
f
G
G

= G

y x y x
G G G G + + =
2 2
G

( ) ( ) y x f y x f G
x
, 1 , = ( ) ( ) 1 , , = y x f y x f G
y
0 0 0
-1 1 0
0 0 0
0 -1 0
0 1 0
0 0 0
Outros filtros de gradiente
Filtros de Sobel
Alternativa mais eficiente para detectar arestas
Laplaciano
Muito sensvel ao rudo. Pouco usado para deteco
de arestas.
-1 -2 -1
0 0 0
1 2 1
-1 0 1
-2 0 2
-1 0 1
G
x
= G
y
=
( ) [ ]
2
2
2
2
,
y
f
x
f
y x f L

=
0 1 0
1 -4 1
0 1 0
L=
Exemplos do uso de filtros para arestas
Gradiente simples: Gx +Gy
Filtro de Sobel com normalizao
Limitao a meio da gama Gradiente simples: Gx +Gy
Filtro de Sobel com normalizao
Limitao (Thresholding)
Processo de reduo dos nveis de cinzento de
uma imagem:
Em geral para 2 nveis, ou seja, imagem binria.
A limitao provavelmente a tcnica mais
utilizada em viso aplicada robtica industrial
e no s.
uma primeira operao para separar o
objecto do fundo.
( )
( )
( )


>
=
T y x f
T y x f
y x g
, 0
, 1
,
Limitao dinmica
Qual o threshold que mais informao preserva no
processo de limitao? O valor central...? Nem sempre!
Exemplo de limitao numa imagem com 256 nveis
T=128 (pior) e T=80 (melhor)
A melhor soluo obtida aps anlise do histograma
Procura das regies de separao de picos (vales)
0 50 100 150 200 250
0
200
400
600
800
1000
1200
T =80
T =128
Suavizao de imagens binrias
Situaes de suavizao em imagem binria
Pontos isolados ou buracos em imagens
Cavidades/protuberncias em troos rectos
Vrtices de objectos (cantos) ausentes
Uso de operaes lgicas (binrias) com os pixels.
Vizinhana de 3X3 onde os pixels so designados assim:
( ) ( ) g b e d e d g b p p + + + + = '
( ) ( ) [
( ) ( )] g f d e c b
h g e d b a p p
+ + + + +
+ + + + + = '
( ) ( ) p h e c b a g f d p p
TD
+ + + + + = '
a b c
d p e
f g h
0 - luz
1 - escuro
( ) ( ) p h g f e c d b a p p
BD
+ + + + + = '
( ) ( ) p f d c b a h g e p p
TE
+ + + + + = '
( ) ( ) p h g f d a e c b p p
BE
+ + + + + = '
Viso por Computador Parte IV
Abordagem a Mdio Nvel e Morfologia
Viso por computador O mdio nvel
Operadores morfolgicos (binrios)
Operadores para lidar com as partes da imagem divididas em
objectos e fundo (background)
Um objecto um conjunto de pixels que partilha uma mesma
propriedade como o estarem ligados entre si (4- ou 8-
conexo indicando estar ligado a 4 ou a 8 vizinhos)
O elemento estruturante de um operador morfolgico
Vizinhana de efectividade do operador:
N
4
N
8
Podero ser definidos outros elementos estruturantes, ex.:
A segmentao
Separao de objectos de interesse do fundo da imagem
Algumas tcnicas (sequncias de operaes morfolgicas)
para problemas de manipulao de objectos em imagens.
Operadores Morfolgicos - I
Eroso
Tomar cada pixel de objecto
(valor 1) que esteja Nligado (N
4
,
N
8
, ...) a um pixel de fundo (valor
0) e colocar esse pixel do objecto
a 0.
Em geral, reduz as dimenses do
objecto
Dilatao
Tomar cada pixel de objecto
(valor 1) e pr todos os pixels de
fundo (valor 0) que esto N-
ligados (N
4
, N
8
, ...) a esse pixel
como objecto (para o valor 1).
Em geral, aumenta as dimenses
do objecto
Eroso com N
4
e N
8
Dilatao com N
4
e N
8
Operadores Morfolgicos - II
Fecho
Operao de dilatao seguida de eroso
O resultado comum mais interessante o de fundir
objectos que inicialmente s estariam ligados por um nico
pixel.
Suaviza o objecto pelo exterior do seu contorno
Abertura
Operao de eroso seguida de dilatao
O resultado comum mais interessante o de separar
objectos que inicialmente s estariam ligados por poucos
pixels, nomeadamente, linhas de um s pixel de largura.
Suaviza o objecto pelo interior do seu contorno
Operadores Morfolgicos - III
Esqueletizao
Operao de determinao do esqueleto
Definio de esqueleto:
Objecto filiforme (1 pixel de largura) ...
.. que passa pelo meio do objecto
... e que preserva a topologia do objecto original
Uma variante (thinning) baseada na eroso
condicionada (menos exigente computacionalmente)
Um pixel no erodido nas seguintes condies:
Se for isolado - condio C
1
:
Se remov-lo afectar a conectividade condio C
2
Se remov-lo afectar o comprimento da linha Condio C
3
Operadores Morfolgicos IV
Propagao
Operao de dilatao sucessiva de um objecto
semente (por exemplo um esqueleto) at aos
limites dados por uma imagem mscara, com
base num dado elemento estruturante.
Mscara Semente
Em geral, o processo resulta
numa mscara cheia
Variantes de Esqueletizao
No algoritmo de thinning h diversas
combinaes das condies C
1
, C
2
e C
3
.
S condio C
1
Esqueleto reduzido a um pixel
S condio C
2
Esqueleto reduzido a linhas fechadas se houver objectos
com buracos. Objectos sem buracos desaparecem.
C
1
+ C
2
O esqueleto constitudo por pixels isolados para objectos
sem buracos e por contornos fechados para objectos
com buracos.
C
1
+ C
2
+ C
3
Ter-se- o esqueleto completo tradicional
Segmentao
A limitao (thresholding) dinmica
Limite baseado na mdia do valor de todos os pixels
da imagem mtodo com limitaes.
Limite baseado no histograma
Algoritmo de isodados
Algoritmo do tringulo
Particularmente eficiente quando os objectos no se
demarcam claramente no histograma
Algoritmo de simetria do fundo
Pico demarcado e com simetria no histograma
Deteco de Arestas
Contornos dos objectos (atravs de filtros de
gradiente)
Binarizao- Algoritmo de isodados
Obteno do limiar T de forma iterativa.
Imagem a B bits com um histograma H(i) onde i=0,1,...,2
B
-1
Iterao inicial: ponto central da gama dinmica T
0
=2
B-1
Calcular as mdias dos pixels separados em objectos (m
f
) e
fundo (m
b
);
Nova iterao: o novo valor do limiar obtido como a mdia
aritmtica dessas mdias.
O processo repetido at que o limiar deixe de variar.
1 1
2
f b
k k
k
m m
T

+
=
1 k k
T T

=
( )
( )
1
1
2 1
2 1
B
k
B
k
i T
f
k
i T
i H i
m
H i

( )
( )
1
1
1
0
1
0
k
k
T
b
i
k
T
i
i H i
m
H i

Binarizao algoritmo do tringulo


Determinar no histograma o ponto de maior frequncia
Determinar no histograma o ponto de menor frequncia
Definir uma linha unindo os dois pontos perfazendo um tringulo
O ponto do histograma entre os pontos definidos que mais se
afastar dessa linha ao longo de uma perpendicular o limiar...
0 50 100 150 200 250
0
500
1000
1500
2000
2500
3000
3500
d
Operaes de morfologia binria
Isolar objectos com buracos
Preencher os buracos em objectos
Remover objectos nos bordos da imagem
Clculo do Exo-esqueleto
Separar objectos que se tocam
Etc.
Operaes Morfolgicas I
Isolar objectos com buracos
1. Binarizar imagem e guardar para
usar como mscara
2. Determinar o esqueleto no
preservando os pixels terminais
3. Eliminar pontos isolados do
esqueleto
4. Propagar o restante esqueleto
at mscara obtida no ponto 1.
Operaes Morfolgicas - II
Preencher buracos em objectos
1. Binarizar
2. Complementar a imagem (negar)
3. Definir o bordo (caixilho) da imagem
como semente
4. Propagar do bordo para os limites da
imagem negada
5. Inverter a imagem propagada
Operaes Morfolgicas - III
Remover objectos que tocam
no bordo da imagem
1. Binarizar (obter mscara)
2. Gerar um objecto semente com
o bordo (caixilho) da imagem
3. Propagar a semente at
mscara
4. Fazer a operao de ou-
exclusivo (XOR) com a imagem
binarizada inicial (mscara)
Operaes Morfolgicas - IV
Obteno do Exo-esqueleto
Definio de exo-esqueleto:
esqueleto do fundo que contm
os objectos, criando regies
1. Binarizao
2. Complemento da imagem
(negao)
3. Clculo do esqueleto pela
metodologia que elimina as linhas
terminais (condies C
1
e C
2
na
definio da operao de
thinning)
Funo BWMORPH em MatLab (v5.3+)
BW2 = BWMORPH(BW1,OPERATION,N) applies the operation N times. N can be Inf, in which
case the operation is repeated until the image no longer changes.
OPERATION is a string that can have one of these values:
'bothat' Subtract the input image from its closing
'bridge' Bridge previously unconnected pixels
'clean' Remove isolated pixels (1's surrounded by 0's)
'close' Perform binary closure (dilation followed by erosion)
'diag' Diagonal fill to eliminate 8-connectivity of background
'dilate' Perform dilation using the structuring element ones(3)
'erode' Perform erosion using the structuring element ones(3)
'fill' Fill isolated interior pixels (0's surrounded by 1's)
'hbreak' Remove H-connected pixels
'majority' Set a pixel to 1 if five or more pixels in its 3-by-3 neighborhood are 1's
'open' Perform binary opening (erosion followed by dilation)
'remove' Set a pixel to 0 if its 4-connected neighbors are all 1's, thus leaving only boundary pixels
'shrink' With N =Inf, shrink objects to points; shrink objects with holes to connected rings
'skel' With N =Inf, remove pixels on the boundaries of objects without allowing objects to break apart
'spur' Remove end points of lines without removing small objects completely.
'thicken' With N =Inf, thicken objects by adding pixels to the exterior of objects without connected
previously unconnected objects
'thin' With N =Inf, remove pixels so that an object without holes shrinks to a minimally connected
stroke, and an object with holes shrinks to a ring halfway between the holdand outer boundary
'tophat' Subtract the opening from the input image

Você também pode gostar