Você está na página 1de 100

___________________________________________________________

UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO


CENTRO DE TECNOLOGIA E CIÊNCIAS
FACULDADE DE ENGENHARIA

__________________________________________________________
CURSO DE ESPECIALIZAÇÃO EM

ENGENHARIA
MECATRÔNICA

ROBÓTICA INDUSTRIAL
Prof. Fernando Agustín Pazos

Junho - 2003
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

CAPÍTULO I

FUNDAMENTOS DE ROBÔS MANIPULADORES

1.1. AUTOMAÇÃO E ROBÓTICA

Automação de sistemas e robótica são duas áreas da tecnologia intimamente


relacionadas. Num contexto industrial pode se definir a automação como a tecnologia que se
ocupa da utilização de sistemas mecânicos, eletro-eletrônicos e computacionais na operação e
controle da produção. A robótica pode se entender como uma forma de automação de
sistemas.
As diferentes formas de automação industrial podem ser classificadas em três áreas não
claramente delimitadas: a automação fixa, a automação programável, e a automação flexível.
A automação fixa está baseada numa linha de produção especialmente projetada para a
fabricação de um produto específico e determinado. Ela é utilizada quando o volume de
produção deve ser muito elevado, e o equipamento é projetado para altas taxas de produção.
Um exemplo de automação fixa é encontrado nas indústrias de automóveis, nas quais são
utilizadas linhas transfer integradas, as quais consistem em estações de trabalho que realizam
diversas operações em componentes dos motores, da transmissão e nas diferentes peças que
conformam a mecânica automotiva, para serem montadas posteriormente.
A automação programável está baseada num equipamento com capacidade para fabricar
uma variedade de produtos com características diferentes, segundo um programa de
instruções previamente introduzido nele. Esse tipo de automação é utilizado quando o volume
de produção de cada produto é baixo, inclusive para produzir um produto unitário
especialmente encomendado, por exemplo. O equipamento é projetado para ser adaptável às
diferentes características e configurações dos produtos fabricados; essa adaptabilidade é
conseguida mediante a operação do equipamento sob controle de um programa de instruções
preparado para o produto em questão.
A terceira classe de automação industrial é a automação flexível, que pode ser entendida
como uma solução de compromisso entre a automação fixa e a automação programável. A

1
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

automação flexível também é conhecida como sistema de manufatura integrada por


computador (CIM). Os sistemas de produção baseados na automação flexível possuem
algumas das características da automação fixa e outras da automação programável. O
equipamento deve ser programado para produzir uma variedade de produtos com algumas
características ou configurações diferentes, mas a variedade dessas características ou
configurações é normalmente mais limitado que aquela permitida pela automação
programável.
Dentre os três tipos de automação industrial definidos, a robótica coincide mais
estritamente com a automação programável, utilizando-se nesta equipamentos, ou robôs, que
precisam ser programados para ter seu acionar determinado segundo as características do
produto a ser fabricado.

1.2. DEFINIÇÃO DE ROBÔ

Existem muitas definições diferentes de robô, dependendo do ponto de vista ou da área


na qual se trabalhe com eles. Uma definição supostamente “oficial” do termo robô foi
estabelecida pela Associação das Indústrias da Robótica (RIA): Um robô industrial é um
manipulador reprogramável, multifuncional, projetado para mover materiais, peças,
ferramentas ou dispositivos especiais em movimentos variáveis programados para a
realização de uma variedade de tarefas.
Do ponto de vista de uma conceição ampla do termo robô, essa definição corresponderia
apenas a uma classe específica de robôs, precisamente os robôs manipuladores. Mas no
presente texto será ampliada essa definição.
Primeiramente, para entender a definição de robô deve-se começar por definir alguns
conceitos básicos, começando pelo conceito de máquina. Definiremos máquina como
qualquer dispositivo capaz de transformar energia em trabalho útil. Nos referimos a qualquer
tipo de energia, a qual pode ser quantificada e expressada numa unidade física chamada Joule.
Por trabalho entendemos o conceito do ponto de vista físico, isto é, a aplicação dessa energia,
por exemplo, numa força que se desloca uma determinada distância. Esse trabalho também
pode ser quantificado e expressado em unidades de N.m. (Newton – metro).

2
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

energia trabalho útil


Máquina

Figura 1.1: Transformação de energia em trabalho útil

O conceito de máquina pode ser classificado de diferentes maneiras também. Por


exemplo, discriminando-as segundo o tipo de energia empregada, o que as dividiria em
máquinas elétricas, térmicas, manuais, etc. A classificação que será utilizada aqui está
baseada na origem da fonte de energia, isto é, se a fonte de energia for proveniente da força
humana ou externa à ação do operador. Assim, serão divididas as máquinas em automáticas e
não automáticas ou manuais. Por máquina automática entende-se toda aquela cuja energia
provem de uma fonte externa, por exemplo energia elétrica, térmica, etc. Por máquina não
automática ou manual entende-se toda aquela que precisa da energia permanente do operador
para efetuar o trabalho.
Dentre as máquinas automáticas também é possível fazer diversas classificações,
segundo tipo de energia, características construtivas, ou peso e tamanho também. Mas visando
os objetivos deste texto será estabelecida a seguinte classificação: serão divididas as máquinas
automáticas em programáveis e não programáveis. Por máquina automática não programável
entende-se toda aquela que, ao receber a energia da fonte, efetua sempre o mesmo trabalho.
Por máquina automática programável entende-se toda aquela cujo trabalho depende em certa
medida de instruções previamente dadas pelo operador, seja qual for o meio pelo qual foram
introduzidas essas instruções na máquina e o formato delas. Essas instruções serão chamadas
genericamente com o nome de programa.
Imagine-se uma máquina que possui uma série de chaves ou switches, e que ao receber
energia, o trabalho que efetua depende da posição desses switches. Estamos na presença de
uma máquina automática programável. É claro que uma máquina controlada por um
computador ou algum outro tipo de processador eletrônico digital, cuja tarefa também vai
depender do programa que execute o processador, também é uma máquina automática
programável. Mas uma máquina automática com um controle de tempo, efetuado através de
um temporizador que o usuário pode ajustar e assim determinar o período de funcionamento,
não é uma máquina automática programável, devido a que o ajuste de tempo não pode ser
considerado um programa. A tarefa é sempre a mesma, apenas muda a duração dela. São

3
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

exemplos dessas máquinas automáticas não programáveis a lavadora de roupas, a televisão,


etc.
Definiremos robô justamente como máquina automática programável.
Também podem se classificar de diversas maneiras os diferentes tipos de robôs, o que
será feito do ponto de vista das suas diferentes utilidades.
A primeira classe a considerar é a dos robôs manipuladores, já definidos anteriormente.
São exemplos de robôs manipuladores os braços mecânicos, ou qualquer sistema que, em
geral, tenha por objetivo deslocar material de um ponto a outro do espaço ou acompanhando
uma trajetória dentro de um volume de trabalho.
Serão distinguidos também os robôs exploradores, ou robôs que têm como objetivo
explorar um determinado ambiente, o qual pode não ser necessariamente uma superfície
plana, mas também pode ser um determinado espaço ou inclusive um objeto fixo, e relevar
através de sensores características físicas dele. Um claro exemplo dessa classe é o robô
enviado a Marte para monitoramento da superfície do planeta.
A terceira classe a considerar aqui será a das máquinas ferramenta, ou robôs que têm
por objetivo processar uma determinada matéria prima, aumentando o valor agregado. São
exemplos disso os robôs de solda, nos quais devem ser programados os movimentos da ponta
de solda para acompanhar os contornos das peças a soldar, as furadeiras de controle numérico,
onde no programa figuram as coordenadas e diâmetros dos furos a serem realizados, os tornos
de controle numérico, entre muitas outras máquinas de uso comum na indústria metalúrgica.
Finalmente, serão considerados os outros tipos de robôs que não entram nas definições
anteriores como de uso geral. Um exemplo disso é um controlador de temperatura
programável, que tem por objetivo manter a temperatura de um ambiente ou sistema num
determinado nível ou percorrendo uma determinada excursão térmica, segundo um programa
previamente indicado ao controlador. Observe-se que, segundo a definição especificada aqui,
este controlador de temperatura é considerado um robô, mesmo que não possa efetuar
movimento algum.

4
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Máquina

automáticas não automáticas

não programáveis programáveis


ou Robôs

máquinas
manipulador exploradores uso geral
ferramenta

Figura 1.2: Classificação de máquinas

1.3. VANTAGENS DA UTILIZAÇÃO DE ROBÔS

Dentre as diversas vantagens que apresenta a utilização de robôs podem ser


mencionadas:

- Custo:
O custo de um robô amortizado ao longo da vida útil é freqüentemente bem menor que
o custo de trabalho de um operário, incluindo cargas sociais e diversos benefícios que
aumentam o valor da “hora – homem” de trabalho. Os robôs podem trabalhar ao redor de 98%
do tempo da tarefa requerida, por enquanto os operários precisam de tempo de almoço,
descansos, etc. Os robôs produzem com muita maior eficiência que os humanos, pois a
repetição sem fim de uma tarefa, por monótona que ela seja, não implica nele uma perda de
precisão. Nos humanos logicamente produz cansaço e falta de atenção que resultam em falhas
inevitáveis, o qual, claro, incrementa os custos de produção.

- Melhora da produtividade:
Em algumas aplicações os robôs podem trabalhar muito mais rápido que os humanos,
por exemplo em robôs de solda ou de pintura, além de utilizar material nas quantidades

5
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

mínimas necessárias. Um operário sempre desperdiçará mais material e demorará mais em


executar uma certa tarefa, principalmente se esta requerer um pouco de precisão.

- Melhora da qualidade do produto:


A qualidade melhora por várias questões; por exemplo, um robô de soldagem pode
posicionar com muita mais precisão a ferramenta de solda do que um operário. Também em
alguns casos a velocidade da solda redunda em qualidade dela. A precisão no posicionamento
da ferramenta ou do produto, no caso de uma montagem, é fundamental na qualidade dele, e
nisso os robôs possuem óbvias vantagens.

- Capacidade de operar em ambientes hostis ou com materiais perigosos:


Uma das primeiras aplicações dos robôs na indústria foi operando metais a alta
temperatura; os operários deviam fazer isso com pesados instrumentos de difícil manuseio,
um robô adequado pode fazer essa tarefa sem maiores inconvenientes. Muitas tintas utilizadas
na indústria são tóxicas, o que faz com que se deva tomar cuidados extremos para seu
manuseio por parte dos operários, o que além do risco que isso representa para a saúde dele,
incrementa o custo de produção. Em ambientes perigosos ou hostis para o homem também
são apreciadas as vantagens do uso de robôs. Por exemplo para trabalhar no vácuo (como é o
caso do espaço exterior), chegar até lugares onde o homem não poderia chegar ou seria
extremadamente dificultoso (outros planetas, por exemplo), ou para solda submarina ou em
ambientes de elevada pressão ou temperatura, assim como barulhentos ou que representem
algum tipo de perigo à integridade física do homem.

- Melhora no gerenciamento da produção:


Quando uma empresa de manufatura, totalmente operada por pessoas, deseja ter um
efetivo monitoramento de todas as tarefas realizadas, material empregado, tempo de tarefa
utilizado, componentes em stock, etc., não tem mais remédio que mandar os operários
escreverem isso tudo, o que é demorado (e portanto caro), corre-se o risco que se apresentem
erros nos relatórios, e é necessário esperar para os trabalhadores fazerem essas tarefas, em
alguns casos, o fim do expediente. Quando a produção é totalmente realizada por robôs
controlados por computadores, eventualmente ligados a um computador central que supervisa
todas as tarefas, essas informações são relevadas em forma automática, rápida e eficiente,
além de que podem ser avaliadas a qualquer momento.

6
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

1.4. ROBÔS MANIPULADORES. INTRODUÇÃO

Da definição de robôs manipuladores, mencionada na seção anterior, podem ser


extraídas diversas conclusões sobre suas características. Uma delas é que a tarefa a realizar
deve estar previamente programada e seu acionar depende desse programa de controle, ou
programa que cuida do robô fazer exatamente a tarefa desejada. Uma outra conclusão é que os
manipuladores têm como principal objetivo deslocar materiais, os quais podem ser peças
diversas, ferramentas que irão trabalhar sobre uma peça, sistemas de visão que terão que
monitorar o andamento de um processo determinado, entre outras possibilidades.
Os robôs manipuladores consistem numa série de corpos rígidos interligados por juntas
que permitem um movimento relativo entre esses corpos, conformando uma cadeia
cinemática aberta. Todo robô manipulador possui nalgum ponto da sua estrutura física um
dispositivo chamado de órgão terminal ou efetuador. Este dispositivo tem como função operar
sobre o objeto a ser manipulado. Ele pode ser uma ferramenta, como uma ponta de solda, por
exemplo, algum dispositivo especial, como uma câmera de vídeo, mas em geral trata-se de
algum tipo de garra capaz de segurar uma peça com o intuito de deslocá-la pelo espaço de
trabalho do robô.

1.5. EFETUADORES

Um efetuador é um dispositivo que é fixado no final do último elo do manipulador e que


permite ao robô realizar uma tarefa específica. Geralmente, esses dispositivos são
especialmente projetados para essa tarefa a ser executada, mas existem alguns órgãos
terminais gerais, úteis para uma diversidade de tarefas.
Existe uma ampla variedade de efetuadores adequados para a realização de várias
funções de trabalho. Os vários tipos podem ser classificados em duas categorias principais:
1 – Garras
2 – Ferramentas
Seguidamente serão abordados ambos tipos de efetuadores.

1.5.1) Garras
As garras são efetuadores destinados a pegar e segurar objetos para seu deslocamento
dentro do espaço de trabalho do manipulador. Esses objetos podem ser pequenos e frágeis,
como é o caso de componentes eletrônicos que são montados numa placa pelo robô, como
7
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

pesados e robustos, como carros que são deslocados de uma parte a outra da linha de
produção de uma montadora. Também podem deslocar diversos objetos como caixas de
papelão, garrafas, matérias primas e inclusive ferramentas. Existem vários princípios físicos
nos quais se baseiam as garras para pegar o objeto, o mais comum é o mecânico, onde alguns
“dedos” se fecham para segurar o objeto a ser deslocado. Mas existem outros princípios
utilizados. A continuação será apresentada uma classificação dos diferentes tipos de garras
segundo o princípio de trabalho utilizado.

1) Garras com dedos de movimentação mecânica


2) Garras a vácuo
3) Eletroímãs ou garras ativadas eletromagneticamente
4) Ganchos tipo de guindaste
5) Adesivos ou garras feitas com material adesivo

1.5.1.1) Dedos acionados mecanicamente: O tipo mais comum de garras são aquelas
que têm dois ou mais dedos que se abrem e fecham mecanicamente. Os dedos são os
apêndices da garra que fazem de fato contato com o objeto a manipular.
Dependendo do projeto da garra, existem diversas formas de movimentação dos dedos.
Podem se distinguir dedos que se deslocam linearmente, se aproximando e afastando entre
eles em forma paralela, e dedos que se abrem e fecham girando ao redor de um pivô comum
para todos os dedos ou não. O ângulo de abertura máxima e mínima, ou a distância de
abertura máxima e mínima, o comprimento dos dedos, se existem articulações intermédias em
cada dedo ou não, são outras características que o projetista deve considerar para adaptar a
garra às especificações de trabalho requeridas.
A energia entregue aos dedos da garra para eles se abrirem e fecharem pode ser
fornecida por diversos tipos de atuadores. Segundo o atuador utilizado, podem se classificar
as garras com dedos como mecânicas, hidráulicas ou pneumáticas. As garras podem possuir
diferentes tipos de sensores também, destinados a medir a abertura dos dedos, a força com que
eles se fecham sobre um objeto, ou ainda a força que exercem sobre uma determinada
superfície (adequada para medir a força de uma ponta de solda, por exemplo).
Nos seguintes desenhos mostram-se algumas garras de dedos típicas movimentadas por
motores ou pistões.

8
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Figura 1.3: Diferentes garras de dedos

1.5.1.2) Garras a vácuo: As garras a vácuo consistem em copos de sucção, ou


ventosas, ligadas a uma bomba de vácuo através de uma eletroválvula. Os objetos a serem
manuseados devem ser planos, lisos e limpos, condição necessária para formar um vácuo
satisfatório entre o objeto e as ventosas. Os copos de sucção são fabricados de material
elástico, como borracha ou plástico macio, exceto quando o objeto a ser manipulado é feito de
um material macio; nesse caso o copo é feito de um material duro.
Dentre as vantagens de usar garras a vácuo podemos mencionar que exigem apenas uma
superfície para pegar a peça, fazendo-as adequadas para pegar lâminas de vidro ou metal, por
exemplo. A desvantagem, obviamente, é que só podem ser utilizadas em objetos que
apresentem uma superfície plana, além de ter uma área maior que a área do copo, fazendo
essas garras inadequadas para a manipulação de objetos muito pequenos ou com formas
irregulares.

9
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Figura 1.4: Garra de vazio com duas ventosas

1.5.1.3) Eletroímãs e garras magnéticas: As garras magnéticas são similares em seu


formato às garras a vácuo, a diferença, obviamente, é que em vez de ter ventosas tem
eletroímãs, pelo qual apenas podem manusear materiais ferromagnéticos. Os objetos a serem
transportados devem apresentar pelo menos uma superfície lisa onde o eletroímã irá fazer
contato.
Algumas vantagens no uso de eletroímãs são: os tempos de pega são muito rápidos;
variações razoáveis no tamanho da peça podem ser perfeitamente toleradas, a garra não
precisa ser projetada para um tipo de peça de trabalho específico; ela tem capacidade de
manusear peças metálicas com furos; e com respeito às garras de dedos, também tem a
vantagem que precisam apenas uma superfície para a pega. A grande desvantagem,
obviamente, é que só servem para manipular objetos de material ferromagnético.
Às vezes as garras são feitas com ímãs permanentes. Quando é necessário soltar a peça,
um pistão a empurra até afastá-la da zona de atração do campo magnético. Este método só é
utilizado para o manuseio de objetos relativamente pequenos e duros, por exemplo placas de
aço.

Figura 1.5: Garra magnética com ímã permanente e pistões separadores

1.5.1.4) Ganchos: Em muitas situações onde é preciso transportar cargas pesadas, tais
como pacotes, móveis, máquinas, ou objetos pesados e de superfícies irregulares em geral, as
10
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

garras vistas até agora se apresentam como inadequadas. Um simples gancho como os
utilizados em guindastes pode ser adequado para resolver a situação.
Uma desvantagem é que a peça deve estar preparada para ter algum ponto onde o
gancho possa pegá-la, por exemplo pode estar amarrada. A outra grande desvantagem é que
este sistema só serve para transporte, mas não serve para o manuseio da peça de um jeito mais
complicado, por exemplo, orientando-a para depositá-la no destino numa posição
determinada.

1.5.1.5) Garras adesivas: As garras adesivas utilizam uma substância adesiva como
base para a operação de pega do objeto. Em geral, utilizam-se para manipular tecidos e outros
materiais leves que não poderiam ser carregados com outros tipos de garras. Uma das
limitações do uso das garras adesivas é que elas perdem sua adesividade pelo uso repetido,
diminuindo sua confiabilidade como dispositivo de pega com cada ciclo sucessivo de
operação. Para contornar esta limitação, estas garras são projetadas em forma de uma fita
adesiva contínua, a qual vai se enrolando com cada operação de maneira similar ao que
acontece com as fitas de tinta das máquinas de escrever.

1.5.2) Ferramentas
Em algumas aplicações onde existe a necessidade de trabalhar sobre um determinado
objeto, ferramentas são utilizadas como órgãos terminais de robôs manipuladores, que as
deslocam em vez do objeto a ser trabalhado. Na maioria das aplicações, a ferramenta é presa
diretamente no punho do manipulador. Nesses casos a ferramenta é o efetuador, o órgão
terminal destinado a trabalhar sobre a peça. Alguns exemplos de ferramentas usadas como
efetuadores em aplicações robóticas incluem: pontas de solda para soldagem a ponto,
maçaricos para soldagem a arco, bicos para pintura por pulverização, mandris para operações
como furação, polimento ou retífica, aplicadores de cimento ou adesivo líquido para
montagem, maçaricos, ferramentas de corte por jato de água ou ferramentas de corte a laser,
entre outras aplicações possíveis.

11
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Figura 1.6: Ponta de solda por arco solidário ao punho como efetuador

1.6. ANATOMIA DOS ROBÔS MANIPULADORES

1.6.1) Estrutura dos robôs manipuladores


Os robôs industriais são projetados com o intuito de realizar um trabalho produtivo, o
qual é realizado quando o robô movimenta sua estrutura a fim de deslocar o objeto a ser
manipulado. A estrutura de um robô manipulador consiste numa série de corpos rígidos
denominados elos (diversas bibliografias utilizam sua denominação em inglês: links). Esses
elos podem ter diversos tamanhos e formas dependendo da aplicação, e estão unidos por
juntas que lhes permitem ter um movimento relativo entre eles. Assim, em alguma localização
do elo, existirá uma junta que o une com o elo seguinte, permitindo-lhe um movimento.
Conforma-se assim uma cadeia cinemática aberta de elos interligados por juntas.
Em geral, os manipuladores estão montados sobre uma base fixa, à qual está unida o
primeiro elo através da primeira junta. O ponto extremo do último elo é conhecido com o
nome de punho, e é onde costuma estar fixado o efetuador.
As possibilidades de movimento de um elo com respeito ao anterior estão determinadas
pelo tipo de junta que os une. Este movimento pode ser de rotação, onde o elo pode girar um
determinado ângulo com respeito ao anterior; nesse caso a junta chama-se de revolução, seja
qual for a orientação deste ângulo. O movimento também pode ser de deslocamento linear,
onde um elo se afasta ou aproxima do anterior uma determinada distância, em cujo caso a
junta é chamada de prismática, seja qual for também a direção deste movimento linear
relativo. Um mesmo manipulador não tem por quê ter todas as juntas do mesmo tipo, podendo
ser algumas de revolução e outras prismáticas.

12
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

As juntas então determinam os movimentos possíveis do manipulador, e juntamente


com as características físicas dos elos, como suas formas e tamanhos, determinam a anatomia
do manipulador.

1.6.2) Graus de liberdade


O conceito físico de graus de liberdade (ou DOF, segundo as iniciais em inglês) diz
respeito às possibilidades de movimento de uma partícula ou corpo rígido. Suponha-se uma
partícula de massa desprezível que pode se deslocar livremente no espaço. Esse movimento
pode ser representado por um vetor de velocidade linear; como todo vetor, ele pode ser
representado pelas suas três componentes determinadas pelas projeções do vetor em cada um
dos três eixos de um sistema de coordenadas cartesiano ortogonal. Assim, se diz que esta
partícula possui três graus de liberdade. Suponha-se agora um corpo rígido, também com
possibilidades de se movimentar livremente no espaço, este pode se deslocar em qualquer
direção, mas também pode girar ao redor de um eixo de qualquer direção. Portanto, seu
movimento está caracterizado por um vetor de velocidade linear, e outro de velocidade
angular, cuja direção coincide com o eixo de rotação. Como este último vetor também tem
três componentes num sistema inercial, portanto o corpo rígido possui seis graus de liberdade.
Se este mesmo corpo estiver segurado a um plano, lhe permitindo girar apenas ao redor de um
pivô, então seus graus de liberdade são reduzidos a um, a rotação ao redor desse pivô. Não
interessa que esse vetor tenha três componentes diferentes de zero, uma simples mudança de
coordenadas permitiria expressar o vetor de velocidade angular em apenas uma componente.
A maioria das juntas utilizadas em manipuladores industriais permitem apenas um
movimento relativo entre elos adjacentes. São, portanto, juntas de um grau de liberdade. Mas
existem também juntas de mais de um grau de liberdade, como mostram os seguintes
desenhos.

13
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

prismáticas de revolução

juntas de mais

de 1 DOF :
Figura 1.7: Diferentes tipos de juntas

Considera-se que o número de graus de liberdade de um manipulador coincide com seu


número de juntas, caso estas sejam de apenas um grau de liberdade cada uma.
Um manipulador típico possui 6 graus de liberdade, sendo três para o posicionamento
do efetuador e três para obter uma orientação do efetuador adequada para segurar o objeto.
Com menos de 6 graus de liberdade o manipulador poderia não atingir uma posição arbitrária
com uma orientação arbitrária dentro do espaço de trabalho.
Na seguinte figura apresenta-se como exemplo uma representação dos três graus de
liberdade de um braço mecânico referentes às três primeiras juntas, necessárias para o
posicionamento do efetuador.

Figura 1.8: Braço mecânico de 3 DOF. Duas juntas de revolução e uma prismática

14
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

As últimas três juntas recebem usualmente o nome de punho. Como foi mencionado,
elas têm por objetivo orientar o efetuador numa direção arbitrária, conveniente para a tarefa a
ser realizada. Por exemplo, uma garra deve estar orientada convenientemente com respeito à
peça de trabalho, a fim de poder agarrá-la. Essas juntas sempre são de revolução, pois o
objetivo é a orientação do efetuador e não seu posicionamento. As variáveis que caracterizam
o movimento dessas três juntas são ângulos que recebem o nome genérico de “pitch”, “yaw”,
e “roll”, respectivamente.
A junta de “roll” representa a rotação do efetuador com respeito ao eixo transversal do
último elo, ou eixo que coincide com a orientação deste. Na de “yaw”, o eixo de rotação está
numa perpendicular ao último elo, envolveria o giro do efetuador à direita e à esquerda. Na
junta de “pitch” o eixo de rotação é perpendicular ao anterior, e envolveria o giro do efetuador
para cima e para baixo. Esta junta é chamada às vezes de inclinação do efetuador. Observe-se
que nestas três juntas os eixos de rotação são sempre perpendiculares, permitindo uma
orientação do efetuador em qualquer ângulo. Os limites de movimento de cada uma dessas
três juntas limitarão as orientações possíveis do efetuador.

Figura 1.9: Representação das três juntas do punho do manipulador

No extremo do punho é fixado o efetuador, ou dispositivo destinado a trabalhar sobre o


objeto a ser manipulado.

1.6.3) Coordenadas generalizadas


Entende-se como coordenadas generalizadas às variáveis que permitem determinar o
posicionamento de um corpo no espaço. No caso de um manipulador, as variáveis
características das juntas são aquelas grandezas físicas que permitem representar o movimento
relativo de um elo com respeito ao anterior. No caso das juntas de revolução, serão os ângulos
15
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

de rotação; no caso das juntas prismáticas, a distância entre um elo (ou um ponto determinado
dele) e a junta que o une com o elo anterior.
O estado dessas variáveis é suficiente para determinar a posição do efetuador ou de
qualquer ponto do manipulador, pois, se for conhecida a posição de cada uma das juntas a
partir da primeira (a que une a base com o primeiro elo), e os comprimentos dos elos, é
possível conhecer essa posição. Essas variáveis são, portanto, uma adequada eleição de
coordenadas generalizadas do manipulador. Em geral elas se representam por meio de um
vetor de tantas componentes como juntas tem o manipulador, independentemente que
algumas dessas componentes representem ângulos e outras distâncias.
A figura seguinte representa um robô manipulador de duas juntas de revolução. As
coordenadas generalizadas estarão dadas pelo vetor [θ1 θ2], cujas componentes representam
os ângulos dessas juntas.

Figura 1.10: Manipulador com duas juntas de revolução no mesmo plano

1.6.4) Espaço de trabalho


O espaço de trabalho do manipulador é definido como o volume total conformado pelo
percurso do extremo do último elo, o punho, quando o manipulador efetua todas as trajetórias
possíveis. Em geral, não é considerada a presença do efetuador para definir este volume de
trabalho, pois de ser assim este volume ficaria determinado pelo seu tamanho, o qual depende
do dispositivo terminal utilizado. Observe-se que este volume dependerá da anatomia do robô,
do tamanho dos elos, assim também como dos limites dos movimentos das juntas.
A posição do punho do manipulador pode ser representada no espaço de trabalho ou no
espaço das juntas. A posição no espaço de trabalho é determinada pelas coordenadas do
punho num referencial fixo, ou não inercial, cuja origem em geral é solidária com a base do
robô. Portanto, a posição do punho é representada no espaço de trabalho como um vetor de
três componentes [x y z]. A posição no espaço das juntas é representada pelo vetor de
16
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

coordenadas generalizadas, ou vetor cujas componentes representam a posição de cada junta


relativas a uma posição inicial arbitrária.
A influência da configuração física sobre o volume de trabalho é ilustrada na figura 7.6.
Observe-se que, dependendo da configuração, este volume pode ser um semi-esfera parcial,
um cilindro, ou um prisma.

Figura 1.11: Diferentes espaços de trabalho em manipuladores de diferentes anatomias

Nos robôs reais, os limites mecânicos no movimento das juntas produzem um espaço de
trabalho com contornos complexos, como é ilustrado na seguinte figura.

Figura 1.12: Geometria do espaço de trabalho de um robô Motoman LW3

1.6.5) Anatomia dos manipuladores


Existem diferentes configurações físicas, ou diferentes anatomias, nos robôs
manipuladores. Estas estão determinadas pelos movimentos relativos das três primeiras
juntas, as destinadas ao posicionamento do efetuador. As juntas podem ser de revolução,
17
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

prismáticas, ou combinação de ambas, e para cada combinação possível existirá uma


anatomia diferente. A configuração física independe do tamanho dos elos, pois eles
determinarão em todo caso o tamanho do espaço de trabalho, mas não sua forma.
Na maioria dos robôs manipuladores industriais, independentemente do tamanho e
formas dos elos deles, dispõe-se de quatro configurações básicas:
1. Coordenadas cartesianas.
2. Coordenadas cilíndricas.
3. Coordenadas esféricas ou polares.
4. Coordenadas de revolução.
Na figura seguinte se representa um esquema destas quatro configurações básicas:

Figura 1.13: Manipuladores de configurações:


(a) cartesiana; (b) cilíndrica; (c) esféricas; (d) de revolução

1.6.5.1) Coordenadas cartesianas: Caracterizam-se por ter as três primeiras juntas


prismáticas. A forma dos elos pode mudar muito entre um robô e outro, mas cada um se
deslocará linearmente com respeito ao anterior, permitindo ao efetuador se deslocar ao longo
de três eixos perpendiculares entre eles.
Supondo no centro da base a origem de um sistema de coordenadas cartesiano
ortogonal, ou referencial não inercial, fica claro que cada junta permite ao efetuador se
movimentar ao longo de cada um desses três eixos. Portanto, a posição do efetuador no

18
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

espaço de trabalho, representada por um vetor de posição do punho do manipulador nesse


referencial, vetor [x y z], coincide com a posição do punho no espaço das juntas.
O ambiente de trabalho tem a forma de um prisma retangular.
Na figura seguinte pode se observar a estrutura de um robô de coordenadas cartesianas
destinado a operar sobre um carro numa linha de produção.

Figura 1.14: Robô de coordenadas cartesianas

1.6.5.2) Coordenadas cilíndricas: Nos robôs de coordenadas cilíndricas a primeira


junta é de revolução, sendo as outras duas prismáticas. Assim, a primeira coordenada
generalizada será o ângulo de giro do primeiro elo com respeito à base do robô, a que é
chamada de θ. A segunda estará dada pela altura com que se eleva o segundo elo com respeito
à base, a que se denomina z. E a terceira é a distância que se desloca o terceiro elo com
respeito ao segundo, chamada de R. O vetor com as três coordenadas generalizadas que
representam o movimento do manipulador é, então, [θ z R]. O espaço de trabalho é um
cilindro, ou o volume encerrado por dois cilindros de diferentes raios cujos eixos coincidem
com o eixo de rotação do primeiro elo.
Essas três coordenadas representadas num referencial não inercial cuja origem coincide
com a base do robô, podem ser ilustradas segundo o seguinte desenho:

19
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Figura 1.15: Representação das coordenadas cilíndricas

Em muitos casos, o programa de controle não considera estas coordenadas, mas a


posição do efetuador no espaço de trabalho. Evidentemente, existe uma transformação das
coordenadas generalizadas às coordenadas cartesianas ortogonais, ou transformação da
posição no espaço das juntas para o espaço de trabalho. É fácil ver, aplicando as regras
básicas da trigonometria que essa transformação estará dada pelas seguintes equações:

 x = R cos θ

 y = R sen θ
z = z

Na figura seguinte observa-se um esquema de um manipulador de coordenadas


cilíndricas.

Figura 1.16: Robô de coordenadas cilíndricas

1.6.5.3) Coordenadas esféricas: Num manipulador de coordenadas esféricas, as duas


primeiras juntas são de revolução e a terceira é prismática. A primeira, que faz girar o
primeiro elo com respeito à base, é chamada de θ. A segunda, que faz inclinar o segundo elo,
ou ombro, com respeito ao primeiro (ou também pode ser à própria base), é chamada de ϕ. A
20
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

terceira coordenada é prismática, é a que faz afastar ou aproximar o terceiro elo do segundo, e
essa distância é chamada de ρ. As coordenadas generalizadas que representam os três
primeiros graus de liberdade estarão definidas então pelo vetor [θ ϕ ρ].
O espaço de trabalho neste tipo de manipuladores será uma esfera, ou o um espaço
definido pelo volume encerrado por duas esferas de diferente raio com centro comum no
ombro do robô. A representação das três coordenadas generalizadas num referencial não
inercial, cuja origem coincide com a base do robô, pode ser visualizada no seguinte desenho:

Figura 1.17: Representação das coordenadas esféricas

Em muitos casos, os programas de controle não consideram essas três coordenadas


generalizadas para determinar o posicionamento do efetuador, mas a posição no espaço de
trabalho. Também aqui existe uma série de transformações de um sistema de coordenadas
para o outro. Elas são:

 x = ρ cos ϕ cos θ

 y = ρ cos ϕ sen θ
 z = ρ sen ϕ

A figura seguinte representa um desenho do robô manipulador Unimate de coordenadas


esféricas.

21
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Figura 1.18: Desenho de um robô Unimate de coordenadas esféricas

1.6.5.4) Coordenadas de revolução: Os manipuladores de coordenadas de revolução


são chamados assim por terem as três primeiras juntas de revolução, sendo portanto as três
primeiras coordenadas generalizadas ângulos de rotação. Esses ângulos recebem diversos
nomes na bibliografia, aqui serão chamados de [θ1 θ2 θ3]. Observe-se que aqui, para conhecer
a posição do efetuador também é necessário conhecer o valor dessas três coordenadas
generalizadas, além dos comprimentos dos elos.
A maior vantagem dos robôs de juntas de revolução é a de poder alcançar qualquer
ponto dentro do volume de trabalho com relativa facilidade. A maior desvantagem está dada
pela dificuldade de visualizar e controlar os três elos. O mesmo ponto no espaço pode ser
atingido em diferentes posicionamentos das juntas, e às vezes resulta difícil decidir qual é a
mais adequada. No seguinte desenho se observa uma representação esquemática de um robô
de coordenadas de revolução de três graus de liberdade.

Figura 1.19: Braço mecânico de 3 graus de liberdade

22
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Seja um referencial não inercial, a relação entre a posição do punho no espaço de


trabalho (isto é, referidas a esse referencial) e a posição expressada no espaço das juntas, está
dada pelas seguintes equações:

 x = (l 2 cos( θ 2 + θ 3 ) + l 1 cos θ 2 )cos θ 1



 y = (l 2 cos( θ 2 + θ 3 ) + l 1 cos θ 2 )sen θ 1
 z = l sen θ + l sen( θ + θ )
 1 2 2 2 3

Sendo l1 o comprimento do primeiro elo, aquele que está unido com a base através da
junta do ombro (coordenada generalizada expressada como θ2), e sendo l2 o comprimento do
segundo elo, unido ao primeiro através da junta correspondente ao cotovelo do braço
mecânico (coordenada θ3). Finalmente, θ1 representa o ângulo de rotação da base, e em seu
ponto de aplicação é que se considera a origem do sistema de coordenadas [x y z].

1.7. ACIONAMENTO DO MANIPULADOR

O movimento em cada junta é realizado por atuadores, que podem ser motores elétricos,
pistões hidráulicos ou pistões pneumáticos, que dão às juntas um movimento linear ou de
rotação. Os atuadores são mecanicamente conectados às juntas por meio de diferentes
mecanismos de transmissão, tais como engrenagens, polias, correntes e parafusos de
acionamento, destinados a dar ao movimento a desejada direção, força e velocidade.
Nos braços mecânicos o mais comum é utilizar motores elétricos. No caso de alguma
das juntas ser prismática, em geral o movimento linear é conseguido através de um parafuso
de acionamento, que transforma o movimento de rotação do motor num deslocamento linear.
O acionamento elétrico propicia ao robô uma maior precisão, além de requerer espaços
reduzidos para sua montagem, podendo se colocar os atuadores na própria estrutura física do
manipulador.
O acionamento hidráulico é utilizado em manipuladores de grande porte, pois eles
propiciam ao robô maior velocidade e força. Em contrapartida, ele se soma ao espaço útil
requerido pelo robô, além de sofrer de outros inconvenientes tal como a possibilidade de
vazar óleo. O acionamento pneumático é utilizado em robôs manipuladores de pequeno porte
e poucos graus de liberdade, geralmente não mais de dois. Os pistões pneumáticos não
possuem uma grande precisão devido à compressibilidade do ar, por isso os robôs assim
acionados se utilizam geralmente em operações de “pega e põe” (conhecidos como pick &
23
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

place), onde os elos se deslocam bruscamente entre dos extremos possíveis. Esse tipo de
acionamento é conhecido como bang-bang.
Na maioria dos casos, para o controlador poder executar o programa de controle, é
necessário fechar a malha através de sensores, por precisar conhecer a resposta do
manipulador a fim de imprimir nos motores os sinais de excitação necessários para executar a
trajetória com precisão. Os sensores utilizados são sensores de posição, um por cada junta. Os
mais comuns são os encoders óticos incrementais, onde o controlador vai contando os pulsos
entregues pelo sensor ótico para conhecer a posição da junta. Às vezes são utilizados
potenciômetros rotativos também, onde o sinal analógico entregue é proporcional ao ângulo
de rotação da junta. Em caso da junta ser prismática, uma engrenagem pode converter o
movimento linear para uma rotação e assim entregar a informação para um encoder. Também
podem ser usados sistemas de visão digitais; analisando a imagem fornecida, o controlador
pode conhecer a posição de todas as juntas do braço.
Dependendo da tarefa, o efetuador pode exercer uma determinada força sobre uma
superfície sobre a qual de desliza, por exemplo para efetuar uma solda, ou um corte, entre
outras aplicações possíveis. Nesse caso o controlador não mais controlará apenas a trajetória
do efetuador, mas também a força que este exerce sobre a superfície, a fim de não quebrá-la
ou não deteriorar a ferramenta utilizada. Para isso é necessária a utilização de sensores de
força no punho do manipulador, e em geral são utilizados strain gauges.
Em alguns casos os programas de controle precisam conhecer as velocidades das juntas
também, dependendo da lei de controle a ser implementada. Porém, não é comum utilizar
tacómetros nos manipuladores por causa do alto nível de ruído destes dispositivos. Em geral,
o controlador deriva a posição com respeito ao tempo para estimar a velocidade.
O manipulador deve ser controlado por algum tipo de controlador programável; o mais
comum é utilizar computadores digitais. O programa de controle é responsável por conseguir
que a operação feita pelo manipulador acompanhe, da maneira mais fiel possível, a posição de
referência. Esta posição de referência pode ser inserida externamente, através de um mouse,
um joystick, ou pelo teclado, ou pode estar já programada dentro do software de controle.
Interfaces, placas de potência, conversores A/D e D/A, completam a estrutura do
sistema de controle e da planta necessária para um funcionamento adequado.

24
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

r(t)
+ e(t)
controlador
u(t)
atuadores
u(t)
planta
y(t)

sensores

Figurra 1.20: Diagrama de blocos em malha fechada

1.8. CONTROLE DE MANIPULADORES

Existem diversos tipos e classificações dos diferentes algoritmos de controle para robôs
manipuladores. Esses algoritmos, dependendo da sua complexidade, podem ser
implementados por controladores de diversas tecnologias, de alguns muito simples tais como
sistemas eletro–mecânicos de relays e switches, até micro computadores ou micro
controladores digitais.
Existem três tipos básicos de controle de manipuladores.
O primeiro é utilizado em robôs acionados por pistões que podem ser hidráulicos ou
pneumáticos, sendo esta última possibilidade a mais freqüente. O controlador simplesmente
ativa o desativa as eletro-válvulas correspondentes para que o ar comprimido, ou o fluido
pressurizado, empurrem ou puxem as hastes dos pistões até seus limites, movimentando assim
os elos ou a peça de maneira adequada. Esses sistemas em geral operam em malha aberta, não
possuindo portanto nenhum sensor para poder monitorar as posições dos pistões. Esse tipo de
controle é chamado de bang – bang e é utilizado principalmente em manipuladores do tipo
pick & place (“pega e põe”). Os controladores desses sistemas também podem ser muito
simples, como circuitos eletrônicos com temporizadores e saídas digitais para o acionamento
das eletro-válvulas.
O segundo tipo de controle é aplicado a manipuladores mais sofisticados, que têm um
sistema de sensores para medir a posição das juntas. Nele, o programa de controle tem por
objetivo executar uma tarefa consistente em levar o efetuador de um ponto a outro do espaço
de trabalho, e ficar ali estacionado por um tempo indeterminado ou até nova ordem. Esse tipo
de controle é chamado de controle de posição, ou controle ponto a ponto. Nesses algoritmos
de controle, existe um sinal de referência que indica a posição a deslocar o efetuador. Esse
sinal de referência é uma posição no espaço de trabalho fixa, portanto um vetor constante no
tempo, que pode estar expressado no espaço de trabalho ou no espaço das juntas. Uma vez
25
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

atingida a posição de referência, uma outra pode ser inserida, repetindo a tarefa tantas vezes
como seja necessário, mas cada posição é determinada por um vetor constante no tempo.
Também o programa pode determinar que o braço efetue uma trajetória dentro do
espaço de trabalho ao longo do tempo, cuidando a cada instante da sua posição e velocidade,
em cujo caso está se falando de controle de trajetória. Nesse terceiro tipo de controle o sinal
de referência é uma função do tempo, e o controlador deve cuidar que o manipulador
acompanhe a trajetória desejada com o menor erro de rastreamento possível. Este tipo de
controle é implementado quando interessa que o efetuador acompanhe uma trajetória
determinada dentro do espaço de trabalho, o que acontece com os robôs de solda, por
exemplo.

Figura 1.21: Trajetória contínua e ponto a ponto

1.9. PRECISÃO E REPETIBILIDADE

Os conceitos de precisão e repetibilidade são utilizados como uma maneira de


quantificar a qualidade do trabalho do manipulador.
A repetibilidade do manipulador representa a capacidade dele de retornar seguidamente
a um ponto determinado do espaço de trabalho. O raio da menor esfera que pode ser traçada
envolvendo todos os pontos de retorno possíveis, e dentro da qual o robô sempre ficará ao
pretender retornar à posição inicial, é conhecido com o nome de repetibilidade. Por exemplo,
se a menor esfera que pode ser traçada tem um raio de 0.4mm, quer dizer que o fabricante
garante que quando o manipulador retornar a essa posição, o fará no máximo 0.8mm afastado
de qualquer outra posição de retorno em qualquer direção. O manipulador, então, possui uma
repetibilidade de 0.4mm.
Precisão é um conceito associado. Define-se como a capacidade do manipulador de
atingir um ponto especificado. Um manipulador pode ter uma boa repetibilidade, se
deslocando repetidamente a pontos muito próximos, mas esses pontos todos podem estar
longe da posição desejada. Possui então uma precisão pobre.
26
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Usualmente, essas quantidades referem-se à máxima carga útil que pode ser
transportada e à máxima velocidade de deslocamento permitida, pois precisão e repetibilidade
são altamente dependentes dessas duas especificações.
Observe-se no seguinte desenho uma ilustração desses conceitos.

Figura 1.22: Ilustração dos conceitos de precisão e repetibilidade

27
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

CAPÍTULO II

CINEMÁTICA

2.1. INTRODUÇÃO

A descrição da cinemática do manipulador envolve as equações que relacionam as


variáveis que descrevem o posicionamento e orientação de um ponto qualquer da sua estrutura
física. Normalmente, o ponto de interesse pode ser o centro do punho do manipulador, assim
como também o extremo do efetuador ou órgão terminal.
Definido um sistema de coordenadas cartesiano ortogonal fixo, ou sistema inercial, ao
que chamaremos de ox0y0z0, cuja origem geralmente coincide com o ponto de aplicação da
primeira junta do manipulador, aquela que une o primeiro elo com a base fixa (elo 0), a
cinemática direta trata das equações que relacionam a posição e orientação do punho neste
referencial, com as variáveis que caracterizam a posição de cada junta, ou coordenadas
generalizadas, representadas por um vetor que chamaremos q∈ℜn, sendo n o número de
juntas o graus de liberdade do manipulador (assumindo cada junta de 1 DOF).
A cinemática inversa, pelo contrário, relaciona as coordenadas generalizadas com o
centro do punho do manipulador expressado no referencial inercial.

2.2. SISTEMAS DE COORDENADAS E MATRIZES DE ROTAÇÃO

Seja um corpo rígido como o mostrado na figura 2.1., suponha-se um referencial


inercial ao que denominaremos ox0y0z0 e cujos vetores unitários solidários com cada eixo
(também chamados de versores) estão dados pela base ortonormal {i0,j0,k0}. Suponha-se
também um outro sistemas de coordenadas solidário com o corpo rígido, chamado sistema
não inercial, ao que denominaremos ox1y1z1 e cuja base ortonormal está dada pelo sistema
{i1,j1,k1}.

28
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Figura 2.1.: Sistemas de coordenadas solidários com um corpo rígido

É possível expressar as coordenadas de um ponto P qualquer do corpo no sistema


inercial como:
p = p0x i0 + p0y j0 + p0z k0 = [ p0x p0y p0z ]T
ou no sistema não inercial como:
p = p1x i1 + p1y j1 + p1z k1 = [ p1x p1y p1z ]T
Ambas equações representam as coordenadas do mesmo vetor p, diferindo apenas do
sistema de referência adotado.
Multiplicando as equações por i0, por ser os vetores unitários que formam a base do
sistema inercial ortonormais:
p i0 = p0x = p1x i1 i0 + p1y j1 i0 + p1z k1 i0
similarmente, multiplicando por j0 e k0:
p j0 = p0y = p1x i1 j0 + p1y j1 j0 + p1z k1 j0
p k0 = p0z = p1x i1 k0 + p1y j1 k0 + p1z k1 k0
Estas três equações podem ser colocadas em forma matricial como:

p 0 x   i 1i 0 j1i 0 k 1 i 0   p 1x 
p  =  i j j1 j0 k 1 j0  p1y 
 0y   1 0
 p 0 z  i 1k 0 j1k 0 k 1k 0   p1z 

onde a matriz que relaciona ambos vetores é chamada matriz de rotação entre os
1
referenciais 1 e 0 e denominada 0R, porque relaciona as coordenadas do vetor p no
referencial 1 com as coordenadas desse vetor no referencial inercial:

29
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

p 0 x  p1x 
p  = 1 R p 
 0 y  0  1y 
 p 0 z   p1z 

Similarmente, é possível chegar à matriz que relaciona o referencial 0 com o referencial


1, denominada 01R, tal que:

 p 1x   i 0 i 1 j0 i 1 k 0 i 1  p 0 x  p 0 x 
p  =  i j j0 j1 k 0 j1  p 0 y  = 01 R p 0 y 
 1y   0 1
 p1z  i 0 k 1 j0 k 1 k 0 k 1   p 0 z   p 0 z 

Pode-se comprovar facilmente que:


1
1) 0R = 01RT
1
2) 0R = 01RT = 01R-1
sendo portanto as matrizes de rotação ortogonais.
Exemplo: rotação ao redor do eixo z.

Figura 2.2: Rotação do referencial não inercial ao redor do eixo z

Seja a rotação mostrada na figura 2.2:


i0 i1 = cos θ j1 i0 = -sen θ
j0 j1 = cos θ i1 j0 = sen θ

30
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

sendo os outros produtos internos 0. A matriz de rotação é, portanto:

cos θ − sen θ 0
1
0 R = sen θ cos θ 0
 0 0 1

As rotações ao redor dos eixos x e y apresentam matrizes de rotação similares, mudando


apenas a linha e coluna onde aparece a componente unitária.

2.2.1. Composição de rotações


Sejam o referencial inercial ox0y0z0 e os refernciais não inerciais ox1y1z1, e ox2y2z2 com a
origem comum o, podemos verificar que:

[p 0x p0y p 0z ] = R [p p
T 1
0 1x 1y p 1z ] 
T

[p 0x p0y p 0z ] = R [p p
T 2
0 2x 2y p 2z ] 
T

[p 1x p1y p 1z ] = R [p p
T 2
1 2x 2y p 2z ] 
T

⇒ p 0x [ p0y p ] = R R [p
0z
T 1
0
2
1 2x p 2y p 2z ]
T

⇒ 20 R = 01 R 21 R

o que significa que para transformar um vetor expressado num referencial 2 para um
referencial 0, podemos primeiro transformar sua representação para um referencial 1, para
depois transformá-lo para o referencial 0.

2.2.2. Orientação de referenciais


As nove componentes da matriz de rotação não são linearmente independentes, sendo
necessários no máximo 3 ângulos para descrever a rotação de um sistema de coordenadas com
respeito a outro ao redor de um eixo em qualquer direção. Isto deve-se a que a rotação tem 3
graus de liberdade. Seguidamente, serão apresentadas as duas representações de rotações mais
usuais.
a) Representação eixo-ângulo
Qualquer sistema de coordenadas pode ser representado com respeito a um sistema
inercial como um vetor unitário (k), de qualquer direção, ao redor do qual se produz a rotação
um ângulo θ. Assim, dada a matriz de rotação:

31
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

1
0 R = R k ,θ
onde :
 r + r + r −1
θ = cos −1  11 22 33 
 2 
r32 − r23 
1  
k= r − r
2sinθ  
13 31

 r21 − r12 

sendo rij as componentes da linha i coluna j da matriz 10R.


Podemos observar esta representação no desenho seguinte:

Figura 2.3: Representação eixo-ângulo de uma rotação

A representação eixo –ângulo não é única. Evidentemente, observe-se que a rotação ao


redor de um eixo k um ângulo θ, resulta igual à rotação ao redor de um eixo –k um ângulo -θ,
isto é:
Rk,θ = R-k,-θ

b) Ângulos de Euler Z – Y – X
O método de representação da rotação de um referencial pelos ângulos de Euler,
consiste na determinação de três ângulos chamados α, β e γ. Para estabelecer cada um deles
deve-se primeiro girar um sistema de coordenadas ao redor do eixo z0 um ângulo α,
resultando um novo sistema ox’y’z0. Seguidamente o sistema é girado ao redor do novo eixo
y’, um ângulo β, gerando o sistema ox’’y’z’. Finalmente, deve-se girar o sistema ao redor do
32
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

outro novo eixo z’, um ângulo γ, conformando-se o sistema ox’’y’’z’. Assim, a rotação total

1
0 R = R z ,α R y ',β R z ', γ =
cos α − sen α 0  cos β 0 sen β cos γ − sen γ 0
= sen α cos α 0  0 1 0  sen γ cos γ 0 =
 0 0 1 − sen β 0 cos β  0 0 1
cos α cos β cos γ − sen α sen γ − cos α cos β sen γ − sen α cos γ cos α sen β
= sen α cos β cos γ + cos α sen γ − sen α cos β sen γ + cos α cos γ sen α sen β
 − sen β sen γ sen β cos γ cos β 
pode ser representada como um produto de três rotações ao redor de cada eixo:

Figura 2.4: representação dos ângulos de Euler

c) Ângulos roll, pitch e yaw


A rotação de um referencial pode também ser descrita como um produto de sucessivas
rotações ao redor dos três eixos do referencial inercial x0, y0, e z0, tomados em uma ordem
específica, e não como três rotações independentes, gerando referenciais intermediários, como
no caso dos ângulos de Euler. Estes três ângulos de rotação são conhecidos com o nome de
roll, pitch e yaw, e já nos referimos e eles como os ângulos que descrevem a posição do
efetuador a partir do punho do manipulador.
Especificando a ordem de rotação como x – y – z, e nomeando o ângulo de rotação ao
redor do eixo x0 como ψ, o ângulo de rotação ao redor do eixo y0 como θ, e o ângulo de
rotação ao redor do eixo z0 como ϕ, as sucessivas rotações ficam:
33
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

1
0 R = R z ,ϕ R y ,θ R x ,ψ =
cos ϕ − sen ϕ 0  cos θ 0 sen θ 1 0 0 
= sen ϕ cos ϕ 0  0 1 0  0 cos ψ − sen ψ  =
 0 0 1 − sen θ 0 cos θ 0 sen ψ cos ψ 
cos ϕ cos θ − sen ϕ cos ψ + cos ϕ sen θ sen ψ sen ϕ sen ψ + cos ϕ sen θ cos ψ 
= sen ϕ cos θ cos ϕ cos ψ + sen ϕ sen θ sen ψ − cos ϕ sen ψ + sen ϕ sen θ cos ψ 
 − sen θ cos θ sen ψ cos θ cos ψ 

2.3. TRANSFORMAÇÕES HOMOGÊNEAS

Todo movimento de um corpo rígido pode ser representado por uma rotação do corpo, a
qual pode se representar com uma matriz de rotação, e um deslocamento linear do corpo com
respeito à origem de coordenadas.
Por exemplo, seja um corpo rígido solidário com o referencial o1x1y1z1, que se desloca
sem girar no espaço, as coordenadas de um ponto P do corpo com respeito ao referencial
inercial o0x0y0z0, podem se representar:

p 0 x = p1x + d10 x
p 0 y = p1y + d10 y
p 0 z = p1z + d10 z

onde [p0x p0y p0z]T é o vetor p representado no referencial inercial, [p1x p1y p1z]T é o
mesmo vetor representado no referencial solidário com o corpo rígido, e [d10x d10y d10z]T é o
vetor que une as origens dos sistemas de coordenadas, expressado no referencial 0, como
mostrado na seguinte figura:

P
P

Figura 2.5: Translação de um sistema de coordenadas


34
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Mas, em geral, o corpo rígido poderá se trasladar um vetor d10, e girar com uma rotação
representada por uma matriz 10R =>

p 0 x   p 1x 
p  = 1 R p  + d1
 0 y  0  1y  0

 p 0 z   p1z 

2.3.1.Composição de movimentos rígidos


Sejam dois sistemas o1x1y1z1 e o2x2y2z2, que giram e se transladam ao redor de um
sistema o0x0y0z0 fixo, é fácil estabelecer que:

[p 0x p oy ] [
T
p 0 z = 01 R p1x p 1y p1z ] + [d
T 1
0x d 10 y d 10 z ]
T

[p 1x p 1y p1z ] = R [p
T 2
1 2x p 2y p 2z ] + [d
T 2
1x d 12y d 12z ] ⇒
T

p 0 x  p 2 x  d 12x  d 10 x  p 2 x 
 p  = 1 R 2 R  p  + 1 R  d 2  + d 1  = 2 R  p  + d 2 ⇒
 0 y  0 1  2 y  0  1y   0 y  0  2 y  0

 p 0 z   p 2 z   d 1z   d 0 z 
2 1
 p 2 z 
   
2
0 R = 01 R 21 R e d 02 = 01 Rd12 + d10

Estas equações representam a relação entre as matrizes de rotação, que já tinham sido
estabelecidas, e a relação entre o vetor de deslocamento linear do referencial 2 com respeito
ao referencial 0 em função do referencial 1. Observe-se a relação entre os vetores que
determinam as posições das origens de coordenadas dos referenciais. O vetor que une a
origem do referencial 2 com a origem do referencial 1, d21, e cujas coordenadas estão
expressadas no referencial 1, primeiro devem ser transferidas ao referencial 0 através da
1
matriz de rotação 0R; depois é somado o vetor que une as origens dos referenciais 0 e 1,
expressadas em termos do referencial inercial, para obter as coordenadas do vetor que une o
referencial 2 com o referencial 0, expressadas em termos do referencial inercial.
Definindo a matriz de transformação homogênea:

 R d
H=
 0 1x 3 1 

35
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

onde 01x3 é o vetor linha [0 0 0]. Aplicada para cada um dos referencias especificados:

 01 R d10   21 R d12 
1
0 H= 
2
1 H= 
01 x 3 1  0 1x 3 1
 20 R d 02   01 R 21 R 1
Rd12 + d10   01 R d10   21 R d12  1 2
2
0 H= =
0
=  = 0 H 1H
 0 1x 3 1   0 1x 3 1   0 1x 3 1  01 x 3 1

o que implica que para transformar um vetor expressado em um referencial 2 à sua


representação em um referencial 0, primeiro podemos transformar sua representação em um
referencial 1, e depois transladá-lo ao referencial 0, isto incluindo rotações e translações dos
referenciais.
Por ser R ortogonal é possível comprovar que:

−1
RT − R T d −1
I − RR T d + d 
H =  porque H H =  3x 3  = I 4x 4
 01 x 3 1   01 x 3 1 

2.3.2 Representação homogênea de um vetor


Definindo a representação homogênea de um vetor p como:

p x 
p 
p =  y  ∈ ℜ4
p z 
 
1
podemos provar que :
p 0x  p1x 
p   
 0y  = 01 H  p1y 
 p 0z   p1z 
   
 1  1 

onde a matriz e transformação homogênea 10H representa a rotação e translação do vetor


p expressado com respeito ao referencial 1, com respeito à sua representação no referencial 0.

36
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

2.4. NOTAÇÃO DE DENAVIT-HATEMBERG

Suponha-se um manipulador de n+1 elos interligados por juntas de 1 DOF cada uma,
este manipulador conforma uma cadeia cinemática aberta, com um primeiro elo fixo, e n elos
a continuação, com o efetuador anexado ao extremo do último. Podemos atribuir a cada elo
um referencial solidário com ele. As coordenadas de qualquer ponto do manipulador podem
ser expressadas com respeito ao referencial solidário com o elo desse ponto, ou com respeito
ao referencial inercial 0. Chamando T às matrizes de transformação homogêneas:

n
0T = 10T 2
1T
3 n
2T....... n-1T

Assim, sabendo a transformação de cada referencial solidário com cada elo com
respeito ao elo anterior, é possível conhecer a posição e orientação do efetuador com respeito
ao referencial inercial.
A notação de Denavit-Hatemberg é uma convenção para fixar os elos solidários a cada
referencial. A primeira norma consiste na numeração de cada elo e de cada junta, segundo a
seguinte regra:
Base fixa: elo 0 junta 1: entre elo 0 e elo 1
1° corpo móvel: elo 1 junta 2: entre elo 1 e elo 2
2° corpo móvel: elo 2 junta 3: entre elo 2 e elo 3


efetuador: elo n junta n: entre último elo e efetuador
As condições para a fixação dos referenciais são as seguintes:
- O referencial i é solidário com o elo i
- O eixo zi coincide com o eixo de rotação (caso a junta anterior seja de revolução) ou o
eixo de translação (caso a junta anterior seja prismática)
- Se zi não for coplanar com zi-1, xi-1 coincide com a menor perpendicular entre zi e zi-1.
Se forem coplanares, xi-1 coincide com a perpendicular entre zi e zi-1 a partir do ponto de
aplicação da junta.
- yi-1 é estabelecido pela regra da mão direita.
- oi-1 é colocado na interseção entre zi-1 e xi-1
A notação de Denavit-Hatemberg estabelece 4 parâmetros:

37
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

- ai-1: distância da menor perpendicular entre zi-1 e zi ou distância ao longo de xi-1 entre
zi-1 e zi
- αi-1: ângulo de desvio entre zi-1 e zi medido no plano perpendicular a xi-1
- di: distância entre a interseção de xi-1 e zi, e oi
- θi: ângulo entre xi e xi-1
Podemos observar um exemplo de colocação de dois referenciais entre elos adjacentes
com juntas de revolução e o estabelecimento desses quatro parâmetros na figura seguinte:

Figura 2.6: Colocação de referenciais segundo Denavit-Hatemberg

Observe-se que os parâmetros ai-1 e αi-1 são constantes, ao tempo que, para juntas de
revolução

d i = 0 e θ& i ≠ 0
mas, se a junta for prismática

d& i ≠ 0 e θ& i = 0

No seguinte exemplo, serão colocados os referenciais e estabelecidos os quatro


parâmetros para cada elo de um robô Puma 560, considerando apenas os seus três primeiros
elos, os que determinam a posição do efetuador, tal como mostra a figura seguinte:

38
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Figura 2.7: Robô Puma 560 simplificado


Seus parâmetros são:

i α i-1 a i-1 d i θ i

1 0 0 0 θ 1

2 -π /2 0 d 2 θ 2

3 0 a2 d 3 θ 3

2.4.1. Transformação de referenciais entre elos


Os referenciais solidários com cada elo, segundo a convenção de Denavit-Hatemberg,
podem estar em direções diferentes, além de não terem origem comum. A matriz de
transformação homogênea entre um referencial solidário com um elo, e o referencial solidário
com o elo adjacente anterior pode, portanto, ter uma forma muito complexa. Mas como foi
analisado na seção anterior, é possível fazer uma composição de transformações, ou ainda,
decompor uma transformação complexa em várias transformações simples. Por exemplo,
observe-se a figura seguinte:

39
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Figura 2.8: Transformações homogêneas entre dois elos adjacentes

Os elos i e i-1 não são paralelos, tem formas complexas, e suas juntas adjacentes (ambas
de revolução, no exemplo), tem eixos de rotação não paralelos e nem coplanares. Mas a
transformação entre os referenciais i e i-1, a pesar de ser complexa, pode se decompor em 4
transformações simples.
A primeira transformação consiste em deslocar o referencial i ao longo do seu eixo zi
sem girar, isto é, uma translação pura, uma distância di até o ponto P.
A segunda consiste em girar o novo referencial P, ao redor do seu eixo zi um ângulo θi,
de maneira tal que xp coincida com a direção de xi, formando o novo referencial Q. Uma
rotação pura ao redor de um eixo z sem translação.
A terceira consiste em deslocar o referencial Q ao longo do seu eixo xq (que é
coincidente com a direção de xi-1), uma distância ai-1, até a origem do referencial Q coincidir
com a origem do referencial i-1, formando o novo referencial R.
Finalmente, a terceira transformação consiste em girar o referencial R ao redor do seu
eixo xR (coincidente com xi-1), um ângulo αi-1, de maneira tal que o novo referencial coincida
com o referencial i-1.
Assim, a transformação entre os elos i e i-1 pode ser decomposta nas seguintes 4
transformações simples:

i
i −1T = iR−1T QRT PQT Pi T
40
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

É fácil ver que cada uma dessas transformações é:

1 0 0 0
0 1 0 0 
PT =
i 
0 0 1 di 
 
0 0 0 1

Por se tratar de uma translação pura ao longo do vetor [0 0 di]T, a matriz de rotação
i
PR=I3

cos θ i − sen θ i 0 0
sen θ cos θ i 0 0
QT =
P  i

 0 0 1 0
 
 0 0 0 1

Por se tratar de uma rotação pura ao redor do eixo zi um ângulo θi

1 0 0 a i −1 
0 1 0 0 
RT =
Q 
0 0 1 0 
 
0 0 0 1 

Por se tratar de uma translação pura ao longo do vetor [ai-1 0 0]T

1 0 0 0
0 cos α − sen α i −1 0
i −1T =
R  i −1

0 sen α i −1 cos α i −1 0
 
0 0 0 1

Por se tratar de uma rotação pura ao redor do eixo xi-1 um ângulo αi-1
Portanto, multiplicando as matrizes:

41
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

 cos θ i − sen θ i 0 a i −1 
 cos θ sen α cos θ i cos α i −1 − sen α i −1 − d i sen α i −1 
i −1T =
i  i i−

sen θ i sen α i −1 cos θ i sen α i −1 cos α i −1 d i cos α i −1 


 
 0 0 0 1 

2.5. CINEMÁTICA DIRETA

O problema da cinemática direta consiste em achar a posição e orientação do punho do


manipulador (ou de qualquer outro ponto deste) com respeito a um referencial inercial, dadas
as coordenadas generalizadas, aqui adotadas como as variáveis que caracterizam a posição de
cada junta, expressadas como ângulos ou distâncias segundo sejam de revolução ou
prismáticas. Este vetor receberá o nome de q∈ℜn, sendo n o número de graus de liberdade.
Este problema fica resolvido se for achada a matriz de transformação homogênea que
relaciona um referencial solidário com o punho do manipulador com respeito a um referencial
inercial, porque esta matriz, cujas componentes são funções das coordenadas generalizadas,
contém informações sobre a posição e orientação do punho. Assim, a representação
homogênea do vetor de posição do punho expressado em um referencial não inercial solidário
com ele, cuja origem é o próprio centro do punho, é [0 0 0 1]T, pois o próprio centro do punho
coincide com a origem de coordenadas. Multiplicando este vetor pela matriz de transformação
homogênea que relaciona este referencial com um referencial inercial fixo, teremos a
representação homogênea do vetor de posição do punho expressado em coordenadas
absolutas, ou com respeito ao referencial inercial.
Por exemplo, seja o manipulador de duas juntas de revolução no plano da seguinte
figura:

42
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

E
E E

Y2 X2

y1

x1

Figura 2.9: Manipulador de 2 DOF planar

A transformação do ponto E com respeito ao referencial 0 pode se decompor


E
0T = 10T 2
1T
E
2T

sendo

cos θ1 − sen θ1 0 0
cos θ1 − sen θ1 0 0  sen θ
 cos θ1 0 0
0 R = sen θ1
1
cos θ1 0 d 0 = 0 ⇒
1
0T =
1  1

 0 0 1 0
 0 0 1 0  
 0 0 0 1
cos θ 2 − sen θ 2 0 l1 
cos θ 2 − sen θ 2 0 l 1  sen θ
 cos θ 2 0 0 
1 R = sen θ 2
2
cos θ 2 0  
d 1 =  0  ⇒ 1T =
2 2  2

 0 0 1 0
 0 0 1  0   
 0 0 0 1
1 0 l2 
0
1 0 0  l 2  0
 1 0 0 0 
1
2 R = 0
E
 d 2 =  0  ⇒
E E
2T =

0 1 0
0
0 0 1  0   
0 0
0 1
cos(θ1 + θ 2 ) − sen(θ1 + θ 2 ) 0 l 2 cos(θ1 + θ 2 ) + l1 cos θ1 
sen(θ + θ ) cos(θ + θ ) 0 l 2 sen(θ1 + θ 2 ) + l1 sen θ1 
⇒ E
T =  1 2 1 2
0
 0 0 1 0 
 
 0 0 0 0 

43
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

observe-se que nesta transformação está explícita a rotação do referencial solidário com
E
o ponto E na matriz de rotação 0R ∈ℜ3x3 das primeiras linhas e colunas, e o vetor de
deslocamento do ponto E com respeito à origem de coordenadas, ou vetor dE0 expressado em
sua representação homogênea pela última coluna. Se multiplicarmos a representação
homogênea do vetor de posição do ponto E expressado com respeito a esse referencial, que
como foi mostrado é [0 0 0 1]T , pela matriz de transformação homogênea E0T, obteremos um
vetor igual à última coluna dessa matriz, que é representação homogênea do vetor posição do
ponto E expressado com respeito a um referencial inercial 0.

2.7. CINEMÁTICA INVERSA

O problema da cinemática inversa consiste em, dada a posição e orientação do punho do


manipulador expressada com respeito a um referencial inercial, achar os valores das
coordenadas generalizadas, isto é, as posições das juntas, que satisfazem essas coordenadas.
A solução da cinemática inversa é particularmente útil, pois geralmente, o usuário do
programa de controle precisará determinar a posição ou trajetória do punho do manipulador
expressadas em coordenadas absolutas (com respeito a um referencial inercial), e o
controlador deverá calcular, através destas equações, as posições das juntas necessárias para
atingir tal posição e orientação.
Para algumas posições do punho, é possível que o sistema de equações que caracteriza a
cinemática inversa não apresente solução, é o caso da posição desejada estar fora do espaço
de trabalho. Em outros casos, é possível que as equações apresentem mais de uma solução.
Tomaremos como exemplo o mesmo robô de 2 DOF no plano da seção anterior.
Dada a orientação do referencial solidário com o punho, ou referencial E, a qual será
determinada com um único ângulo com respeito ao eixo x0 e que chamaremos de φ, e dada a
posição do ponto E expressada com respeito ao referencial inercial dE0 = [xE yE 0]T:
Pode se determinar a matriz de rotação do referencial E com respeito ao referencial 0:

cos φ − sen φ 0
E
0 R = sen φ cos φ 0
 0 0 1

Por comparação com as equações da cinemática direta, concluímos que: φ = θ1 + θ2 e


que:
44
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

 x E  l 2 cos(θ1 + θ 2 ) + l1 cos θ1 
d =  y E  = l 2 sen(θ1 + θ 2 ) + l1 sen θ1 
E
0

 0   0 

portanto:
xE2 + yE2 = l22 + l12 + 2 l1 l2 [cos(θ1+θ2)cosθ1+sen(θ1+θ2)senθ1 ] = l22 + l12 + 2 l1 l2
cosθ2
cosθ2 = (xE2 + yE2 – l22 – l12 ) / (2 l1 l2 ) := D
θ2 = cos-1 D ou θ2 = tg-1 ±√ (1-D2) / D
θ1 = φ - θ2 ou θ1 = tg-1 yE/xE – tg-1 (l2 senθ2/ (l1 + l2 cosθ2))
tanto θ1 como θ2 tem duas soluções, exceto quando o termo D = 1 =>
θ2 = tg-1 0 = 0 ou π e θ1 = tg-1 yE/xE ou tg-1 yE/xE - π
pontos que correspondem à situação em que xE2 + yE2 = l12 + l22 + 2 l1 l2 = (l1 + l2)2
chamados também de pontos singulares. A importância destas posições singulares será
analisada numa seção posterior.

2.8. EXPRESSÕES DAS VELOCIDADES LINEAR E ANGULAR

Nesta seção serão apresentadas as expressões da velocidade de um ponto P dentro de


um corpo rígido, expressada em função de um referencial solidário com ele. Assumiremos
que esse corpo se desloca com respeito a um referencial inercial ao longo de um eixo cuja
direção coincide com a do vetor d10, e que gira com uma velocidade angular ω, o qual
suporemos, por comodidade, coincidente com o eixo z0. Suponha-se um referencial não
inercial solidário com o corpo chamado o1x1y1z1, como mostrado no seguinte desenho:
z1
p
ω
z0 o1 y1

x1
d01

o0 y0

x0

Figura 2.10: Ponto P se deslocando e girando com respeito a um referencial inercial

45
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

O referencial o1x1y1z1 se translada com respeito ao referencial inercial o0x0y0z0 ao longo


da direção do vetor d01, e gira com uma velocidade angular ω = ω k0 = ω k1
Determinando a posição de P e derivando com respeito ao tempo:

p 0 x   p 1x  p& 0 x   p 1x 
p = p 0 y  = d 0 + 0 R p 1y  ⇒ p& = p& 0 y  = d& 0 + ϖ ∧ 0 R p 1y 
  1 1     1 1

 p 0 z   p 1z   p& 0 z   p 1z 

onde todos os vetores estão referidos ao referencial 0, menos no caso de [p1x p1y p1z]T,
que são as coordenadas do ponto P no referencial 1; evidentemente, o produto
1
0R [p1x p1y p1z]T está referido ao referencial 0. O ponto por cima da variável indica sua
derivada com respeito à variável temporal.
Supondo agora que o vetor p também se desloca com respeito ao referencial não inercial
(o que eqüivale a supor que o corpo não é rígido):

p& 0 x   p 1x  p& 1x 
p& = p& 0 y  = d& 10 + ϖ ∧ 01 R  p 1y  + 01 R p& 1y 
 p& 0 z   p 1z   p& 1z 

De maneira similar, podem ser deduzidas as expressões da aceleração do ponto P em


ambos os casos.

2.9. A MATRIZ JACOBIANA

A matriz Jacobiana geométrica é uma das mais importantes expressões na análise e


controle do movimento do robô. Ela relaciona cada aspecto da manipulação robótica: no
planejamento e execução de trajetórias, na determinação das configurações singulares, na
derivação das equações que conformam o modelo dinâmico do manipulador, e na
transformação de torques ou forças do efetuador a cada uma das juntas do manipulador.
A matriz Jacobiana é a transformação entre o vetor ∈ℜn de velocidades das n juntas
(vetor cujas componentes podem representar velocidades lineares ou angulares, dependendo
se as juntas forem prismáticas ou de revolução), e um vetor ∈ℜ6, onde as três primeiras
componentes representam o vetor da velocidade linear do punho (ou de qualquer outro ponto)
46
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

do manipulador, expressado com respeito a um referencial inercial, e as três últimas


componentes representam o vetor de velocidade angular com que gira o punho (ou qualquer
outro ponto) do manipulador , também expressado com respeito a um referencial inercial. Esta
matriz, portanto ∈ℜ6xn

vn   J v (q) 
 n  = J 0 (q)q& =  J 0n ∈ ℜ 6 xn
n
q& /
ω
  J
 ω  (q )

onde chamamos q ao vetor de coordenadas generalizadas, representando o ponto por


cima sua derivada com respeito ao tempo.
Como exemplo, será apresentada a dedução da matriz Jacobiana para o manipulador de
2 DOF apresentado na figura 2.8.

x E = l1 cos θ1 + l 2 cos(θ1 + θ 2 )

 y E = l1 sen θ1 + l 2 sen(θ1 + θ 2 )
x& = −l1 sen θ1 θ& 1 − l 2 sen(θ1 + θ 2 )(θ& 1 + θ& 2 )
⇒  E
& & &
 y& E = l1 cos θ1 θ1 + l 2 cos(θ1 + θ 2 )(θ1 + θ 2 )
 x& E  − l1 sen θ1 − l 2 sen(θ1 + θ 2 ) − l 2 sen(θ1 + θ 2 ) &
θ 
⇒ v E = d& 0 =  y& E  =  l1 cos θ1 + l 2 cos(θ1 + θ 2 )
2
l 2 cos(θ1 + θ 2 )   1  = J Ev (q)q&
θ&
 z& E   0 0   2 
 0  0 0  &
θ 
ϖ E = ϖ E k 2 = ϖ E k 0 = (θ& 1 + θ& 2 )k 0 =  0  = 0 0  1  = J ϖE (q)q&
θ&
θ& 1 + θ& 2  1 1  2 
− l1 sen θ1 − l 2 sen(θ1 + θ 2 ) − l 2 sen(θ1 + θ 2 )
 l cos θ + l cos(θ + θ ) l 2 cos(θ1 + θ 2 ) 
 1 1 2 1 2

 J Ev   0 0 
⇒ J (q) =  E  = 
E

J ϖ   0 0 
 0 0 
 
 1 1 

sendo q = [θ1 θ2]T o vetor de coordenadas generalizadas. Observe-se que a expressão da


velocidade angular do ponto E com respeito ao referencial inercial 0, consiste em um vetor

47
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

igual à soma das velocidades angulares de cada junta, vezes o vetor unitário k0, isto porque
ambas as juntas giram no mesmo plano (vetor velocidade angular perpendicular ao plano de
rotação, ou paralelo a todos os eixos z).

2.10. SINGULARIDADES

Na seção anterior foi especificado que

x& = J(q)q&

sendo q o vetor de coordenadas generalizadas e x = [xE yE zE αE βE γE ]T, um vetor cujas


três primeiras componentes representam a posição do punho (ponto E) com respeito a um
referencial inercial, e as três últimas componentes representam o orientação do referencial
solidário com o punho, e cujas derivadas são as três componentes do vetor de velocidade
angular ω.
Como a matriz jacobiana é função das coordenadas generalizadas q, aquelas
configurações das coordenadas generalizadas para as quais o posto da matriz J é reduzido,
chamam-se configurações singulares ou simplesmente singularidades. Reduzir o posto da
matriz J eqüivale a afirmar que o sistema perde graus de liberdade. Estas configurações têm
particular importância pelas seguintes razões:

• As singularidades representam configurações a partir das quais determinados


movimentos são impossíveis.

• Nas singularidades, velocidades limitadas no efetuador podem corresponder a


torques ilimitados nas juntas.

• Nas singularidades, forças e torques limitados no efetuador podem corresponder


a torques ilimitados nas juntas.

• As singularidades, usualmente (mas nem sempre), correspondem a pontos sobre


a superfície limite de alcance no espaço de trabalho do manipulador, quer dizer, pontos
de máxima atingibilidade do manipulador.

• As singularidades correspondem a pontos no espaço de trabalho que poderiam


ser inatingíveis sob pequenas perturbações dos parâmetros dos elos, tais como
comprimento, entre outros.

48
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

• Perto das singularidades não existe uma única solução para o problema da
cinemática inversa. Poderia não ter solução ou ter infinitas soluções.

49
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

CAPÍTULO III

DINÂMICA

1.1. INTRODUÇÃO

O objetivo deste capítulo é introduzir o leitor a alguns métodos de mecânica analítica


necessários para a derivação das equações dinâmicas que descrevem a evolução no tempo dos
manipuladores robóticos mais comuns. Estas equações dinâmicas constituem o chamado
modelo dinâmico de um manipulador. Cabe destacar que, para um mesmo manipulador,
podem existir diversos modelos dinâmicos, dependendo do método utilizado para sua
derivação; entre os mais conhecidos, podemos destacar o modelo gerado a partir das equações
de Newton - Euler, o gerado a partir das equações de Euler - Lagrange, e o gerado a partir de
estudos de redes neurais.
As equações que constituem o modelo dinâmico do manipulador relacionam as
variáveis dinâmicas segundo sua evolução no tempo, sendo estas variáveis as posições,
velocidades, acelerações de cada junta, ou de qualquer ponto do manipulador, e os torques ou
forças que geram esse movimento.
Neste capítulo será derivado um modelo dinâmico a partir das equações de Euler –
Lagrange, as quais descrevem a relação entre energias em um corpo rígido, e em particular,
em um conjunto de corpos rígidos interligados por juntas, como é o caso do manipulador
robótico.

1.2. EQUAÇÃO DE EULER – LAGRANGE

Nesta seção derivaremos um conjunto geral de equações diferenciais que descrevem a


evolução no tempo de sistemas mecânicos sujeitos a restrições holonômicas, quando as
condições de força satisfazem o princípio de trabalho virtual.
Considere-se o sistema de k partículas com vetores de posição, respectivamente, r1,..., rk
onde ri ∈ℜ3 ∀i∈ {1..k}. Suponha-se que esse sistema está condicionado pela restrição que a

50
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

distância entre dois partículas quaisquer deve permanecer constante (restrição holonômica),
isto é, || ri – rj || = cte. ∀ i,j ∈ {1..k}. Se o sistema estiver sujeito a l restrições holonômicas,
isto implica na perda de l graus de liberdade do sistema como um todo com respeito ao
sistema de k partículas movimentando-se livremente no espaço.
Diante de qualquer sistema de forças externas à qual for submetido o sistema de
partículas, a restrição anterior deverá ser observada.
É possível expressar as coordenadas das k partículas em função de n coordenadas
generalizadas q1,..,qn, sendo estas coordenadas uma adequada escolha de variáveis
independentes necessárias para descrever a posição de cada partícula do sistema. Assim:
ri = ri (q1,...,qn) = ri (q) i = 1,..,k
A possibilidade de expressar os vetores de posição das partículas em função das
coordenadas generalizadas poderia ser feito ainda no caso do sistema possuir infinitas
partículas. Efetivamente, um corpo rígido tem infinitas partículas, mas sempre se observa a
restrição holonômica apontada anteriormente através de todo o movimento do corpo diante de
qualquer força externa aplicada, sendo portanto necessárias apenas a utilização de 6
coordenadas generalizadas para descrever a posição de cada partícula do corpo, por exemplo,
3 coordenadas generalizadas para descrever a posição do centro de massa do corpo, e 3
ângulos de Euler para descrever a orientação do objeto.
Suponha-se que cada uma das k partículas sofre um deslocamento infinitesimal δri,
onde o conjunto total de deslocamentos δr1,..,δrk são consistentes com a restrição de forças
(restrição holonômica) e também são função das coordenadas generalizadas δri(q). Podemos
expressar cada um destes deslocamentos em função das n coordenadas generalizadas,
aplicando a regra da cadeia, precisamente:
T
 ∂r  n
∂r
δri =  i  δq = ∑ i δq j i = 1,.., k
 ∂q  j=1 ∂q j

onde os deslocamentos das coordenadas generalizadas δq1,..,δqn não sofrem qualquer


restrição (precisamente por serem coordenadas generalizadas e portanto, independentes).
O princípio de D’Alembert estabelece que, se for introduzida uma força adicional
fictícia –p.i para cada partícula i, onde pi = mi vi = mi ∂ri/∂t é o momento da partícula i (massa
vezes velocidade), então cada partícula estará em equilíbrio. Expressado matematicamente,
isto implica que o trabalho efetuado pelo deslocamento infinitesimal do sistema de k
partículas, onde cada partícula i sofre uma força externa fi, é igual ao trabalho efetuado por
essa força adicional efetuada pela derivada no tempo do momento da partícula:
51
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

∑ (f
T T
i − p& i )δri = 0
i =1

(3.1)
Observe-se que isto não significa que cada deslocamento δri em particular seja zero,
mas que o trabalho efetuado pela totalidade de forças externas aplicadas a cada partícula,
menos o trabalho efetuado pela soma das derivadas dos momentos de cada partícula é igual a
zero.
Por ser ri função das coordenadas generalizadas: (3.2)

T
 ∂r  n
∂r
∴ δri =  i  δq = ∑ i δq j
 ∂q  j=1 ∂q j

T ∂ri
k k n n
⇒ ∑ f i δri = ∑∑ f i δq j = ∑ ψ j δq j
T

i =1 i =1 j=1 ∂q j j=1
k
∂ri
onde ψ j = ∑ f i
T
é a componente j da força generalizada
i =1 ∂q j

Note-se que ψj não precisa ter necessariamente dimensões de força, assim como qj não
precisa ter dimensões de distância, mas o produto ψjδqj sempre terá dimensões de trabalho.
O segundo termo na equação (3.1), desde que pi = mi ∂ri/∂t :

k n k n
∂ri
∑ p& T δri = ∑ m i&r&iT δri = ∑∑ m i&r&i
T
δq j
i =1 i =1 i =1 j=1 ∂q j
(3.3)

Considerando:

k
∂  T ∂ri
 k T ∂ri
k
∂  ∂ri 
∑ 
i =1 ∂t 
m r
&
i i  = ∑ i i ∂q ∑
∂q j  i =1
m r
&& + m i  
∂t  ∂q j 
 j i =1

e também
T
 ∂r  ∂q n
∂r ∂v i ∂ri ∂v i n
∂ 2 ri
v i = r&i =  i  = ∑ i q& j ⇒ = e =∑ q& j
 ∂q  ∂t j=1 ∂q j ∂q& j ∂q j ∂q m j=1 ∂q j ∂q m

(3.4)
para i∈[1..k] m∈[1..n]

52
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

onde vi (q) = ∂ri(q) / ∂t é a velocidade da partícula i (dependente das coordenadas


generalizadas)
Podemos afirmar ainda, da igualdade anterior:
T
∂  ∂ri  ∂  ∂ri  n
∂ 2 ri ∂v i
  =  
∂t  ∂q m  ∂q  ∂q m 
q
& = ∑
j=1 ∂q j ∂q m
q& j =
∂q m

Substituindo em (3.4) e rearranjando termos:


(3.5)

k
∂ri k
∂  T ∂ri
 k T ∂
 ∂ri 
∑ m i&r&i = ∑ m i r&i  − ∑ m i r&i
T
 =
i =1 ∂q j i =1 ∂ t  ∂q  i =1
j ∂t ∂q
 j 
k
∂  T ∂v i
 k T ∂v i
= ∑ m i v i  − ∑ mi vi
i =1 ∂t 
 ∂q& j  i =1 ∂q j

Definindo a energia cinética do sistema de partículas como


k
1
K = ∑ m i v i v i sendo v i = r&i a velocidade da partícula i
T

i =1 2

∂K k
∂v ∂K k
∂v
⇒ = ∑ m i v iT i e = ∑ m i v iT i
∂q j i =1 ∂q j ∂q& j i =1 ∂q& j
∂v i
por ser v iT um escalar
∂q j
k
∂ri ∂ ∂K ∂K
∑ m &r&
T
de (3.5) ⇒ i i = −
i =1 ∂q j ∂t ∂q& j ∂q j

e substituindo na expressão (3.3), é possível chegar a:

n 
k
∂ ∂K ∂K 
∑ p i δri = ∑ 
T
& −  δq j
i =1  ∂t ∂q& j ∂q j 
j=1 

e combinando com a expressão (3.1) cujo primeiro termo foi transformado em (3.2):

n  ∂ ∂K ∂K 
∑ 
j=1  ∂t ∂q&

∂q
− ψ j  δq j = 0
 j j 

53
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Desde que os deslocamentos virtuais das coordenadas generalizadas δqj são


independentes, podemos concluir que cada termo na equação anterior é igual a zero, e não
apenas a soma de todos eles. Portanto:

∂ ∂K ∂K
− = ψj j = 1...n
∂t ∂q& j ∂q j

Se a força generalizada ψj for a soma da força externamente aplicada mais outra devida
a um campo potencial, então a seguinte modificação é possível; supondo a existência de uma
função τj e V(q) tal que:

∂V (q)
ψj = − + τj
∂q j
∂ ∂ (K − V ) ∂ (K − V )
⇒ − = τj j = 1...n
∂t ∂q& j ∂q j
e chamando L = K - V
∂ ∂L ∂L
− = τ j j = 1...n
∂t ∂q& j ∂q j
(3.6)
Porque V(q) não depende de ∂qj /∂t, ou velocidade da coordenada generalizada. A
expressão L = K-V é chamado o Lagrangiano, onde V é a expressão da energia potencial do
sistema e τj é a força (ou torque) aplicado na coordenada generalizada j.
A última equação é conhecida como equação de Euler-Lagrange e representa a
descrição do movimento das partículas em função das suas energias.

3.3. EXPRESSÕES DAS ENERGIAS CINÉTICA E POTENCIAL

Nesta seção serão derivadas as expressões das energias cinéticas e potencial para um
corpo rígido, expressões necessárias para serem aplicadas no lagrangiano anteriormente
deduzido. Primeiramente será mostrado que a energia cinética possui dois termos, o primeiro
é a energia translacional obtida por concentrar a massa inteira do objeto no seu centro de
massa; o segundo termo corresponde à energia rotacional do corpo ao redor do seu centro de
massa. A energia potencial do corpo é a mesma que obteríamos concentrando toda sua massa
no centro de massa deste. Uma vez que as expressões das energias cinética e potencial forem
conhecidas, o lagrangiano do manipulador inteiro é simplesmente a soma dos lagrangianos de
cada um dos seus elos.
54
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Suponha-se primeiramente um objeto consistente num continuum de partículas. Seja ρ a


densidade de massa do objeto, e B o volume deste:

∫ ρ(x, y, z)∂x∂y∂z = m
B
onde ρ(x, y, z) é a densidade de massa
sendo seu centro de massa
x c 
1 1 1
rc =  y c  / x c = ∫ xρ∂x∂y∂z y c = ∫ yρ∂x∂y∂z z c = ∫ zρ∂x∂y∂z
m B m B m B
 z c 
1 1
⇒ rc = ∫ rρ∂x∂y∂z = ∫ r∂m ⇒ ∫ (r − rc )∂m = 0
m B m B B

onde a integral com sub-índice B indica uma integral tripla em todo o volume do objeto,
m é a massa do objeto, e é explicitado a dependência de ρ(x,y,z) das coordenadas de cada
partícula do objeto. Por comodidade, denominamos a densidade de massa vezes um
diferencial de volume como um diferencial de massa, isto é ρ∂x∂y∂z = ∂m. O vetor r =
[x y z]T é o vetor posição, o vetor rc entra na integral por ser constante, e portanto não
depender das coordenadas de posição.
A velocidade do corpo pode ser expressada como a velocidade de deslocamento do centro
de massa mais a velocidade de rotação ao redor do centro de massa:
v = vc + ω∧r
Expressando todos os vetores com respeito a um referencial não inercial com a origem
solidária com o centro de massa do corpo => rc = 0

ω x  x 

ω = ω y  e r =  y  ⇒

 ω z   z 
 i j k   ω y z − ωz y   0 − ωz ω y  x 
   
ϖ ∧ r = det ω x ωy ω z  =  ω z x − ω x z  =  ω z 0 − ω x   y  = S(ϖ)r
 x y z  ω x y − ω y x  − ω y ωx 0   z 

onde S(ω) é a matriz anti-simétrica da última expressão.


Sendo a energia cinética do corpo:

55
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

1 T 1
K= ∫
2B
v vρ∂x∂y∂z = ∫ v T v∂m =
2B
1 1
= ∫
2 B
( v c + ϖ ∧ r ) T ( v c + ϖ ∧ r )∂m = ∫ ( v c + S(ω)r ) T ( v c + S(ω)r )∂m
2 B
1 1
= ∫ v c v c ∂m + ∫ r T S T (ϖ)S(ϖ)r∂m + ∫ v Tc S(ϖ)r∂m
T

2 B 2 B B

(3.6)
Note-se que o argumento da última integral é um escalar, sendo portanto essa expressão
igual à sua transposta, daí a desaparição do fator ½ nesse termo.
A continuação serão analisados cada um desses três termos por separado.

1 1
2 ∫B
v Tc v c ∂m = v Tc v c m
2
por não depender v c da densidade de massa

∫ v c S(ϖ)r∂m = v c S(ϖ)∫ r∂m = 0 por ser rc = 0


T T
B B

1

2 B
1
[
r T S T (ϖ)S(ϖ)r∂m = ∫ Tr S(ϖ)rr T S(ϖ) ∂m
2 B
] [ ]
por ser a T b = Tr ba T

1
[
= Tr S(ϖ) ∫ rr T ∂m S T (ϖ)
2 B
]
 x 2 xy xz 
 
e chamando ∫ rr T ∂m = ∫  xy y 2 yz ∂m = J
B B
 xz zy z 2 
 
1
[
⇒ = Tr S(ϖ)JS T (ϖ)
2
]

Lembrando da definição de S(ω) anterior, e efetuando a operação Tr[S(ω) J ST(ω)]


chega-se a que esse segundo termo é igual a:

1 T
ϖ Iϖ
2
onde
 ( y 2 + z 2 )∂m 
 ∫B
− ∫ xy∂m − ∫ xz∂m
B B 
I =  − ∫ xy∂m ∫B ( x + z 2
2
) ∂m − ∫B yz∂ m 
 B

 − ∫Bxz∂m − ∫ yz∂m
B ∫B
( x 2 + y 2 )∂m 

é a chamada matriz de inércia do corpo, definida de maneira corrente.


Substituindo esses termos em (3.6), a expressão da energia cinética fica:
56
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

1 T 1
K= mv c v c + ω T Iω
2 2

(3.7)
Onde fica explícito os dois efeitos, de translação e de rotação, que contribuem para a
energia cinética do corpo.
A continuação faremos algumas considerações sobre o referencial ao qual estão
referidos os diferentes vetores das equações anteriores. O produto vcTvc é o quadrado da
norma do vetor vc. Assim, não depende do sistema de referência desse vetor, já que seu
comprimento permanece constante seja qual for o referencial utilizado. É possível comprovar,
também, que o triplo produto ωTIω permanece constante qualquer que seja o sistema de
referência adotado (não assim cada vetor individualmente). Por isso podemos computar a
matriz de inércia do corpo I com respeito ao referencial inercial solidário com o centro de
massa do corpo, para que I independa do movimento deste. Por essa razão devemos
considerar o vetor ω também referido a esse sistema inercial. Para considerar o vetor referido
ao referencial inercial fixo, não devemos mais que multiplicar pela matriz de rotação RTω,
sendo R a matriz de rotação que relaciona o referencial inercial com o referencial solidário
com o corpo.
Seguidamente, consideraremos um manipulador de n elos.
No capítulo 2 vimos que as velocidades linear e angular podem ser expressadas em
relação das derivadas com respeito ao tempo das coordenadas generalizadas através da matriz
jacobiana:

v ci = J vi (q)q& ωi = 0i R T J ωi (q)q&

para i∈{1..n}, sendo n o número de elos do corpo (dimensão do vetor q de coordenadas


generalizadas), vci é a velocidade linear do centro de massa do elo i, ωci a velocidade angular
do elo i, Jvi e Jωi os jacobianos das velocidades linear e angular do elo i, e i0R, a matriz de
rotação que relaciona o elo i com o referencial inercial 0. O vetor de velocidade angular, está
expressado aqui com respeito ao referencial não inercial solidário com o corpo, porque a
matriz jacobiana (por estar em função das coordenadas generalizadas) sempre está expressada
0 i T
com respeito ao referencial fixo ou inercial, daí que multiplicando por iR = 0R , fica
expressado com respeito ao referencial solidário com o elo.

57
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Supondo que a massa do elo i é mi, que a matriz de inércia avaliada ao longo das
coordenadas não inerciais com origem no centro de massa do corpo é Ii, podemos expressar a
energia cinética do manipulador como um todo (o que eqüivale à soma das energias cinéticas
de cada elo):

K=
1 T n
2
[ T T
]
q& ∑ m i J v ci (q)J v ci (q) + J ωi (q) 0i RI i 0i R T J ωi (q) q& =
i =1

1
= q& T D(q)q&
2

(3.7)
Onde essa matriz D(q) é chamada matriz de inércia do manipulador (não confundir com
a matriz Ii de inércia de cada elo). Uma das características dessa matriz é que é simétrica
positiva definida, como pode ser deduzido da sua definição, e que seus coeficientes dependem
das coordenadas generalizadas, porque tanto os jacobianos como as matrizes de rotação
dependem.
Seguidamente, consideraremos a energia potencial do manipulador. A única fonte de
energia potencial no caso de dinâmica de corpos rígidos, é a gravidade. Seja g o vetor de
aceleração gravitacional expressado no referencial inercial, a energia potencial do elo i é:

Vi = ∫ g T ri ∂m i = g T ∫ ri ∂m i = g T rci m i ⇒ Vi = Vi (q)
B B
(3.8)
sendo rci a posição do centro de massa do elo i expressado no referencial inercial. Por
depender a energia potencial da posição do centro de massa, depende também das
coordenadas generalizadas, mas não da derivada deste vetor, isto é, a energia potencial, como,
aliás é intuitivo, depende da posição de cada junta mas não da velocidade desta. A energia
potencial total do manipulador não é outra que a soma das energias potenciais de cada elo.

3.4. EQUAÇÕES DE MOVIMENTO

Nesta seção, aplicaremos na equação de Euler-Lagrange as expressões das energias


cinéticas e potencial obtidas, a fim de chegar a um modelo dinâmico do manipulador.
A energia mecânica L pode ser expressada:

58
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

[
D(q) = d ij (q) ⇒ K = ] 1 n n
∑∑ d ij (q)q& i q& j
2 i =1 j=1
1 n
L =K−V = ∑ d ij (q)q& i q& j − V(q)
2 i , j=1

sendo dij a componente da linha i coluna j da matriz de inércia D do manipulador,


anteriormente deduzida, e V(q) a energia potencial de todo o manipulador, também derivada
na seção anterior.

∂L n
∂ ∂L n n
∂d n n
∂d (q)
= ∑ d ik (q)q& i ⇒ = ∑ d ik (q)&q& i + ∑ ik q& i = ∑ d ik (q)&q& i + ∑ ik q& j q& i
∂q& k i =1 ∂t ∂q& k i =1 i =1 ∂t i =1 i , j=1 ∂q j
∂L 1 n ∂d ij (q) ∂V(q)
= ∑ q& i q& j −
∂q k 2 i , j=1 ∂q k ∂q k

para k∈[1..n], onde consideramos a simetria de D(q) (razão pela qual desaparece o fator
½, já que dik=dki), consideramos que V depende do vetor q mas não da sua derivada, e
aplicamos a regra da cadeia na expressão ∂dik/∂qj.
Assim, a equação de Euler-Lagrange do manipulador pode ser escrita:

n n  ∂d ik (q) 1 ∂d ij (q)  ∂V(q)


∑ d ik (q )&q
& i + ∑ 
i , j=1  ∂ q

2 ∂ q
 q& i q& j +
∂q
= τk k = 1..n
i =1  j k 
 k

(3.9)
Mudando a ordem dos somandos e valendo-se da simetria de D(q), é simples
demonstrar que:

n ∂d kj 1 n  ∂d kj ∂d ki 
∑ ∂q q& i q& j = ∑  + ∂q q& i q& j
2 i , j=1  ∂q i
i , j=1 i j 

Portanto, o segundo termo da equação anterior:

n
 ∂d kj 1 ∂d ij  n
1  ∂d kj ∂d ki ∂d ij 
∑
i , j=1  ∂q i
−  i j ∑ 
2 ∂q k 
q
& q
& =
i , j=1 2  ∂q
+
∂q

∂q
 q& i q& j
 i j k 

59
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

os termos

1  ∂d kj ∂d ki ∂d ij 
c ijk =  + − 
2  ∂q i ∂q j ∂q k 

são conhecidos como símbolos de Cristoffel de primeira classe. Note-se que, para um k
fixo cijk = cjik, o que reduz o esforço computacional para o cálculo destes termos.
Finalmente, definindo
φk = ∂V(q) / ∂qk
chega-se a:

n n
1  ∂d kj ∂d ki ∂d ij 
∑ d ki (q)q i + ∑ 
&&
2
i , j=1  ∂q
+
∂q

∂q
 q& i q& j + φ k (q) = τ k k = 1..n
k 
144424443
i =1 i j

c ijk

(3.10)
Esta equação envolve três tipos de termos. O primeiro envolve a segunda derivada das
coordenadas generalizadas, ou acelerações das juntas (angulares ou lineares). O segundo
envolve termos quadráticos com as derivadas das coordenadas generalizadas, ou velocidades
das juntas. Dentro destes termos, existem ainda duas classes, os termos que estão
multiplicados por uma velocidade de uma junta ao quadrado, são chamados de centrífugos, ao
tempo que aqueles termos que envolvem o produto de velocidades de duas juntas diferentes,
são chamados de termos de Coriolis. O terceiro tipo de termo depende apenas de q mas não
das suas derivadas, e expressa a relação entre a energia potencial total do manipulador com a
posição de cada junta.
É comum escrever a equação anterior, para k variando entre 1 e n, em forma matricial,
onde cada uma das n linhas da matriz representa cada equação anterior para diferentes valores
de k:

&& + C(q, q& )q& + g(q) = τ


D(q)q
(3.11)
onde o vetor C q. é chamado vetor de acelerações centrípetas e de Coriolis, e é tal que:

60
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

n
C(q, q& ) = [c kj ] = ∑ c ijk (q)q& i
i =1

e
T
 ∂V ∂V ∂V 
g(q) =  ... 
 ∂q 1 ∂q 2 ∂q n 

(3.12)
sendo o vetor g(q) chamado de vetor de torque gravitacional, e cujas componentes
representam a variação da energia potencial com cada junta.
Esta é a equação dinâmica de um manipulador de n elos interligados por juntas.

3.5. CARACTERÍSTICAS DA EQUAÇÃO DINÂMICA

1. Os coeficientes da matriz D(q), chamados dij, estão relacionados à aceleração das


juntas. Em particular, quando i = j dii representa a aceleração da junta i quando age o torque
(ou a força) τi, e para i≠j, dij representa a aceleração sofrida pela junta j quando age o torque
τ i.
2. Os coeficientes cijk se relacionam com as velocidades das juntas. Em particular, para
uma junta i, quando j=k, o coeficiente está relacionado com a força centrífuga sofrida pela
junta k ante um torque ou força aplicado na junta i; e para k ≠j, cijk está relacionado com a
aceleração de Coriolis gerada pelas velocidades das juntas k e j quando é aplicado um torque
τ i.
3. Os coeficientes do vetor de torque gravitacional gi(q) representam a variação da
energia potencial com a posição da junta qi quando é aplicado um torque τi.

3.6. DEDUÇÃO DA EQUAÇÃO DINÂMICA PARA UM ROBÔ PLANAR DE 2 DOF

Seja o manipulador da seguinte figura:

61
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Figura 3.1: Manipulador de 2 DOF com juntas de revolução no plano

Onde consideraremos o referencial inercial com origem coincidente com a primeira


junta. O referencial solidário com o primeiro elo com origem coincidente com o centro de
massa (note-se que não é esta a convenção de Denavit-Hatemberg, mas, como foi apontado
anteriormente, adotamos este referencial por comodidade, para que a matriz de inércia desse
elo não dependa das coordenadas generalizadas); o eixo x desse referencial tem a direção do
elo, no sentido da segunda junta, o eixo y perpendicular no plano, e o eixo z perpendicular ao
plano segundo a regra da mão direita. O referencial 2, solidário com o segundo elo, também
tem sua origem no centro de massa deste, com os eixos x apontando para o efetuador, o y em
sentido ascendente e o z saindo do plano, também segundo a regra da mão direita.
Os jacobianos de velocidade linear e angular do primeiro elo são:

l c1 cos q 1  − l c1 sen q 1q& 1  − l c1 sen q 1 0


 q& 
rc1 = l c1 sen q 1  ⇒ r&c1 =  l c1 cos q 1q& 1  =  l c1 cos q 1 0  1  = J vc1q&
q&
 0   0   0 0  2 
 0  0 0 
 q& 
ϖ1 = q& 1k 1 = q& 1k 0 =  0  = 0 0  1  = J ω1q&
q&
q& 1  1 0  2 
Os dos segundo elo:

62
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

l1 cos q 1 + l c 2 cos(q 1 + q 2 ) − l1 sen q 1q& 1 − l c 2 sen(q 1 + q 2 )(q& 1 + q& 2 )


 
rc 2 = l1 sen q 1 + l c 2 sen(q 1 + q 2 ) ⇒ r&c 2 =  l1 cos q 1q& 1 + l c 2 cos(q 1 + q 2 )(q& 1 + q& 2 )  =
 0   0 
− l1 sen q 1 − l c 2 sen(q 1 + q 2 ) − l c 2 sen(q 1 + q 2 )
 q& 
=  l1 cos q 1 + l c 2 cos(q 1 + q 2 ) l c 2 cos(q 1 + q 2 )   1  = J vc 2 q&
q&
 0 0   2 
 0  0 0 
 q& 
ϖ 2 = (q& 1 + q& 2 )k 2 = (q& 1 + q& 2 )k 0 =  0  = 0 0  1  = J ω2 q&
q&
q& 1 + q& 2  1 1  2 

As matrizes de rotação dos referenciais não inerciais com respeito ao referencial inercial
são, por serem ambos referenciais rotações ao redor dos eixos z:

cos q 1 − sen q 1 0 cos(q 1 + q 2 ) − sen(q 1 + q 2 ) 0


1
0 R = sen q 1 cos q 1 0 2
0 R = sen(q 1 + q 2 ) cos(q 1 + q 2 ) 0
 0 0 1  0 0 1

Portanto:

l c21 0
J J =
T
vc1 vc1 
0 0
l 2 + l c22 + 2l1l c 2 cos q 2 l1l c 2 cos q 2 + l c22 
J Tvc 2 J vc 2 =  1 
 l1l c 2 cos q 2 + l c22 l c22 
0 0
 0 0 1
0 R J ω1 = 0
1 T
0 ⇒ J ωT1 01 R = 
0 0 0
1 0
0 0
 0 0 1
0 R J ω 2 = 0
2 T
0 ⇒ J ωT 2 20 R = 
0 0 1
1 1
0 0 
I I1yz I1zz    = I1zz 0
J T 1 1
RI R J ω1 T
=  1xz 0 0
0     0 0
ω1 0 10
 0 0
1 0  

0 0 
I 2 xz I 2 yz I 2 zz    = I 2 zz I 2 zz 
J ωT 2 20 RI 2 20 R T J ω2 =   0 0  I
I 2 xz I 2 yz I 2 zz    I 2 zz 
1 1 2 zz

63
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Onde denominamos, por exemplo, Iiyz a componente da 2° linha 3° coluna da matriz de


inércia do elo i.
Com estas expressões, utilizando a equação (3.7), já estamos em condições de
estabelecer a matriz de inércia do manipulador, considerando ambos os elos, D(q):

d 11 = m1l c21 + m 2 (l12 + l c22 + 2l1l c 2 cos q 2 ) + I1zz + I 2 zz


d 12 = m 2 (l1l c 2 cos q 2 + l c22 ) + I 2 zz
d 21 = m 2 (l1l c 2 cos q 2 + l c22 ) + I 2 zz
d 22 = m 2 l c22 + I 2 zz
d d 12 
D(q) =  11
d 21 d 22 

Onde podemos conferir a simetria de D(q) (por ser d12 = d21)


A matriz de acelerações centrípetas e de Coriolis, de (3.12):

1  ∂d kj ∂d ki ∂d ij 
[ ]
n
C(q, q& )q& = c kj = ∑  + − q& i
i =1 2  ∂
 iq ∂q j ∂q k 

Portanto:

2
1  ∂d 11 ∂d 11 ∂d 11  1  ∂d 11 ∂d 12 ∂d 21  1 ∂d 11
c11 = ∑ c i11q& i =  + −  q& 1 +  + −  q& 2 = q& 2 =
i =1 2  ∂q 1 ∂q 1 ∂q 1  2  ∂q 2 ∂q 1 ∂q 1  2 ∂q 2
= − m 2 l1l c 2 sen q 2 q& 2
2
1  ∂d 12 ∂d 11 ∂d 12  1  ∂d 12 ∂d 12 ∂d 22 
c12 = ∑ c i 21q& i =  + −  q& 1 +  + −  q& 2 =
i =1 2  ∂q 1 ∂q 2 ∂q 1  2  ∂q 2 ∂q 2 ∂q 1 
1 ∂d 11  ∂d 1 ∂d 22 
= q& 1 +  12 −  q& 2 = − m 2 l1l c 2 sen q 2 (q& 1 + q& 2 )
2 ∂q 2  ∂q 2 2 ∂q 1 
2
1  ∂d 21 ∂d 21 ∂d 11  1  ∂d 21 ∂d 22 ∂d 21  1 ∂d 11
c 21 = ∑ c i12 q& i =  + −  q& 1 +  + −  q& 2 = − q& 1 =
i =1 2  ∂q 1 ∂q 1 ∂q 2  2  ∂q 2 ∂q 2 ∂q 2  2 ∂q 2
= m 2 l1l c 2 sen q 2 q& 1
2
1  ∂d 22 ∂d 21 ∂d 12  1  ∂d 22 ∂d 22 ∂d 22 
c 22 = ∑ c i 22 q& i =  + −  q& 1 +  + −  q& 2 = 0
i =1 2  ∂q 1 ∂q 2 ∂q 2  2  ∂q 2 ∂q 2 ∂q 2 
c c12 
sendo C(q, q& ) =  11
c 21 c 22 

64
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Finalmente, a energia potencial V(q) de ambos os elos:


V(q) = m1 lc1 g sen q1+m2 g [l1 sen q1 + lc2 sen(q1+q2)]
g1 = ∂V / ∂q1 = m1 lc1 g cos q1 + m2 g l1 cos q1 + m2 g lc2 cos(q1 + q2)
g2 = ∂V / ∂q2 = m2 g lc2 cos(q1 + q2)
sendo g = [g1 g2]T
Observe-se que, se q1=π/2 e q2=0 (braço na posição vertical), g = 0, porque o peso do
manipulador é anulado pela reação do plano base.
Com essas três matrizes, chegamos à equação dinâmica descrita pela equação (3.11)
para o robô da figura 3.1.

3.7. DINÂMICA DO MANIPULADOR NO ESPAÇO DE TRABALHO

A equação dinâmica (3.11) está no espaço das juntas, ou em função das coordenadas
generalizadas q e suas derivadas. Estas coordenadas se relacionam com a posição do punho,
sua velocidade e aceleração a través das equações da cinemática inversa, como foi descrito no
capítulo anterior. Portanto, sabendo a trajetória ou posição real ou desejada do punho do
manipulador, através destas equações, podemos conhecer a trajetória ou posição, real ou
desejada, de cada uma das juntas.
Mas também é possível levar a equação dinâmica ao espaço de trabalho, isto é, colocar
a equação (3.11) em função da posição , velocidade, e aceleração do efetuador ou punho do
manipulador. Nesta seção abordaremos uma maneira muito simples de fazer isto, nos
baseando na relação entre posição e orientação de qualquer ponto do manipulador com as
juntas dada pela matriz jacobiana.
Seja o vetor:

/ r = [x e ϕ ϑ ψ]
T
r (q) ∈ ℜ 6 ye ze

onde xe, ye, ze, são as coordenadas de posição do punho no referencial inercial, e ϕ, ϑ, Ψ
os ângulos que indicam a orientação do punho, que podem ser ângulos de Euler.
Sendo r = r (q), define-se jacobiano analítico como

65
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

T
 ∂r   ∂r 
r& =   q& = J a (q)q& ⇒ J a (q) =  i 
 ∂q   ∂q j 
⇒ &r& = J& (q)q& + J (q)q
a
&& a

&& = J &r& − J J& q& = J a−1&r& − J a−1 J& a J a−1r&


⇒q −1
a
−1
a a

E substituindo na equação dinâmica (3.11):

[ ]
D(q) J a−1&r& − J a−1 J& a J a−1r& + C(q, q& )J a−1r& + g (q) = τ
[ ] [ ]
⇒ J a−T D(q)J a−1 &r& + J a−T C(q, q& )J a−1 − J a−T D(q)J a−1 J& a J a−1 r& + J a−T g(q) = J a−T τ
⇒ D * (r )&r& + C * (r, r& )r& + g * (r ) = τ *
onde
D * (r ) = J a−T D(q)J a−1
C * (r, r& ) = J a−T C(q, q& )J a−1 − J a−T D(q)J a−1 J& a J a−1
g * (r ) = J a−T g (q)
τ * = J a−T τ

Observe-se que esta manipulação foi feita dessa maneira para conservar algumas das
propriedades das matrizes da equação dinâmica, entre elas, a simetria de D*(r).

3.8. OUTROS FATORES DINÂMICOS

A equação (3.11) considerado es efeitos dinâmicos de uma série de corpos rígidos ideais,
isto é, sem deformação pela ação de forças ou torques aplicados neles, interligados por juntas
ideais, sem atrito nem limites mecânicos; assim, são considerados apenas fatores tais como a
ação da gravidade, as acelerações centrípetas e de Coriolis, e os efeitos da inércia de cada elo.
Portanto, não considera os atritos estáticos nem dinâmicos, a dinâmica dos atuadores que
geram essa força ou torque, os distúrbios externos, entre outros fatores que poderiam ser
considerados na equação. Apresentaremos aqui apenas os principais deles.

1) Inércia nos atuadores


Sendo I = diag (I1r1, I2r2, .... ,Inrn) matriz de inércia dos atuadores
onde Ii é o momento de inércia de cada eixo e ri a redução mecânica na junta i, o modelo
dinâmico pode se representar
66
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

( D (q ) + I )q
&& + C(q, q& )q& + g (q ) = τ

Isto eqüivale a considerar a inércia dos elos juntamente com a inércia dos eixos dos
atuadores, levadas, pela redução mecânica, à junta de cada elo.

2) Forças do ambiente
Seja fe ∈ ℜ6 um vetor cujas três primeira componentes representam a posição de um
vetor e as três últimas componentes são ângulos que representam a orientação das forças
externas aplicadas ao manipulador:

&& + C(q, q& )q& + g (q) + J T (q)f e = τ


D(q)q

Isto eqüivale a considerar que o vetor de torque externo é modificado por torques
próprios de cada junta, torques que aparecem por essa força externa aplicada. A relação entre
a força externa e o torque gerado em cada junta por ela é dado pela matriz jacobiana
transposta.

3) Dinâmica dos atuadores


Os motores de corrente contínua, que são os mais utilizados como atuadores em robôs
manipuladores, possuem uma dinâmica que pode se representar como

∂i
L + Ri = v − K b q&
∂t

Sendo L uma matriz diagonal com as indutâncias de armadura de cada motor, R uma
matriz diagonal com as resistências de armadura de cada motor, e Kb uma matriz diagonal
com a força contra-eletromotriz vezes a redução de cada junta de cada motor. Os vetores i e v
são corrente e tensão aplicadas a cada motor.
Sendo o torque τ = Kmi, onde Km é uma matriz diagonal com a relação entre corente de
armadura e torque gerado, que é próprio do motor D.C., o modelo dinâmico fica

67
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

&& + C(q, q& )q& + g(q) = K m i


D(q)q
∂i
L + Ri = v − K b q&
∂t

Observe-se que considerar a dinâmica dos atuadores implica em elevar a ordem do


modelo dinâmico para ordem 3.

4) Distúrbios externos
Quando o manipulador é submetido a distúrbios externos de natureza desconhocida, tais
como ruído ou outras perturbações do ambiente, se estas perturbações podem se representar
como um vetor d(t) cujas componentes representam o distúrbio sofrido por cada junta, este
pode se considerar no modelo dinâmico como:

&& + C(q, q& )q& + g (q) = τ + d( t )


D(q)q

68
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

CAPÍTULO IV

CONTROLE DE ROBÔS MANIPULADORES

1.1. INTRODUÇÃO

Controlar um sistema automatizado consiste em, simplesmente, fazer com que este
tenha o comportamento desejado.
Todo sistema físico denomina-se com o nome genérico de planta. Toda planta tem um
determinado comportamento, isto é, faz uma determinada ação. Observe-se que não
necessariamente essa ação representa um movimento, muito bem o sistema físico pode ser
estático, sem qualquer elemento móvel, como seria o caso de um sistema térmico, por
exemplo. Esse comportamento denomina-se como resposta do sistema. Essa resposta está
caracterizada, em geral, por uma grandeza física que pode ser medida (temperatura, ângulo de
giro, distância de deslocamento, velocidade linear ou angular, luminosidade, pressão, entre
outras), ou ainda por uma combinação delas. A resposta do sistema será portanto uma
grandeza física mensurável, em cujo caso se trata de uma resposta escalar, ou um conjunto de
grandezas físicas mensuráveis, em cujo caso a resposta será vetorial, isto é, será caracterizada
por um vetor de grandezas escalares.
Sem perda de generalidade, é possível afirmar que essa resposta muda com o tempo,
isto é, é uma função do tempo. Mesmo que permaneça constante, não se deve esquecer que
uma constante constitui também uma função temporal.
Tratando-se de respostas escalares, serão denominadas genericamente com a função
y(t), explicitando a dependência da variável temporal; e se tratando de respostas vetoriais, a
denominação genérica será y(t). A negrita explicita a característica vetorial de uma variável.
Também se denomina a resposta de um sistema com o nome de sinal de saída desse
sistema.
Muitas plantas, para funcionar, isto é, para gerar uma determinada resposta, precisam de
uma ação concreta aplicada nelas. Essa ação pode ser uma força, uma energia elétrica, calor,
ou qualquer outro tipo de energia aplicada. Em geral, essa ação também estará caracterizada
por uma grandeza física mensurável, ou bem por um conjunto delas. Essa ação aplicada no
69
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

sistema, necessária para seu funcionamento, se denomina como excitação do sistema. A


excitação também é, genericamente, uma variável temporal; essa grandeza física muda com o
tempo. Também pode se tratar de uma grandeza só, em cujo caso fala-se em excitação escalar,
ou um conjunto de ações, em cujo caso se trata de uma excitação vetorial. No primeiro caso se
denomina a excitação escalar genericamente como u(t), e a excitação vetorial, u(t), onde
também aqui fica explicitada sua dependência da variável temporal.
Também se denomina a excitação do sistema com o nome de sinal de entrada do
sistema.
No caso dos robôs manipuladores, obviamente a excitação estará dada pelo torque ou
força, fornecido pelos atuadores, aplicados em cada junta. Trata-se portanto de uma excitação
vetorial, a não ser que o manipulador seja de apenas 1 DOF. A resposta do sistema
manipulador estará dada pelas grandezas físicas que caracterizam o movimento deste, isto é,
pela posição de cada junta, sejam estas posições representadas por ângulos ou distâncias, caso
a junta em particular seja de revolução ou prismática, ou seja, pelo vetor de coordenadas
generalizadas. Também o movimento pode estar caracterizado pela velocidade ou ainda
aceleração de cada junta, dependendo do objetivo do sistema de controle. Nesse caso, a
resposta do sistema estará dada pela derivada do vetor de coordenadas generalizadas, ou ainda
pela segunda derivada com respeito ao tempo deste vetor, isto é, pelas velocidades e
acelerações das juntas. Também pode se expressar a resposta do manipulador no espaço de
trabalho, isto é, pela posição, velocidade ou aceleração do punho do manipulador. Os quais se
relacionam com o vetor de coordenadas generalizadas através das equações da cinemática
inversa.
A excitação é fornecida pelo controlador através dos atuadores, ou dispositivos que
transformam uma energia elétrica em algum outro tipo de energia, térmica mecânica, etc. No
caso dos robôs manipuladores, o normal é utilizar motores de corrente contínua com algum
tipo de redução mecânica, como foi apontado no capítulo 1.
Entende-se por controlador o dispositivo, que pode ser eletrônico, mecânico, ou
combinação de ambos, que tem por objetivo controlar um sistema. Em geral, o controlador é
conectado na entrada da planta e é responsável pela geração do sinal de excitação u(t) (seja
qual for a grandeza física desse sinal) que vai produzir a resposta y(t) desejada. Geralmente, o
controlador tem uma entrada chamada de sinal de referência r(t). Essa referência, que também
está caracterizada por uma função do tempo e que pode estar constituída por um sinal de
qualquer grandeza física, tem por objetivo indicar ao controlador como é a resposta y(t)

70
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

desejada da planta. Assim, o objetivo do controlador, idealmente, é gerar uma excitação u(t)
tal que a resposta da planta y(t) seja igual a essa referência r(t).
Em muitos sistemas automatizados se utilizam controladores mecânicos (por exemplo em
alguns sistemas com auto-regulagem de velocidade), ou circuitos eletrônicos, ativos ou
passivos. Mas o mais comum, pelo menos em sistemas de alguma complexidade como no
caso dos robôs manipuladores, é utilizar algum tipo de processador digital como controlador.
Os controladores podem ser microprocessadores, microcontroladores, computadores ou
controladores industriais mais específicos como é o caso dos controladores lógicos
programáveis ou CLP, muito utilizados nas indústrias de manufatura.
Em geral, nos controladores digitais, a entrada de referência não é um sinal externo, mas
uma referência estabelecida por software ou introduzida através de um dispositivo periférico.
A informação sobre a amplitude da referência ou a variação dessa função com o tempo pode
estar determinada pelo programa de controle, ou bem introduzida pelo usuário através de
algum dispositivo de entrada de informação (mouse, teclado, joystick).
O programa de controle determina a estratégia a seguir para conseguir que a resposta do
sistema acompanhe a referência o mais fielmente possível. Para implementar esta estratégia,
na maioria dos sistemas de alguma complexidade, o controlador precisa conhecer a resposta
da planta. Esta é fornecida através de sensores, ou dispositivos que transformam as grandezas
físicas que caracterizam o comportamento da planta num sinal elétrico que o controlador
possa ler através de interfaces adequadas. Assim, no caso dos robôs manipuladores, os
sensores mais utilizados são os encoders óticos incrementais, que transformam a posição de
cada junta em dois trens de pulsos de uma resolução adequada.
Em geral, o programa de controle não precisará saber o valor da referência e da resposta
a cada instante de tempo, mas apenas sua diferença, ou sinal de erro do sistema e(t). O
objetivo da estratégia de controle é que este sinal de erro tenda para zero, gerando o
controlador uma excitação no sentido adequado para conseguir diminuir ou aumentar a
resposta da planta até zerar o erro.
Nos casos em que a entrada do controlador é o sinal de erro, é introduzida no
controlador a resposta da planta realimentada e a referência (caso ela deva ser introduzida
externamente), que o processador calcula por software o valor do erro, e processa também por
software esse sinal para calcular o valor do sinal de excitação que deverá entregar para ser
aplicado na planta.
Na seguinte figura apresenta-se um diagrama de blocos que representa um sistema de
controle completo realimentado negativamente.
71
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

r(t) e(t) u(t) u(t) y(t)


+
controlador atuadores planta
-

y(t)
sensores

Figura 4.1: Sistema controlado realimentado negativamente

1.2. ESPECIFICAÇÕES TÉCNICAS

Em muitos casos, é impossível para o controlador fazer com que a resposta da planta
seja exatamente igual à referência. Por exemplo, suponha-se que esse sinal de referência
indica a posição do punho do manipulador. Se ele tiver uma mudança instantânea,
obviamente, o mesmo não acontecerá com a resposta do sistema, pois uma mudança
instantânea de posição implica aceleração infinita e, portanto, energia infinita, o que nenhuma
fonte de alimentação real pode fornecer.
Por esse motivo, em geral o projetista define uma série de condições ou especificações
técnicas, dentro das quais deseja que a resposta se mantenha.
Entende-se por especificações técnicas o conjunto de requerimentos ou exigências
especificadas pelo usuário do sistema com respeito ao comportamento dele. Em geral, uma
primeira especificação técnica mínima exigida é que o sistema seja estável; se o sistema não
for naturalmente, o controle do sistema deverá procurar que se comporte como tal. Uma outra
especificação pode ser o percentual de overshoot, ou relação entre o valor máximo da resposta
por cima do seu valor final, e o valor final dela (valor quando t→∞). O usuário pode desejar
que esse valor não ultrapasse um determinado limite máximo para não danificar o sistema
total. Inclusive pode desejar que o sistema não tenha overshoot nenhum. Uma outra
especificação pode estar referida ao tempo de estabelecimento da resposta, ou tempo no qual a
resposta vai demorar para se estabelecer dentro do 10% ao redor do valor final. Também o
tempo de crescimento da resposta pode estar dentro das especificações técnicas, ou tempo em
que a resposta vai demorar em chegar de um 10% até um 90% do seu valor máximo. O
usuário pode querer que esse tempo não ultrapasse um determinado limite, pois no caso
72
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

contrário a resposta seria lenta demais para os requerimentos necessários para uma
determinada aplicação.

Figura 4.2: Especificações técnicas

A velocidade de resposta e a estabilidade são duas características importantes do


desempenho dinâmico relacionado com o projeto de sistemas de controle. A velocidade de
resposta refere-se à capacidade do sistema de atingir um estado estável desejado num curto
período de tempo. Está relacionado com o tempo de crescimento e o tempo de
estabelecimento dos sinais de saída, e depende, em geral, do sistema de controle. A
estabilidade é geralmente definida como uma medida das oscilações que ocorrem no sistema
durante o movimento de uma posição para a outra, ou mais genericamente, durante a
passagem de um estado estável para um outro determinado. Está relacionado com o
percentual de overshoot da resposta do sistema. Um sistema com boa estabilidade apresentará
pouca ou nenhuma oscilação durante a passagem de um estado para outro ou no término dessa
passagem. Uma estabilidade pobre estaria indicada por uma grande amplitude de oscilação. É
geralmente desejável no projeto de sistemas de controle que o sistema tenha boa estabilidade
e um tempo de resposta rápido. Infelizmente, estes são geralmente objetivos concorrentes,
devendo o projetista chegar a uma solução de compromisso entre as especificações técnicas.
Ambos conceitos caracterizam o que se conhece como desempenho transitório do
sistema, ou comportamento da resposta antes de atingir seu estado estável.
Por exemplo, imagine-se o caso de um manipulador que deve atingir uma determinada
posição dentro do seu espaço de trabalho. Um excessivo overshoot indicará oscilações de
grande amplitude ao redor do ponto alvo antes de se estabilizar neste.

73
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

1.3. ESTRATÉGIAS DE CONTROLE

Como foi mencionado no capítulo 1, existem basicamente três tipos diferentes de


controle.
O primeiro é chamado controle ON-OFF. Nesta estratégia, o controlador atua de
maneira digital, ativando e desativando atuadores, sem controle sobre a quantidade de energia
fornecida a estes. No caso dos manipuladores, esta estratégia é apenas utilizada nos
dispositivos do tipo bang-bang, principalmente pistões pneumáticos. O controlador ativa e
desativa eletro-válvulas, permitindo ou não a passagem de ar comprimido que empurra ou
puxa as hastes dos pistões. Como é muito difícil controlar a posição da haste de um pistão
pneumático, devido à compressibilidade do ar, normalmente estes dispositivos se utilizam
entre os topos mecânicos, sem qualquer controle da posição ou trajetória intermediária. Daí o
nome de dispositivos bang-bang. Observe-se que um manipulador com dois elos, somente
terá 4 posições estáveis possíveis.
O segundo tipo é o chamado controle de posição, ou controle ponto a ponto. Neste tipo
de controle, o objetivo é levar o manipulador até uma posição fixa e deixá-lo estacionado ali
com velocidade nula. Este estado permanece indefinidamente ou até nova ordem, isto é, até
um novo sinal de referência fornecido. O controlador cuida apenas da posição final do
manipulador, sem interessar as trajetórias intermediárias percorridas, ou cuidando apenas de
observar as especificações técnicas como tempo de estabelecimento, overshoot, entre outras.
Observe-se que, neste caso, o sinal de referência r(t) é uma constante, que representará a
posição constante desejada, a que pode ser expressada no espaço das juntas, como o valor
desejado das coordenadas generalizadas, ou no espaço de trabalho, como a posição desejada
do efetuador. É claro que ambas posições desejadas também estão relacionada pelas equações
da cinemática.
O terceiro tipo de controle é o controle de trajetória. Neste, o controlador não apenas
cuida da posição final do manipulador, mas também de toda a trajetória deste, isto é, da
posição, velocidade, e aceleração das juntas a cada instante de tempo. Este tipo de controle,
como foi mencionado no primeiro capítulo, é utilizado quando se pretende que o efetuador
percorra uma determinada trajetória no espaço de trabalho, por exemplo, em aplicações para
robôs de solda. Observe-se que, neste caso, o sinal de referência é uma função do tempo e
pode representar a trajetória desejada de cada junta, ou do efetuador no espaço de trabalho.
Também, ambas trajetórias desejadas estão relacionadas pelas equações da cinemática.

74
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

1.4. CONTROLE PONTO A PONTO

Para o modelo dinâmico do manipulador da forma da equação 3.11, é possível provar,


através do teorema de Lyapunov (Spong e Vidyasagar, 1989) que um simples PD com
compensação de torque gravitacional é assintoticamente globalmente estável (GAS).
Este tipo de estabilidade GAS, refere-se a que o erro de trajetória tende a zero
assintoticamente, e globalmente porque independe do valor do erro inicial, isto é, seja qual for
a posição inicial.
Chamando à posição de referência, ou posição desejada, qd = cte, expressada como um
vetor no espaço das juntas. Note-se que, por ser constante:

q& d = q
&& d = 0

O erro será denominado:


~ = q−q
q d

sendo q o vetor de coordenadas generalizadas (ou posição de cada junta).


Portanto, a lei de controle escolhida é
(4.1)
~ − K q& + g (q)
τ = −K p q d

Observe-se que os dois primeiros termos correspondem a uma compensação do tipo PD,
onde se realimenta o erro de posição, e o erro de velocidade (ou a derivada de q, já que a
velocidade desejada é zero). A compensação do torque gravitacional tem sua explicação
porque, atingida a posição desejada com velocidade nula, objetivo do controle ponto a ponto,
os dois primeiros termos seriam zero, e o peso dos elos provocariam que o braço caísse,
dando um erro de estado estacionário. Se o manipulador estiver posicionado na horizontal, a
energia potencial V(q)=0 e portanto g(q)=0, devido ao peso ser anulado pela reação do plano.
A dinâmica do sistema em malha fechada fica:

~ − K q& + g(q)
&& + C(q, q& )q& + g(q) = − K p q
D(q)q d

&& + [C(q, q& ) + K d ]q& + K p = 0


⇒ D(q)q

Dinâmica globalmente assintoticamente estável ao redor do ponto

75
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

~=0
q
Observe-se que, para implementar esta lei de controle, é preciso realimentar a posição e
a velocidade de cada junta. Se o manipulador não possuir tacômetros nestas, é preciso estimar
a velocidade , por exemplo derivando a posição com respeito ao tempo, embora este seja um
processo ruidoso. Também, se bem não é preciso conhecer a dinâmica do manipulador, pelo
menos as cosntantes físicas que fazem parte das componentes do vetor de torque
gravitacional. Se estas constantes fossem desconhecidas, esta lei não pode ser implementada.

g(q)
qd q~ q q&
+ -+
Kp manipulador ∂q/∂t
-
-
Kd

encoders

Figura 4.3: Diagrama de blocos da lei de controle em malha fechada

1.5. CONTROLE DE TRAJETÓRIA

O controle de trajetória estabelece um problema mais complexo do que o controle de


posição. Isto deve-se a que o controlador deve estar cuidando em cada período de amostragem
não apenas da posição de cada junta, mas também das suas velocidades e acelerações.
O controle PD com compensação de torque gravitacional analisado na seção anterior,
não se mostra capaz de rastrear uma trajetória com erro tendendo assintoticamente para zero.
Pelo menos, analiticamente não é possível provar a estabilidade do sistema 3.11 com a lei de
controle 4.1. Na prática se os ganhos dos termos proporcional e derivativo forem
suficientemente elevados, o manipulador acompanha a trajetória desejada com certa precisão.
O problema que altos ganhos de controle PD acarretam a saturação dos atuadores, porque o
sinal de controle tem maior amplitude para igual nível de erro; amplificam os ruídos de
medição de velocidade, ou os ruídos de alta freqüência provocados pela derivação com
respeito ao tempo da posição para estimar a velocidade, o que é um processo ruidoso, como já
foi apontado; amplificam os efeitos das dinâmicas não modeladas, ou efeitos dinâmicos

76
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

desprezados no modelo 3.11, mas que, amplificados, mudam o comportamento dinâmico do


manipulador. Eis as razões pelas quais os ganhos dos termos proporcionais e derivativos
sempre devem se manter em valores razoavelmente pequenos.
O algoritmo mais popular para o controle de rastreamento de trajetórias em robôs
manipuladores é a linearização por realimentação, ou lei do torque computado.
Esta estratégia de controle consiste em duas realimentações, uma malha interna de
realimentação e uma malha externa. A malha interna, ou primeira realimentação, elimina as
não linearidades do modelo dinâmico do manipulador. Assim, a malha externa, ou segunda
realimentação, vê apenas um sistema de comportamento linear de ordem 2, o qual é muito
simples de controlar. A lei de controle da malha externa pode ser um simples PD que coloque
dois pólos na mesma posição do eixo real negativo, a fim de obter um sistema total em malha
fechada criticamente amortecido, o que garante rápida resposta, zero overshoot, além de boa
estabilidade.
Dado o manipulador cuja dinâmica é descrita pela equação 3.11, a primeira lei de
controle, ou primeira realimentação, é escolhida como:

τ = D(q) v + C(q, q& )q& + g(q)

sendo v o novo vetor de entrada de controle ou excitação para a malha externa.


Observe-se que, aplicando esta lei de controle na equação 3.11, a dinâmica total do sistema
nessa primeira malha fechada fica:

&& + C(q, q& )q& + g (q) = D(q) v + C(q, q& )q& + g (q)
D(q)q
⇒v=q &&

por ser D(q) simétrica positiva definida, sempre existe matriz inversa para qualquer
valor do vetor q.
Assim, a dinâmica em malha fechada fica um simples sistema linear de segunda ordem.
A lei de controle externa, é escolhida como:

v=q ~& − λ2 q
&& d − 2λ q ~
com o que a dinâmica do sistema em malha fechada fica
&& = q
q ~& − λ2 q
&& − 2λq ~ ⇒ q ~ ~& + λ2 q
&& + 2λ q ~=0
d

77
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

Sendo λ um ganho escalar qualquer. Esta equação representa um sistema de erros de


segunda ordem criticamente amortecidos, com ambos pólos em -λ, isto é, que tendem
exponencialmente para zero. A velocidade de decrescimento dos erros é dada pela constante
λ.
A figura seguinte representa ambas malhas de realimentação:

q d q& d q
&& d q q&
~& − λ2 q
&& d − 2λq ~ v Dv + Cq + g τ manipulador
q

Figura 4.4: Duas malhas de realimentação para controle de trajetória por torque computado

1.6. CONTROLE DE FORÇA

Em diversas aplicações, não é suficiente com controlar a trajetória do manipulador. Às


vezes, principalmente quando o efetuador está em contato com algum objeto, o que acontece
em robôs de solda, por exemplo, onde o efetuador é uma ponta de solda que deve fazer uma
certa pressão sobre o objeto a soldar, ou em manipuladores destinados a escrever, onde a
caneta tem de exercer pressão sobre a superfície a escrever, ou em manipuladores cuja tarefa é
apertar um parafuso, por exemplo, é necessário também controlar a força com que o efetuador
faz contato sobre a superfície, a fim de não quebrar o efetuador nem exercer uma pressão
excessiva ou inadequada para a aplicação específica.
Perseguindo este objetivo, é que diversos manipuladores, entre eles o IMI Zebra Zero,
possuem no seu punho seis extensômetros ou strain gauges destinados a medir a força e os
torques do punho sobre a superfície de contato. Três destes transdutores destinam-se a medir o
vetor de força sobre o efetuador no sentido radial, ou sentido da junta de roll, e os outros três
destinam-se a medir o vetor de momento dessa força ou torque exercido sobre o punho do
manipulador.
O controle de força mais utilizado é o chamado de controle híbrido.
Nesta estratégia de controle, quando o manipulador está se movimentando livremente
dentro do espaço de trabalho, a trajetória é controlada normalmente como analisado na seção
anterior. Quando o efetuador entra em contato com alguma superfície, o que é detectado pelos
78
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

sensores de força no punho, a trajetória é controlada normalmente mas apenas em dois eixos
do referencial não inercial solidário com o efetuador, de maneira que se controla apenas o
deslocamento do efetuador sobre esta superfície. Sobre o terceiro eixo, é controlada a força
que o efetuador exerce sobre esta superfície, e não mais a trajetória. Havendo um vetor de
força de referência, ou força desejada, e um vetor de resposta de força dado por estes
sensores, por exemplo um controle PD pode cuidar que o erro entre a força de contato
desejada e a força real aplicada tenda assintoticamente para zero, mas apenas sobre este eixo,
permitindo assim o manipulador se deslocar sobre a superfície exercendo a força adequada
para a aplicação.
A figura seguinte representa um diagrama de blocos do controle híbrido.

Figura 4.5: Diagrama de blocos do sistema de controle de força

Nesse diagrama, X representa a trajetória real descrita no espaço de trabalho, isto é, a


trajetória do punho do manipulador expressada em coordenadas cartesianas, F é a força
exercida sobre a superfície de contato, Xd representa a trajetória desejada, também expressada
no espaço de trabalho, e Fd a força de contato desejada sobre a superfície.
As restrições estão dadas pelo sentido da superfície de contato, e consiste em multiplicar
o vetor de excitação τ calculado pelo controle de trajetória (de três componentes quando
expressado no espaço de trabalho) e o vetor de excitação dado pelo controle de força, também
de três componentes, por matrizes diagonais que tem por objeto zerar algumas das
componentes destes vetores no eixo adequado.
Se, por exemplo, houver alguma restrição para a movimentação do manipulador no eixo
y do referencial solidário com o efetuador, estas duas matrizes serão :

79
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

1 0 0 0 0 0 
S x = 0 0 0 e S f = 0 1 0
0 0 1 0 0 0

De maneira tal que nos eixos x e z se exerce o controle de trajetória normal, e no eixo y
se exerce o controle de força.

80
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos

BIBLIOGRAFIA

• Fu, González, Lee: Control, sensing, vision and intelligens. Mc. Graw – Hill. New
York. 1997.
• Spong, M. e Vidyasagar, M.: Robot dynamic and control. Wiley. New York. 1989.
• Craig, J. J.: Introduction to robotics, mechanics and control. Addison – Wesley
publishing company. 1986.
• Slotine, J.J. e Li, W.: Applied nonlinear control. Prentice-Hall. New Jersey. 1991.
• Critchlow, Arthur: Introduction to robotics. Macmillan publishing company. New
York. 1985.
• Kuo, B. C.: Automatic control systems. Prentice – Hall, Englewood Cliff, 4° ed. NJ.
1982.
• Groover, Weiss, Nagel e Odrey: Robótica, tecnologia e programação. Mc. Graw –
Hill. São Paulo. 1989.
• Nof, Shimon: Handbook of industrial robotics. John Wesley and sons. USA. 1985.
• Salant, Michael: Introdução à Robótica. Mc. Graw – Hill. São Paulo. 1991.
• Ullrich, Roberto: Robótica, uma introdução. Editora Campus. Rio de Janeiro. 1987.
• Paul, Richard: Robot manipulators. Mathematics, programming and control. The
MIT Press. Massachusetts. 1982.
• ORT Open Tech Robotics Literacy Course. Robot coordinate systems. World ORT
Union Technical Department. London. 1984.
• ORT Open Tech Robotics Literacy Course. Robot versatility. World ORT Union
Technical Department. London. 1984.
• Pazos, Fernando: Controle adaptativo/robusto em modo dual para robôs
manipuladores. Tese de M.Sc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil, 2000.
• Pazos, Fernando: Automação de sistemas e robótica. Axcel Books do Brasil. Rio de
Janeiro. 2002.

81
Apêndice: Modelo dinâmico de braços
mecânicos

June 13, 2011

Neste capı́tulo serão desenvolvidas as equações dinâmicas de braços mecânicos


com juntas de revolução de 2 e 3 graus de liberdade, baseadas na equação
dinâmica. Serão considerados em ambos casos a primeira junta como a
rotação da base do robô.
As equações apresentadas foram conferidas no programa MAPLE.
A diferença com respeito ao mesmo assunto extensamente apresentado
em diversos trabalhos (ver [1], [3], [2], [4], entre outros) consiste em que em
muitos casos não é tida em conta a articulação da base do braço como um
grau de liberdade, considerando apenas as juntas verticais.

1
1 Equação dinâmica de um robô de 2 DOF

Figura A1.1: Robô de 2 DOF

Consideraremos, como é mostrado no desenho, as articulações da base e


do ombro.

• Coordenadas dos centros de massa de cada junta

2
A partir do desenho, podemos deduzir as coordenadas do centro de massa:


 xc1 = 0
c1 yc = 0
 1
zc1 = lc1

 xc2 = lc2 cos q2 cos q1
c2 yc = lc2 cos q2 sin q1 (1)
 2
zc2 = lc2 sin q2 + l1

• Velocidades lineares dos centros de massa

Derivando (1):
  
 ẋc1 = 0 0 0  
q̇1
vc1 ẏc = 0 ⇒ vc1 =  0 0 
 1 q̇2
żc1 = 0 0 0


 ẋc2 = −lc2 sin q1 cos q2 q̇1 − lc2 cos q1 sin q2 q̇2
vc2 ẏc2 = lc2 cos q1 cos q2 q̇1 − lc2 sin q1 sin q2 q̇2
żc2 = lc2 cos q2 q̇2

 
−lc2 sin q1 cos q2 −lc2 cos q1 sin q2  
q̇1
⇒ vc2 =  lc2 cos q1 cos q2 −lc2 sin q1 sin q2  (2)
q̇2
0 lc2 cos q2

e como vci = Jvci q̇ =⇒

 
0 0
Jvc1 =  0 0  (3)
0 0
 
−lc2 sin q1 cos q2 −lc2 cos q1 sin q2
Jvc2 =  lc2 cos q1 cos q2 −lc2 sin q1 sin q2 
0 lc2 cos q2

• Velocidades angulares dos centros de massa (expressados com respeito


ao sistema inercial)

3
   
0 0 0  
q̇1
̟c1 = q̇1 k̆0 = 0 q̇1 = 0 0
    = J̟c1 q̇
q̇2
1 1 0
 
q̇2 sin q1
̟c2 = q̇1 k̆0 + q̇2 sin q1 ĭ0 − q̇2 cos q1 j̆0 =  −q̇2 cos q1 
q̇1
 
0 sin q1  
q̇1
=  0 − cos q1  = J̟c2 q̇ (4)
q̇2
1 0

• Matrizes de rotação

Segundo (??) e (??):

   
ĭ1 ĭ0 j̆1 ĭ0 k̆1 ĭ0 cos q1 − sin q1 0
R01 =  ĭ1 j̆0 j̆1 j̆0 k̆1 j̆0 = sin q1
  cos q1 0 
ĭ1 k̆0 j̆1 k̆0 k̆1 k̆0 0 0 1
   
ĭ2 ĭ1 j̆2 ĭ1 k̆2 ĭ1 cos q2 0 − sin q2
R12 =  ĭ2 j̆1 j̆2 j̆1 k̆2 j̆1 =
  0 1 0 
ĭ2 k̆1 j̆2 k̆1 k̆2 k̆1 sin q2 0 cos q2
 
cos q1 cos q2 − sin q1 − cos q1 sin q2
R02 1 2
= R0 R1 = sin q1 cos q2 cos q1
 − sin q1 sin q2  (5)
sin q2 0 cos q2

• Vetores ̟ com respeito aos sistemas não inerciais (solidários a cada


junta)

 
0 0  
q̇1
̟c11 = q̇1 k̆1 = 0 0
 
q̇2
1 0
 
sin q2 0  
q̇1
̟c22 = q̇1 sin q2 ĭ2 + q̇1 cos q2 k̆2 − q̇2 j̆2 =  0 −1  (6)
q̇2
cos q2 0

Conferimos que ̟ci0 = R0j ̟cij (onde j indica o sistema de coordenadas


ao que está referido o vetor):

4
   
0 0   0 0  
q̇1 1 q̇1
̟c10 = 0
 0  = R0 0 0  = R01 ̟c11
q̇2 q̇2
1 0 1 0
   
0 sin q1   sin q2 0  
q̇1 2 q̇1
̟c20 = 0
 − cos q1  = R0 0 −1  = R01 ̟c22
q̇2 q̇2
1 0 cos q2 0

1.1 Matriz de inércia

2
X T
D(q) = [mi JvTci Jvci + J̟T ci R0i Ii R0i J̟ci ]
n=1

De (3), (5)e (4): 


0 0
JvTc1 Jvc1 =
0 0
 2 
T lc2 cos2 q2 0
Jvc2 Jvc2 =
0 lc22
    
cos q1 sin q1 0 0 0 0 0
T
R01 J̟c1 =  − sin q1 cos q1 0   0 0  =  0 0  ⇒ J̟T c1 R01 =
  0 0 1 1 0 1 0
0 0 1
0 0 0
  
cos q1 cos q2 sin q1 cos q2 sin q2 0 sin q1
T
R02 J̟c2 =  − sin q1 cos q1 0   0 − cos q1  =
− cos q1 sin q2 − sin q1 sin q2 cos q2 1 0
 
sin q2 0
 0 −1 
cos q2 0
 
T 2 sin q2 0 cos q2
=⇒ J̟c2 R0 =
0 −1 0
Portanto:   
  I111 I112 I113 0 0  
T 1 2T 0 0 1  I133 0
J̟c1 R0 I1 R0 J̟c1 = I121 I122 I123   0 0 =
0 0 0 0 0
I131 I132 I133 1 0
  
  I211 I212 I213 sin q2 0
T sin q2 0 cos q2 
J̟T c2 R02 I2 R02 J̟c2 = I221 I222 I223   0 −1  =
0 −1 0
I231 I232 I233 cos q2 0 
2
 2
I211 sin q2 + (I213 + I231 ) sin q2 cos q2 + I233 cos q2 −I212 sin q2 − I232 cos q2
−I221 sin q2 − I223 cos q2 I222

5
tendo em conta que a matriz I é simétrica e que 2 sin α cos α = sin(2α) :
I211 sin2 q2 + I213 sin(2q2 ) + I233 cos2 q2 −I212 sin q2 − I232 cos q2
 
=
−I212 sin q2 − I232 cos q2 I222
Somando todos os termos:
 
d11 d12
D(q) = (7)
d21 d22

sendo:
d11 = m2 lc22 cos2 q2 + I133 + I211 sin2 q2 + I213 sin(2q2 ) + I233 cos2 q2
d12 = −I212 sin q2 − I232 cos q2 = d21
d22 = m2 lc22 + I222
onde, segundo (??):
R R R
I133 = m1 (x2 + y 2)∂m ; I211 = m2 (y 2 + z 2 )∂m ; I213 = − m2 xz∂m ;
R R R
I233 = m2 (x2 + y 2 )∂m ; I212 = − m2 xy∂m ; I232 = − m2 yz∂m ; I222 =
R
m2
(x2 + z 2 )∂m

1.2 Matriz C
Segundo o cálculo dos coeficientes de Cristoffel:
2  
X 1 ∂dkj ∂dki ∂dij
Ckj = + − q̇i
i=1
2 ∂qi ∂qj ∂qk
Desenvolvendo-a
h para cada componente
i h da matriz: i
C11 = 2 ∂q1 + ∂q1 − ∂q1 q̇1 + 2 ∂q2 + ∂d
1 ∂d11 ∂d11 ∂d11 1 ∂d11 12
∂q1
− ∂d21
∂q1
q̇2 = 1 ∂d11
2 ∂q1 1
q̇ +
1 ∂d11
2 ∂q2 2

= 12 2[(−m2 lc22 + I211 − I233 ) sin q2 cos q2 + I213 (cos2 q2 − sin2 q2 )]q̇2
= [(−m2 lc22 + I211 − I233 ) sin q2 cos q2 + I213 (cos2 q2 − sin2 q2 )]q̇2
= [(−m2 lc22 + I211 − I233 ) sin q2 cos q2 + I213 cos(2q2 )]q̇2
h i h i
1 ∂d12 ∂d11 ∂d12 1 ∂d12 ∂d12 ∂d22 1 ∂d11
C12 = 2 ∂q1
+ ∂q2
− ∂q1
q̇1 + 2 ∂q2
+ ∂q2
− ∂q1
q̇2 = 2 ∂q2 1
q̇ +
∂d12
∂q2 2

= [(−m2 lc22 + I211 − I233 ) sin q2 cos q2 + I213 cos(2q2 )]q̇1 + (−I212 cos q2 +
I232 sin q2 )q̇2
h i h i
C21 = 2 ∂q1 + ∂q1 − ∂q2 q̇1 + 2 ∂q2 + ∂q1 − ∂q2 q̇2 = − 21 ∂d
1 ∂d21 ∂d21 ∂d11 1 ∂d21 ∂d22 ∂d21 11
∂q2 1

= −[(−m2 lc22 + I211 − I233 ) sin q2 cos q2 + I213 cos(2q2 )]q̇1
h i h i
C22 = 2 ∂q1 + ∂q2 − ∂q2 q̇1 + 2 ∂q2 q̇2 = 21 ∂d
1 ∂d22 ∂d21 ∂d12 1 ∂d22 22
∂q2 2
q̇ = 0

6
 
C11 C12
C(q, q̇) = (8)
C21 C22
Podemos comprovar que (Ḋ − 2C) = −(Ḋ − 2C)T , demonstrando a
antissimetria mencionada.

1.3 Vetor torque gravitacional


A energia potencial V = m2 kgk (lc2 sin q2 + l1 )
∂V
Φ1 = ∂q 1
=0
∂V
Φ2 = ∂q2 = m2 glc2 cos q2 , sendo g = kgk
=⇒  
0
g(q) = (9)
m2 glc2 cos q2
Das matrizes calculadas (7), (8) e (9), podemos formar a equação:

D(q)q̈+C(q, q̇)q̇ + g(q) = τ (10)

7
2 Equação dinâmica de um robô de 3 DOF

Figura A2.1: Robô de 3 DOF

Como é mostrado no desenho, aqui tomaremos como juntas a base, o

8
ombro e o cotovelo.

• Coordenadas dos centros de massa de cada junta


 xc1 = 0
c1 yc = 0
 1
zc1 = lc1

 xc2 = lc2 cos q1 cos q2
c2 yc = lc2 sin q1 cos q2
 2
zc2 = l1 + lc2 sin q2

 xc3 = (lc3 cos(q2 + q3 ) + l2 cos q2 ) cos q1
c3 yc = (lc3 cos(q2 + q3 ) + l2 cos q2 ) sin q1 (11)
 3
zc3 = l1 + l2 sin q2 + lc3 sin(q2 + q3 )

• Velocidades lineares dos centros de massa

Derivando
 (11):
  
ẋc1 0
vc1 = ẏc1 = 0  =⇒ Jvc1 = 0
  
żc 0
 1   
ẋc2 −lc2 sin q1 cos q2 q̇1 − lc2 cos q1 sin q2 q̇2
vc2 =  ẏc2  =  lc2 cos q1 cos q2 q̇1 − lc2 sin q1 sin q2 q̇2  =
 żc2 lc2 cos q2 q̇2  
−lc2 sin q1 cos q2 −lc2 cos q1 sin q2 0 q̇1
=  lc2 cos q1 cos q2 −lc2 sin q1 sin q2 0   q̇2  = Jvc2 q̇
0 lc2 cos q2 0 q̇3
 
ẋc3
vc3 = ẏc3  =

żc3
 
−lc3 sin q1 cos(q2 + q3 )q̇1 − lc3 cos q1 sin(q2 + q3 )(q̇2 + q̇3 )−

 −l2 sin q1 cos q2 q̇1 − l2 cos q1 sin q2 q̇2 

 
 
 lc3 cos q1 cos(q2 + q3 )q̇1 − lc3 sin q1 sin(q2 + q3 )(q̇2 + q̇3 )+  =
 

 +l 2 cos q 1 cos q2 q̇1 − l2 sin q1 sin q2 q̇2


 
l2 cos q2 q̇2 + lc3 cos(q2 + q3 )(q̇2 + q̇3 )

−lc3 sin q1 cos(q2 + q3 ) − l2 sin q1 cos q2 −lc3 cos q1 sin(q2 + q3 ) − l2 cos q1 sin q2
 lc3 cos q1 cos(q2 + q3 ) + l2 cos q1 cos q2 −lc3 sin q1 sin(q2 + q3 ) − l2 sin q1 sin q2
0 l2 cos q2 + lc3 cos(q2 + q3 )

9
 
−lc3 cos q1 sin(q2 + q3 ) q̇1
−lc3 sin q1 sin(q2 + q3 )   q̇2  = Jvc3 q̇
lc3 cos(q2 + q3 ) q̇3
(12)

• Vetores ̟ com respeito ao sistema inercial

    
0 0 0 0 q̇1
̟c1 =  0  =  0 0 0   q̇2  = J̟c1 q̇ (13)
q̇1 1 0 0 q̇3
    
q̇2 sin q1 0 sin q1 0 q̇1
̟c2 =  −q̇2 cos q1  =  0 − cos q1 0   q̇2  = J̟c2 q̇
q̇1 1 0 0 q̇3
    
(q̇2 + q̇3 ) sin q1 0 sin q1 sin q1 q̇1
̟c3 =  −(q̇2 + q̇3 ) cos q1  =  0 − cos q1 − cos q1   q̇2  = J̟c3 q̇
q̇1 1 0 0 q̇3

• Matrizes de rotação

10
   
ĭ1 ĭ0 j̆1 ĭ0 k̆1 ĭ0 cos q1 − sin q1 0
R01 =  ĭ1 j̆0 j̆1 j̆0 k̆1 j̆0  =  sin q1 cos q1 0  (14)
ĭ1 k̆0 j̆1 k̆0 k̆1 k̆0 0 0 1
   
ĭ2 ĭ1 j̆2 ĭ1 k̆2 ĭ1 cos q2 0 − sin q2
R12 =  ĭ2 j̆1 j̆2 j̆1 k̆2 j̆1  =  0 1 0 
ĭ2 k̆1 j̆2 k̆1 k̆2 k̆1 sin q2 0 cos q2
   
ĭ3 ĭ2 j̆3 ĭ2 k̆3 ĭ2 cos q3 0 − sin q3
R23 =  ĭ3 j̆2 j̆3 j̆2 k̆3 j̆2  =  0 1 0 
ĭ3 k̆2 j̆3 k̆2 k̆3 k̆2 sin q3 0 cos q3
   
ĭ2 ĭ0 j̆2 ĭ0 k̆2 ĭ0 cos q2 cos q1 − sin q1 − sin q2 cos q1
R02 =  ĭ2 j̆0 j̆2 j̆0 k̆2 j̆0  =  cos q2 sin q1 cos q1 − sin q2 sin q1  =
ĭ2 k̆0 j̆2 k̆0 k̆2 k̆0 sin q2 0 cos q2
= R01 R12
 
ĭ3 ĭ0 j̆3 ĭ0 k̆3 ĭ0
R03 =  ĭ3 j̆0 j̆3 j̆0 k̆3 j̆0  =
ĭ3 k̆0 j̆3 k̆0 k̆3 k̆0
 
cos(q2 + q3 ) cos q1 − sin q1 − sin(q2 + q3 ) cos q1
=  cos(q2 + q3 ) sin q1 cos q1 − sin(q2 + q3 ) sin q1  = R02 R23
sin(q2 + q3 ) 0 cos(q2 + q3 )

• Vetores ̟ com respeito aos sistemas ligados a cada centro de massa

    
0 0 0 0 q̇1
̟c11 = q̇1 k̆1 =  0  =  0 0 0   q̇2 
q̇1 1 0 0 q̇3
  
sin q2 0 0 q̇1
̟c22 = −q̇2 j̆2 + q̇1 sin q2 ĭ2 + q̇1 cos q2 k̆2 =  0 −1 0   q̇2 
cos q2 0 0 q̇3
̟c33 = −(q̇2 + q̇3 )j̆3 + q̇1 sin(q2 + q3 )ĭ3 + q̇1 cos(q2 + q3 )k̆3
  
sin(q2 + q3 ) 0 0 q̇1
=  0 −1 −1   q̇2  (15)
cos(q2 + q3 ) 0 0 q̇3

Provamos que ̟i0 = R0i ̟ii

11
      
cos q1 − sin q1 0 0 0 0 q̇1 0 0 0 q̇1
R01 ̟11 =  sin q1 cos q1 0   0 0 0   q̇2  =  0 0 0   q̇2  =
0 0 1 1 0 0 q̇3 1 0 0 q̇3
̟10
   
cos q2 cos q1 − sin q1 − sin q2 cos q1 sin q2 0 0 q̇1
R02 ̟22 =  cos q2 sin q1 cos q1 − sin q2 sin q1   0 −1 0   q̇2  =
sin q2 0 cos q2 cos q2 0 0 q̇3
  
0 sin q1 0 q̇1
=  0 − cos q1 0   q̇2  = ̟20
1 0 0 q̇3
 
cos(q2 + q3 ) cos q1 − sin q1 − sin(q2 + q3 ) cos q1
R03 ̟33 =  cos(q2 + q3 ) sin q1 cos q1 − sin(q2 + q3 ) sin q1 
 sin(q2 + q3)  0  cos(q2 + q3 )  
sin(q2 + q3 ) 0 0 q̇1 0 sin q1 sin q1 q̇1
 0 −1 −1   q̇2  =  0 − cos q1 − cos q1   q̇2  =
cos(q2 + q3 ) 0 0 q̇3 1 0 0 q̇3
̟30

2.1 Matriz de inércia

3 h
X i
T
D(q) = mi JvTci Jvci + J̟T ci R0i Ii R0i J̟ci
i=1

De (12), (14) e (13):


JvTc1 Jvc1 = 0
 2 
lc2 cos2 q2 0 0
JvTc2 Jvc2 =  0 lc22 0 
0 0 0
 
[l2 cos q2 + lc3 cos(q2 + q3 )]2 0 0
T
Jvc3 Jvc3 =  0 lc3 + l2 + 2l2 lc3 cos q3 lc23
2 2
+ l2 lc3 cos q3 
0 lc23 + l2 lc3 cos q3 lc23
    
cos q1 sin q1 0 0 0 0 0 0 0
T
R01 J̟c1 =  − sin q1 cos q1 0   0 0 0  =  0 0 0 
0 0 1 1 0 0 1 0 0
  
cos q2 cos q1 cos q2 sin q1 sin q2 0 sin q1 0
T
R02 J̟c2 =  − sin q1 cos q1 0   0 − cos q1 0 
− sin q2 cos q1 − sin q2 sin q1 cos q2 1 0 0

12
 
sin q2 0 0
= 0 −1 0 
cos q2 0 0
 
cos(q2 + q3 ) cos q1 cos(q2 + q3 ) sin q1 sin(q2 + q3 )
T
R03 J̟c3 =  − sin q1 cos q1 0 
 − sin(q2 +q3 ) cos
 q1 − sin(q2 + q3 ) sin q1 cos(q2 + q3 )
0 sin q1 sin q1 sin(q2 + q3 ) 0 0
 0 − cos q1 − cos q1  =  0 −1 −1 
1 0 0 cos(q2 + q3 ) 0 0
     
0 0 1 I111 I112 I113 0 0 0 I133 0 0
T
J̟T c1 R01 I1 R01 J̟c1 =  0 0 0   I121 I122 I123   0 0 0  =  0 0 0 
0 0 0 I131 I132 I133 1 0 0 0 0 0
   
sin q2 0 cos q2 I211 I212 I213 sin q2 0 0
T
J̟T c2 R02 I2 R02 J̟c2 =  0 −1 0   I221 I222 I223   0 −1 0 
0 0 0 I231 I232 I233 cos q2 0 0
2
 2

I211 sin q2 + I213 sin(2q2 ) + I233 cos q2 −I212 sin q2 − I232 cos q2 0
= −I221 sin q2 − I223 cos q2 I222 0 
0 0 0
  
sin (q2 + q3 ) 0 cos (q2 + q3 ) I311 I312 I313
T
J̟T c3 R03 I3 R03 J̟c3 =  0 −1 0   I321 I322 I323  .
0 −1 0 I331 I332 I333
   
sin(q2 + q3 ) 0 0 t11 t12 t13
 0 −1 −1 = t21 t22 t23 
 
cos(q2 + q3 ) 0 0 t31 t32 t33
onde:
t11= I311 sin2 (q2 + q3 ) + I313 sin[2(q2 + q3 )] + I333 cos2 (q2 + q3 )
t12= − I312 sin(q2 + q3 ) − I332 cos(q2 + q3 )
t13= − I312 sin(q2 + q3 ) − I332 cos(q2 + q3 )
t21= − I321 sin(q2 + q3 ) − I323 cos(q2 + q3 )
t22 = I322
t23 = I322
t31 = −I321 sin(q2 + q3 ) − I323 cos(q2 + q3 )
t32 = I322
t33 = I322
Somando: P h i
=⇒ D(q) = 3i=1 mi JvTci Jvci + J̟T ci R0i Ii R0i J̟ci
T

 
d11 d12 d13
D(q) =  d21 d22 d23  (16)
d31 d32 d33

13
onde
d11 = m2 lc22 cos2 q2 + m3 [l2 cos q2 + lc3 cos(q2 + q3 )]2 + I133 + I211 sin2 q2 +
I213 sin 2q2 +I233 cos2 q2 +I311 sin2 (q2 +q3 )+I313 sin[2(q2 +q3 )]+I333 cos2 (q2 +q3 )
d12 = −I212 sin q2 − I232 cos q2 − I312 sin(q2 + q3 ) − I332 cos(q2 + q3 )
d13 = −I312 sin(q2 + q3 ) − I332 cos(q2 + q3 )
d21 = −I221 sin q2 − I223 cos q2 − I321 sin(q2 + q3 ) − I323 cos(q2 + q3 )
d22 = m2 lc22 + m3 [lc23 + l22 + 2l2 lc3 cos q3 ] + I222 + I322
d23 = m3 [lc23 + l2 lc3 cos q3 ] + I322
d31 = −I321 sin(q2 + q3 ) − I323 cos(q2 + q3 )
d32 = m3 [lc23 + l2 lc3 cos q3 ] + I322
d33 = m3 lc23 + I322

2.2 Matriz C
Segundo o cálculo dos coeficientes de Cristoffel
3  
X 1 ∂dkj ∂dki ∂dij
Ckj = + − q̇i
i=1
2 ∂qi ∂qj ∂qk
Desenvolvendo-a para cada componente da matriz:
C11 = 21 ∂d 11
∂q1 1
q̇ + 21 ∂d 11
∂q2 2
q̇ + 12 ∂d 11
∂q3 3
q̇ =
1
[−m2 lc22 −m3 l22 +I211 −I233 ] 2 sin(2q2 )q̇2 −m3 l2 lc3 sin(2q2 +q3 )q̇2 +[−m3 lc23 +
I311 − I333 ] 21 sin[2(q2 + q3 )](q̇2 + q̇3 ) + I213 cos(2q2 )q̇2 + I313 cos[2(q2 + q3 )](q̇2 +
q̇3 ) − m3 l2 lc3 cos q2 sin(q2 + q3 )q̇3
C12 = 21 ∂d 11
∂q2 1
q̇ + ∂d 12
∂q2 2
q̇ + 21 ∂d 12
∂q3 3
q̇ + 12 ∂d13
∂q2 3
q̇ =
(− 2 m2 lc2 − 2 m3 l2 + 2 I233 ) sin(2q2 )q̇1 + (− 12 m3 lc23 + 21 I311 − 12 I333 ) sin[2(q2 +
1 2 1 2 1

q3 )]q̇1 −m3 l2 lc3 sin(2q2 +q3 )q̇1 +I313 cos[2(q2 +q3 )]q̇1 +I213 cos(2q2 )q̇1 −I212 cos q2 q̇2 +
I232 sin q2 q̇2 − I312 (q̇2 + q̇3 ) cos(q2 + q3 ) + I332 sin(q2 + q3 )(q̇2 + q̇3 )
h i h i
1 ∂d11 1 ∂d13 ∂d12 1 ∂d13
C13 = 2 ∂q3 q̇1 + 2 ∂q2 + ∂q3 q̇2 + 2 ∂q3 2 q̇3 =
{−m3 l2 lc3 cos q2 sin(q2 + q3 ) + (− 21 m3 lc23 + 12 I311 − 21 I333 ) sin[2(q2 + q3 )] +
I313 cos[2(q2 + q3 )]}q̇1 + [−I312 cos(q2 + q3 ) + I332 sin(q2 + q3 )](q̇2 + q̇3 )
h i
C21 = − 21 ∂d 11
∂q2 1
q̇ + 1 ∂d21
2 ∂q3
− ∂d31
∂q2
q̇3 =
{[ 12 m2 lc22 + 21 m3 l22 − 21 I211 + 21 I233 ] sin(2q2 )+[ 12 m3 lc23 − 21 I311 + 21 I333 ] sin[2(q2 +
q3 )] + m3 l2 lc3 sin(2q2 + q3 ) − I213 cos(2q2 ) − I313 cos[2(q2 + q3 )]}q̇1
C22 = 21 ∂d 11
∂q3 3
q̇ =
−m3 l2 lc3 sin q3 q̇3
h i
C23 = 2 ∂q3 − ∂q2 q̇1 + 12 ∂d
1 ∂d21 ∂d13 22
∂q3 2
q̇ + ∂d23
∂q3 3
q̇ =
−m3 l2 lc3 sin q3 (q̇2 + q̇3 )

14
h i
C31 = − 12 ∂d11
∂q3 1
q̇ + 1
2
∂d21
∂q3
∂d31
q̇2 =
∂q2

{m3 l2 lc3 cos q2 sin(q2 +q3 )+(m3 lc23 −I311 +I333 ) 12 sin[2(q2 +q3 )]−I313 cos[2(q2 +
q3 )]}q̇1
h i
∂d31 ∂d12
C32 = 1
2

∂q2
q̇1 − 21 ∂d
∂q3
22
∂q3 2
q̇ =
m3 l2 lc3 sin q3 q̇2
C33 = 0
Com esses termos, a matriz C(q, q̇) fica:
 
C11 C12 C13
C(q, q̇) =  C21 C22 C23  (17)
C31 C32 C33
Também podemos conferir a antisimetria de Ḋ − 2C.

2.3 Vetor torque gravitacional


A energia potencial V = Vc2 + Vc3 = m2 g(lc2 sin q2 + l1 ) + m3 g[l1 + l2 sin q2 +
lc3 sin(q2 + q3 )].
∂V
Φ1 = ∂q 1
=0
∂V
Φ2 = ∂q2 = m2 glc2 cos q2 + m3 gl2 cos q2 + m3 glc3 cos(q2 + q3 )
∂V
Φ3 = ∂q 3
= m3 glc3 cos(q2 + q3 )
 
0
g(q) =  g(m2 lc2 + m3 l2 ) cos q2 + m3 glc3 cos(q2 + q3 )  (18)
m3 glc3 cos(q2 + q3 )
Com as matrizes (16), (17) e (18), obtemos:

D(q)q̈+C(q, q̇)q̇ + g(q) = τ (19)

3 Modelos parametrizados
Nesta seção serão colocadas as equações representativas dos modelos matemáticos
dos braços mecânicos para 2 e 3 DOF, em função dos seus parâmetros.
Como foi especificado pela propriedade 5 do capı́tulo 5, o modelo dinâmico
de um robô manipulador ideal pode se expressar:

τ = D(q)q̈+C(q, q̇)q̇ + g(q) =Y (q̈, q̇, q)a (20)

15
onde τ é o vetor de n torques de entrada; a é o vetor de m componentes
com combinações adequadas dos parâmetros desconhecidos; e Y (q̈, q̇, q) ∈Rnxm
é a matriz de regressão.
Para o cálculo dos sinais de controle τ e para a estimação dos parâmetros
desconhecidos a, é preciso calcular a matriz Y (q̈, q̇, q). Em geral, não estão
disponı́veis os valores das acelerações das juntas, e seu cálculo implicaria
derivar as velocidades das juntas, o que na prática introduz um ruı́do que
põe em risco o desempenho do sistema. Muitos autores (ver dois exemplos
[4, cap. 9.2.1] e [1, cap. 11.3]), substituem os vetores q̈, q̇, por vetores
genéricos chamados acelerações e velocidades relativas (ou de referência) e são
representados como q̈r e q̇r e cujas grandezas não dependem das acelerações
das juntas mas de outros valores disponı́veis por meio de medições ou cálculos.
Utilizando esses vetores, é redefinida a matriz de regressão tal que:

D(q)q̈r + C(q, q̇)q̇r + g(q) =Y (q, q̇, q̇r , q̈r )a (21)

3.1 2 graus de liberdade


As matrizes (7), (8) e (9), matrizes dinâmicas do sistema de dois graus de
liberdade, conformam a equação dinâmica do sistema (10).
Podemos observar que essas matrizes, apesar de conformar um sistema
não linear, são lineares nos seus parâmetros, quer dizer, todas elas dependem
linearmente dos parâmetros fı́sicos desconhecidos tal como foi precisado na
propriedade 5 do capı́tulo 5.
Utilizando a definição da matriz de regressão dada por (21), onde foram
considerados os vetores q̇r e q̈r , a equação D(q)q̈r + C(q, q̇)q̇r + g(q) ,
forma um vetor ∈ R2x1 ao que chamaremos de τr = Y (q, q̇, q̇r , q̈r )a, cujas
componentes são:
τr1 = (m2 lc22 +I233 )[cos2 q2 q̈r1 − 12 sin(2q2 )(q̇2 q̇r1 +q̇1 q̇r2 )]+I133 q̈r1 +I211 [sin2 q2 q̈r1 +
1
2
sin(2q2 )(q̇2 q̇r1 +q̇1 q̇r2 )]+I213 [sin(2q2 )q̈r1 +cos(2q2 )(q̇2 q̇r1 +q̇1 q̇r2 )]−I212 (sin q2 q̈r2 +
cos q2 q̇2 q̇r2 ) − I232 (cos q2 q̈r2 − sin q2 q̇2 q̇r2 )
τr2 = (m2 lc22 +I233 ) 21 sin(2q2 )q̇1 q̇r1 −I211 12 sin(2q2 )q̇1 q̇r1 −I213 cos(2q2 )q̇1 q̇r1 −
I212 sin q2 q̈r1 − I232 cos q2 q̈r1 + (m2 lc22 + I222 )q̈r2 + ḿ2 glc2 cos q2
Escolhendo como parâmetros:
a1 = m2 lc22 + I233 , a2 = I133 , a3 = I211 , a4 = I213 , a5 = I212 , a6 = I232 ,
a7 = m2 lc22 + I222 , a8 = m2 glc2
A matriz Y (q, q̇, q̇r , q̈r ) ∈ R2x8 tem como componentes:
Y11 = cos2 q2 q̈r1 − 21 sin(2q2 )(q̇2 q̇r1 + q̇1 q̇r2 )
Y12 = q̈r1
Y13 = sin2 q2 q̈r1 + 21 sin(2q2 )(q̇2 q̇r1 + q̇1 q̇r2 )

16
Y14 = sin(2q2 )q̈r1 + cos(2q2 )(q̇2 q̇r1 + q̇1 q̇r2 )
Y15 = − sin q2 q̈r2 − cos q2 q̇2 q̇r2
Y16 = − cos q2 q̈r2 + sin q2 q̇2 q̇r2
Y17 =0
Y18 =0
Y21 = 12 sin(2q2 )q̇1 q̇r1
Y22 =0
Y23 = − 21 sin(2q2 )q̇1 q̇r1
Y24 = − cos(2q2 )q̇1 q̇r1
Y25 = − sin q2 q̈r1
Y26 = − cos q2 q̈r1
Y27 = q̈r2
Y28 = cos q2

3.2 3 graus de liberdade


As matrizes definidas em (16), (17) e (18) dependem linearmente dos seus
parâmetros fı́sicos. Similarmente ao realizado para o modelo de 2 DOF,
definindo o regressor como (21), a equação D(q)q̈r + C(q, q̇)q̇r + g(q) forma
um vetor ∈ R3x1 .
Escolhendo as componentes do vetor a como
a1 = m2 lc22 + m3 l22 + I233 − I211 , a2 = m3 lc23 + I333 − I311 , a3 = I213 ,
a4 = I211 + I311 + I133 , a5 = I313 , a6 = m3 l2 lc3 , a7 = I212 , a8 = I232
, a9 = I312 , a10 = I332 , a11 = m2 lc22 + m3 l22 + I222 , a12 = m3 lc23 + I322 ,
a13 = g(m2 lc2 + m3 l2 ) , a14 = m3 glc3
O regressor Y (q, q̇, q̇r , q̈r ) ∈ R3x14 , e suas componentes são:
Y11 = cos2 q2 q̈r1 − 21 sin(2q2 )(q̇2 q̇r1 + q̇1 q̇r2 )
Y12 = cos2 (q2 + q3 )q̈r1 − 21 sin[2(q2 + q3 )][(q̇2 + q̇3 )q̇r1 + q̇1 (q̇r2 + q̇r3 )]
Y13 = sin(2q2 )q̈r1 + cos(2q2 )(q̇2 q̇r1 + q̇1 q̇r2 )
Y14 = q̈r1
Y15 = sin[2(q2 + q3 )]q̈r1 + cos[2(q2 + q3 )][(q̇2 + q̇3 )]q̇r1 + (q̇r2 + q̇r3 )q̇1 ]
Y16 = 2 cos q2 cos(q2 + q3 )q̈r1 − [cos q2 sin(q2 + q3 )(q̇3 q̇r1 + q̇1 q̇r3 ) + sin(2q2 +
q3 )(q̇1 q̇r2 + q̇2 q̇r1 )]
Y17 = − sin q2 q̈r2 − cos q2 q̇2 q̇r2
Y18 = − cos q2 q̈r2 + sin q2 q̇2 q̇r2
Y19 = − sin(q2 + q3 )(q̈r2 + q̈r3 ) − cos(q2 + q3 )(q̇2 + q̇3 )(q̇r2 + q̇r3 )
Y110 = − cos(q2 + q3 )(q̈r2 + q̈r3 ) + sin(q2 + q3 )(q̇2 + q̇3 )(q̇r2 + q̇r3 )
Y111 = Y112 = Y113 = Y114 = 0
Y21 = 21 sin(2q2 )q̇1 q̇r1
Y22 = 12 sin[2(q2 + q3 )]q̇1 q̇r1
Y23 = − cos(2q2 )q̇1 q̇r1

17
Y24 = 0
Y25 = − cos[2(q2 + q3 )]q̇1 q̇r1
Y26 = cos q3 (2q̈r2 + q̈r3 ) + sin(2q2 + q3 )q̇1 q̇r1 − sin q3 [q̇3 q̇r2 + (q̇2 + q̇3 )q̇r3 ]
Y27 = − sin q2 q̈r1
Y28 = − cos q2 q̈r1
Y29 = − sin(q2 + q3 )q̈r1
Y210 = − cos(q2 + q3 )q̈r1
Y211 = q̈r2
Y212 = q̈r2 + q̈r3
Y213 = cos q2
Y214 = cos(q2 + q3 )
Y31 = 0
Y32 = 12 sin[2(q2 + q3 )]q̇1 q̇r1
Y33 = Y34 = 0
Y35 = − cos[2(q2 + q3 )]q̇1 q̇r1
Y36 = cos q3 q̈r2 + cos q2 sin(q2 + q3 )q̇1 q̇r1 + sin q3 q̇2 q̇r2
Y37 = Y38 = 0
Y39 = − sin(q2 + q3 )q̈r1
Y310 = − cos(q2 + q3 )q̈r1
Y311 = 0
Y312 = q̈r2 + q̈r3
Y313 = 0
Y314 = cos(q2 + q3 )

References
[1] Spong, M., Vidyasagar, M., Robot dynamic and control. Wiley, New
York. 1989.

[2] Craig, J.J., Adaptive control of mechanical manipulators. Addison - Wes-


ley publishing company. 1988.

[3] Craig, J.J., Introduction to robotics, mechanics and control. Addison -


Wesley publishing company. 1986.

[4] Slotine, J.J., Li, W., Applied nonlinear control. Prentice - Hall. 1991.

18

Você também pode gostar