Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Apostila, Notas de estudo de Engenharia Elétrica

Abordagem sobre robotica industrial, robos manipuladores, etc.

Tipologia: Notas de estudo

Antes de 2010
Em oferta
30 Pontos
Discount

Oferta por tempo limitado


Compartilhado em 09/04/2009

leandro-correia-dos-santos-1
leandro-correia-dos-santos-1 🇧🇷

5

(2)

1 documento

1 / 166

Documentos relacionados


Pré-visualização parcial do texto

Baixe Apostila e outras Notas de estudo em PDF para Engenharia Elétrica, somente na Docsity! Robótica Industrial Apontamentos teóricos Exercícios para aulas práticas Problemas de exame resolvidos Vítor M. F. Santos Departamento de Engenharia Mecânica Universidade de Aveiro 2003-2004 74.1 Princípios 7.4.2. Problemas no planeamento do espaço operaciona 8. INTRODUÇÃO À VISÃO POR COMPUTADOR. 8. INTRODUÇÃO À VISÃO POR COMPUTADOR. INTRODUÇÃO E GENERALIDADES... Definição e áreas da visão por computador A imagem digital Técnicas de iluminação GEOMETRIA DA FORMAÇÃO DE IMAGEM... Transformação geométrica Calibração da câmara PROCESSAMENTO A BAIXO NÍVEL . Relações entre os elementos de imagem (pixels) Ferramentas para processamento espacial de imagem: filtros e técnicas. ABORDAGEM A MÉDIO NÍVEL E MORFOLOGIA... Operadores e operações morfológicas Segmentação . 8-10 Enquadramento e objectivos da disciplina A designação robótica industrial surge do estudo dos manipuladores robóticos que são usualmente conhecidos por robots industriais. A disciplina tem como principal objectivo o de dar formação sobre os princípios da manipulação robótica e a sua fundamentação matemática. Desse modo, não se aborda uma linguagem particular para a programação de robots industriais, mas espera-se que, no final, um aluno com aproveitamento e com conhecimentos rudimentares de programação, consiga aprender e compreender uma qualquer linguagem para programar manipuladores A disciplina enquadra-se no período final de uma licenciatura com afinidade à automação, e pressupõe bons conhecimentos de álgebra e das grandezas e conceitos de mecânica, bem como uma razoável capacidade de lidar com objectos no espaço a três dimensões Antes de entrar no ponto central do programa, que são a cinemática directa, inversa e diferencial, é dado um certo destaque a sistemas de coordenadas e transformações geométricas para permitir uma progressão mais sólida pelo programa dentro, Em detrimento da estática e dinâmica de manipuladores, que se reconhece ser de importância muito relevante, nomeadamente para o controlo, projecto e concepção de braços robóticos, optou-se por fazer uma introdução à visão por computador pelo facto de tal área se apresentar como das mais importantes na robótica industrial actual. Igualmente consequência desse cuidado é a relativamente pequena dimensão da atenção dada ao planeamento de trajectória. Todavia, os fundamentos e métodos principais estão contemplados e assegurados Na componente prática os alunos trabalharão em MatLab que se revela uma ferramenta perfeitamente indicada para estas matérias onde a manipulação de vectores e matrizes é, a modo de dizer, obrigatória. Bibliografia Introduction to Robotics — P. McKerrow, Addison-Wesley, 1993. Robotics: Control, Sensing, Vision, and Intelligence — K. Fu, R. Gonzalez, C. Lee, McGraw-Hill, 1987. Modeling and Control of Robot Manipulators — L. Sciavicco, B. Siciliano, McGraw-Hill, 1996. Robot Manipulators: Mathematics, Programming, and Control — R. Paul, MIT Press, 1981. Introduction to Robotics: Mechanics and Control — J. Craig, Addison-Wesley, 1989. Fundamentals of Robotics: Analisys & Control — R. J. Schilling. Prentice-Hall, 1990. Industrial Robotics: Technology, Programming, and Applications — M. P. Grover et al., McGraw-Hill, 1986. Mechanics and Control of Robots — K. Gupta, Springer Verlag, 1997. Industrial Robotics Handbook — V. Hunt, Industrial Press Inc., 1983. Nota Este documento não substitui a bibliografia. Trata-se de resumos, de carácter não totalmente completo e, por vezes, de densidade variável na abordagem dos diversos assuntos Capítulo 1 Introdução Robótica Industrial — V. Santos 1960 Primeiro robot “Unimate”. Princípios de controlo numérico e actuadores hidráulicos. No ano seguinte foi instalado na Ford. 1968 - Um robot móvel desenvolvido no Stanford Research Institute: “Shakey”. Câmara de vídeo e sensores de contacto. 1971- O braço de Stanford desenvolvido pela Universidade de Stanford com actuação eléctrica 1973- Primeira linguagem de programação de robots: WAVE seguida em 1974 pela linguagem AL. As duas deram lugar mais tarde ao aparecimento da VAL, linguagem comercial da Unimation 1978- PUMA introduzido pela Unimation 1979- SCARA desenvolvido na Univerisdade de Yamanashi com introdução comercial em 1981. 1981 Robot com actuação directa (“direct drive”) desenvolvido na CMU 1988 — Projecto para uma linha flexível de montagem automatizada com o uso de robots. 1997- A Honda anuncia o primeiro robot humanóide que sobe escadas. 1.5 Os manipuladores robóticos 1.5.1 Robótica fixa versus robótica móvel As três categorias principais de robots são -Os manipuladores - robots industriais -Os veículos auto-guiados (AGV) -Os robots móveis As principais diferenças entre estas categorias incidem nos seguintes pontos: “Conhecimento contínuo da posição (verdade nos braços), -Aplicações distintas (manipulação e transporte), -Necessidade de percepção do ambiente (crucial nos móveis), -tipo de programação usada (normalmente mais exigente nos robot móveis). 1.5.2 Elementos principais de um manipulador (ou robot industrial) 1.5.2.1 Braço e punho (arm-wrist) O braço é a parte do manipulador que está normalmente associada ao posicionamento (x, y, 2) no espaço físico cartesiano, ou operacional. O punho afecta essencialmente a orientação (0,6,y) da garra, pinça ou outros end-effector. Todavia, é muito comum que haja efeitos cruzados — o braço afectar também a orientação e o punho afectar a posição cartesiana Estes componentes de um manipulador são constituídos por partes rígidas, os elos (links), ligadas entre si pelas juntas (joints) Elo / AP JD) o 82 Figura 1.1 - Elos e junta de um manipulador Junta 15.22 Ocontrolador Unidade capaz de gerar informação de activação de um ou mais actuadores com base num algoritmo de controlo. Esse algoritmo pode levar em linha de conta o comando desejado, o estado corrente do actuador, Introdução 14 Robótica Industrial — V. Santos e o próprio ambiente. Os algoritmos mais comuns recorrem ao chamado controlo PID (proporcional-integral- diferencial) Quando não existente em separado, o controlador chega a incluir a unidade de potência, ou seja, o elemento que liga directamente ao actuador fornecendo-lhe a energia que necessita com base numa informação de baixo teor energético, como são os sinais eléctricos à saída de muitos controladores Por vezes, o controlador faz parte de um sistema maior de interligação com o utilizador exterior, como é o caso de um computador pessoal. Nestes casos o controlador pode assumir a forma de uma carta de expansão do próprio computador, ou ser um dispositivo exterior que comunica com o computador de uma forma padrão, como por exemplo, uma ligação série R$232 Esta integração num computador, devido ao abundante número de ferramentas de interface disponíveis, permite mais facilmente especificar os comandos desejados para o controlador, ou até de os gerar de forma automática, como fazem muitos programas (software). 15.23 Actuadores Dispositivos que geram e impõem movimento a uma qualquer parte mecânica pelo desenvolvimento de forças e binários baseada num princípio físico de conversão de energia. Podem ser, por exemplo, motores eléctricos, cilindros hidráulicos, ou pneumáticos, electro-imanes, etc. Têm muitas vezes associados elementos adicionais de transmissão mecânica. Fazem a actuação 15.24 Sensores Elementos destinados à medição do estado interno do manipulador bem como à percepção do ambiente exterior. Principais tipos de sensores usados num manipulador: codificadores, fins-de-curso, sensores de força, detectores de proximidade capacitivos e indutivos, etc. Fazem a percepção == Fonte de desejado í ! ! 5 | 1 Controlador Unidade de potência 1, | (decide que medida de ,| (fornece energia ao | | tudo E — (gera deslocamento Sensor actuação deve ser | "actuador com base nag | ! I linear ou rotacional) 1 imposta) ordens do controlador) | + , I ! Figura 1.2 - Um sistema de controlo tradicional 1.6 Orobot e a automação 1.6.1 Tipos de automação A automação pode ser de dois tipos fundamentais: rígida e flexível (programada) Introdução 15 Robótica Industrial — V. Santos convEsoR E Figura 1.8 - Automação rígida rogoT converor E NOwL 2Kh3ER Figura 1.4 * Automação flexível Rígida — cada componente do sistema tem sempre a mesma função ou conjunto limitado de funções sem possibilidade de alteração de modo simples, obrigando à existência de vários componentes por vezes afins Flexível: a multiplicidade de componentes da automação rígida é reduzida pelo introdução de um sistema mais versátil: caso dos manipuladores 1.6.2 Aplicações tradicionais dos manipuladores industriais As aplicações tradicionais mais importantes são as seguintes: manipulação de materiais, soldadura (spot welding), pintura a spray. Há muitos construtores de robots manipuladores no mundo actual: alguns exemplos mais importantes de construtores e marcas são: ABB, KUKA , STAUBLI, ADEPT, PUMA, Soldadura a arco Figura 1.5 - Algumas aplicações industriais de manipuladores 1.7 Importância do robot industrial O robot industrial vê a sua importância surgir a vários níveis: e Técnica: Vantagem e versatilidade * Humana: Tarefas pesadas ou desagradáveis para humanos * Económica: Um mesmo equipamento pode ter múltiplas funções e substituir vários equipamentos distintos. Introdução Robótica Industrial — V. Santos 2. Estrutura e Tipologia de Manipuladores 2.1 Componentes 2.1.1 Braço mecânico O braço mecânico é constituído por juntas e elos (joints and links). Os elos são usualmente blocos alongados rígidos, e são ligados uns aos outros através das juntas. Os elos podem variar a sua posição relativa e estão normalmente associados em série. Existem variadíssimas combinações de elos e juntas de acordo com as aplicações, e que mais adiante se descreverão os tipos mais comuns. 2.1.2 Ponta ou Garra (End-effector) Componente ligado à extremidade do braço, isto é, ligado ao último elo do manipulador, e que tem funções adicionais (agarrar ou prender um objecto, ou ainda um dispositivo com funções adicionais mais específicas). A ponta ou end-effector pode ser do tipo garra (gripper) ou uma ferramenta (too) 21.21 Garras As garras de preensão mecânica (pinça) são bastante comuns e eis de seguida alguns exemplos ame, Figura 2.1 - Alguns princípios e tipologias de garras Estrutura e Tipologia de Manipuladores 22 Robótica Industrial — V. Santos De notar o tipo de forças/movimentos aplicados e os resultados nas diversas situações. Saliente-se a garra do topo direito que pode servir para agarrar objectos de dimensão variável graças à sua mola. Ou ainda, a garra na última ilustração, na região inferior direita, cujos dedos (pinças) de deslocam de forma perfeitamente linear. Além das garras do tipo pinça há ainda aquelas de funcionamento baseado em: e Vácuo e Magnética * Adesivos * Ou outros tipos dos quais se destacam as mãos antropomórficas Figura 2.2 - Mão (garra) antropomórfica 212.2 Ferramentas Nas ferramentas a variedade é muito grande mas as principais incluem as seguintes * Soldadura * Cortejacto de água * Furador, polidor, ete. 2.1.3 Actuadores Os componentes que utilizam uma fonte de energia para fazer mover as juntas; são de três tipos essenciais. Eis uma breve comparação dos três tipos de actuadores Característica Tipos de actuadores Eléctricos Hidráulicos Pneumáticos Hoje em dia mais Fácil. Possibilidade de Muito difícil devido a questões de Controlo ser elaborado. facilitado com as electro compressibilidade do ar servo-válvulas Velocidades Grande Média/Grande Muito grande Binário a baixa velocidade Pequenos/Médios Grande Pequenos (acelerações) Precisão Boa Limitada pelo uso Boa Ma, excepto em operações a de transmissão posições fixas. Funcionamento em situação : Excelente. Trata-se de | Bom. Não há risco de danificação ' Mau. Requer travões estática funcionamento normal do sistema. A presença de arcos Sistemas limpos. Risco de poluição Questões ambientais eléctricos pode ser Perigo de fugas de óleo. sonora de componentes, indesejável. compressores e das fugas. Custos Relativamente baixos Altos Relativamente baixos Tabela 2-1 - Breve comparação dos principais tipos de actuadores Em cada junta há normalmente um actuador. Ao contrário, no corpo humano, há normalmente 2 Estrutura e Tipologia de Manipuladores 23 Robótica Industrial — V. Santos músculos por cada junta para a moverem em direcções opostas 2.1.3.1 Tipo de actuação Directa - O elemento móvel do actuador é acoplado à junta directamente Indirecta - o elemento móvel do actuador é acoplado à junta mediante um sistema de transmissão. Actuação indirecta Figura 2.3 - Ilustração da actuação directa e indirecta Os motores eléctricos são normalmente usados em actuação indirecta (indirect drive) devido à combinação alta velocidade/binário baixo. São excepções os casos dos motores especiais como os motores passo a passo, ou os chamados direct-drive motors, que têm uma concepção especial e permitem altos binários a baixas rotações. Porém, alguns destes tipos são por enquanto motores de grandes dimensões e peso, portanto limitados a poucas aplicações nos manipuladores; é possível encontrá-los na base, ou seja, a actuar a primeira junta do manipulador. 2.1.4 Sensores Fomnecem informação ao controlador, nomeadamente em que local estão as diversas juntas do manipulador Além destes sensores internos há também os interruptores de fim de curso que delimitam as deslocações extremas das juntas. Existem também os sensores externos dedicados a recolher informação adicional sobre o ambiente. 21.41 Sensores de posição Potenciómetros, Vj(t) = KO(t) Rntoting viper Musistivo element Figura 2.4 - Um potenciómetro como indicador de posição angular Estrutura e Tipologia de Manipuladores 24 Robótica Industrial — V. Santos Para colocar esta peça no encaixe (que pode ter uma orientação arbitrária) são necessário 6 graus de liberdade: 3 para as posições xyz e 3 para as 3 orientações do encaixe. (o manipulador ilustrado não o permite) Figura 2.8 - Graus de liberdade necessários para dois exemplos de movimento 2.2.2 Representação e arranjo cinemático Frequentemente, em diversa literatura existe uma simbologia própria para representar de uma forma padrão um manipulador e as suas juntas. De seguida ilustra-se um caso para um manipulador RRP e mais uma junta esférica. Figura 2.9 - Representação de um manipulador com as juntas RRPS, num total de 6 DOF 2.2.3 O braço humano Cada braço humano, excluindo a mão e os dedos, dispõe de 7 graus de liberdade Graus de Junta Tipo liberdade A (Dor) Ombro (Shoulder) Esférica 3 AS Cotovelo (Elbow) Rotacional 1 Pulso (Wrisd Esférica 3 Figura 2.10 - Graus de liberdade do braço humano 2.3 Espaço de trabalho e tipos de manipuladores Espaço ou volume de trabalho (workspace or volume space) de um manipulador é a região dentro da qual o manipulador pode posicionar o end-effector. Quando se classifica um robot pela sua estrutura cinemática, isto é, pelo seu espaço de trabalho, apenas as juntas principais são usadas. Assim, há essencialmente 5 categorias de estruturas cinemáticas Estrutura e Tipologia de Manipuladores 27 Robótica Industrial — V. Santos que se ilustram e descrevem resumidamente de seguida: Cartesiana (PPP) Cilindrica (RPP) Esférica (RRP) Articulado horizontal ou SCARA (RRP) Articulado vertical ou antropomórfico (RRR) 2.3.1 Cartesiano (PPP) Volume do espaço de trabalho: V = A, As A. Figura 2.11 - Manipulador cartesiano (PPP) 2.3.2 Cilíndrico (RPP) Volume do espaço de trabalho: V = 74, + A) - £] Figura 2.12 - Manipulador Cilíndrico (ou RPP) Estrutura e Tipologia de Manipuladores Robótica Industrial — V. Santos 2.3.3 Esférico (RRP) Volume do espaço de trabalho: V = ads AP-2] Figura 2.18 - Manipulador Esférico (RRP) 2.3.4 Articulado Horizontal - SCARA (RRP) Volume do espaço de trabalho: V = Figura 2.14 - Manipulador Articulado Horizontal-SCARA (RRP) Estrutura e Tipologia de Manipuladores 29 Capítulo 8 Sistemas de Coordenadas A Í | E. CÁCO -SÓCW+CÓSOSY SóSW+ACHSOCY O SÓCO CÓCWASSSOSY —-CÓSPASPSOCY O -so cosy cocwy o o o o 1 RPY(6,0.9)- Robótica Industrial — V. Santos 3. Sistemas de Coordenadas 8.1 Noções introdutórias - revisões 3.1.1 Sistemas de eixos Os sistemas de eixos coordenados a usar são ortogonais e directos. Directos significa que o sentido positivo dos ângulos é medido pela convenção usual (sentido anti-horário) e que é ilustrado na Figura 3-17 Figura 3-17 - Sistemas directos de coordenadas a duas e três dimensões. 3.1.2 Vectores e Matrizes Um ponto no espaço é representável por um vector com 3 coordenadas (2 se for no plano), em particular um vector coluna, como se descreverá adiante. O termo vector é frequentemente associado a um conceito de movimento ou deslocação numa dada direcção (e sentido). Quando se referem as coordenadas de um vector, neste último significado, está-se a pensar num vector aplicado na origem do sistema de eixos e com as coordenadas do seu ponto extremo. Assim, no exemplo ilustrado de seguida, o vector E tem as mesmas coordenadas do ponto P; se bem que estejam em causa dois conceitos formalmente distintos, eles estão relacionados de tal forma que podemos usar o conceito de vector com representação matricial, para a representar qualquer das entidades geométricas (ponto e vector) sem perigo de confusão: E = u ou hn a p=|" % PiGiyi) y y Plxoyo) Fr Plxoyo) t > | > x x Figura 3-18 - Um ponto e um vector no plano. Ilustração da soma de um ponto com um vector Sistemas de Coordenadas 32 Robótica Industrial — V. Santos Por outro lado, define-se também a soma de um ponto com um vector, que resulta num segundo ponto (P = P + Y). Geometricamente, isso equivale a que o vector a somar tenha a sua origem situada no ponto inicial (P) e não na origem do sistema de eixos. Porém, e pelo exposto acima, dizer que o resultado da soma é um novo ponto, é dizer também que é um segundo vector. Desse modo, a soma de um ponto com um vector (e forçosamente nesta ordem porque a soma de um vector com um ponto não é definida!) equivale também à soma de dois vectores. No lado direito da Figura 3-18 podemos verificar que o vector Y, para efeitos de soma (traduzindo a tal deslocação ou movimento), é aplicado no ponto P, se bem que a sua representação livre (como é muitas vezes dito) está representada a tracejado e aplicada na origem do sistema de coordenadas Estas duas representações são todavia a mesma identidade traduzida numa propriedade comum (a equipolência); não obstante essa propriedade, são dois segmentos de recta orientados distintos (estão em posições diferentes do plano). Este conceito de segmento de recta orientado não é neste contexto interessante, e por isso restringir-nos-emos ao conceito de vector e da propriedade de equipolência que ele traduz Podemos então extrair da Figura 3-18 que P =P +Y ou ainda Y=P — P, e dessa forma determinar as coordenadas do vector Y à custa dos dois pontos. O ponto Pi tem como coordenadas (x1,71) que são na verdade as coordenadas do vector associado ii . Como se espera, i= E +Y No que diz respeito à nomenclatura, as designações de vectores são indicadas por uma letra minúscula com uma seta por cima, em caracteres romanos (não itálicos) e por vezes ainda por essa mesma letra em tom carregado (bold. Essas duas representações (seta e bold) foram usadas acima mas, por facilidade de escrita, em geral, usa-se só uma delas, e de preferência a versão a carregado, exceptuando-se os casos do texto manuscrito onde a versão com seta é preferível. Por outro lado, para representar matrizes (arranjos rectangulares de números ou expressões distintos entre si), dos quais os vectores são casos particulares, usam-se letras romanas maiúsculas em tom carregado (a seta já não faria muito sentido visto se perder a imagem geométrica da tal propriedade do sentido do movimento). Em suma, e para facilitar a escrita ao longo deste texto, usaremos as representações indicadas na tabela seguinte: Entidade Notação das representações Exemplos Letra romana minúscula a 2 carregado sem (ou t=v= Vectores eventualmente com) seta por 4 cima z : Letra romana maiúscula sem ab Matrizes : T seta por cima d Coordenada Letra minúscula em itálico m=5,h=12 (eventualmente romana) Letra maiúscula (romana ou Ponto* itálica) R=P, >(U0%0) Ângulo Letra grega minúscula a= z “Quando, em vez de ponto, pensarmos numa postura no espaço (posição e orientação), o conceito de ponto desvanece-se e falaremos de um vector que se representará com letras minúsculas como convencionado. As matrizes podem ser quadradas ou não quadradas. As quadradas têm as duas dimensões iguais, isto é, igual número de linhas e de colunas. Há um tipo particular de matrizes não quadradas designadas por vectores que têm uma só linha ou uma só coluna. Sistemas de Coordenadas 33 Robótica Industrial - V. Santos 3.1.3 Pontos e referenciais Qualquer ponto no espaço pode ser visto (designado) de diferentes formas consoante o referencial usado; trata-se sempre do mesmo ponto fisicamente mas é a sua descrição que se adequa com o ponto de vista (referencial). Admitindo dois referenciais designados por R e N respectivamente, um mesmo ponto q R x de G& pode ser expresso num e noutro por “q = |*q, (Figura 3-21) Figura 3-21 - Um ponto q visto de dois referenciais diferentes A relação entre Rq e Ng, como se verá mais tarde, tem necessariamente a ver com a relação de posição e orientação entre os dois referenciais, ou seja, da forma como se obtém um a partir do outro. Uma outra questão importante é a movimentação de pontos. Movimentar um ponto no espaço significa alterar-lhe as coordenadas, isto é, passar de uma posição q! para uma posição qz visto do mesmo referencial; este processo designa-se por translação no espaço e, geometricamente, pode ser traduzido pela adição/subtracção de vectores como referido na secção 3.1.2. Figura 8-22 - Translação de um ponto Atentando para a Figura 3-22 podemos escrever que p = q, — q ou que q, =q/ +P. Assim, efectuou-se uma translação representada pelo vector p e as novas coordenadas do ponto são dadas por dm.) |n| | q =|g |=|q,|+|py |- Fazer a translação de um segmento de recta (Figura 3-23) implica calcular as 4 |nl o novas coordenadas dos seus dois extremos e, nesse caso, ter-se-ia as seguintes relações qu = Qu +P € Sistemas de Coordenadas 36 Robótica Industrial — V. Santos dp =4m +P Figura 3:23 - Translação de um segmento de recta. Fazer a translação de figuras mais complexas implicaria recaleular todos as novas posições de todos os pontos relevantes. Por exemplo, para calcular a nova descrição (posição) de um cubo, teríamos de calcular as novas coordenadas dos seus oito vértices após a translação. Claramente, este processo não é interessante (em especial para transformações mais complexas que a translação, como veremos mais adiante), e requer-se portanto uma forma alternativa e mais genérica para determinar a nova posição do cubo e de qualquer ponto nele contido. Essa alternativa passa pela definição de um segundo referencial solidário com o objecto a mover. No instante inicial, antes da transformação, os referenciais coincidem, mas após a transformação teremos ainda o referencial original (R) e o novo referencial (N). O processo ilustra-se na Figura 3:24. O ponto Nq assinalado traduz as coordenadas de um dos vértices (escolha arbitrária) no novo referencial, mas são também as coordenadas desse mesmo ponto, em R, antes de haver qualquer translação! Após a translação, no referencial N, solidário com o objecto, essas coordenadas mantêm-se, mas no referencial que foi deixado para trás (R) esse ponto tem agora as coordenadas Rq. A relação entre essas coordenadas é obviamente dada por “q =” q + p. Note-se que o vector p está descrito no referencial original (p = Pp), “q+p donde, em rigor, se deva procurar escrever 2q x Figura 3-24 - Translação de um cubo e do referencial a ele associado. 8.2 Transformações geométricas elementares 8.2.1 Exemplos de transformações Pela experiência física do dia a dia, é possível conceber transformações geométricas diferentes da translação, das quais a rotação é o exemplo mais comum. Por exemplo, uma rotação no espaço 3D, em torno Sistemas de Coordenadas 37 Robótica Industrial — V. Santos do eixo dos zz, de um dado ângulo a, Rot(z.01), ou uma translação de valor à ao longo do eixo dos yy, Trans(y,a) = Trans(0,a,0), podem ser ilustradas do seguinte modo; 4 z z Figura 83-25 - Ilustração das transformações Rot(z,a)e Trans(y,a). Na verdade, e como facilmente se deduz da Figura 3:25, no espaço a três dimensões há seis transformações geométricas independentes, 3 translações e 3 rotações elementares: Trans(s,a), Trans(,a), Trans(z,a), Rot(x,o), Rot(y,a) e Rot(z,). Naturalmente, e como se verá mais adiante, transformações sucessivas resultam numa outra transformação decomponível nas seis transformações elementares. 8.2.2 A notação matricial para representar transformações de um ponto a duas dimensões ER 1 Transformação geométrica genérica Se atentarmos ao caso da translação no espaço (a 2D para simplificar), poderemos escrever o seguinte: m=2+p b =y+Py ou, em notação matricial! m] [º] [Pp no |y + Podemos todavia admitir um caso de transformação geométrica, linear, absolutamente genérica onde cada nova coordenada possa depender não só de um parâmetro independente, mas também de todas as coordenadas originais. Uma expressão desse género seria dada por: =ar+by + p ou, em notação matricial, =] la blz) [p: nl” le a +[5,| ab Designemos por T a matriz quadrada indicada, | |, e por p o vector usado como termo independente na expressão anterior. Rapidamente se verifica que a transformação de translação é obtida fazendo T identidade e p o vector de translação. Podemos assim considerar um conjunto de situações para valores de T e de p, e procurar relacionálos com transformações geométricas conhecidas. Vamos 0 primeiramente admitir um conjunto de situações onde temos o caso particular de p = 0 = o , OU seja, sem Sistemas de Coordenadas 38 Robótica Industrial — V. Santos Figura 3-29 - Rotação de 90º no plano em torno da origem. 3.2.3 Matriz rotação para um caso geral Pode-se verificar que a matriz de rotação de 90º vista anteriormente é compatível com o seguinte: cos 90º —sin 90º sm 90º cos 90º Poder-se-á induzir que uma matriz de rotação genérica seja dada pela seguinte expressão: co —sa so c8 cosô —sing smnô cosô Vamos provar que assim é. Seja um dado ponto no plano com coordenadas cartesianas (x, y) e coordenadas polares (J, 6). Posteriormente, é aplicada a esse ponto uma rotação de valor 4 em torno da origem, resultando no ponto de coordenadas (xx, y)) A yr / Xp x Figura 3-30 - Rotação genérica de um ponto no plano A partir da Figura 3-30 é possível extrair as seguintes relações 2 =lcos(0 + 6) = I(cosfcosó — sin sind) ú = Isn(0 +6)=I(cosósn0 + sindcos0) Iosó como virá: ú = esin6 + ycosô e finalmente em notação matricial Sistemas de Coordenadas 341 Robótica Industrial — V. Santos co —sa so C6 z cosô —sind]jz D 1 W smô cosô 8.2.4 Limitações da matriz de transformação para representar a translação Pr Py A translação tem um efeito independente das coordenadas. Está associada ao termo p = | indicado nas expressões mencionadas a partir da secção 3.2.2.1. Porém, seria vantajoso, pelo menos do ponto de vista computacional, ter uma forma de representar uma transformação geométrica de forma compacta e elegante, em vez de uma matriz e um vector independente. 8.8 Coordenadas homogéneas 3.3.1 Introdução de componentes adicionais na matriz de transformação Uma solução para a questão anterior (secção 3.24) obtém-se observando a expressão a bz) [p: 2 ed d+; 1 W | Basta conceber uma forma alargada de definir as coordenadas de um vector e rescrever então: a) ja b pela nl=|e d pyly 1) jo o 11 Os termos introduzidos fazem surgir uma igualdade adicional (1=1), que é verdadeira, e não altera em nada o conhecimento do sistema, mas tem a vantagem de integrar numa única matriz os efeitos da rotação e de uma translação (pode ainda representar outros efeitos irrelevantes neste momento) As coordenadas resultantes (com o termo unitário adicional) são designadas coordenadas homogéneas, e este caso é uma situação particular da definição geral de coordenadas homogéneas: se kz 2 ky p=|y). então a variante homogénea é dada por p, =|, |. Nestes capítulos dedicados ao estudo dos o z k sistemas de coordenadas usa-se o caso particular de k=1 A matriz de transformação (homogénea) é assim constituída por secções com significados específicos Componente de rotação x, [ | x = 0 0: Figura 3:31 - Componentes da matriz de transformação a duas dimensões. Componente de translação Assim, uma rotação pura, no plano, traduz-se pela expressão Sistemas de Coordenadas 312 Robótica Industrial — V. Santos so —sing |O Rot(0)=|sin9 coso O “O Toi e uma translação pura, no plano, pela expressão 1 Trans(p,.py) =|0 8.3.2 Transformações compostas - produtos de matrizes de transformação Uma transformação geométrica transforma um ponto noutro; portanto, uma sucessão de transformações traduz-se na multiplicação das diversas transformações. Basta relembrar a propriedade associativa da multiplicação de matrizes para o demonstrar: p= Ty((B (BD -(T -p)))=(Ty EB R)p=Tp Assim, uma transformação composta é ela mesma uma transformação geométrica. Observe-se porém que a ordem das multiplicações (operação das transformações) não é necessariamente comutativa. É-o para as translações puras e também para as rotações puras no plano (no espaço não é!), mas não o é para transformações genéricas. De seguida demonstram-se estas situações uma por uma. 33.21 Sucessão de Translações (comutativo) Sejam duas translações: 10ja 1015 0 1 as) e T = Trans(b,,b,)=|0 1d, T, = Trans(a.,a,) Rapidamente se verifica que: TL= T, 33.22 Sucessão de Rotações no plano (comutativo) Sejam duas rotações no plano: cos6, —sin, 10 cs6, —sing, |O T = Rot(9,)=|sim0, cos6, 0/e T, = Rot(6,)=|sinf, cosf, Por facilidade de notação, convencionando as abreviações 6, = cos6, e S0, = sinô,, o produto das duas transformações resulta em: Sistemas de Coordenadas 313 Robótica Industrial — V. Santos adequadas. Assim virá cos6 —smo 00 mo so 00 RE)=| 0 0 10 o 0 01 10 0/0 O cos -sing O Rolo) =10 sind sb O 00 01 cos6 O sing O o 100 Potuo)=| mo O coso O o 001 No caso de rotações compostas em torno de dois ou mais eixos a componente de rotação (orientação) da matriz de transformação será mais complexa do que o das rotações simples indicadas atrás A matriz de transformação geométrica, homogénea, tem, além das rotações e da translação mais quatro termos (a última linha). Nesta abordagem os valores dessa linha só interessam ser [000 1], mas noutros contextos terão a importância adequada, nomeadamente no tratamento geométrico de imagem digital; são exemplos disso a perspectiva e o factor de escala global Rotações Translação Factor escala local Perspectiva / projecção Factor de escala global Figura 388 - Componentes da matriz de transformação a SD. 8.4.3 Interpretações do que significa a matriz de transformação. É possível individuar três interpretações/significados principais de uma matriz de transformação, que se resumem de seguida: * Indica as transformações geométricas operadas sobre um ponto para o levar para outro local geométrico: q, = T-q,. Este facto traduz também o movimento imposto a um ponto, sempre dentro de um mesmo referencial. Não são aqui óbvias todas as implicações da transformação se o objecto for um ponto, em especial as componentes de rotação. Sistemas de Coordenadas 316 Robótica Industrial — V. Santos Figura 3-34 - Significado de RT: movimentação de um ponto * Relaciona as coordenadas de um mesmo ponto físico em dois referenciais diferentes, ou sejafq =" T, * q. Muda-se o ponto de vista, e no caso anterior mudava-se o ponto! Figura 335 - Significado de *T: movimentação (criação) de um referencial e Transformação de um referencial (R) noutro referencial (N): 'Ty. Trata-se da criação de um novo referencial por translação e rotação. Para tentar criar uma melhor imagem do processo, bastará pensar que havia um segundo referencial N inicialmente coincidente com o referencial R mas solidário com o seu ponto de origem; a esse ponto foi depois aplicada a transformação levando consigo o referencial N. A matriz de transformação representa todas as componentes de posição e orientação de um novo referencial N em relação a um referencial original R. Isto é, é possível identificar na matriz RTw os quatro vectores que indicam a orientação (três dos quatro vectores) e a posição cartesiana (um vector) do novo sistema de coordenadas. Na expressão seguinte xx é o vector que indica a direcção do novo eixo dos xx em relação à base canónica do sistema R, e yx e zx os vectores para as direcções dos novos eixos dos yy e dos 2z respectivamente: Figura 3-36 - Significado de RT: relação entre dois referenciais. Sistemas de Coordenadas 317 Robótica Industrial — V. Santos 8.4.4 Pós-multiplicação e pré-multiplicação de matrizes de transformação Foi visto anteriormente que a ordem de multiplicação das transformações era importante (secção 3.3.2) porque se fosse alterada o resultado seria diferente. Ou seja, se uma transformação RT) for seguida no tempo de uma transformação RT», então isso equivale a ter uma transformação global RT =RT» - RT4. Ou seja, a transformação final resulta da pré-multiplicação das transformações aplicadas sucessivamente no tempo. Porém, põe-se a questão: e o que significará a transformação RT' =RT4 - RT? Isto é, em que é que resulta a pós-multiplicação de transformações? O problema compreende-se melhor com um exemplo, que se faz no plano a 2D para mais fácil visualização. Seja uma transformação Ti=Rot(45º) e uma transformação Te=Trans(x, a) que usaremos para criar novos referenciais. A primeira situação que experimentamos é Ta = TT. Significa que primeiro rodamos o referencial e em seguida lhe aplicamos uma translação, como se ilustra na Figura 3-37, do lado esquerdo. A segunda situação será designada por Ts = TiT» e significa que primeiro é aplicada uma translação segundo o eixo dos xx e depois uma rotação em torno da origem. O resultado é o ilustrado no lado direito da mesma figura. No primeiro caso, Te foi pré-multiplicado a Ti, no segundo caso, T> foi pós-multiplicado. TepE/Ti=Rot(4S' Trans a) Ta=EsTi=Trans(x,a)Rot(45º) Figura 3:37 - Diferenças entre pré- e pós-multiplicação de transformações. Em ambas as situações, as transformações foram realizadas em relação ao referencial original (xy). Imagine-se porém uma alternativa que seria aplicar as transformações em relação a cada referencial recém- criado. Ou seja, são usados os referenciais intermédios para as novas transformações a aplicar. Digamos então o seguinte: aplicar a rotação (no único referencial ainda existente) e depois a aplicar translação ao longo do referencial resultante da rotação. Geometricamente o processo pode ser ilustrado como na figura seguinte Figura 3:38 - A segunda transformação (translação) foi realizada no novo referencial. O resultado da Figura 3-38 é muito interessante pois coincide com o resultado do segundo caso da Figura 3:37 (lado direito), isto é, Ts = TiT», ou seja, a pós-multiplicação da matriz. Prescinde-se de demonstração formal, mas podemos afirmar o seguinte: a pré-multiplicação de uma transformação por outra equivale a aplicar esta segunda no referencial global; a pós-multiplicação de uma transformação por outra equivale a aplicar esta segunda no novo referencial Sistemas de Coordenadas 318 Robótica Industrial — V. Santos exemplo o produto px é um produto interno (escalar) de vectores. 8.4.6 Grafos e equações de transformação Um dos problemas mais frequentes em robótica industrial, e na automação em geral, consiste em determinar a posição relativa entre um componente e um seu sub-componente, sabendo as suas posições, em relação a um referencial comum (como por exemplo a bancada de trabalho). Por outras palavras, qual deve ser a transformação a aplicar ao sub-componente para o encaixar num local bem definido no componente principal. Para melhor ilustrar a questão, imagine-se um parafuso (ou pino) que queremos encaixar numa dada cavidade; note-se que a localização do pino e da cavidade são conhecidos. Após a identificação das partes, devem definir-se referenciais associados a cada um deles e, a partir daí, procurar as relações entre os referenciais. No exemplo do pino, Figura 3-41, os referenciais associados devem ser de tal forma que, na posição final, após o encaixe, os eixos deverão todos coincidir, porque é esse o objectivo da montagem (assembling) rx Figura 3-41 - Problema da inserção geométrica de um pino numa cavidade Do grafo da Figura 3-41 podemos escrever a seguinte relação: “Tw = "Ts - STw. Há varias formas de demonstrar essa relação mas eis uma das formas mais expeditas: seja um ponto q qualquer no espaço com as diversas coordenadas Rg, “q e Nq consoante o referencial de onde é visto. Do exposto na secção 3.4.3 podemos escrever sucessivamente: sq = Tx Ng Rg ="Ts “q Combinando as duas expressões vem: Rq = ETs (Tx Nq)= (ETs ST) Ng Comparando a expressão anterior com "q Tx Nq virá finalmente: RT =RTsSTx Nesta expressão, e relembrando a situação da Figura 3-41, e o grafo de transformação, verifica-se que há um termo desconhecido, trata-se de STw, daí a expressão de designar por equação de transformação. A sua resolução é todavia muito simples, recorrendo apenas à álgebra de matrizes STy=RTs-RTy Note-se que a transformação STw não traduz a trajectória que deve fazer o pino para chegar ao encaixe; traduz apenas uma relação geométrica de posição e orientação que servirá de base ao cálculo do eventual movimento/trajectória, que será tema a abordar noutro capítulo. Mais ainda, STw traduz a posição e orientação da cavidade como vista do referencial do pino, isto é, a acção de controlo ou geração do movimento prescindirá do referencial global R, é no pino que tudo começa Propõe-se ainda um outro exemplo mais elaborado onde se pretende descobrir a relação entre o Sistemas de Coordenadas 3-21 Robótica Industrial — V. Santos endetfector de um manipulador e o ponto de contacto com um objecto a pegar. A Figura 3-42 mostra uma situação possível onde se assinalam os diversos referenciais: W — referencial global de trabalho (como a bancada ou sala), R — referencial da base do robot (localização da base do robot na bancada), H — referencial do end-effector (depende do estado corrente das diversas articulações do robot), O — referencial do objecto a pegar (localização do objecto sobre a bancada), G — referencial do ponto de contacto no objecto (local onde o endetfector deverá estabelecer contacto, como por exemplo o ponto central de uma face do objecto cuja descrição geométrica é perfeitamente definida e conhecida). O grafo de transformação é concebido levando em linha de conta que é no ponto G que se pretende o objectivo da operação. Remo o! Figura 8-42 - Transformações geométricas de um processo simples de manipulação A partir do grafo de transformação podemos escrever a equação de transformação cuja variável (termo desconhecido) é "TG: Wa + Rg TG = WTo -OTo Finalmente sai a expressão final HT = Ryo! W Tp: Wo -OTG 34.61 Exemplo de uma montagem vista do referencial da peça Para terminar esta secção, propõe-se um exemplo numérico de um processo de montagem que consiste em determinar a transformação a aplicar no paralelepípedo, e do seu ponto de vista, de tal modo que encaixe na peça mãe ao longo das arestas assinaladas com uma seta a carregado. Escolheram-se os pontos A e B para origem dos referenciais respectivos e assinalaram-se os eixos como indicado para satisfazer os requisitos de alinhamento final AZ Figura 3-48 - Exemplo de montagem. 8 Sabendo que PA =|6| e *B=|2 | determinar a transformação necessária a aplicar à peça, do —2 Sistemas de Coordenadas 322 Robótica Industrial — V. Santos seu ponto de vista, para ela encaixar, isto é, determinar Bs. O grafo de transformação é o ilustrado, e dele sairá de imediato que ST = Ty -RT4. A partir dos pontos dados, e observando a orientação dos eixos dos sistemas ilustrados, é imediato concluir o seguinte: 1000 8 apo 108 2 4 0012) —2 0001 1 Portanto, e pelas propriedades da matriz de transformação homogénea, podemos concluir que: 001 21 000 0014 aq a º 010 -2]0 10 6 º 0104 -10 0 8]0 012 -10 08 000 1jo 001 0001 Para verificar que o procedimento está correcto, experimentemos o resultado em dois pontos distintos Atente-se porém às coordenadas e aos sistemas de coordenadas que se usam em cada caso! A transformação BT é a transformação a operar sobre o paralelepípedo, mas visto do seu próprio referencial. As coordenadas que resultam serão também no seu próprio referencial. Podemos verificar a posteriori o seu valor noutros referenciais conhecidos só para efeitos de confirmação. Tome-se por exemplo o ponto B propriamente dito que, no seu referencial, tem as seguintes coordenadas BB-[o 001)” Após a transformação em causa (BTa), as suas coordenadas, sempre no referencial B e que designamos por BB', serão dadas por no om 0 4 0 4 0 8 1 1 l oono oo on mas, no referencial A, que ponto é este? Sabendo BT (e consequentemente ATs), para qualquer ponto do espaço é válida a seguinte relação “q =! T, 2 q=? T;' 2 q Portanto, 00-18 01 0-4 Qhno 0-4 00 01 e por conseguinte, “B' =“ T, 2 B',ouseja 0 0-1 s]4] [0 01 0 -4|4| Jo 10 0 caso 00 o ali) | como seria de esperar, visto este ponto não ser mais do que a origem do sistema A. Um segundo teste pode ser feito a um outro vértice do paralelepípedo ilustrado na Figura 3-43. No referencial B, temos o ponto indicado por qo, que terá como coordenadas nesse referencial Pqo. Esse ponto vai ser movimentado para a posição qr, que terá coordenadas Bqr ou Agr, conforme o referencial. Admitindo as Sistemas de Coordenadas 3-23 Robótica Industrial — V. Santos e Asua inversa é igual à sua transposta: R! = R7 + As suas colunas são ortogonais: &, -€, = 0 ij=1, 2, 3Ai=xj * O seu determinante é unitário: det(R) = 1 8.5.2 Formas de expressar a orientação Podendo efectuar rotações em torno de três eixos (Figura 3:32) afigura-se um variado número de combinações possíveis. Esse número é aumentado pelo facto de cada rotação em torno de um dado eixo poder ser feita em relação ao referencial original ou ao novo referencial recém-criado. Aos ângulos de rotação em torno de cada um dos três eixos chamam-se usualmente ângulos de Euler eo seu significado depende da combinação de rotações usadas. O número de combinações distintas é de 12 e de seguida descrevem-se as duas mais usadas. 35.21 RollPitch-Yaw (RPY) A combinação de ângulos mais imediata é a de pensar a rotação, em relação a um referencial fixo, segundo os eixos x, y e z por esta ordem. Esta sequência é frequentemente conhecida pelos termos ingleses Roll Piteh-Yaw. Roll(y), Rot(z, y) Pitch(9), Rot(y, 6) Yaw(6), Rot(x, 6) Figura 3-4 - Rotações RPY e correspondência usual num punho de mannipulador. Matematicamente a matriz de transformação é obtida do seguinte modo: Rot(9,0,4) = RPY (6,0,4) = Rot(z,y) Rot(y,0) Rot(z,9) ou, após desenvolvimento: CÓCO SHOW +COSOSY SOSY + COSOCY O SOCO CÓCU +SÓSOSY —CÓSY + SÓSOCY O FPY(60 4) =| 59 casu cocw 0 o o o 1 Usualmente também se definem as seguintes expressões Roli(d) = Rot(z, 0), Pitch(0) = Rot(y,0), Yaw(w) = Rot(z,1/) 3.5.2.2 Ângulos de Euler (tipo ID) Uma outra variante para os ângulos de Euler muito usada, é a chamada tipo II (se bem que esta designação varie muito com os autores). A sequência é a de rotação em torno do eixo dos 22, rotação em tomo do novo eixo dos yy, e finalmente rotação em torno do novo eixo dos 22. Esta variante também se designa ângulos de Euler tipo Z-Yw-Zw, onde o índice N lembra que se trata de transformações no novo sistema de coordenadas. Sistemas de Coordenadas 326 Robótica Industrial — V. Santos Rot(z, 6) Rot(y, 6) Rot(z". y) Figura 3-45 - Ângulos de Euler do tipo II (Z:Yw-Zx) Matematicamente a operação pode ser expressa da seguinte forma: Euler, (0,6,4) = Rot(2,0)Rot(y, 6) Rot(2,) Após expansão matricial, e relembrando da pós multiplicação efectuada para a segunda e terceira rotação no tempo, chegamos ao resultado: Euler; (0,0,4) = CÓCOCY — SÓS —CHCOSY — SPCY CóSO 1 SHCOCY + CÓSY —SPCOSY +COCY SóSO 1 -s0cy sosy co 1 0 0 01 Sistemas de Coordenadas 3-27 Capítulo 4 Cinemática Directa de Manipuladores Elo 8 a 1 d 1 8 +m/2 o L: 2 6 o Ls o OO “OS 5 LOO, SO —85, —O LS, SG 0 LS5+L 0 0.0 1 Robótica Industrial — V. Santos Figura 4.3 - Eixo de junta colinear e ortogonal em juntas rotacionais Eixo de uma junta prismática Para juntas prismáticas a abordagem é semelhante. Existem os casos de junta colinear ou junta ortogonal, conforme se ilustra na Figura 4.4, do lado esquerdo e direito, respectivamente. + / si a = / f / “ Figura 4.4 - Eixo de junta colinear e ortogonal em juntas prismáticas 4.2.2 Os quatro parâmetros de elos e juntas Um elo é um elemento rígido que mantém fixas as relações entre juntas sucessivas e pode ser caracterizado com um determinado número de parâmetros geométricos/cinemáticos no que diz respeito à transformação geométrica que opera. Os elos intermédios são delimitados por duas juntas; à que o precede na série de ligações designa-se aqui por junta anterior, e à outra designa-se posterior ou seguinte. Excepções devem ser levadas em conta para os elos extremos do manipulador, onde só há uma junta delimitadora Apresenta-se de seguida uma definição conceptual de cada um dos quatro parâmetros cinemáticos, à qual se junta uma definição formal que será usada mais adiante, a propósito do Algoritmo de Denavit-Hartenbers. Para se compreender a definição formal recorre-se a uma a simbologia própria, a saber: Oi Ponto de origem do sistema de coordenadas 1 20 xi— Ponto de intersecção entre o eixo ie o eixo x; O,P.|, - Distância do ponto O; ao ponto P'medido ao longo do eixo x; — Ângulo medido da direcção de x; para a direcção de z; em torno do eixo y to do elo (li Le, 2)ly Com; Distância medida ao longo da normal comum entre os eixos das juntas. Traduz o conceito de afastamento linear entre os eixos das juntas. Formalmente! |, = (2,4 1 x,),0;],. 1 Alguns autores preferem usar a letra a para designar este parâmetro Cinemática Directa de Manipuladores 44 Robótica Industrial — V. Santos Distância entre elos ou deslocamento de juntas (di) O deslocamento de juntas traduz, em geral, a distância entre elos medida ao longo do eixo da junta anterior. Definição formal: d, = 0,1, (a No, Ángulo de junta (o) Ângulo definido normalmente entre o eixo de um elo e o eixo do elo seguinte. Definição formal 94=/(2,,,2,) e Ângulo de torção do elo (a) Ângulo de torção que o elo impõe desde o eixo da junta anterior até ao eixo da junta seguinte. Definição formal: o, = (2.4, %)] 4.2.3 Alguns exemplos de elos De seguida apresentam-se várias geometrias de elos com o intuito de ilustrar os diversos parâmetros que afectam a cinemática de um manipulador. A definição dos sistemas de coordenadas não é muito rígida à excepção da definição do eixo zz que coincide com o eixo da junta, como convencionado. O mésimo elo e a sua junta anterior (mésima) são responsáveis pela definição do sistema de coordenadas n que se considera solidário com o elo. O sistema de coordenadas (n-1) é aquele sobre o qual opera a junta n e o respectivo elo n. Desse modo, o sistema de coordenadas O (zero) é o primeiro de todos e refere-se à base fixa do manipulador. Regras adicionais serão propostas mais adiante de uma forma estruturada para a definição do algoritmo de Denavit-Hartenberg. Em todos os casos seguintes, o elo é o n-ésimo da cadeia Junta n+1 Inz0 da=0 Bn = variável On = O Figura 4.5 — Exemplo 1 de elo — juntas rotacionais paralelas Cinemática Directa de Manipuladores 4.5 Robótica Industrial — V. Santos < Junta n+1 Ymt Juntan 4) 110 dz 0 Bn = variável On =0 120 da =0 On = variável dn £0 (-909) Figura 4.7 - Exemplo 3 de elo; juntas rotacionais ortogonais Junta n+1 Junta n 10 da O On =variável dn £0 (-90º) Figura 4.8 — Exemplo 4 de elo: juntas rotacionais ortogonais e com desalinhamento Cinemática Directa de Manipuladores 46 Robótica Industrial — V. Santos Parâmetro Símbolo r oia al prin ca Definição formal Ângulo de junta a variável fixo 9; Deslocamento de junta d; fixo variável | d, Comprimento do elo li(ai) fixo fixo =(21Ne),0O , Ângulo de torção do elo a fixo fixo q =“ (am Z ) R Tabela 4.1 - Tabela dos parâmetros cinemáticos Para efeitos de uma abordagem genérica, diz-se que o vector variáveis de junta é designado por q e dado pela seguinte expressão: . 7 9, & rotacional a=[a w a] + prismática 4.2.5 Transformação “7A; associada a um elo Depois do exposto é imediato concluir que o elo i, associado à sua junta í, realiza uma transformação geométrica, dando origem ao referencial 1+1, que pode ser decomposta nas quatro operações elementares Q Rotação 6; em torno do eixo da junta (zi1) Q Translação longitudinal” ao longo do eixo do elo (xi) do seu próprio comprimento (1) Q Translação “transversal” ao longo do eixo da junta (2) do afastamento entre juntas (d;) Q Rotação au do eixo da junta (z;) em torno do eixo longitudinal (xi) do elo Repare-se que estas transformações elementares surgem concatenadas em sequência, e por esta ordem, se bem que as translações possam comutar entre si, o que significa globalmente obter-se uma transformação final por pós-multiplicação sucessiva, resultando na matriz /A;ou mais simplesmente, A; A, = Rot(2,0, ) Trans(1,0,0) Trans (0,0,d, )Rot(2,0,) co -s, ooloo1]|l o 0õo so, 006, 0 0]0 10 0]0 Ca, -Sa, 0 4 =| o 00001 4]0 Sa Ca, O o o o1jooo1l|oo o ã1 co, -S00a, SOS, 106, S6, C8Ca, -C6Sa, 1,56, A=l0 sa ca, d (a) 0 0 0 1 Os elos de um manipulador são numerados a partir da base e o primeiro elo (móvel) é o elo número 1 que se segue à primeira junta, ou junta número 1. A base fixa é designada o elo 0. Sistema de coordenadas O (zero) será aquele a partir do qual se faz toda a transformação geométrica do manipulador. Há frequentemente mais do que uma possibilidade de o fazer, conforme o interesse do problema. A Figura 4.14 ilustra duas possibilidades alternativas (a segunda a tracejado) para definir o sistema de coordenadas inicial (zero) de um manipulador do tipo PUMA com 6 graus de liberdade: 6 juntas, 6 elos (móveis mais uma base ou elo 0). Deve referir-se que haveria ainda várias outras possibilidades de escolher os sistemas de eixos Cinemática Directa de Manipuladores 49 Robótica Industrial — V. Santos Figura 4.14 - Elos e juntas de um manipulador do tipo PUMA. Assinala-se a tracejado uma alternativa para o sistema de referência. 4.3 Atribuição de sistemas de coordenadas 43.1 Exemplos simples de sistemas de coordenadas Apresentam-se agora dois exemplos de atribuição de sistemas de coordenadas e a determinação de parâmetros cinemáticos de coordenadas em dois manipuladores simples com dois graus de liberdade cada. Antes de mais defina-se que a posição zero de um manipulador (Zero ou Home Position) é aquela em que as variáveis de junta estão nos seus valores 0. Ou seja, as juntas rotacionais estão alinhadas com a referência e as juntas prismáticas estão recolhidas Um manipulador planar a 2 DOF Elo | é a ! d 1 9% 0 h Zg 2 % 0 bo 0 h b Figura 4.15 - Sistemas de coordenadas e parâmetros cinemáticos de um robot planar a 2 DOF O manipulador planar a 2 graus de liberdade (degrees of freedom - DOF) é o mais simples dos manipuladores interessantes, e a atribuição de sistemas de coordenadas é relativamente óbvia; bastará atender ao eixo das duas juntas, e o resto sai naturalmente. Outras configurações seriam possíveis mas sem vantagens adicionais. Podemos agora determinar as suas expressões de cinemática directa usando a relação (4.1) e fazendo as simplificações de escrita Ci = C6i e S1 = SO Cinemática Directa de Manipuladores 410 Robótica Industrial — V. Santos o -S0(0) SS(0) 4-0] [CG -S, 0 10, C -S 0 LO, 1 8 GOO -CS(0) h:S| | 0 045 1 S € 045, 110 S(0) c(0) 0 o o 10[2 lo o1º0 0 0 0 1 0 001 0 001 Multiplicando as expressões obtidas virá DT=o 01 0lo 010 0 CO — SS, 08-80, O LOC, 55, + LO, SG +05, “SS +00, O LOS, +bS,0, +18, 1 0 0 0 0 0 0 1 Que, fazendo Ci: = Cn2 = C(91+82), podemos simplificar em Co Sp O LO +hO, am Su Co O Sais, n=| q 01 o (4.2) 0 0 0 1 Analisando esta matriz podemos desde logo individuar as coordenadas (x,y,2) do end-effector do manipulador. Dada a simplicidade do manipulador, era possível obter estas mesmas coordenadas por análise geométrica directa como se demonstra na Figura 4.16. Porém, a matriz de transformação além de ser genérica, possui mais informação. Por exemplo, dela se extrai também que a orientação do sistema de coordenadas da mão (xm,yn) aponta nas novas direcções dadas pelos vectores [Ci» SiulT e [Sw Cid, respectivamente. Mais uma vez é claro que estas orientações também se deduziriam pela análise geométrica, mas não de forma tão directa. Coordenada x do extremo do manipulador: v = L cos6, +L cos(8, +6,)= LC, + LO, Coordenada y do extremo do manipulador v= Lind +Lein(9, +0,)= LS, + LS Figura 4.16 - Coordenadas para um manipulador planar a 2 DOF Cinemática Directa de Manipuladores 411 Robótica Industrial — V. Santos opostos para y1, y2 e ya. A principal diferença das duas alternativas seria o sentido de rotação positiva para os ângulos de junta para o observador, mas de resto não haveria alterações que afectassem a resolução do sistema * O manipulador não está representado na sua posição zero! Para isso os elos deveriam estar orientados de tal forma que todos os eixos x; fossem paralelos. Não estando na posição zero dever- se-á ter algum cuidado na determinação dos diversos ângulos de junta já que alguns terão termos constantes adicionais de +90º, mormente 61 e 6 36 489) z6 (a) Junta i -90º 90º -90º aju)e|wjto elo|c|8|o|8|o Figura 4.18 - Exemplo de sistemas de coordenadas para um PUMA de 6 DOF e indicação de 6 e a na configuração ilustrada 4.4 Exemplos de construção da Cinemática Directa De seguida apresentam-se dois exemplos de implementação da cinemática directa de dois manipuladores usando o algoritmo de Denavit-Hartenberg: um manipulador antropomórfico de 5 DOF e um SCARA a 4 DOF. 4.4.1 Um manipulador a 5 DOF (Microbot Alpha II) Aplicando o algoritmo de Denavit-Hartenberg é possível chegar à solução ilustrada na Figura 4.19 para os sistemas de coordenadas de um manipulador do tipo Microbot Alpha II Cinemática Directa de Manipuladores 414 Robótica Industrial — V. Santos Elo o a 1 d 1 O, +0º [ 0 | 2 6 0 Lo | 0 3 0; o Le [0 4 0,+90º | 490º | O o 5 Os o o [1 Figura 4.19 - Sistemas de coordenadas para um manipulador antropomórfico a 5 DOF As origens Os e Ou coincidem, pois que Os é dado pela intersecção de 24 com 23. Note-se também que o robot não está na posição zero e, por isso, a junta 4 tem na definição da sua variável o termo correctivo de +90º, ou seja, nesta posição inicial, na qual os ângulos de junta assumem o valor zero, o eixo xy já está "adiantado" 90º em relação a xs. Na sequência do algoritmo da cinemática directa basta obter as matrizes de transformação associadas a cada elo, usando a expressão (4.1), e pós-multiplicá-las em sequência. Para a primeira matriz vem C, -S0(90) S8(90) 0-0] [0 5 0 Ss, C0(90) -OS(9) 0:8,| |S 0-0, 0 ?lo (90) co) Li | [o 1 0 & 0 0 0 1 00 0/1 Para as matrizes seguintes, também é imediato chegar às suas expressões G -5, 0 L,-C, 0, —-S, 0 LC, a, =|* CG 0 LS ao 8 0, 0 bora | 0 010 0 010 0 00 1 0 00 1 (9,+90) 0 s(9,+9) 0] [-5,0 0,0 OG -S5 00 1 s(9, +90) 0 -C(9,+90) 0| [0 05,0 1 Ss 06 00 4 0 1 0 o/) [0 10 0[/º jo 0 11, 0 0 0 1 0 001 0 0 01 A expressão final da transformação geométrica do referencial da base para o referencial da mão obtém-se pela seguinte multiplicação Cinemática Directa de Manipuladores 4.15 Robótica Industrial — V. Santos Q ú G —S LC, 10 8 0 o A 3 O LoOl-s, 0 c of, -s 0 0 m- 84 0-0 0||8 0 0 LS], O 0 LS 0 s,0||5 0,00 “ |01 0 Lllo 01 0 01.0 o 1000 0 11, 00 0 1||j0 0 0 00 1 o o o1|jo 001 Repartindo o produto em dois termos fundamentais, (AAA: (MAs), virá: CO, — 0,898, 040,8, CO, 5 Lo C00; 018585) + LO SO, SS O, LO, SOC, SS, SOS, -SS0, O, L(SC,O,— 88,8,)+ LS; | 0 OS 5, Lo0, R Os OS T- 4 SC, +05, “SS +00, 0 L(S0,+05,)+LS, +L, | 5 Goo o o o 1 o o 01 Ou, recorrendo a relações trigonométricas, numa forma mais simplificada: Cias + Cs Sios — Sus 25 Lo(Cios + Ci) +20 | -80; 848 Oy Lp am, = 1)fus +8iacs Cias Oiars 20, Lo Sos + 8,905) +2L580, | 005 048 84 LO, (4,4) 4 => 2 25 2 0 2(LoSys + LS, +L,) 8, c 0 0 o o o 2 o o 01 Recorde-se que Ci-23 = cos(0:-0:-03) e Ci = cos(01+02+05), etc. O resultado final, por extenso, tem uma representação com uma dimensão gráfica muito grande e praticamente sem interesse neste momento. O recurso a meios numérico-computacionais é, por isso, recomendado para a obtenção de valores concretos Para efeitos de verificação admitamos, por exemplo, que todas as juntas tem valor 0, ou seja, a representação ilustrada na Figura 4.19. Assim, por substituição directa na expressão anterior teriamos 10 0 L+L|0 01 L] [0 0 1 Ly+L+Lp 00 —1 0 100 L 0-1 0 0 RT = = "ºlo1 0 o joio o| [100 L, 00 0 1 000 1 0 0 0 1 Desta expressão sai que a origem do sistema de coordenadas da mão está em (Ls+Lc+Lov, 0, La), que x4 aponta na direcção de zo, ys aponta na direcção simétrica de yo, e z4 aponta na direcção de xo, o que se confirma observando a Figura 4.19. 4.4.2 Um manipulador do tipo SCARA (4 DOF) Um manipulador muito usado na prática é o SCARA de 4 graus de liberdade, de que se ilustra uma representação na Figura 4.20. As 4 juntas foram numeradas obedecendo à sua ordem de aparecimento a partir da base. Podem surgir dúvidas, na junta 3, se, na verdade, a ordem é a representada. Esta representação assume que a junta rotacional do punho está após a junta prismática, e que é de facto o caso mais comum. Porém, também se poderia ter o caso que a junta rotacional estivesse "antes" da prismática, implicando um sistema mecânico diverso que realmente suportasse a junta linear "sobre" um elo que poderia rodar em tomo de si próprio. Nesse caso a ordem das juntas seria a inversa da indicada e também os parâmetros cinemáticos seriam outros, mas o resultado final seria o mesmo. Cinemática Directa de Manipuladores 416 Robótica Industrial — V. Santos Figura 4.22. O vector à é designado por vector aproximação da mão, e tem uma direcção que é normal à palma da mão; o vector E é designado vector escorregamento ou deslizamento da mão (sliding) e tem a direcção do movimento dos “dedos”; o vector à, finalmente, completa o sistema directo de coordenadas, e é designado por vector normal aos “dedos” da mão Figura 4.22 - Orientação do sistema de coordenadas da mão Assim, por simples comparação das expressões indicadas anteriormente, pode-se escrever, por exemplo, o seguinte: -sin6 6 = arcsin(—n.) = cossiny > |y = aresin(s, / cos0) (4.7) = sin cos6 é = aresin(n, /cos0) Ficam assim determinados os ângulos de Euler com base na matriz de transformação do manipulador como se pretendia. Adiante-se desde já que esta não é uma boa solução do ponto de vista numérico, como se explica na próxima secção. 4.5.2 Limitações de precisão e reformulação Na secção anterior, nomeadamente na última expressão dos ângulos de Euler, nota-se porém que, quando o ângulo 8 tendo para 90º, o co-seno de 6 tende para 0, e algumas das expressões correm o risco de perder precisão em cálculo numérico. Uma hipótese alternativa é utilizar mais igualdades extraídas das duas matrizes e usá-las aos pares de forma a minimizar esse risco de imprecisão numérica. Poderemos então ter as seguintes igualdades =-sing Mm em n. = cospcos6 cosbsiny e =tonó ny = sing cos6 a, = cosb cos A função tangente inversa (arco-tangente) afigura-se menos sensível às imprecisões dos termos da matriz de transformação do manipulador, quer porque eventuais erros sistemáticos nos termos se atenuam na divisão (s/a., etc), quer porque o domínio da função arco-tangente é infinito e portanto sem risco de indefinição. Porém, a obtenção dos ângulos com recuso à função arco-tangente apresenta um outro problema ligado à determinação do quadrante do ângulo em causa. Por exemplo, se à,= s;= “1 então o quociente s/a: resultaria igual a 1 e portanto = 45º. Ora, ao ponto (1,1) corresponde um raio-vector com o ângulo de — 135º. Este erro de 180º representa o próprio período da função tangente e tem de ser levado em conta no cálculo. Assim, uma aplicação “cega” da função arco-tangente poderá ser incorrecta; é por isso que se deve atender ao quadrante do “ponto” antes de calcular a arco-tangente. Muitas aplicações de “software” numérico recorrem à função arco-tangente com dois argumentos em vez de um só; existe a vantagem adicional de poder lidar de antemão com quocientes onde o divisor seria O. Nomes como atan(y,x) ou atan2(y,x) são muito comuns para esta função. A Tabela 4.3 define a função atan2(x,y), tal como é Cinemática Directa de Manipuladores 419 Robótica Industrial — V. Santos implementada na grande maioria das aplicações de “software” Condição Definição Quadrantes x>0 arctan É 1ºe4º 7 x=0nyz0 sign(y)- 3 Eixo das ordenadas x<0 arctanÊ + ciga(y) 7 2e3º x=0ny=0 Não se define, mas o valor O é por vezes atribuído Tabela 4.3 - Definição da função atan2(y,x) Para alguns manipuladores, ou algumas configurações específicas, as expressões extraídas das matrizes de transformação, pelas variáveis e termos que incluem, não se proporcionam ao uso directo da função arco-tangente. Nesses casos, poderá o problema ser reformulado usando uma técnica relativamente simples: a de reorganizar a equação matricial por pré: ou pós-multiplicação de transformações parciais, ou seja, passar, por exemplo, da fórmula: 2 T, = Trans( po, py,p: )Rot(z,6) Rot(y,0)Rot(z,y) à fórmula: Rot! (2,6) Trans”! (pa, Py,P: y Ty = Rot(y,0) Rot(x,1y) Usando propriedades apresentadas anteriormente, podemos obter as expressões das matrizes inversas de uma forma muito imediata: co -Só 0 or! co Só 00 nor Só C6 00 -Só 06 0 0 (lo o 10)Tlo 010 0 0 01 0 0 01 Trans (p.,Py;P:) = O que resulta em co Só O -plm sa p][009 0 So 01 0 0 0 -Só 06 0 py sa pi |0 10 0] Cb -Sy O o 0 1 pl sa pl|-socooo sy co o 00 1/[00 01 o 00 1)00 01 e finalmente: nalC6 + nyS s0b+5)SP aCó+aSó 0] [CO SOsy socy O nj06 —noSó 5/06 — 5.50 aCb-a,Só 0| | 0 Cy —Sy O «8 n. a, a. 0||-so cosy cocy 0 0 0 0 1 0 0 01 Podemos agora repetir o processo já levado a cabo anteriormente (comparar as matrizes termo a termo) e extrair mais alguns resultados. Assim, poderemos obter sucessivamente os ângulos 6, 9e y Cinemática Directa de Manipuladores 420 Robótica Industrial — V. Santos n, para dó: n0)-nS0=0>4= arctan—— n.06 + nySó = 00 > 6= arcton para 6 mo —s8 n:06 + nyS6 n a. = 0084 => a. = 0004 para y | aretan Note-se porém que há outras expressões que poderiam ser usadas. O que ficou assim garantido foi o recurso exclusivo da função arcotangente em detrimento de arco-seno ou arco-co-seno. Nas expressões acima, onde se lê arctan, assume-se atan2, na definição dada. 4.5.3 Exemplo de aplicação a um manipulador com 2 DOF em 3 dimensões. A matriz de transformação para o manipulador descrito na Figura 4.17, como derivado na ocasião, é dada por: CO OS Si LOO | fno o a ps a - SO, 58 O 180, | |hy Syd Py SG 0 Lb&+k||" & ap 0 0 0 1 0001 Assim, para esse manipulador, determinem-se os seus ângulos de Euler, isto é, a sua orientação no espaço cartesiano relativamente ao referencial da base. Aplicando os resultados da secção anterior poderemos obter, por simples substituição, o seguinte: My SO é = arctan > q = arctan = arctan(ton6,) = Na 18 —, —S, —S 8 = arctom - = 6 = arcton = arctan =-8, ns06 + nySó 040,04 + 8,081 Gx1 4 = arctan É >) = arcton (O, 9)=5 (ou -7/2 se [6] > 1/2) a. Cinemática Directa de Manipuladores 4:21 Robótica Industrial — V. Santos 2 = Lcos6, + L, cos(8, +6,) y=L end +Lein(9, +6,) 6 Elevando ambos os membros das duas expressões ao quadrado, e adicionando-os, ficará: 2 +yº = Ecos 6, + Lj sin? 6, + + sin? (0, +6,) + Li cos” (8, +6,) + +2L,L, cos 0, cos(9, +0,) + 2L,L, sin 6, sin(9, +0,) Virá então sucessivamente 2 +y" = E + Lj + 2LL,[cosg, (cos6, cos6, — sin 6 sin 6, ) + sin 6, (sin 0, 0080, + sin 6, cos 6, )] 2 +" = + +2LL (cos 6, cos8, — cosg, sing, sin 8, + sin? 6, cos, + sin 6, sin 6, cos6, ) 2” +y = + +2LL cos6, P+P-B-R (5.2) 2LL, 8, = arecos Pode verificar-se desde já a existência matemática de duas soluções para 62. reforçada pelo sinal + na expressão (5.2). A obtenção de 61 não é tão imediata e uma solução possível passa pelo recurso à tangente trigonométrica de uma diferença angular, como se pode observar de seguida: (153) tanA-tanB tan = Torta A tan E L sin 6, tang = —sinb O = T+ Ly 0056, tona =É z Figura 5.3 - Ângulos auxiliares para determinação da cinemática inversa do manipulador RR Na Figura 5.3, como 6, = o — 8, virá, pela relação da tangente da diferença, o seguinte: — U(L + Ly cos6, )- aly sing, v(L, + L, cos8, ) + yL sinô, ou seja v(Li + L 0056, ) — ay sin 6, > 5.3) 2(L, + Ly cos6, ) + yL, sin 6, 6 9, = arctan 5.1.2 Resolução para o manipulador RR a 3D É também possível resolver a cinemática inversa de um outro manipulador já introduzido anteriormente no estudo da cinemática directa. Trata-se do sistema RR no espaço a 3D que se ilustra na Figura 5.4 e onde também se apresenta a expressão da cinemática directa conforme derivado anteriormente, Cinemática Inversa 53 Robótica Industrial — V. Santos igualada à matriz de transformação geral que indica a postura no espaço operacional com posição e orientações AO AS 5 LOO, Me So Po aq [NO Sa O LoSO | Jr sy dy OS OG 0 LS+b| [NM % a Pp: 0 0 0 1 0001 Figura 5.4 - O manipulador RR no espaço 8D Mesmo restringindo-se ao uso de componentes de posição na matriz de transformação geral (por serem em geral mais fáceis ou explícitas de obter na prática), a resolução é imediata para a variável 01 após a divisão entre dos termos respeitantes à posição px e py LOC, =p 010, = Po = tan 6, = 8 = arctan 2 (5.4) LyS,/0, = Py Ps Po A obtenção de 6: pode ser imediata se se considerarem as componentes de orientação, bastando atender a n: e s, e à arco-tangente do seu quociente mas, com base no termo pz da posição, viria também -L, p. 8, = arcsinPE o (5.5) A expressão (5.5) pode todavia apresentar limitações de precisão numérica quando o valor de pr for muito próximo de Le ou mesmo se tiver erros sistemáticos na sua avaliação, isto é, não se está a usar uma função de arco-tangente com os seus benefícios numéricos como descrito anteriormente noutro capítulo. Mais tarde apresenta-se outra solução para este manipulador em que esse problema se resolve. 5.1.3 Métodos e condições de existência de soluções. A resolução analítica apresentada para o caso RR planar ou o RR no espaço nem sempre pode ser facilmente estendida a mais graus de liberdade ou dimensões. Existem vários métodos alternativos na literatura dos quais se destacam os seguintes: e Transformações inversas (Paul et al., 1981) * Matrizes duais (Denavit, 1956) * Quaternions duais (Young & Freudenstein, 1964) * Métodos iterativos (Vicker et al., 1964) * Abordagens geométricas (Lee & Ziegler, 1984) Em qualquer dos métodos há porém várias condições e situações para a existência de soluções, e das quais se destacam as seguintes: * O pontono espaço operacional deve estar no espaço de trabalho e Nãose deve exceder os limites físicos das juntas e Para haver solução analítica (num caso de 6 eixos) é suficiente que 3 eixos de juntas sucessivas se intersectem ou sejam paralelos (Solução de Pieper) 5.1.4 A redundância cinemática Quando um manipulador pode atingir uma dada posição no espaço com mais de que uma configuração das juntas, diz-se que há redundância. Diz-se que uma redundância é uma posição alternativa devido a uma Cinemática Inversa 54 Robótica Industrial — V. Santos junta, e se for N o número de redundâncias então o número de soluções é dado por 2”. Se o número de soluções for maior que o número de juntas então a resolução da cinemática inversa do manipulador pode trazer dificuldades adicionais, como a impossibilidade de obter uma solução. No exemplo anterior do manipulador RR planar as soluções matemáticas são de fácil interpretação graficamente, como ilustra a Figura 5.5. Figura 5.5 - Redundância no robot RR planar Matematicamente a existência de redundância detecta-se normalmente pelo aparecimento da função arecos(x) ou de radiciação (1x) A situação de redundância pode ocorrer quando há mais graus de mobilidade do que os necessários Manipuladores com mais de seis graus de liberdade são ditos infinitamente redundantes. Na Figura 5.6 ilustram-se as 4 soluções clássicas de um manipulador antropomórfico (cotovelo-em-cima ou cotovelo-em- baixo, ombro-à-direita ou ombro-à-esquerda) aa É n N “O ú s - E» (Na Cotovelo em cima Cotovelo em cima Cotovelo em baixo Cotovelo em baixo ombro à esquerda ombro à direita ombro à esquerda ombro à direita Figura 5.6 - As quatro soluções de um manipulador antropomórfico usando só as juntas primárias Quando o manipulador tem um número infinito de configurações para uma dada posição da mão diz- se que se atingiu uma situação de degeneração. Casos mais comuns são o do manipulador RR planar de elos iguais para a mão no ponto (0,0), ou ainda numa situação em que o punho do robot fique com dois eixos colineares e alinhados (Figura 5.7). Figura 5.7 - Ilustração de duas situações de degeneração: há um número infinito de combinações de (8,,65) ou (84,06), respectivamente, para o end'effector nas configurações indicadas. Cinemática Inversa 55 Robótica Industrial — V. Santos usando (5.4); 6, = arctan (5.9) PO, + py A vantagem imediata da expressão (5.9) em relação à expressão (5.5) é que se usa uma função arco- tangente; realça-se portanto que esta técnica das matrizes inversas pode oferecer a possibilidade de soluções alternativas, e por vezes até as únicas possíveis 5.4 Solução de uma equação usual no problema da cinemática inversa Da expressão (5.7), entre outras, verifica-se que existe um tipo de equação trigonométrica que surge com relativa frequência na determinação de cinemática inversa, e que se traduz genericamente da seguinte forma: k cos8 + k, sinO = k, (5.10) É por isso importante que se derive uma solução genérica expedita, o que se faz de seguida. Seja 8 - k=tonl; sabendo que cin? -100080 que col = Ltcoso tanto, que 2 2 2 2 2 2 tan? 8 - 1h0008 > é imediato provar que 0050 = LD, bastando usar mera substituição para o 2 Ircosd P mu >14P' ção p: pn 1-cos0 +050 1l+cws6-1+cosb 2cos6 verificar: — —tost TOO TO = cos6 pp ID 050 140080 +1 cod 2 1+ cos0 k A De forma similar se prova que sin O = 7 mais uma vez recorrendo a simples substituição 9 T=cosê T=cos5 o a[i=cos0 (14 cos), sé 2tan o itoso Ut os = (140059) [228 — ip 1- 080 27, I-cosd 2 Tycosg +] —cosa Vir cos 1+cosg 1+ cosô = VI - cos 0 = sing Assim, após a substituição destes termos em A na expressão original (5.10) virá sucessivamente: (LR) + 2hh = hs (144º) (k + hs )k2 — 2h,k + (k; — b) = E + hy E + 6 =2-aretan E (11) 5.5 Algumas soluções analíticas padrão A maioria dos manipuladores industriais pertencem a um pequeno número de tipos e configurações cinemáticas, e obedecendo a umas regras tais que é relativamente expedito obter a solução da sua cinemática inversa. De seguida apresentam-se algumas soluções para manipuladores mais simples que podem ser combinadas, ou usadas na determinação de soluções de manipuladores mais complexos com 6 Cinemática Inversa 58 Robótica Industrial — V. Santos graus de liberdade, por exemplo. Além das apresentadas, outras soluções mais especiais podem ser encontradas na literatura indicada na bibliografia. 5.5.1 Robot planar de 3 elos A cinemática inversa de um robot planar de três eixos determina as expressões de [61, 83, 85] dado Lx, y, 6]. Se a orientação 4 não fosse dada então haveria redundância, e o braço teria um número infinito de soluções. Note-se para já que a orientação 4 é dada por: 4=0,+6,+0; (5.12) Figura 5.9 - Manipulador RRR planar A resolução da cinemática inversa deste robot assenta na do robot planar RR uma vez que o ponto Pw (Figura 5.9) é um ponto conhecido porque se sabe, obviamente, a posição e a orientação do end-effector bem como o comprimento de elo Lo: 2h (513) Pry = v— Só Mas, tendo em conta as expressões geométricas (5.1) já determinadas para o manipulador planar RR, pode também escrever-se o seguinte: fe =LO + LO 619 Ryy = 18, + LyS ou, desenvolvendo, Po = hO + 00, — Ly8S, (5.15) Poy = LS, + LOS, + LO, As expressões (5.15) levam à já conhecida solução para 62 como visto em (5.9). Pipa + Pry = + +2LL,0, (516) Pio + P-L 8 = tarecos 2 Du 1 2 Gaim 2LL, Em (5.17) mais uma vez se inscreve o sinal + para recordar a redundância do manipulador de cotovelo-para-baixo ou cotovelo-para-cima. Dado 6s, a obtenção de 01 poderá ser feita como em (5.3) para o manipulador RR ou então por um outro processo (mais extenso) sem ter de recorrer à tangente da diferença de ângulos, e que se descreve de seguida. Basta tomar as expressões (5.15) e resolvê-las em ordem a $i e C1, e depois fazer uma substituição recíproca, como se mostra na sequência seguinte: Cinemática Inversa 59 Robótica Industrial — V. Santos Po + Ly88, Fay MOS, L+LO, 0 L +LO, Por substituição de Si na expressão de Ci virá em sequência: po 4 Ls Ty bos» o moro GALO, Br (Li + 05) + PyLoS, — LoS,,01Sy ! L+LO, (L+LO) O (18 + 803 +26,L,0, 4 BS) = Py(h + 103) + Byyho5y Mas, atendendo à expressão (5.16) virá: O Brilha + Is0s )+ Brçlo5y ' Pa + Pwy e, após um procedimento similar, viria para S1 o seguinte: = Poy (1 + 0, ) — PyoloS, 1 P?yo + P?yy Virá finalmente para 01 a expressão (5.18), que se reconhece ser idêntica a (5.3): Pig (a + 104) — PoloSo G=ocan io (518) ' Ba Uh + LO, ) + PrploS, Por fim é necessário obter 63 que resulta de imediato de: 9, =6-8,—0, (519) 5.5.2 Solução do braço antropomórfico a 3 DOF O braço antropomórfico a 3 graus de liberdade consta de três juntas rotacionais num arranjo similar ao ilustrado na Figura 5.10, onde Pw é o ponto extremo do manipulador (onde se poderá fixar um punho — wrisb) Ly Figura 5.10 - Braço antropomórfico de 3 DOF A expressão da cinemática directa do manipulador RRR antropomérfico pode ser derivada com base num resultado obtido anteriormente quando se tratou do exemplo similar ao Microbot Alpha II a 5 DOF, bastando considerar as três primeiras juntas (sistemas de coordenadas de O a 3). Essa expressão é dada pelo seguinte, onde La, La e Le são os comprimentos dos 3 elos em causa: Cinemática Inversa são Robótica Industrial — V. Santos MEZ=ys % Figura 5.11 - Os três elos e juntas do punho esférico A representação na Figura 5.11 mostra os três eixos do punho esférico onde, apesar da junta 64 parecer ter associado um elo com dado comprimento, é mais interessante considerar que a origem do sistema de eixos do punho se faz no ponto Pyw ilustrado. Dessa forma poder-se-á posteriormente "concatenar” o manipulador antropomórfico a 3DOF com o punho esférico e assim obter um manipulador a 6 DOF. Após estas considerações, a cinemática directa do punho esférico obtém-se com base nos parâmetros cinemáticos de Denavit-Hartenberg que se ilustram na tabela seguinte: Elo 8 a I D 4 [090] +90 | O 0 5 [090/ +90 | 0 0 e [olo 0 | Relembrando e usando a matriz de transformação de um elo, resultam daqui as seguintes matrizes -4 00,0 -5 0 G 0 O 5400 q osso OG 050 & G 00 4=lo100/8>lo 10 04% o 11, 0001 0001 0 001 84% O 80 OG -S 0 0 “05 84 GO OG G 0 0 enemressiofna: AAÃO=| 0 | solo 0 1% o 0 o ao 001 Su06 + CS —SyS5S6 + CO —S40 —S40sLp —CS506 + SySo S604Ss +40 CO CGOLp 621) AASA, = 5.21) tios —O5G6 GsS6 Ss Sp 0 0 0 1 Comparando os termos respectivos com a matriz de transformação geral para a orientação: 8, E E Roo Ro =|n5, Sy Gay|=[Dy & às (5.22) obtém-se as expressões para as diversas variáveis de junta Cinemática Inversa 513 Robótica Industrial — V. Santos 8405 = ass —as > 9, = aretan—te (5.23) C4Os = ag; as observando que as, = S; e que aj, + a3, = C2, e portanto que OC; = Vaz, + ag, (5.24) y de imediato se pode escrever o seguinte, fazendo notar que há, por isso, duas soluções para 65 as. 9; = arctan — => (5.25) + Ja. + ay Ainda observando e comparando (5.21) e (5.22) se deduz que: 3, 8, = arctan —E— (5.26) Finalmente deve notar-se que, dado o termo Cs ter duas soluções, além de 65, também 04 e 66 as terão porque também eles foram obtidos com base em Os. Assim, teremos as soluções alternativas quando Cs = —a3s + a3, , que recorde-se, tal com se tem vindo assumir, desde a sua introdução, faz-se uso da função atan20 em vez da mera aretanQ. 5.5.4 Manipuladores com um punho esférico Foi já referido que a solução geral da cinemática inversa de um manipulador pode tornar-se complexa e até mesmo impossível de resolver analiticamente. Todavia, uma parte considerável dos manipuladores usados na prática têm aquilo a que se chama um punho esférico, isto é, os eixos das três juntas terminais (associadas fundamentalmente à orientação) intersectam-se num ponto. Com base nos resultados observados no manipulador planar RRR, admite-se ser possível definir um ponto ao longo de um manipulador cuja posição pode ser expressa em função da orientação e posição do endeffector e também função de um número limitado de variáveis de junta! Isto é equivalente a dizer que o problema da cinemática inversa nesses manipuladores é decomposto em duas partes desacopladas entre si: posição e orientação. Para o manipulador com punho esférico, a escolha natural recai sobre o ponto de intersecção dos três eixos das juntas terminais, ou seja, o ponto Pw na Figura 5.12. Como previsto anteriormente, foi a "concatenação" de dois sub-componentes que deu origem a este robot; note-se todavia que o processo carece de um passo adicional. O sistema de eixos número 3 é diferente no manipulador antropomórfico a 3 DOF (onde é sistema de eixos terminal) e no punho esférico (onde é sistema de eixos inicial). A caixa na Figura 5.12 ilustra essa diferença, mas observe-se contudo que a origem do sistema é a mesma. Assim, não bastará multiplicar os termos A1A:As do braço por A:AsAs do punho, é necessário corrigir a discrepância do sistema de eixos número 3, por exemplo, através de uma pós-multiplicação de As por uma matriz que consta simplesmente de duas rotações: 90º em torno de ys seguido de 180º em torno de xs (original), ou seja: 10 0 0][0010[00/10 o1 0 0|0o100||o-100 Rot (a, 180) Rot (9,90) = “olio00h 000 oo o 10 001]|00 01 Ainda relativamente à Figura 5.12 observe-se que os sistemas de eixos não obedecem todos à Cinemática Inversa SIA Robótica Industrial — V. Santos metodologia de Denavit-Hartenberg. De facto, segundo esse processo, o sistema de eixos número 3 deveria ter a sua origem na intersecção de z com 73 e não na de 25 com z4 como aqui acontece. Isso deveu-se ao processo de construção deste robot a 6 DOF (como a "concatenação de dois sistemas menores), mas a única consequência é apenas a de operações adicionais para "alinhamento" do sistema de eixos como se acabou de fazer. yo dx Az; <s s »Py MK Py y Z x Sistema de eixos nº 3 Esq; Original no robot antropomórfico a 3 DOF Dir: Variante no manipulador a 6 DOF representado Figura 5.12- Manipulador antropomórfico com 6 DOF e um punho esférico A cinemática inversa do manipulador de punho esférico (obtenção de 61, 6, Bs, 84, 65 e 66 em função de P, à, 8 e à) é possível analiticamente usando um conjunto de passos como descrito de seguida. Da Figura 5.12 é imediato concluir a seguinte relação vectorial: Bb. =P-dã (5.27) Por outro lado, o ponto Pw é função das juntas 61, 62, Os (e só dessas) como se pode obter pela cinemática directa (5.21). Bastará, portanto, fazer a cinemática inversa para o ponto Pw e obter as variáveis de junta 61, 8: e 63, como demonstrado anteriormente na secção 5.5.2 De seguida deve individuar-se a componente de orientação imposta por 61, 6», 05, que se extrai também da expressão (5.21) e que se esquematiza em (5.28). 0 AAA, = R 0 (5.28) Finalmente, a obtenção das variáveis 64, 65 e Os faz-se como no caso do punho esférico (secção 5.5.3) porque se pode saber o valor da sua componente de orientação que tem o valor *R, = “R$! - R, como a seguir se demonstra. A sub-componente matricial de orientação do endeftector é dada por R=ºR/'R,ºR,;'R dado que nos produtos matriciais sucessivos, os elementos das Cinemática Inversa 515 Robótica Industrial — V. Santos 6. Cinemática diferencial 6.1 A problemática Nas cinemáticas inversa e directa abordam-se as relações entre coordenadas no espaço operacional e no espaço das juntas de um dado sistema robótico. Todavia, essas relações não dão qualquer informação sobre as características do movimento entre duas quaisquer configurações, ou seja, quais são as relações entre as evoluções temporais das coordenadas nos dois espaços. Dito de outra forma, se, por exemplo, a extremidade da mão deve descrever um certo deslocamento (incremento) no espaço a seis coordenadas durante um dado intervalo de tempo, que deslocamentos (incrementos) devem ter as diversas juntas ou vice- versa? Estes incrementos ou diferenças na posição e o seu estudo designam a chamada cinemática diferencial. Vai mostrar-se mais adiante que a relação entre deslocamentos infinitesimais nos espaços operacional e das juntas é dada pelo Jacobiano do manipulador. Toda esta conjuntura leva ao estabelecimento de duas definições importantes: caminho e trajectória. Por caminho entende-se um conjunto de pontos no espaço (operacional ou das juntas) que deve ser percorrido numa dada ordem; trajectória define um caminho levando em conta constrangimentos temporais, ou seja, são definidos intervalos de tempo para a evolução entre duas configurações sucessivas ou, no caso limite, a trajectória define a evolução ao longo de um caminho em função do tempo. 6.2 Transformações diferenciais 6.2.1 Conceitos Para expressar a noção de incrementos nas coordenadas (no espaço operacional ou das juntas) introduz-se o conceito de movimento diferencial geral ou transformação geométrica diferencial, ou simplesmente transformação diferencial. A transformação diferencial representa um acréscimo infinitesimal e, como tal, é vista como uma matriz de transformação usual que resulta da multiplicação de uma transformação diferencial de rotação seguida de um transformação diferencial de translação, ou seja, num dado referencial R, tem-se: dºTy = dºTrans - dºRot (6.1) onde a translação diferencial e rotação diferencial se expressam respectivamente por: dÊTrans = Trans(dz,dy,dz) (6.2) d?Rot = Rot(x,0.)- Rot(y,0, )- Rot(2,6.) (6.3) Na rotação diferencial, a ordem das três operações é arbitrária, como se pode verificar mais adiante em (6.4). De facto, quando se mencionam incrementos infinitesimais, no caso das rotações, está-se a assumir rotações de um ângulo infinitesimalmente pequeno do ou, formalmente, os limites das funções que traduzem as rotações quando6 — dô —» 0. Se se recordar que lim (sin6)=dô e lim (cos6)=1, é possível ado amo concluir para a rotação diferencial o seguinte: Cinemática diferencial 6-2 Robótica Industrial — V. Santos dfRot = Rot(x,5,)- Rot(v,0,)- Rot(2,5.) = 10 0 01 0501-500) [1-5 50 o1-solo1ools 1 oo ls 1-50 (6.4) “los 1 ol-syo1 oo o10I|-5a1o oo o ailooonllooon]l|o o oq Usando a expressão matricial da translação diferencial, pode expressar-se uma transformação diferencial partindo de (6.1), substituindo o resultado obtido em (6.4) e finalmente obtendo-se o seguinte: 100 dei -6 6 0) [1-5 5 de 010 dy)5 1-6 0) [5 1 -5 dy = (6.5) 001 d|-5 & 1 0) |-5 & 1 d 00010 0 o 1|[0 0 0/1 Assim, uma transformação diferencial é caracterizada por seis componentes que formam o chamado vector de deslocamento (movimento) diferencial e é representado por: . lá : D=|.l=[dr dy az 6, 6, 6 (6.6) õ 6.2.2 Metodologia de utilização Dadas estas definições, é agora pertinente questionar a sua utilidade e aplicabilidade prática. Em verdade, se um dado sistema de coordenadas *'Tw sofre uma transformação diferencial, o que se quer dizer é o seguinte relativamente à sua nova localização: Nova Localização = dº'T, = dÊ'Trans - dºRot - “Ty (6.7) Mas, por sua vez, a transformação diferencial foi introduzida para ser um acréscimo infinitesimal (diferencial) concebida para ser simplesmente tida como um termo aditivo de transformação geométrica, ou seja, deve ser tal que basta adicioná-la a uma qualquer matriz de transformação geométrica para obter uma nova matriz (de transformação), devendo verificar-se o seguinte: Nova Localização = *'Ty + d? (6.8) Igualando as expressões (6.7) e (6.8) virá em sequência: Ty + dºTy = dºTrons- dº Rot. *? dêTy = d Trans - dºRot - “Ty — “Ty = (dºTrans - dºRot — 1) 2Ty = “A. “Ty (6.9) Ao factor FA = dTrans -dºRot —I chama-se transformação de deslocamento diferencial (não confundir com a transformação geométrica diferencial) e permite determinar, em função de uma qualquer matriz representando um referencial em causa, qual o valor do incremento de transformação diferencial para se poder obter a nova localização. A transformação de deslocamento diferencial, face ao exposto, pode escrever-se na forma matricial, chamando-se a atenção para a diagonal e linha de zeros 0 -5. d de 6.10) 0 dz ( o 0 A transformação diferencial de um certo sistema de coordenadas (que o é no fundo RTw) foi abordada implicitamente como sendo vista de um referencial base original, o referencial R. Porém, a transformação a Cinemática diferencial 63 Robótica Industrial — V. Santos aplicar poderia ser vista, não do referencial base R, mas do próprio referencial N que irá sofrer a transformação diferencial. Isto reporta-nos às questões de pré: e pós-multiplicação de transformações abordadas em capítulos anteriores. Assim, se uma transformação diferencial for vista no próprio referencial (N), expressando por isso as transformações diferenciais elementares por d” Trans e d” Rot, virá: Ty +dêTy = "Ty -d”Trans.d”Rot = 2 T, dºTrons-d”Rot) = *Ty “A (611) 6.2.3 Exemplo numérico O conceito de transformação diferencial é naturalmente uma abordagem teórica que, quando implementado numericamente, terá alguns erros que poderão ser mais ou menos relevantes. Seja de seguida um exemplo para ilustrar esta questão. 001/10 1005 Dado um referencial A =|, , q q | qual é amatriz de erros na nova localização se se aplicar o 0001 + , processo das transformações diferenciais com seguintes os movimentos diferenciais: d=[1 0 05] e ô=[o 01 of ? Recordando à metodologia exposta, o procedimento é o seguinte: Nova localização = A + dA = dTrans - dRot - A onde dA =? A. A . Usando numericamente os vectores fornecidos como os vectores d e ô (e é aqui 0 o o1 1]0 01/10 o 01 0 1 o 00 0J1005||o0o 0 O que se introduz o erro numérico), virá dA =) 5, 9 9 oslo1o 020 0 -01 -05 o 00 0ljoo01||00 0 O 001 1 11 10 0 5 Assim, anova posição (aproximada) obtém-se como sendo: A+ dA =|) | 04 05 00 0 1 O valor exacto da transformação corresponde, além da translação indicada, a uma rotação em torno do eixo dos yy com valor 0.1, o que resulta em os(0.1) O sin(01) 1]0 01/10 0 10 oli o 05 Nova localização exacta = Ana =| (01) O cos(01) 05]0 10 0 0 00 10001 0 00998 0.99 % 10 0 5 Bfectuados os cálculos, virá explicitamente: Ao =| 0 0905 00996 -0496 0 0 0 1 Finalmente, a matriz dos emos pode ser dada pelo seguinte 0 0002 0005 005 00 0 0 |Arovo (AAA =[5 0005 0002 0001] Te corresponde, em termos relativos, a que qualquer 00 0 0 Cinemática diferencial 64 Robótica Industrial — V. Santos Pela metodologia descrita anteriormente pode chegar-se sem grandes dificuldades à seguinte expressão de cinemática diferencial de) [80 018 dy|=| bOO —L%S, dz 0 56 do dê, (6.16) É de observar que o Jacobiano em (6.16) não é quadrado, o que resulta de se terem considerado três variáveis cartesianas e duas variáveis de junta. Não foram levadas em conta variáveis de orientação cartesiana (que reforçariam a disparidade de variáveis) dado que também elas não são independentes das variáveis de posição (x, y, 2). Todavia, teria sido possível integrá-las sem dificuldades dado que se relacionam de forma muito directa com as variáveis de junta como se mostrou no capítulo da cinemática directa. A obtenção analítica por diferenciação da cinemática directa é o processo mais natural para obter o Jacobiano, mas outros processos existem na literatura como, por exemplo, por cálculo vectorial ou por coordenadas homogéneas segundo o Algoritmo de Paul 6.3.2 Jacobiano inverso Até agora abordou-se a questão de expressar os diferenciais das variáveis do espaço cartesiano em função das variáveis de junta, mas e o problema inverso? Ou seja, como se pode expressar o andamento das variáveis de junta dados os andamentos das variáveis cartesianas? Por exemplo, se se quiser que a evolução das coordenadas (x,y,2) do end'eifector seja linear (isto é, incrementos dx, dy e dz constantes), o que corresponde à descrição de uma linha recta no espaço a 3D, como deverão evoluir as juntas do manipulador? Este problema é com certeza de grande importância prática, e pode ser designado pelo problema da cinemática diferencial inversa. Há visivelmente uma relação com a cinemática inversa de manipuladores, onde também aí eram as variáveis do espaço operacional as entidades independentes à custa das quais se determinavam as variáveis de junta Se existir a função de cinemática inversa F-! tal que (01,00...) = E (nm,...,rm ) então também aqui é possível obter o Jacobiano dessa função inversa que se designa por J!, ou Jacobiano inverso, e ter-se-á dg = J-! dE. Todavia, esta designação de Jacobiano inverso pode levar à conclusão arriscadamente apressada, como correspondendo à matriz inversa do Jacobiano do manipulador (6.13), o que nem sempre é verdade porque esse Jacobiano pode não ser quadrado, como é o caso em (6.16), e logo nem sequer se poder definir a sua inversa. É por isso comum usar as designações Jr e J para o Jacobiano directo (Forward) e para o Jacobiano inverso Feitas estas considerações, surge assim a questão de como se pode obter o Jacobiano inverso, dado ele ser fundamental para a determinação das velocidades das juntas. A definição leva a que a primeira tentativa seja a de diferenciar as expressões da cinemática inversa, o que é sempre válido se essas expressões existirem. Por outro lado, se o Jacobiano (directo) for quadrado então pode tentar-se a sua inversão quer analítica, quer numérica, e nesse caso será feita em cada instante, mas deste assunto voltar-se-á mais adiante. Procure-se obter o Jacobiano inverso para o manipulador RR planar por inversão do Jacobiano directo. Simbolicamente pode escrever-se a expressão (6.15) do seguinte modo de] [Ju Jolda = (617) dy) (Jn Jo ljdo, x co Adj( , Pela definição de inversa de uma matriz ter-se-á: 3! = 2972? onde a adjunta de uma matriz é a [31 Cinemática diferencial 6-7 Robótica Industrial — V. Santos matriz transposta dos co-factores, ou seja: Adj(J Por seu lado, o determinante de J pode ser já obtido substituindo a sua real expressão dada em (6.15) e virá: det(3) = (1181 + LySto ) Oy + LoS (01 + La01a) (618) Esta expressão pode ser sucessivamente desenvolvida e ter-se-á! det(3) = —(LilySCiy + BS ) + (Lls01Sy + DOS ) = = ho (OiSp — Si03) = bl sin((8 +6)- 8) = (619) = lo, Prosseguindo com o desenvolvimento do Jacobiano inverso pode-se finalmente constatar: LO (0 + LO) 0 S 4 (bSp —(Si + bSp) 1 “ 2 J CC b5 Ls, | - O + 0 LS + boS (6.20) L A Apesar do resultado obtido de forma aparentemente fácil em (6.20), nem sempre é possível obter o Jacobiano inverso de forma analítica; na verdade, este caso é dos poucos onde o método resulta com facilidade. A via alternativa da diferenciação das expressões da cinemática inversa, por seu lado, oferece mais uma possibilidade, em particular quando o Jacobiano directo não é rectangular. É precisamente esse o caso do manipulador RR no espaço a 3D cuja cinemática directa está indicada na Figura 6.2 e a cinemática inversa, tal como indicado em capítulos anteriores, é dada por a= arcton é — (6.21) g= acta Rescrevendo a primeira parte da expressão anterior, virá: sind q ooo — q > “sind —ycos6 = 0 de sin Oy + e cosb, - dó + y- sin 6, - dó; — dy-cos6, = 0 de - sin 6 + dy - cosb dg, = CE Cm A teu cota 6.22) ! z-cos6; +y-sind (6.22) Substituindo os termos de x e y pelos valores respectivos conhecidos da cinemática directa (Figura 6.2), mais concretamente v = 010, e y = LoSjG5 , virá =dr -S, + dy-O4 -de-S +dy-C | —S a do, = = = de + dy (6.23) “O GOO O + SO, Si L0, LO, LO Note-se que semelhante resultado poderia ser obtido pela diferenciação directa da expressão da arco-tangente em (6.21) bastando desde logo recordar que dê, = dar + ay o y 2 do, Sd 6.24) h pr A) ( recorrendo também aqui a termos da cinemática directa, após substituição, virá: dá, = Edo + q A e Lm= ig 6.25 Lo Bo LO LO, (6.28) A obtenção do diferencial da variável 6» podia-se fazer pela derivação da segunda expressão em (6.21) Cinemática diferencial 6-8 Robótica Industrial — V. Santos tal como se fez para a variável anterior, mas o processo é muito mais expedito se se atender na cinemática directa que 2 = Ly + LS, o que, por diferenciação directa, dá de imediato dz = LyC4d6p, ou seja: 1 dê = "LO dz (6.26) Pode então escrever-se a expressão final englobando o Jacobiano inverso: de da, º qo = 27 ag, 1 dy 01 dy (6.27) 0 º poli dz Quando nenhuma das soluções analíticas for viável só restará a possibilidade da inversão numérica do Jacobiano directo. O princípio é o de que em cada instante (para os valores correntes das juntas) se pode calcular o Jacobiano directo e inverter numericamente a matriz. Se, mesmo assim, o processo for computacionalmente incomportável, uma solução é o de calcular a priori (off-line) um conjunto de Jacobianos inversos em pontos considerados fundamentais ou relevantes, e fazer algum tipo de interpolação nas diversas variáveis para os pontos onde essas inversas não tenham sido calculadas a priori. Este procedimento requer menos poder de cálculo mas em contrapartida exige grande capacidade de armazenamento (memória) 6.3.3 Recurso à pseudo-inversa Mesmo com toda a metodologia apresentada, podem restar os casos em que o Jacobiano directo não é quadrado, logo sem possibilidade de definir a matriz inversa. Para esses casos pode-se tentar recorrer ao conceito de pseudo-inversa de uma matriz que se define do modo seguinte Pseudo-inversa de uma matriz (m x n) de característica máxima (isto é com rank(A) = min(m,n), ou ainda que o número de linhas ou colunas linearmente independentes seja igual à menor das suas dimensões) A(AA) emsn é amatriz designada por A” tal que: A' = JA” em=n (MA)'A emzn Se a matriz for quadrada fica:se na situação tradicional da inversa. A pseudo-inversa de uma matriz possui algumas propriedades interessantes, entre as quais se referem as seguintes JJ J=3 Jess = J' tem as mesmas dimensões de J' Na equação J-x=b, a solução x=Jº-b minimiza o valor de [J-x-b| Ge. |J-J'-b-b)), ou seja, J.J“ representa o valor mais próximo possível da matriz identidade 1 6.4 Singularidades Como visto, por exemplo nas expressões dos Jacobianos em (6.15) ou (6.16), e pela própria definição do Jacobiano, se as relações da cinemática directa forem diferenciáveis (como o são praticamente todos os modelos contínuos), então o Jacobiano é sempre definido. Por outro lado, o Jacobiano inverso mesmo quando identificado por uma expressão analítica, pode nem sempre ficar definido para todos os valores das variáveis de junta, ou seja, para todas as configurações do manipulador. Para entender este facto, basta atentar na expressão (6.20) para o manipulador RR planar onde, se 62 for 0º ou 180º, o Jacobiano inverso não tem definição, ou ainda na expressão (6.27) para o manipulador RR no espaço a 3D onde se 8» for +90º também Cinemática diferencial 69
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved