CENTRO UNIVERSITÁRIO DAS FACULDADES ASSOCIADAS DE ENSINO – UNIFAE
FERNANDO CAPARRON MAGRIL
MODELAGEM CINEMÁTICA E SIMULAÇÃO COMPUTACIONAL DE
UM ROBO DE 7 GRAUS DE LIBERDADE
SÃO JOÃO DA BOA VISTA – SP
2010
1
FERNANDO CAPARRON MAGRIL
MODELAGEM CINEMÁTICA E SIMULAÇÃO COMPUTACIONAL DE
UM ROBO DE 7 GRAUS DE LIBERDADE
Monografia apresentada ao Centro Universitário
das Faculdades Associadas de Ensino – UNIFAE,
como requisito parcial para Graduação do Curso de
Engenharia de Computação.
Orientador: Prof. Dr. Helder Anibal Hermini
SÃO JOÃO DA BOA VISTA – SP
2010
2
FERNANDO CAPARRON MAGRIL
MODELAGEM CINEMÁTICA E SIMULAÇÃO COMPUTACIONAL DE
UM ROBO DE 7 GRAUS DE LIBERDADE
Esta monografia foi apresentada como trabalho de conclusão do curso de Engenharia
de Computação do Centro Universitário da Faculdade Associadas de Ensino – UNIFAE, e foi
avaliada pela banca examinadora integrada pelos professores abaixo nomeados.
São João da Boa Vista - SP, _____________de_____________________________de 2010.
Professores que compuseram a banca examinadora:
__________________________________________
Prof. Dr. Helder Anibal Hermini
Presidente
Centro Universitário da Faculdade Associadas de Ensino – FAE
__________________________________________
Prof. Ms. Henrique Antônio Mielli Camargo
Examinador
Centro Universitário da Faculdade Associadas de Ensino – FAE
__________________________________________
Prof. Ms. Ramiro Romankevicius Costa
Examinador
Centro Universitário da Faculdade Associadas de Ensino – FAE
3
DEDICATÓRIA
Aos meus pais Antonio Miguel Magril e
Fátima Ap. Caparron Magril que formaram os
fundamentos do meu caráter e da minha dignidade.
À minha irmã Denise Caparron Magril, pelo,
incentivo e companheirismo e a todos os familiares
que contribuíram de alguma forma nesta conquista.
À minha namorada Tatiane, meu maior
estímulo,
pela
sua
compreensão,
carinho
companheirismo.
4
e
AGRADECIMENTOS
Primeiramente a Deus, pela saúde, perseverança e inspiração que foi dada durante todo
o curso.
Aos meus pais por todos os conselhos, a boa educação que estabeleceram na minha
vida e pelo incentivo aos estudos. À minha irmã pela amizade e companheirismo durante o
curso.
A todos os amigos de classe, principalmente Gustavo e Wagner, que desde o início do
curso estabeleceram um vínculo de amizade, e que não faltaram com esforços para os estudos
de domingo.
À minha namorada Tatiane, que me proporcionou momentos de alegria, me dando
forças para continuar a caminhada durante todo o curso, pela sua compreensão e carinho.
Ao Prof. Dr. Helder A. Hermini, pela dedicação a turma e pela imensa ajuda para
concluir este trabalho.
A todos os professores e a UNIFAE pelo empenho demonstrado no curso.
Obrigado a todos vocês por me ajudarem de alguma forma em todos esses anos.
5
RESUMO
Neste trabalho de conclusão de curso é descrito o projeto e desenvolvimento da
modelagem cinemática direta de um robô antropomórfico composto por sete graus de
liberdade e de um algoritmo computacional dedicado a aplicação do aludido modelo, sendo
que utiliza por dados de entrada os ângulos das articulações da cadeia cinemática e fornece
por saída o vetor posição e a matriz orientação. Para verificar a exatidão dos resultados
gerados nas simulações computacionais, os resultados obtidos no software criado neste
trabalho de conclusão de curso são comparados com resultados obtidos em software
comercial.
Palavras-chave: Robótica, Modelagem Cinemática Direta de Robôs, Automação Flexível.
6
ABSTRACT
In this work of completion is described the design and development of the direct
kinematics modeling of an anthropomorphic robot consists of seven degrees of freedom and a
computer program dedicated to applying the aforementioned model, and uses input data by
the angles of joints kinematic chain and provides output for the position vector and orientation
matrix. To check the accuracy of the results generated by computer simulations, the results
obtained in the software created in this work of completion are compared with results from
commercial software.
Keywords: Robotics, Modeling Direct Kinematics Robots, Flexible Automation.
7
ÍNDICE DE FIGURAS
FIGURA 1: Junta e Vínculos em um Braço de Robô
FIGURA 2: Junta Deslizante
FIGURA 3: Junta de Rotação
FIGURA 4: Junta de Bola e Encaixe
FIGURA 5: Três Juntas Rotacionais Substituindo a Junta de Bola e Encaixe
FIGURA 6: Robô Cartesiano
FIGURA 7: Robô Cilíndrico
FIGURA 8: Robô Esférico
FIGURA 9: Robô com Articulação Horizontal
FIGURA 10: Robô com Articulação Vertical
FIGURA 11: Ilustração de Juntas e Links de um Manipulador PUMA 560
FIGURA 12: Representação de um sistema de Coordenadas de um robô
FIGURA 13: Notação de Denavit-Hartenberg
FIGURA 14: Sistema de Referencia utilizado
FIGURA 15: Estrutura cinemática do sistema robótico
FIGURA 16: Fluxograma do programa desenvolvido para Modelagem Cinemática
FIGURA 17: Esquema das Regiões do Robô
FIGURA 18: Planta do Manipulador
FIGURA 19: Disposição Espacial dos Eixos de Rotação
FIGURA 20: Esquema do Processo de Definição do Manipulador
FIGURA 21: Posição Inicial via WORKSPACER TM
FIGURA 22: Posição definida no espaço de trabalho via WORKSPACER TM
18
19
19
20
20
22
22
23
24
24
26
27
28
35
37
41
42
44
45
46
47
48
8
ÍNDICE DE TABELAS
TABELA 1: Vetores de Translação
38
TABELA 2: Matrizes de Transformação Homogêneas (Rotação) do Robô (Hemisfério
Esquerdo)
38
TABELA 3: Equações de Relação Geométrica Espacial entre os Pontos Importantes
39
(Hemisfério Esquerdo)
TABELA 4: Limites de Deslocamento Angular para cada Junta Rotacional
39
ÍNDICE DE QUADROS
QUADRO 1: Histórico da robótica
38
9
SUMÁRIO
RESUMO
06
ÍNDICE DE FIGURAS
08
ÍNDICE DE TABELAS
09
ÍNDICE DE QUADROS
09
SUMÁRIO
10
1 INTRODUÇÃO ............................................................................................................ 11
2 JUSTIFICATIVA .......................................................................................................... 12
3 OBJETIVO ................................................................................................................... 13
3.1 OBJETIVOS ESPECÍFICOS ...................................................................................... 13
4 REVISÃO BIBLIOGRAFICA ...................................................................................... 14
4.1 INTRODUÇÃO A ROBÓTICA .................................................................................. 14
4.2 O BRAÇO MECÂNICO ............................................................................................. 18
4.3 TIPOS DE JUNTAS .................................................................................................... 18
4.4 GRAUS DE LIBERDADE. ......................................................................................... 21
4.5 CLASSIFICAÇÃO DOS ROBÔS PELO TIPO DE ARTICULAÇÃO ......................... 21
4.6 MODELAGEM CINEMÁTICA DE ROBÔS .............................................................. 25
4.6.1 INTRODUÇÃO ....................................................................................................... 25
4.6.2 MODELO GEOMÉTRICO ...................................................................................... 27
4.6.3 DESCRIÇÃO CINEMÁTICA DE UM ROBÔ ......................................................... 28
4.6.4 NOTAÇÃO DE DENAVIT–HARTENBERG ........................................................... 29
4.7 ALGORITMO PARA OBTENÇÃO DO SISTEMA DE COORDENADAS PARA O
LINK. .................................................................................................................................. 32
4.8 OBTENÇÃO DA MATRIZ DE TRANSFORMAÇÃO HOMOGÊNEA i-1Ai ............ 33
4.9 SISTEMAS DE REFERÊNCIA .................................................................................. 35
5 METODOLOGIA ......................................................................................................... 37
5.1 MODELAGEM CINEMÁTICA DO SISTEMA ROBÓTICO ..................................... 37
5.2 SIMULAÇÃO COMPUTACIONAL DE MOVIMENTOS DO ROBÔ ........................ 39
5.2.1 IMPLEMENTAÇÃO COMPUTACIONAL DO MODELO CINEMÁTICO
DIRETO.......40
5.2.2 ALGORITMO COMPUTACIONAL PARA MODELAGEM CINEMÁTICA DE
MEMBROS ANTROPOMÓRFICOS................................................................................... 41
5.2.3 SIMULAÇÃO DOS MOVIMENTOS BÁSICOS DO SISTEMA ROBÓTICO ......... 43
5.2.4 DEFINIÇÃO DOS ELEMENTOS DO ROBÔ EM AMBIENTE WORKSPACETM. . 46
5.2.5 RESULTADOS OBTIDOS DA SIMULAÇÃO COMPUTACIONAL ....................... 47
6 ANÁLISE DE RESULTADOS, CONCLUSÕES E PERSPECTIVAS FUTURAS. ....... 49
7 REFERÊNCIAS BIBLIOGRÁFICAS........................................................................... 51
10
1
INTRODUÇÃO
Neste trabalho de conclusão de curso é desenvolvida a modelagem cinemática direta
de um robô de sete graus de liberdade, sendo que a modelagem matemática e as respectivas
relações algébricas foram implementadas em um software dedicado a aplicação de controle
cinemático direto do sistema robótico, de forma que a partir da entrada dos ângulos das
articulações, o computador dedicado calcula a posição e orientação final do servo-sistema.
11
2
JUSTIFICATIVA
Este trabalho tem como por justificativa a importância do estudo e aplicação de
metodologias para o desenvolvimento de sistemas abertos de controle de robôs. Importante se
faz salientar que todos os principais fabricantes de robôs da atualidade apresentam de forma
fechada seus softwares de controle. Para fins de programação em ambiente industrial isso é
aceitável, porém em termos de engenharia de desenvolvimento, torna difícil ou até mesmo
impossível a interface avançada entre o sistema de controle e um pesquisador.
12
3
OBJETIVO
Elaborar a modelagem geométrica e cinemática direta de um braço robótico
antropomórfico dotado de sete graus de liberdade, e elaborar programa computacional
dedicado a aplicação de controle cinemático direto.
3.1
OBJETIVOS ESPECÍFICOS
•
Desenvolver levantamento bibliográfico aprofundado;
•
Elaborar modelo geométrico do robô;
•
Desenvolver a modelagem cinemática direta, obtendo as equações que estabelecem
uma inter-relação da cadeia cinemática do robô;
•
Elaborar um programa computacional dedicado a aplicação de controle cinemático
direto;
•
Estabelecer testes para verificação da precisão numérica dos resultados de algumas
configurações geométricas;
•
Descrever as conclusões finais e trabalhos futuros.
13
4
REVISÃO BIBLIOGRAFICA
4.1
INTRODUÇÃO A ROBÓTICA
Na sociedade atual, há uma crescente necessidade de se realizar tarefas com eficiência e
precisão. Existem também tarefas a serem realizadas em lugares onde a presença humana se
torna difícil, arriscadas e até mesmo impossível, como o fundo do mar ou a imensidão do
espaço. Para realizar essas tarefas, se faz cada vez mais necessária a presença de dispositivos
(robôs), que realizam essas tarefas sem risco de vida. A robótica é a área que se preocupa com
o desenvolvimento de tais dispositivos. Robótica é uma área multidisciplinar, altamente ativa
que busca o desenvolvimento e a integração de técnicas e algoritmos para a criação de robôs.
A robótica envolve matérias como engenharia mecânica, engenharia elétrica,
inteligência artificial, entre outras, com uma perfeita harmonia, que se faz necessária para se
projetar essas maravilhosas tecnologias. Temos hoje robôs em várias áreas de nossa
sociedade: robôs que prestam serviços, como os desarmadores de bomba, robôs com a nobre
finalidade da pesquisa científica e educacional e até mesmo os robôs operários, que se
instalaram em nossas fábricas e foram responsáveis pela "Segunda Revolução Industrial",
revolucionando a produção em série, substituindo a carne e o osso pelo aço, agilizando e
fornecendo maior qualidade aos produtos.
Décadas atrás, os robôs faziam parte apenas da ficção científica, fruto da imaginação do
homem. No início dos anos 60, os primeiros robôs começaram a ser usadas com o objetivo de
substituir o homem em tarefas que ele não podia realizar por envolverem condições
desagradáveis, tipicamente contendo altos níveis de calor, ruído, gases tóxicos, esforço físico
extremo, trabalhos monótonos, "chatos".
Na década de setenta, foi concebida a idéia de que sistemas mecânicos poderiam ser
controlados por operações numérico-aritméticas. As máquinas-ferramentas CNC (Controle
Numérico Computadorizado) são máquinas operadas, e suas velocidades são controladas por
computadores conectados aos motores das máquinas.
Existem duas tendências, nos últimos 20 anos, que garantem a evolução dos robôs: O
constante aumento dos níveis salariais dos empregados; O extraordinário avanço tecnológico
no ramo de computadores, que induz à redução dos preços do robô e uma significativa
melhoria em seu desempenho. [Craig, 1986]
14
Histórico
Uma das maiores fantasias do homem é construir uma máquina com "Inteligência
Artificial" capaz de agir e pensar como ele. No entanto, este desejo esconde em seu
subconsciente a vontade de possuir um "escravo metálico" que satisfaça todos os seus desejos,
este sonho humano está perto de se tornar realidade com o espantoso avanço da tecnologia. A
palavra robô tem origem da palavra tcheca robotnik, que significa servo, o termo robô foi
utilizado inicialmente por Karel Capek em 1923, nesta época a idéia de um "homem
mecânico" parecia vir de alguma obra de ficção. Não é só do homem moderno o desejo de
construir tais robôs, existem alguns fatos históricos que nos mostram que a idéia não é nova,
por exemplo, existem inúmeras referências sobre o "Homem Mecânico" construído por
relojoeiros com a finalidade de se exibir em feiras. Temos relatos também da realização de
várias "Animações Mecânicas" como o leão animado de Leonardo da Vinci, e seus esforços
para fazer máquinas que reproduzissem o vôo das aves. Porém estes dispositivos eram muito
limitados, pois não podiam realizar mais que uma tarefa, ou um número reduzido delas.
[Craig, 1986]
A seguir vem uma descrição dos fatos históricos que contribuíram para o
desenvolvimento da Robótica:
Quadro 1: Histórico da robótica
Aristóteles: "Se cada instrumento pudesse realizar o seu próprio
trabalho, obedecendo ou antecipando-se à vontade dos outros... se a lançadeira
IV a.C. Grécia
pudesse tecer, e a palheta tocar a lira, sem a mão para guiá-las então os chefes
não necessitariam de servos nem os donos de escravos”.
Inicia-se a revolução industrial; esta evolução de novas fontes, novos
Séc. XIII
instrumentos, nova indústria e novos mecanismos, tornam possível a evolução
da maquinaria capaz de controlar uma série de ações seqüenciadas.
Contudo, só no final do séc. XIX é que se inicia o desenvolvimento da
máquina. As máquinas começam a ser usuais e exposições de máquinas sempre
Séc. XIX
a promover os últimos eventos tecnológicos. Nesta altura, o motor elétrico é
introduzido. A máquina substitui o Homem.
A 1ª Guerra Mundial trouxe muitas mudanças. O poder da máquina
1ª Guerra Mundial
mostrou-nos a sua forma negativa e destrutiva.
Foi introduzida a palavra "Robot" pelo dramaturgo Karel Capek no
drama "Rossum´s Universal Robots"(R.U.R.) Inicialmente, os robôs foram
criados para substituir o homem nos trabalhos pesados; mas o robô começou a
1921
ser visto como uma máquina "humana" com inteligência e personalidade
individual.
Um robô mecânico abriu uma exposição de modelos técnicos, em
1928
Londres.
1940
O grande escritor americano de ficção científica Isaac Asimov
15
estabeleceu quatro leis muito simples para a robótica:
1ªlei: "Um robô não pode ferir um ser humano ou, permanecendo
passivo, deixar um ser humano exposto ao perigo".
2ª lei: "O robô deve obedecer às ordens dadas pelos seres
humanos, exceto se tais ordens estiverem em contradição com a primeira
lei".
3ª lei: "Um robô deve proteger sua existência na medida em que
essa proteção não estiver em contradição com a primeira e as segundas
leis".
4ª lei: “Um robô não pode causar mal à humanidade nem permitir
que ela própria o faça". (Sendo que esta lei foi escrita por Asimov em
1984.).
Meados de 1950
1959
1960
1962
1963
1968
1969
1970
Mas, o que realmente acontece é que os robôs têm braços e articulações
capazes de trabalhos repetitivos e autônomos, mas não no sentido de
sensibilidade para se controlarem a si próprios e resolver os problemas que
poderão surgir.
A mecânica é substituída pelo poder elétrico e hidráulico. George C.
Devol desenvolveu uma invenção à qual chamou “programed articulated
trasfer device"; um autômato cujas operações (uma seqüência de operações
determinadas pelas instruções) são programadas.
Devol e Joseph F. Engelberger desenvolveram o primeiro robô
industrial pela Unimation Inc. Este robô tinha como função uma variedade de
tarefas executadas automaticamente. Diferia dos autômatos já que poderia ser
reprogramada e remodelada para outras tarefas com um nível de custos pouco
elevado.
Nos anos 60, tornou-se significativo o fato de a flexibilidade destas
máquinas aumentarem utilizando diferentes tipos de sensores.
É a partir de agora que a investigação sobre a robótica começa a incidir no
tema Robótica Móvel.
H.A.Ernest iniciou o desenvolvimento de um computador controlador
de uma mão mecânica com sensores tacteis-MH-1. Esta invenção conseguia
mover-se e "sentir" blocos, usando esta informação para controlar a mão e
empilhar blocos sem ajuda humana.
Tomovic e Boni desenvolveram um protótipo equipado com um sensor
de pressão que quando "sentia" o objeto enviava informação do tamanho do
objeto para um computador e um sinal para o motor que iniciava a ação de
diferentes moldes.
American Machine e Foundry Company(AMF) introduziu uma versão
(VERSATRAN) de um robô comercial.
Neste mesmo ano, vários designs de braços para manipuladores foram
desenvolvidos, tais como o braço Roehampton e o braço Edinburgh.
Melarthy e seus colegas, no Laboratório de Inteligência Artificial ed
standford, desenvolveu um computador com "mãos, olhos, pernas, ouvidos"
(ex. manipuladores, câmaras de vídeo e microfones). Demonstraram um
sistema que reconhecia mensagens faladas, "via" blocos espalhados numa mesa
e manipulava-os de acordo com as instruções. Pieper estudou o problema de
"Kinematic" de um manipulador controlado por computador.
O Homem pisa na lua pela 1ª vez. Nesta altura já eram utilizados
manipuladores para recolher amostras e executar pequenas tarefas perante o
comando do controlo remoto. O modo de teleoperação servia para efetuar
escavações e outras tarefas de grau de complexidade reduzido.
A Robótica começou a incidir na pesquisa do uso de sensores para
16
facilitar operações manuais.
Kahn and Roth analisaram a dinâmica e o controlo de um tipo de
braços restritos usando o controlo bang-bang(near minimum time).
Em Standford, Balles e Paul utilizando um sensor visual e um sensor de
peso demonstraram um braço controlado por computador para montar bombas
de água do automóvel.
Cincinnati Milacron introduziu o primeiro robô industrial controlado
com computador- "The Tomorrow Tool" T3-, que movia objetos numa linha de
montagem. Inoue no Laboratório de Inteligência Artificial aprofundou os
sensores de peso (força) e no Draper Laboratory Nevins investigou diferentes
técnicas de sensores.
Will e Grossman na IBM desenvolveram um manipilador controlado
por computador com sensores tácteis e de peso para realizar uma montagem
mecânica de 20 partes de uma máquina de escrever.
General Motors, em Detroit, introduziu um robô industrial com
"inteligência" eletrônica capaz de reconhecer diferentes componentes numa tela
transportadora e de escolher aquele que necessita.
1971
1973
1974
1975
1980
A idéia de se construir robôs começou a tomar força no início do século XX com a
necessidade de aumentar a produtividade e melhorar a qualidade dos produtos. É nesta época
que o robô industrial encontrou suas primeiras aplicações, o pai da robótica industrial foi
George Devol.
Na década de oitenta ocorreu a grande explosão tecnológica devido a aplicação efetiva
dos semicondutores em circuitos integrados, propiciando redução de custos e uma maior
aplicação por decorrência de tecnologias que envolvessem sistemas informáticos, permitindo
assim a aplicação de técnicas “pesadas” computacionalmente falando, tais como algoritmos
de controle baseados em paradigmas da inteligência artificial tais como redes neurais
artificiais, algoritmos genéticos e lógica “fuzzy”.
Tecnologicamente, pode-se enfatizar que até os dias atuais estão havendo pesquisas
efetivas para aplicar essas técnicas em robôs, permitindo uma maior integração dos robôs com
o meio externo e também a tomada de decisões ante imprevistos que possam ocorrer durante
um processo de fabricação, por exemplo. [Rosário. 1990]
17
4.2
O BRAÇO MECÂNICO
O braço mecânico é um manipulador projetado para realizar diferentes funções e ser
capaz de repeti-las. Para realizar determinadas tarefas, o robô move partes, objetos,
ferramentas, e dispositivos especiais segundo movimentos e pontos pré-programados, além de
efetuar interface com o “mundo externo” através de sensorização dedicada. Um robô consiste
de um braço mecânico cujos atuadores das articulações são servo-controlados por um
computador dedicado que guarda em sua memória um programa que detalha o curso que o
braço seguirá. Quando o programa está rodando, o computador envia sinais ativando motores
que movem o braço e a carga no final dele, que é mantida sob controle pelo atuador. Na
extremidade do braço existe um atuador usado na execução de suas tarefas. Todo braço de
robô é composto de uma série de vínculos e juntas, onde a junta conecta dois vínculos
permitindo o movimento relativo entre eles, como mostrado na Figura 1. Todo robô possui
uma base fixa e o primeiro vínculo está preso a esta base. A mobilidade dos robôs depende do
número de vínculos e articulações que o mesmo possui. [Paul, 1981]
FIGURA 1: Junta e Vínculos em um Braço de Robô
Fonte: [Paul, 1981]
4.3
TIPOS DE JUNTAS
Geralmente, os elos de um braço robótico é conectada através de uma junta deslizante
ou de uma junta de revolução, embora alguns incluam o de bola e encaixe. A seguir será
descrito cada um destes tipos de juntas.
Juntas Deslizantes: Este tipo de junta permite o movimento linear entre dois
vínculos. É composto de dois vínculos alinhados um dentro do outro, onde um vínculo interno
18
escorrega pelo externo, dando origem ao movimento linear. Este tipo de junta é mostrado na
Figura 2.
FIGURA 2: Junta Deslizante
Fonte: [Paul, 1981]
Juntas de Rotação: Esta conexão permite movimentos de rotação entre dois vínculos.
Os dois vínculos são unidos por uma dobradiça comum, com uma parte podendo se mover
num movimento cadenciado em relação à outra parte, como mostrado na Figura 3. As juntas
de rotação são utilizadas em muitas ferramentas e dispositivos, tal como tesouras, limpadores
de pára-brisa e quebra-nozes.
FIGURA 3: Junta de Rotação
Fonte: [Paul, 1981]
Juntas de Bola e Encaixe: Esta conexão se comporta como uma combinação de três
juntas de rotação, permitindo movimentos de rotação em torno dos três eixos, como mostrado
na Figura 4. [Paul, 1981]
19
FIGURA 4: Junta de Bola e Encaixe
Fonte: [Paul, 1981]
Estas juntas são usadas em um pequeno número de robôs, devido à dificuldade de
ativação. De qualquer maneira, para se ter a performance de uma junta bola e encaixe, muitos
robôs incluem três juntas rotacionais separadas, cujos eixos de movimentação se cruzam em
um ponto, como na Figura 5. [Paul, 1981]
FIGURA 5: Três Juntas Rotacionais Substituindo a Junta de Bola e Encaixe
Fonte: [Paul, 1981]
20
4.4
GRAUS DE LIBERDADE.
O número de articulações em um braço robótico é também referenciado como grau de
liberdade. Quando o movimento relativo ocorre em um único eixo, a articulação tem um grau
de liberdade. Quando o movimento é por mais de um eixo, a articulação tem dois graus de
liberdade. A maioria dos robôs tem entre 4 a 6 graus de liberdade. Já o homem, do ombro até
o pulso, tem 7 graus de liberdade. [Craig, 1986]
4.5
CLASSIFICAÇÃO DOS ROBÔS PELO TIPO DE ARTICULAÇÃO
É usual classificar os robôs de acordo com o tipo de junta, ou mais exatamente, pelas
três juntas mais próximas da base do robô. Esta divisão em classes fornece informações sobre
características dos robôs em várias categorias importantes:
1. Espaço de trabalho.
2. Grau de rigidez.
3. Extensão de controle sobre o curso do movimento.
4. Aplicações adequadas ou inadequadas para cada tipo de robô.
Robôs podem ser classificados pelo tipo de juntas em cinco grupos:
•
Cartesiano
•
Cilíndrico
•
Esférico
•
Articulação horizontal
•
Articulação vertical
O código usado para estas classificações consiste em três letras, referindo-se ao tipo de
junta (R = revolução, P = deslizante - do inglês prismatic) na ordem em que ocorrem,
começando da junta mais próxima à base. Segue abaixo uma breve descrição de cada tipo de
robôs manipuladores. [Craig, 1986]
21
Robôs Cartesianos: O braço destes robôs tem três articulações deslizantes sendo
codificado como PPP, como na Figura 6.
(a)
(b)
FIGURA 6: Robô Cartesiano
Fonte: (a) [Paul, 1981]
(b) [http://www.seluque.com.br/robo.html]
Os robôs cartesianos caracterizam pela pequena área de trabalho, mas com um elevado
grau de rigidez mecânica e são capazes de grande exatidão na localização do atuador. Seu
controle é simples devido ao movimento linear dos vínculos e devido ao momento de inércia
da carga ser fixo por toda a área de atuação. [Craig, 1986]
Robôs Cilíndricos: Os braços destes robôs consistem de uma junta de revolução e
duas juntas deslizantes, sendo codificada como RPP, como segue na Figura 7.
(a)
(b)
FIGURA 7: Robô Cilíndrico
Fonte: (a) [Paul, 1981]
(b) [http://www.cornwalltube.com/index.php?key=mecatr%C3%B4nico]
22
A área de trabalho destes robôs é maior que a dos robôs cartesianos, mas a rigidez
mecânica é ligeiramente inferior. O controle é um pouco mais complicado que o modelo
cartesiano, devido a vários momentos de inércia para diferentes pontos na área de trabalho e
pela rotação da junta da base. [Craig, 1986]
Robôs Esféricos: Estes robôs possuem duas juntas de revolução e uma deslizante,
sendo codificado como RRP, como na Figura 8.
(a)
(b)
FIGURA 8: Robô Esférico
Fonte: (a) [Paul, 1981]
(b) [http://www.robots.com/blog.php?tag=411]
Estes robôs têm uma área de trabalho maior que os modelos cilíndricos, mas perde na
rigidez mecânica. Seu controle é ainda mais complicado devido os movimentos de rotação.
Robôs com Articulação Horizontal: Caracterizam-se por possuir duas juntas de
revolução e uma deslizante, sendo codificados RRP, como na Figura 9. [Paul, 1981]
23
(a)
(b)
FIGURA 9: Robô com Articulação Horizontal
Fonte: (a) [Paul, 1981]
(b) [http://www.ipnews.com/archives/automation_assembly/dec09/staubli.htm]
A área de atuação deste tipo de robô é menor que no modelo esférico, sendo
apropriados para operações de montagem, devido ao movimento linear vertical do terceiro
eixo.
Robôs com Articulação Vertical: Estes robôs caracterizam-se por possuir três juntas
de revolução, sendo codificados por RRR, como na Figura 10. [Paul, 1981]
(a)
(b)
FIGURA 10: Robô com Articulação Vertical
Fonte: (a) [Paul, 1981]
(b) [http://www.directindustry.es/prod/reis-robotics/robot-articulado-para-la-industria-delplastico-5644-14494.html]
24
Sua área de atuação é maior que qualquer tipo de robô, tendo uma baixa rigidez
mecânica. Seu controle é complicado e difícil, devido as três juntas de revolução e devido a
variações no momento de carga e momento de inércia. [Paul, 1981]
4.6
MODELAGEM CINEMÁTICA DE ROBÔS
4.6.1 INTRODUÇÃO
Um manipulador mecânico consiste de links, conectados por juntas prismáticas ou
revolutas. Cada par junta-link constitui um grau de liberdade. Assim, para um manipulador
com N graus de liberdade, temos N pares juntas-links, onde o primeiro link é a base de
sustentação do robô (sistema de coordenadas inerciais fixado) e o seu último link constituído
de seu elemento terminal (ou ferramenta de trabalho).
Um robô industrial é normalmente constituído de seis graus de liberdade, e o
posicionamento de seu elemento terminal (ferramenta de operação) é especificado através do
controle de modo apropriado de suas variáveis articulares. Conseqüentemente os valores do
conjunto de variáveis articulares de um robô θi, determinam o posicionamento de seu
elemento terminal no sistema de coordenadas de trabalho. De um modo geral, os três
primeiros graus de liberdade de um robô são responsáveis pelo posicionamento de seu
elemento terminal no espaço de tarefas e os restantes pela orientação de sua ferramenta.
[Vanriper, 1992]
25
FIGURA 11: Ilustração de Juntas e Links de um Manipulador PUMA 560
Fonte: [Vanriper, 1992]
A Figura 11 mostra as juntas e links do manipulador PUMA 560. As mesmas são
numeradas desde a base até seu elemento terminal. Assim 1 é o ponto de conexão entre o link
1 e o suporte de base, e 6 representa o ponto de conexão entre o sexto grau de liberdade e a
ferramenta.
Na maioria das aplicações industriais, a programação de tarefas de robôs, é realizada
por aprendizagem, consistindo no movimento individual de cada junta. Desta maneira, sua
trajetória é definida através de um conjunto de ângulos associados ao movimento angular de
cada grau de liberdade do robô.
Como um robô é controlado através de suas variáveis articulares, a realização do
controle de um robô em relação ao sistema de coordenadas cartesianas implicará no
desenvolvimento de metodologias para transformação de coordenadas.
O Supervisor de Controle é responsável pela geração dos sinais de referência
individuais ao longo do tempo, para cada junta do robô. Através de uma malha de controle de
posição independente para cada junta, estes sinais são comparados com os valores atuais
(obtidos através dos sensores de posição articulares), que faz com que a configuração de um
robô seja controlada a partir de um valor desejado, independente do movimento desejado e da
carga transportada pelo robô. [Vanriper, 1992]
26
4.6.2 MODELO GEOMÉTRICO
O modelo geométrico de um robô expressa a posição e orientação de seu elemento
terminal em relação a um sistema de coordenadas solidário a base do robô, em função de suas
coordenadas generalizadas (coordenadas angulares no caso de juntas rotacionais) (Figura 12).
O modelo geométrico é representado pela expressão:
X = f( θ )
(1)
onde
θ = (θ1, θ2, ......, θn): vetor das posições angulares das juntas e
X = (X, Y, Z, ψ, θ, φ): vetor posição, onde os três primeiros termos denotam a posição
cartesiana e os três últimos a orientação do órgão terminal.
FIGURA 12: Representação de um sistema de Coordenadas de um robô
Fonte: [Vanriper, 1992]
Esta relação pode ser expressa matematicamente pela matriz que relaciona o sistema
de coordenadas solidárias a base do robô com um sistema de coordenadas associadas com o
seu órgão terminal. Esta matriz é chamada de matriz de passagem homogênea e é obtida a
partir do produto das matrizes de transformação, Ai,
i-1,
que relaciona o sistema de
coordenadas de um elemento i com o sistema de coordenadas anterior i-1, isto é:
Tn = A0.1*A1,2*........*An-1,n
(2)
Tn = [ n s a p ]
(3)
27
onde
p = [ px , py , pz ]: vetor posição e
n = [ nx ny nz ], s = [ sx sy sz ] e a = [ ax ay az ]: vetor ortonormal que descreve a
orientação.
A descrição da matriz de transformação é normalmente realizada utilizando a notação
de Denavit-Hartenberg, após a obtenção dos quatro parâmetros θi, ai, di e αi,, descritos a
seguir. [Vanriper, 1992]
4.6.3 DESCRIÇÃO CINEMÁTICA DE UM ROBÔ
A evolução no tempo das coordenadas das juntas de um robô representa o modelo
cinemático de um sistema articulado no espaço tridimensional. A notação de DenavitHartenberg é uma ferramenta utilizada para sistematizar a descrição cinemática de sistemas
mecânicos articulados com N graus de liberdade.
Na Figura 13 podem ser visualizados dois links conectados por uma junta que tem
duas superfícies deslizantes uma sobre a outra remanescentes em contato. Um eixo de uma
junta i (i = 1, . . . , 6) estabelece a conexão de dois links. [Kyriakopoulos et all, 1995]
FIGURA 13: Notação de Denavit-Hartenberg
Fonte: [Kyriakopoulos et all, 1995]
Estes eixos de juntas devem ter duas normais conectadas neles, uma para cada um dos
28
links. A posição relativa destes dois links conectados (link i-1 e link i) é dada por di, que é a
distância medida ao longo do eixo da junta entre suas normais. O ângulo de junta θi entre as
normais é medido em um plano normal ao eixo da junta. Assim, di e θi podem ser chamados
respectivamente, distância e o ângulo entre links adjacentes. Eles determinam a posição
relativa de links vizinhos.
Um link i poderá estar conectado, no máximo, dois outros links (link i-1 e link i +1).
Assim, dois eixos de junta são estabelecidos em ambos terminais de conexão. O significado
dos links, do ponto de vista cinemático, é que eles mantêm uma configuração fixa entre suas
juntas que podem ser caracterizadas por dois parâmetros: ai e αi. O parâmetro ai é a menor
distância medida ao longo da normal comum entre os eixos de junta (isto é, os eixos zi-1 e zi
para a junta i e junta i+1, respectivamente) Assim, ai e αi , podem ser chamados
respectivamente, comprimento e ângulo de twist (torção) do link i. Eles determinam a
estrutura do link i.
Assim sendo, quatro parâmetros: ai , αi , di ,θi são associados com cada link do
manipulador. No momento, em que estabelecemos uma convenção de sinais para cada um
destes parâmetros, estes constituem um conjunto suficiente para determinar a configuração
cinemática de cada link do manipulador. Note que estes quatro parâmetros aparecem em
pares: (ai , αi ) que determinam a estrutura do link e os parâmetros da junta; (di , θi ) que
determinam a posição relativa de links vizinhos. [Kyriakopoulos et all, 1995]
4.6.4 NOTAÇÃO DE DENAVIT–HARTENBERG
Para descrever a translação e rotação entre dois links adjacentes, Denavit e
Hartemberg propuseram um método matricial para estabelecimento sistemático de um sistema
de coordenadas fixo para cada link de uma cadeia cinemática articulada.
A representação de Denavit-Hartemberg (D-H) resulta na obtenção de uma matriz de
transformação homogênea 4 × 4, representando cada sistema de coordenadas do link na junta,
em relação ao sistema de coordenadas do link anterior. Assim, a partir de transformações
sucessivas, podem ser obtidas as coordenadas do elemento terminal de um robô (último link),
expressas matematicamente no sistema de coordenadas fixo a base.
Assim sendo, um sistema de coordenadas cartesianas ortonormal (Xi, Yi, Zi) pode ser
estabelecido para cada link no seu eixo de junta, onde i= 1, 2, . . ., N (N número de graus de
29
liberdade) mais o sistema de coordenadas da base. Assim, uma junta rotacional tem somente
1 grau de liberdade, e cada sistema de coordenadas (Xi, Yi, Zi) do braço do robô corresponde a
junta i+1, sendo fixo no link i. [Kyriakopoulos et all, 1995]
Quando o acionador ativa a junta i, o link i deve mover-se com relação ao link i-1.
Assim, o i-ésimo sistema de coordenadas é solidário ao link i, se movimentando junto com o
mesmo. Assim, o n-ésimo sistema de coordenadas se movimentará com o elemento terminal
(link n). As coordenadas da base são definidas como o sistema de coordenadas 0 (X0, Y0, Z0),
também chamado de sistema de referência inercial. Os sistemas de coordenadas são
determinados e estabelecidos obedecendo três regras:
O eixo Zi-1 é colocado ao longo do eixo de movimento da junta i.
O eixo Xi é normal ao eixo Zi-1 , e apontando para fora dele.
O eixo Yi completa o sistema utilizando a regra da mão direita.
Através destas regras podemos fazer a seguinte representação:
•
Suponha que dois sistemas de coordenadas coincidentes, X0Y0Z0 e X1Y1Z1.
•
A transformação homogênea que relaciona esses sistemas é a matriz
identidade:
1
0
1
T0 ≡ 1 = 
0

0
•
0
1
0
0
0
0
1
0
0
0
0

1
Provoca-se uma rotação de °θ em relação ao eixo Z0, através da transformação:
cosθ
senθ
Rot(θ , z 0 ) = 
 0

 0
- senθ
cosθ
0
0
0
0
1
0
0
0
0

1
30
•
A nova matriz é agora dada por:
cosθ
senθ
T01 = I . Rot(θ , z 0 ) = 
 0

 0
•
- senθ
cosθ
0
0
0
0
1
0
0
0
0

1
A seguir translada-se o sistema X1Y1Z1 de d unidades ao longo de Z1. A
matriz fica então:
cosθ
senθ
T01 = Rot(θ , z 0 ). Trans(0, 0, d ) = 
 0

 0
•
- senθ
cosθ
0
0
0
0
1
0
0
0 
d

1
Translada-se o sistema X1 Y1 Z1 de a unidades ao longo do eixo X1. A nova
matriz é dada por:
cosθ
senθ
1
T0 = Rot(θ , z 0 ). Trans(0, 0, d ) . Trans(a, 0, 0 ) = 
 0

 0
- senθ
cosθ
0
0
0
0
1
0
a
0 
d

1
31
•
Finalmente, provoca-se uma rotação do sistema X1 Y1 Z1 de °α, em torno do
eixo X1. Esta última transformação deixa a matriz como:
cosθ
senθ
T01 = Rot(θ , z 0 ). Trans(0, 0, d ).Trans(a, 0, 0).Rot(α , x1 ) = 
 0

 0
4.7
- cosα .senθ
cosα .cosθ
senα .senθ
- senα .cosθ
senα
0
cosα
0
a.cosθ 
a.senθ 
d 

1 
ALGORITMO PARA OBTENÇÃO DO SISTEMA DE COORDENADAS PARA
O LINK.
Dado um manipulador com N graus de liberdade, o algoritmo descrito a seguir,
determina um sistema de coordenadas ortonormais para cada link do robô, a partir do sistema
de coordenada fixo a base de suporte (sistema inercial) até o seu elemento terminal. As
relações entre os links adjacentes podem ser representadas por uma matriz de transformação
homogênea 4 × 4. O conjunto de matrizes de transformação homogêneo permite a obtenção
do modelo cinemático do robô. [Paul, 1981]
ALGORITMO:
D1 - Obtenção do sistema de coordenadas da base: Estabelecer um sistema
ortonormal de coordenadas (X0, Y0, Z0) na base de suporte com o eixo Z0 colocado ao longo
do eixo de movimento da junta 1 apontando para o ombro do braço do robô. Os eixos X0 e Y0
podem ser convenientemente estabelecidos e são normais ao eixo Z0.
D2 - Inicialização e iteração: Para cada i, i= 1, . . ., N-1, efetuar passos D3 até D6.
32
D3 - Estabelecer o eixo das juntas: Alinhar Zi com o eixo de movimento (rotação ou
translação) da junta i+1. Para robôs tendo configurações de braço esquerdo-direito, os eixos
Z1 e Z2 são apontados sempre para o ombro e o tronco do braço do robô.
D4 - Estabelecer a origem do i-ésimo sistema de coordenadas: Situar a origem do
iésimo sistema de coordenas na interseção dos eixos Zi e Zi-1 ou na interseção da normal
comum entre os eixos Z i e Z i-1 e o eixo Zi.
D5 - Estabelecimento do eixo Xi: Estabelecer X i = ±( Z i-1 × Z i ) /  Z i-1 × Z i ou
ao longo da normal comum entre os eixos Zi e Zi-1 quando eles forem paralelos.
D6 - Estabelecimento do eixo y i: Determina-se Y i = ±( Z i × X i ) /  Z i-1 × X i 
para completar o sistema de coordenadas. (Estender os eixos Z i e X i se necessário para
passos D9 a D12).
D7 - Estabelecer a direção do sistema de coordenadas: Normalmente a n-ésima
junta é uma junta rotativa. Estabelecer Zn ao longo da direção do eixo Zn-1 apontando para
fora do robô. Estabelecer Xn assim que ele é normal tanto aos eixos Zn-1 e Zn. Determine yn
para completar o sistema de coordenadas.
D8 - Encontrar os parâmetros das juntas e links: Para cada i, i = 1, . . . , n, efetuar
passos D9 ao D12.
D9 - Encontrar di: di é a distância da origem do (i-1)-ésimo sistema de coordenadas
até a interseção do eixo Zi-1 e o eixo Xi ao longo do eixo Zi-1. Ela é a variável de junta se a
junta i é prismática.
D10 - Encontrar ai: ai é a distância da interseção do eixo Zi-1 e o eixo Xi para a
origem do i-ésimo sistema de coordenadas ao longo do eixo Xi.
D11 - Encontrar θ i: θ i é o ângulo de rotação entre os eixos Xi-1 e Xi sobre o eixo Zi-1.
Esta é a variável de junta se a junta é rotacional.
D12 - Encontrar αi: αi é o ângulo de rotação entre os eixos z i-1 e z i no eixo x i.
[Paul, 1981]
4.8
OBTENÇÃO DA MATRIZ DE TRANSFORMAÇÃO HOMOGÊNEA i-1Ai
Uma vez os sistemas de coordenadas D-H tenham sido estabelecidos, uma matriz de
transformação homogênea pode facilmente ser desenvolvida relacionando o i-ésimo ao (i-1)ésimo frame de coordenadas. A Figura 13 mostra que um ponto ri expresso no i-ésimo sistema
33
de coordenadas pode ser expresso no (i-1)-ésimo sistema de coordenadas como ri-1 aplicando
as transformações sucessivamente apresentadas a seguir:
Rotação no eixo Z i-1 de um ângulo de θ i para alinhar o eixo Xi-1 com o eixo Xi (o eixo Xi-1
é paralelo ao eixo Xi e aponta para a mesma direção).
Translação uma distância de d i ao longo do eixo Zi-1 para trazer os eixos Xi-1 e Xi na
coincidência.
Translação ao longo do eixo Xi uma distância de ai para trazer as duas origens também
como o eixo X na coincidência.
Rotação do eixo Xi um angulo de α i para trazer os dois sistemas de coordenadas na
coincidência.
Cada uma destas quatro operações pode ser expressa através de uma matriz
homogênea de rotação-translação, e o produto destas quatro matrizes de transformações
elementares produzem uma matriz de transformação homogênea composta
i-1
Ai , conhecida
como matriz de transformação de D-H, para sistemas de coordenadas adjacentes, i e i-1.
[Kobayashi, 1985]
i-1
Ai = Tz,d Tz,θ Tx,a Tx,α
1
0
=
0

0
0 0 0   cosθi
1 0 0   sinθi

0 1 d1   0

0 0 1  0
 cosθi
 sinθ
i
=
 0

 0
− cosαi sinθi
cosαi cosθi
sinαi
0
− sinθi
cosθi
0
0
0 0 1 0
0 0  0 1

1 0  0 0

0 1  0 0
sinαi sinθi
− sinαi cosθi
cosαi
0
0 ai  1
0
0 0   0 cosαi

1 0   0 sinαi

0 1  0
0
ai cosθi 
ai sinθi 

di 

1 
0
− sinαi
cosαi
0
0
0

0

1
(4)
A transformação inversa será:
34
 cosθ i
− cos α sinθ
i
i
[i-1Ai]-1 = iAi-1 = 
 sinα i sinθ i

0

sinθ i
cos α i cosθ i
− sinα cosθ i
0
0
sinα i
cos α i
0
− ai

− d i sinα i 
− d i cos α i 

1

(5)
onde ai , αi , di são constantes, e θi é a variável de junta para uma junta rotativa.
Para uma junta prismática a variável de junta é di , enquanto ai , αi , θi são constantes.
Neste caso, i-1Ai será definido como:
i-1
Ai = Tz,θ Tz,d Tx,α
cosθi
 sinθ
i
=
 0

 0
− cos αi sinθi
cos αi cosθi
sinαi
0
sinαi sinθi
− sinαi cosθi
cos αi
0
0
0

di 

1
(6)
e sua inversa será:
 cosθi
− cos α sinθ
i
i
i-1
-1
i

[ Ai] = Ai-1 =
 sinαi sinθi

0

sinθi
cos αi cosθi
− sinα cosθ i
0
0
sinαi
cos αi
0
0

− d i sinαi 

− d i cos αi 

1

(7)
[Kobayashi, 1985]
4.9
SISTEMAS DE REFERÊNCIA
Um Sistema Articular pode ser representado matematicamente através de n corpos
móveis Ci (i = 1, 2,..., n) e de um corpo C0 fixo, interligados por n articulações, formando uma
estrutura de cadeia, sendo que estas juntas podem ser rotacionais ou prismáticas.
Para representar a situação relativa dos vários corpos da cadeia, é fixado a cada
elemento Ci um referencial R. Podemos relacionar um determinado referencial Ri+1 (oi+1, xi+1,
yi+1, zi+1) com o seu anterior Ri (oi, xi, yi, zi), como também o sistema de coordenadas de
origem da base (Figura 14) através da Equação (8), onde Ai,i+1 representa as matrizes de
transformação homogênea de rotação e Li o vetor de translação de uma origem a outra, onde
Ai, i+1 é resultante do produto matricial global entre as diversas matrizes de transformações
homogêneas relacionadas com rotações ou translações sucessivas das diferentes articulações
(Equação. (9)). [Li et all, 1989]
35
oi +1 = oi + Ai ,i +1 * Li
(8)
Ai,i+1 = A1,2. A2,3. ... A i,i+1
(9)
onde
 Nxo

Ai ,i + 1 =  Nyo
 Nzo
Sxo
Syo
Szo
Axo 

Syo 
Szo 
(10)
[Ai,
]
FIGURA 14: Sistema de Referencia utilizado
Fonte: [Li et all, 1989]
Qualquer rotação no espaço pode ser decomposta em um grupo de rotações elementares
ao longo dos eixos X, Y e Z. A matriz de rotação elementar usada na equação de
transformação é associada com a rotação elementar do referencial correspondente em relação
ao seu anterior.
Este procedimento matemático pode ser estendido para toda extensão do modelo. Assim
sendo, a matriz de orientação de um ponto de interesse pode ser obtida pela Equação (9).
Conseqüentemente o posicionamento completo de um corpo rígido no espaço, poderá
ser facilmente obtido através da Equação (8) que fornece o seu vetor posição, sendo que a
Equação (10) representa a matriz de orientação. [Li et all, 1989]
36
5
5.1
METODOLOGIA
MODELAGEM CINEMÁTICA DO SISTEMA ROBÓTICO
O modelo gerado, descrito a seguir, representa a estrutura articular de um sistema
robótico antropomórfico. Na Figura 15 é ilustrada a estrutura cinemática. No modelo proposto
neste trabalho são definidas, após a determinação do modelo geométrico, as respectivas
variáveis.
(a)
(b)
FIGURA 15: Estrutura cinemática do sistema robótico.
(a)
Modelo Geométrico com o estabelecimento do sistema de referenciais locais oi e
respectivos vetores de translação Li;
(b)
Esquema representativo das articulações qi.
37
Abaixo são descritos os parâmetros do modelo geométrico do robô, os quais foram
usados na implementação de um programa computacional que calcula o deslocamento
cartesiano a partir da entrada das coordenadas angulares para cada junta. Entre esses
parâmetros são especificados os vetores de translação Li (Tabela 1), as matrizes de
transformação homogênea de rotação Ai (Tabela 2), as equações de relação geométrica
espacial entre os pontos importantes (Tabela 3) e os limites de deslocamento angular para
cada junta rotacional (Tabela 4).
Tabela 1
L1
L2
L3
L4
L5
L6
L7
L8
L9
L10
L11
L12
=[ 0
0 -60 ] T
= [-72
0
0 ]T
= [ 0 155
0 ]T
= [ 72
0
0 ]T
= [ 0 40
0 ]T
=[ 0
0 -68 ] T
= [ 0 -40
0 ]T
=[ 0
0 -286 ] T
=[ 0
0 -100 ] T
=[ 0
0 -148 ] T
=[ 0
0
-5 ] T
=[ 0
0 -5 ] T
Tabela 2
C1 − S1 0


Rz (1) =  S1 C1 0
 0
0 1
1 0

Rx ( 2) = 0 C2
0 S2
1 0
0 


Rx ( 3) = 0 C3 − S3 
0 S3 C3 
C5 − S 5 0


R Z ( 5) =  S 5 C5
0
 0
0
1
 C4

Ry ( 4 ) =  0
− S4
0 S4 

1 0
0 C4 
 C6

Ry ( 6) =  0
− S6
0 S6 

1 0
0 C6 
C7

RZ ( 7) =  S7
 0
− S7
C7
0
0 

− S2 
C2 
0

0
1
Fonte: Autor
TABELA 1: Vetores de Translação
TABELA 2: Matrizes de Transformação Homogêneas (Rotação) do Robô (Hemisfério
Esquerdo)
38
TABELA 3: Equações de Relação Geométrica Espacial entre os Pontos Importantes
(Hemisfério Esquerdo)
O 1 = O0
O 2 = O 1 + R0 * L 1
O 3 = O 2 + R0 * L 2
O 4 = O 3 + R0 * L 3
O 5 = O 4 + R01 * L 4
O 6 = O 5 + R02 * L 5
O 7 = O 6 + R02 * L 6
O 8 = O 7 + R03 * L 7
O 9 = O 8 + R04 * L 8
O10 = O 9 + R04 * L 9
O11 = O10 + R05 * L10
O12 = O11 + R06 * L11
O13 = O12 + R07 * L12
Fonte: Autor
TABELA 4: Limites de Deslocamento Angular para cada Junta Rotacional
Junta
Limites Angulares da Junta
Ângulo Mínimo
Ângulo Máximo
q1
0o
5o
q2
0o
30o
q3
0o
140o
q4
0o
90o
q5
0o
90o
q6
0o
155o
q7
0o
180o
Fonte: Autor
5.2
SIMULAÇÃO COMPUTACIONAL DE MOVIMENTOS DO ROBÔ
Para controlar a seqüência dos deslocamentos angulares das juntas robóticas ativas, se
fazem necessária a elaboração e aplicação de um modelamento do servo-sistema a ser
comandado através de um algoritmo computacional processado por um controlador dedicado.
A tarefa de simulação computacional dos movimentos de um robô apresenta um grande
número de obstáculos no caso de ser implementada a partir de aplicativos disponíveis no
mercado, devido a estes já preverem estruturas modulares e visualização pré-definidas,
39
apresentando ainda a limitação dos graus de liberdade da cadeia cinemática, não possuindo
modelo numérico.
A partir do modelo cinemático apresentado neste trabalho de conclusão de curso, foi
desenvolvido um programa computacional que é apresentado a seguir, o qual tem por
principal função a implementação da simulação de movimentos do robô.
Nesta sessão, portanto, será apresentada uma descrição deste algoritmo computacional
desenvolvido a partir do modelo geométrico gerado para o sistema articular robótico.
A presente sessão é iniciada com a descrição da estruturação destes programas, seguido
da apresentação e análise dos respectivos resultados das simulações computacionais
efetuadas.
5.2.1 IMPLEMENTAÇÃO COMPUTACIONAL DO MODELO CINEMÁTICO
DIRETO
Devido a limitação apresentada pelos aplicativos atualmente disponíveis para a
simulação dos movimentos de sistemas antropomórficos, por apresentarem muitos graus de
liberdade, foi desenvolvido um programa dedicado a esta função específica.
Como visto anteriormente, ao aplicarmos o conceito das transformações homogêneas de
rotação e translação, depois da distribuição dos referenciais, os diferentes graus de liberdade
do sistema articular são definidos através de seus sistemas de coordenadas. Deste modo a
posição e orientação dos pontos da estrutura podem ser sistematicamente definidas.
A partir das variáveis articulares é possível determinar a posição vetorial e a matriz de
orientação do sistema em relação ao referencial inercial fixo na base localizada no centro
geométrico do corpo.
Assim sendo, utilizando o modelo cinemático descrito na seção 5.1, foi elaborado um
programa computacional, o qual, através da aplicação das equações cinemáticas diretas do
sistema articular, efetuam o cálculo do deslocamento no espaço cartesiano dos diversos elos
da estrutura articulada e das matrizes de orientação, a partir da entrada do deslocamento
angular das diversas juntas do sistema.
Para simplificar a implementação computacional, foi usada a propriedade da simetria
dos hemisférios esquerdo e direito, tendo como por metodologia de modelagem o
estabelecimento dos parâmetros do lado esquerdo, possibilitando assim a determinação dos
parâmetros do lado direito.
40
5.2.2 ALGORITMO COMPUTACIONAL PARA MODELAGEM CINEMÁTICA DE
MEMBROS ANTROPOMÓRFICOS
Neste trabalho foi realizado um programa computacional de aplicação da Modelagem
Cinemática dos membros Superiores, cujo fluxograma é descrito a seguir:
SELECIONAMENTO DO HEMISFÉRIO
ESQUERDO
DIREITO
SELECIONAMENTO DA REGIÃO
ESTABELECIMENTO DE PARÂMETROS
ENTRADA E TRATAMENTO DE DADOS
CÁLCULO DO VETOR POSIÇÃO E DA MATRIZ ORIENTAÇÃO
SAÍDA DE RESULTADOS
FIM
FIGURA 16: Fluxograma do programa desenvolvido para Modelagem Cinemática
Fonte: Autor
41
Descrição das Etapas do Fluxograma
Etapa 1 – Selecionamento do Hemisfério
Nesta etapa o usuário seleciona o hemisfério a ser simulado, podendo optar pelos
hemisférios esquerdo ou direito.
Etapa 2 – Selecionamento da Região
Nesta etapa o usuário seleciona a região a ser considerada para a simulação, sendo que o
menu dos membros superiores é composto pelos setores:
•
JUNTA INTERNA DO OMBRO
•
JUNTA INTERNA A JUNTA EXTERNA DO OMBRO
•
JUNTA INTERNA DO OMBRO AO COTOVELO
•
JUNTA INTERNA DO OMBRO AO ANTEBRAÇO
•
JUNTA INTERNA DO OMBRO AO PULSO
Também esquematizado na Figura abaixo:
FIGURA 17: Esquema das Regiões do Robô
Fonte: Autor
42
Etapa 3 – Selecionamento de Parâmetros
Nesta etapa o programa define automaticamente os parâmetros do membro, sendo
definidos:
•
A Matriz e do Vetor de posição inicial,
•
Os Limites angulares das juntas,
•
As Dimensões dos elementos geométricos constituintes da cadeia,
•
O Número de graus de liberdade,
•
O Ponto inicial,
•
O Ponto final.
Etapa 4 – Entrada de dados
Nesta etapa o usuário carrega o programa com os dados de entrada requeridos no
algoritmo, sendo que o processo é composto por:
• Entrada de dados dos ângulos das juntas (em graus),
• Alteração do ângulo caso haja erro ao entrar com o valor,
• Conversão do angulo de graus em radianos,
• Cálculo do valor dos senos e cossenos dos ângulos de entrada,
Etapa 5 – Cálculo do Vetor Posição e da Matriz Orientação
Nesta etapa, o programa efetua os cálculos da Matriz de Orientação final, do vetor
posição final e das coordenadas retangulares dos pontos importantes do setor selecionado da
cadeia cinemática do membro superior, conforme previamente determinado pelo usuário.
Etapa 6 – Saída de Resultados
Nesta etapa, o programa fornece a saída de resultados.
5.2.3 SIMULAÇÃO DOS MOVIMENTOS BÁSICOS DO SISTEMA ROBÓTICO
Para validarmos o modelo apresentado anteriormente, referente aos membros
superiores, foi utilizado o aplicativo comercial WORKSPACE
TM
, que permite a
implementação de um sistema articular análogo ao natural, que aplica a metodologia da
parametrização de Denavit-Hertenberg (seção 4.6.4) para essa cadeia cinemática. Assim
43
sendo, a partir dos parâmetros (a, α, d, θ) foi gerada automaticamente a visualização da
configuração espacial do sistema, desenvolvendo a partir disso a simulação dos principais
movimentos deste setor do corpo humano.
A seguir, são descritas as plantas do modelo (Figura 19) com seus respectivos eixos de
rotação (Figura 20).
Vista Tridimensional
Vista frontal
Vista lateral
Vista de Topo
FIGURA 18: Planta do Manipulador
Fonte: Autor
44
FIGURA 19: Disposição Espacial dos Eixos de Rotação
Fonte: Autor
45
5.2.4 DEFINIÇÃO
DOS
ELEMENTOS
DO
ROBÔ
EM
AMBIENTE
WORKSPACETM.
Após a confecção dos elementos constituintes do sistema, e alocados os sistemas de
coordenadas para cada elemento, prossegue-se a implementação com a etapa da definição do
robô, a qual é constituída pelos passos inseridos nos submenus abaixo descritos do menu Model.
DEFINEROBOT
CREATEROBOT
KINEMATICS
SELECT JOINT TYPES –Seleciona todas juntas rotacionais da cadeia cinemática.
ROBOT A MATRICES – Define automaticamente os parâmetros de Denavit Hartenberg
JOINTLIMITS – Especifica o limite do deslocamento angular para cada junta.
FIGURA 20: Esquema do Processo de Definição do Manipulador
Fonte: Autor
Após o desenvolvimento de todo o processo de definição geométrica e dos tipos de
articulações do robô, é possível verificar-se que o deslocamento no espaço cartesiano, a partir
da alocação de coordenadas em espaço angular, ou vice-versa, através do Menu Pendant.
Visando conferir os resultados obtidos através deste aplicativo comercial, foram
comparados alguns resultados de simulação obtidos a partir desta implementação com a
metodologia descrita e aplicada na seção 4.6.4, que descreve a utilização do Método dos
Referências Locais para obtenção da posição e da orientação final do setor do membro a ser
considerado no algoritmo.
46
Para efeitos de simulação, adotaram-se duas posições, sendo a primeira, a posição de
repouso (posição de inicialização) e a segunda, uma posição qualquer no espaço. A seguir, são
especificados os resultados das simulações para as duas configurações. [Jacobsen, 1991]
5.2.5 RESULTADOS OBTIDOS DA SIMULAÇÃO COMPUTACIONAL
1a Configuração: Posição de inicialização
Resultado obtido via software dedicado
Config. Atual (graus)
q (1) = 0
q (2) = 0
q (3) = 0
q (4) = 0
Matriz de Orientação
n x

s x
a x

ny
sy
ay
n z  1 0 0

s z  = 0 1 0
a z  0 0 1
Posição Final (em mm)
2,06 
 px  
 p  =  155,00 

 y 
 pz  − 690,00
q (5) = 0
q (6) = 0
q (7) = 0
Resultado obtido via Wspace
FIGURA 21: Posição Inicial via WORKSPACER TM
Fonte: Autor
47
2a Configuração: Posição definida no espaço de trabalho.
Resultado obtido via software dedicado
Config. Atual
(graus)
q (1) = 8
q (2) = 10
q (3) = 30
Posição Final (em mm)
 px   300.28 
 p  =  480.67 

 y 
 pz  - 290.26
Matriz de Orientação
n x

s x
a x

ny
sy
ay
− 0,8816853 
n z   − 0,2751614
0,3941514

s z  =  0.3114475
- 0.8033795
- 0.4714774 
a z  - 6.473332 E - 02 9.971143 E - 02 - 3.165095 E - 02
q (4) = 15
q (5) = 10
q (6) = 55
q (7) = 5
Resultado obtido via Wspace
FIGURA 22: Posição definida no espaço de trabalho via WORKSPACER TM
Fonte: Autor
48
6
ANÁLISE DE RESULTADOS, CONCLUSÕES E PERSPECTIVAS FUTURAS.
Os aplicativos computacionais desenvolvidos neste trabalho de conclusão de curso
forneceram informações relativas a posição e a orientação dos diversos setores da estrutura, a
partir da utilização da modelagem cinemática e dos sistemas, permitindo assim a reprodução
dos movimentos efetuados pelos membros superiores.
Inicialmente, foi descrita a estrutura dos programas computacionais dedicados a
aplicação da modelagem cinemática direta a membros superiores, os quais efetuam o cálculo
do vetor posição e da matriz orientação, sucessivamente, aplicando o conceito de referenciais
locais.
A última parte da metodologia teve como por objetivo efetuar a simulação computacional
dos movimentos básicos do robô em aplicativo comercial workspace TM, que implementa
através dos parâmetros de Denavit-Hartenberg do sistema à visualização espacial, permitindo
a simulação completa do robô a partir dos ângulos correspondentes aos diferentes graus de
liberdade da cadeia, obtendo-se automaticamente a posição a partir do cálculo do vetor
posição e da matriz de orientação ao entrar-se com os valores dos ângulos das articulações,
fornecendo ainda a visualização dos movimentos da estrutura.
Foram desenvolvidas metodologias necessárias para a implementação do controle
cinemático direto de um robô antropomórfico de 7 GL. Para tal tarefa, foram aplicados
conceitos de Automação e Robótica, nas seguintes etapas:
1. Revisão bibliográfica do conteúdo a ser desenvolvido e posicionamento do problema;
2. Modelagem Direta de sistemas robóticos;
3. Elaboração de Algoritmo Computacional, visando o estabelecimento de controle
cinemático, com ênfase no:
a)
Desenvolvimento do Modelo Cinemático Direto para a obtenção da posição no
espaço cartesiano e da matriz de Orientação, a partir dos ângulos das juntas (Modelo
Cinemático Direto);
49
b)
Simulação gráfica utilizando software comercial do espaço de trabalho utilizando a
metodologia de estabelecimento de parâmetros de Denavit-Hartemberg a partir da
configuração geométrica do robô desenvolvida, fornecendo a posição espacial no
sistema cartesiano a partir da entrada dos ângulos de junta.
c)
Desenvolvimento de aplicativo computacional para a modelagem do sistema
articular do sistema robótico antropomórfico de membros superiores, fornecendo a
posição espacial no espaço cartesiano e a matriz de orientação a partir da entrada dos
ângulos de junta.
Ante a análise dos resultados obtidos, pode ser verificada uma precisão razoável da
implementação do método dos referenciais locais com relação a utilização da metodologia de
Denavit-Hartemberg aplicada no software comercial Workspace. Importante se faz destacar
que
o
algoritmo
computacional
elaborado
permitiria
a
utilização
de
sistemas
microprocessados para efetuarem o controle de um sistema robótico real, porém, para tal
ainda haveria a necessidade do desenvolvimento da modelagem cinemática inversa, pois a
partir da leitura da posição e orientação reais o microcontrolador calcularia os ângulos das
juntas, fazendo comparação com os ângulos consignados pelo usuário, havendo a geração do
sinal de erro, o qual seria tratado através da utilização de um controlador clássico do tipo PID
(Proporcional + Integral + Derivativo), por exemplo.
Também em uma implementação real, haveria a necessidade do estabelecimento do
controle dinâmico e para tal, haveria a necessidade da modelagem matemática das equações
que regem a dinâmica do servo-sistema.
50
7
REFERÊNCIAS BIBLIOGRÁFICAS
[Ali, 1991] ALI, Engler C. System description document for the Anthrohot- 2: A
dexterous robot hand. NASA Tech. Memo. 104535. Mar. 1991.
[Craig, 1986] CRAIG, J.J. Introduction to Robotics. Mechanics and control. NY, USA:
Addison- Wesley Publishing Company, 1986. 580 p.
[Cutkosky, 1977] CUTKOSKY, R., Kao, I. Computing and controlling the compliance of a
robotic hand. J. Robot. Syst., v. 7, n 2, p. 139-144, 1990.
[Cruz, 1993] CRUZ, J.M. Projeto e Desenvolvimento de um Sistema de Geração
Automática de Trajetória para Manipuladores. 1993. 134 f. Tese de Mestrado em
Engenharia Mecânica – Faculdade de Engenharia Mecânica, Universidade Estadual de
Campinas, Campinas.
[Jacobsen et all, 1986] JACOBSEN C., Everson E. K., Knutti E. F., Johnson T. T. and
Biggers K. B. Design of the Utah/MIT dextrous hand. IEEE Int. Conf. Robot. Automat. , p.
152-153, 1986.
[Jacobsen, 1991] JACOBSEN, T. K. Visualização e Geração de Trajetórias de Robôs a
Partir da Utilização do Software WORKSPACE. Programa IAESTE (Brasil-Dinamarca),
Brasil, 1991.
[Kobayashi, 1985] KOBAYASHI. Control and geometrical considerations for an
articulated robot hand, Int. J. Robot. Res., v. 4, n 1, p. 3-12, 1985.
[Kyriakopoulos et all, 1995] KYRIAKOPOULOS, Vanriper, J., Zink A., Stephanou H. E.
Kinematic analysis and position/force control of the anthrobot dexterous hand. Center
for Advanced Technology Tech. Rep. TR-95-OZ, Rensselaer Polytechnic Institute, Troy, NY,
1995.
51
[Li et all, 1989] LI, P. H., Sastry, S., Grasping and coordinated manipulation by a
multifingered robot hand. Int. J. Robot. Res., v. 8, n. 4, p. 33-50, 1989.
[Paul, 1981] PAUL, P. Robot Manipulators: Mathematics, Programming and Control.
The Mit Press, 1981. 324 p.
[Rosário. 1990] ROSÁRIO, J.M. Etude de Faisabilité d’ une Commande de Type NonLineaire pour un Robot Manipulateurs. 1990.248 f. PHD Thesis - Ecole Centrale des Arts
et Manutactures, Paris, France.
[Tomovic, 1962] TOMOVIC, Boni G. An adaptive artificial hand. RE Trans. Automat.
Contr., v. AC-7, n. 3, p. 3-10, 1962.
[Vanriper, 1992] VANRIPER. The kinematics for an anthropomorphic robot hand.
1992.235 f. M.S. thesis, Rensselaer Polytechnic Institute, Troy, NY.
52
Download

Modelagem Cinemática e Simulação Computacional de um