UNIVERSIDADE FEDERAL DO CEARÁ
CENTRO DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA ELÉTRICA
SUPERVISÃO DE UM MANIPULADOR ROBÓTICO DE 3
DOF
Dalton de Araújo Honório
Fortaleza
Dezembro de 2010
ii
DALTON DE ARAÚJO HONÓRIO
SUPERVISÃO E CONTROLE DE UM MANIPULADOR
ROBÓTICO
Trabalho Final de Curso submetida à Universidade Federal do Ceará como parte dos requisitos para obtenção do grau de Graduado em
Engenharia Elétrica.
Orientador: Prof. Me. Eber de Castro Diniz
Fortaleza
Dezembro de 2010
iii
iv
“Quando menos se espera,
o que seria já era. O que seria de nós,
se não fosse a ilusão que nos trouxe até aqui.”
(Humberto Gessinger)
v
A Deus,
Ao meu irmão, Paulo,
Aos meus pais, Paulo e Liduina,
Aos meus tios Raimundo e Fátima
A minha namorada Adayla Suellen,
A todos meus amigos e familiares.
vi
AGRADECIMENTOS
Primeiramente a Deus por me guiar no caminho que segui até chegar aqui.
Ao Professor Me. Eber de Castro Diniz, pela sua orientação, grande amizade, enorme
paciência e disponibilidade durante todo este tempo.
Ao Professor Me. Antonio Barbosa de Souza Junior, pelo seu companheirismo incansável, por todos os conselhos relevantes.
Ao Professor Me. Fernando Sobreira, pelo seu apoio ao projeto na Universidade de Fortaleza.
Ao Professor Dr. Luiz Henrique Silva Colado Barreto, pela confiança que depositou a
mim a fim de participar em projetos de Iniciação Científica.
Aos professores do departamento Fernando Antunes, José Carlos, Otacílio Mota, Laurinda Reis, Arthur Plínio, Ricardo Thé, Paulo Praça, André Lima, Adson Bezerra, Gabriela
Bauab, Sergio Daher, Demercil de Souza, José Almeida, Carlos Gustavo, Ruth Leão.
Aos colegas de pesquisa, José Robério vulgo Buldog, Jéssica, André, muito obrigado
pela ajuda.
Aos meus amigos Carlos Alberto, Wellington Avelino, Ernande Eugênio pelo companheirismo durante toda graduação.
A meu Pai Paulo Honório, minha mãe Liduina Honório, meu irmão Paulo Honório Filho, sem eles minha vida não seria possível. Imagine a graduação!
Aos meus tios, primos, a toda minha família que apoiou minha caminhada.
A minha namorada Adayla Suellen, por me suportar por “curtos” sete anos. Obrigado
por todo amor, carinho, compreensão e dedicação.
Aos meus amigos de infância Bruno dos Santos, Frederico, Alisson, Pádua, Felipe Vasconcelos, Heitor das Virgens, Marillya Rabelo, Cynthia Sampaio e suas redações, Sávio e sua
bateria, Weverton vulgo Tonton, Wenderson vulgo Derson, Wemerson vulgo Bizonga, Aline
Castro.
A todas as pessoas que por motivo de esquecimento não foram citadas anteriormente,
vou deixando neste espaço minhas sinceras desculpas.
vii
Honório, D. A. “Supervisão e controle de um manipulador robótico”, Universidade Federal do Ceará – UFC, 2010, 58p.
Este trabalho aborda a modelagem de um manipulador robótico de seis graus de liberdade. São utilizados conceitos de cinemática direta, através da convenção de DenavitHartenberg e de cinemática inversa, através do método geométrico, para o desenvolvimento
do aplicativo de supervisão. Será apresentada a metodologia adotada para o desenvolvimento
da supervisão do robô. Em seguida será desenvolvido o software de supervisão do manipulador através de um aplicativo implementado em ambiente MatLab®, onde será capaz de configurar cada motor responsável por cada articulação do manipulador de forma independente,
assim como gerar um gráfico vetorial, baseado no tempo, do movimento do manipulador.
Faz-se, posteriormente, um breve descritivo sobre o protocolo de comunicação utilizado no
trabalho, o qual compreende em um mestre e dois escravos comunicando-se através de um
barramento RS-485 de ligação. Esse protocolo será responsável por fazer a comunicação entre
o sistema supervisório de controle dos atuadores. Por fim desenvolveu-se um algoritmo de
controle.
Palavras-Chave: Manipuladores Robóticos, Automação, MatLab, Supervisório, RS-485.
viii
Honório, D. A. “Supervision and control a robotic arm”, Universidade Federal do Ceará
– UFC, 2010, 58p.
This paper addresses the modeling of a robotic manipulator of six degrees of freedom
(DOF). Kinematics concepts are used directly by the Denavit-Hartenberg convention and inverse kinematics, through the geometric method for developing the application of supervision.
It will present a methodology for developing the supervision of the robot. Then the software
will be developed to manipulate the supervision of pain through an application implemented
in Matlab® environment, where you will be able to set each engine responsible for each joint
of the manipulator independently as well as generating a vector graphics based on time,
movement of the manipulator. It is then a brief description about the communication protocol
used in the study, which comprises a master and two slaves communicating via an RS-485
bus connection. This protocol will be responsible for the communication between the supervisory system of control actuators. Finally we developed a control algorithm.
Keyswords: Robot Manipulator, Automation, MatLab, Supervisory, RS-485.
ix
SUMÁRIO
LISTA DE FIGURAS ................................................................................................................................ XI
LISTA DE TABELAS ............................................................................................................................ XIII
INTRODUÇÃO ........................................................................................................................................... 1
CAPÍTULO 2 .............................................................................................................................................4
FUNDAMENTOS TEÓRICOS ................................................................................................................... 4
2.1 - TRANFORMAÇÕES HOMOGÊNEAS........................................................................................... 4
2.1.1 - MATRIZ DE TRANSFORMAÇÃO PARA ROTAÇÃO E TRANSLAÇÃO ................................. 4
2.1.2 - MATRIZ DE TRANSFORMAÇÃO EM 3 DIMENSÕES ............................................................... 6
2.2 - CINEMÁTICA DIRETA ..................................................................................................................... 8
2.2.1 - NOTAÇÃO DE DENAVIT-HARTENBERG .................................................................................. 9
2.3 - CINEMÁTICA INVERSA ................................................................................................................. 12
2.3.1 - SOLUÇÃO DO MANIPULADOR ANTROPOMÓRFICO A 3 GRAUS DE LIBERDADE ........ 13
2.3.2 - SOLUÇÃO DO PUNHO ESFÉRICO ............................................................................................ 17
2.3.3 - SOLUÇÃO DO MANIPULADOR COM UM PUNHO ESFÉRICO ............................................. 19
2.4 - ÁRVORE DE SOLUÇÕES ................................................................................................................ 20
CAPÍTULO 3 ...........................................................................................................................................22
METODOLOGIA ......................................................................................................................................22
CAPÍTULO 4 ...........................................................................................................................................26
DESENVOLVIMENTO ............................................................................................................................ 26
4.1 - PROTOCOLO ELÉTRICO DE COMUNICAÇÃO SERIAL RS-232 .............................................. 26
4.2 - PROTOCOLO ELÉTRICO DE COMUNICAÇÃO SERIAL RS-485 .............................................. 26
4.3 - DESENVOLVIMENTO DO PROTOCOLO DE COMUNICAÇÃO .......................................... 30
4.4 - MODELAGEM DAS CINEMÁTICAS ........................................................................................... 31
4.4.1 - CINEMÁTICA DIRETA ................................................................................................................ 31
4.4.2 - CINEMÁTICA INVERSA ............................................................................................................. 32
4.5 - SOFTWARE DE SUPERVISÃO ....................................................................................................... 33
4.6 - FLUXOGRAMA ............................................................................................................................... 38
CAÍTULO 5
...........................................................................................................................................40
RESULTADOS E DISCURSSÕES ........................................................................................................... 40
5.1 - APLICAÇÃO DO SUPERVISÓRIO EM UM MANIPIULADOR REAL.................................. 40
CONCLUSÃO.............. ............................................................................................................................. 44
x
REFERÊNCIAS BIBLIOGRÁFICAS ....................................................................................................... 45
xi
LISTA DE FIGURAS
Figura 1 – Diagrama de bloco do ciclo de controle ...................................................... 2
Figura 2 – Componentes da matriz de transformação a duas dimensões. ...................... 5
Figura 3 – Rotação genérica de um ponto no plano. ..................................................... 5
Figura 4 – Componentes da matriz de transformação3D. ............................................. 7
Figura 5 – Estrutura de um Manipulador ..................................................................... 9
Figura 6 – Posição relativa de duas retas no espaço................................................... 10
Figura 7 – Parâmetros Denavit-Hartenberg ............................................................... 10
Figura 8 – Braço antropomórfico de 3 DOF ............................................................... 13
Figura 9 – os três elos e juntas do punho esférico ....................................................... 17
Figura 10 – Manipulador antropomórfico com 6 DOF e um punho esférico ............... 19
Figura 11 – Diferença entre os eixos marginais dos dois sistemas .............................. 20
Figura 12 – Árvore de soluções para a cinemática inversa ......................................... 21
Figura 13 – Aplicação do MAX232 ............................................................................. 24
Figura 14 – Conversor USB-Serial (Cortesia Leader Ship) ......................................... 26
Figura 15 – Esquema de ligação para comunicação Supervisório-Manipulador ......... 27
Figura 16 – Conversor RS-232 para RS-485 ............................................................... 28
Figura 17 – Kit de desenvolvimento DSP da TEXAS INSTRUMENTS® ezdsp2812® .. 29
Figura 18 – Fluxograma de funcionamento da planta ................................................. 29
Figura 19 – Concentrador .......................................................................................... 30
Figura 20 – Telegrama de envio da comunicação. ...................................................... 31
Figura 21 – Interface do software ............................................................................... 33
Figura 22 – Aba grau de liberdade ............................................................................. 33
Figura 23 – Aba passo ................................................................................................ 34
Figura 24 – Aba posição ............................................................................................. 34
Figura 25 – Controle de posicionamento através do software ..................................... 35
Figura 26 – Cotrole de acesso à porta serial ............................................................. 35
Figura 27 – Painel de controle automático ................................................................. 36
Figura 28 – Gravação dos Pontos do Ciclo de Movimentação .................................... 36
Figura 29 – Botão Iniciar/Parar do ciclo de Movimentação Automática..................... 36
Figura 30 – Aba do controle principal ........................................................................ 37
Figura 31 – Gráfico com os movimentos do manipulador ........................................... 37
Figura 32 – Fluxograma de Supervisão ...................................................................... 38
xii
Figura 33 – Foto da planta situada na UNIFOR ......................................................... 40
Figura 34 – Planta de acionamento dos motores......................................................... 41
Figura 35 – Desenho do manipulador ......................................................................... 41
Figura 36 – Manipulador robótico.............................................................................. 42
Figura 37 – Posição angular do cotovelo.................................................................... 42
Figura 38 – Posição angular do punho ....................................................................... 43
xiii
LISTA DE TABELAS
Tabela 1–Parâmetros de Denavit-Hartenberg para o punho esférico .......................... 17
Tabela 2 – Parâmetros de Denavit-Hartenberg........................................................... 32
INTRODUÇÃO
A pesquisa nas áreas de mecânica e acionamentos de robôs não é exatamente uma ciência recente, e sim um conjunto de múltiplos assuntos oriundos de diversas áreas, abordados
com outras ênfases. A engenharia mecânica contribui com estudo e entendimentos de maquinas em situações dinâmicas e estáticas. A matemática fornece as ferramentas necessárias para
a modelagem dos movimentos espaciais e representações do próprio robô. As técnicas de controle provêm procedimentos necessários para controlar os movimentos do manipulador, bem
como a força aplicada a esse movimento. A engenharia elétrica possibilita o projeto de sensores, a implementação das técnicas de modelagem e controle, bem como o acionamento dos
atuadores do robô. Por fim, a ciência da computação subsidia a programação dos robôs nas
execuções de suas tarefas. [4]
Novas disciplinas, como engenharia de manufatura, engenharia de aplicação e engenharia do conhecimento tentam lidar com a complexidade do campo de aplicação da robótica em
um sistema de automação fabril. [7]
O termo robot, no português robô, foi usado primeiramente por Karel Câpek em sua
peça Robôs Universais de Rossum. Desde então esse termo tem sido aplicado à uma vasta
quantidade de equipamentos mecanicos. Devido à esse fato, dispositivos que, basicamente,
operam com alguns graus de autonomia, geralmente sob comando computacional, são
conhecidos normalmentes por robôs. Em tcheco a palavra robota significa trabalhador que
nunca cansa. [6][7]
As primeiras aplicações de robôs manipuladores geralmente estão associadas a
transferências de pequenos materiais, tais como, injeção plástica e estampagem. A função dos
manipuladores nessas aplicações se resumiam em apenas descarregar materiais, ou empilhar
os produtos finais de uma certa linha de produção[7]. Como não se tinha sensores externos de
modo a realimentar o processo e corrigir enventuais erros, não se podia exigir um
desempenho eficiente dos manipulados robóticos. Com o avanço da tecnologia pôde-se obter
essa realimentação dos processos, difundindo o uso desses robôs no meio industrial. Com
isso, deu-se o inicio ao processo de automação.
Defini-se por automação o uso de qualquer dispositivo mecânico ou eletro-eletrônico
para controlar máquinas e processos[7]. Entre os dispositivos eletro-eletrônicos pode-se
utilizar computadores ou outros dispositivos lógicos (como CLPs - Controladores Lógicos
Programáveis ou CNC's - Computer Numeric Control), substituindo algumas tarefas da mão-
2
de-obra
obra humana e realizando outras que o humano não consegue realizar. É um passo além da
mecanização,, na qual operadores humanos são providos de maquinaria para auxiliá
auxiliá-los em
seus trabalhos.
Este trabalho,, inicialmente, pretende mostrar algumas das etapas como a modelagem cic
nemática de um manipulador robótico
robótico,, que consiste no levantamento de todo as leis de formaform
ção dos ângulos dos ligamentos e sua correlação entre o eixo da base e do efetuador
efetuador. Várias
são as definições adotadas para o que vem a ser um robô manipulador industrial
industrial.
Três definições de importantes associações na área da robótica são dadas a seguir:
i) Definição pela ISO 8373:1994 [6]:
“Um robô industrial é definido como manipulador programável em três ou mais eixos,
controlados automaticamente, reprogramável e multifuncional.”
ii) Definição da Robot Institute of America [7]:
“Um manipulador reprogramável e multifuncional projetado para mover e manusear
materiais, peças, ferramentas, ou dispositivos especiais capazes de desempenhar uma vvariedade de tarefas através de movimentos variáveis programados.”
iii) Definição da Eshed Robotics [6]:
“Um robô é um braço mecânico; um manipulador concebido
concebido para levar a cabo muitas
tarefas diferentes, e capaz de ser programado sucessivamente. Para levar a cabo as tarefas atribuídas, o robô move componentes, objetos, ferramentas e outros dispositivos especiais por
meio de movimentos e pontos pré-programados.”
pré
Este trabalho tem,, também, como proposta desenvolver um software de supervisão para
um manipulador robótico.
Figura 1 – Diagrama de bloco do ciclo de controle
O software realizará o controle e supervisão do manipulador robótico. Na Figura 1 tem
temse o diagrama de blocos do ciclo de controle do equipamento. O início do controle se dá pelo
usuário indicando o ponto inicial no qual o manipulador deve iniciar o movimento. Após esta
3
etapa tem-se a definição do ponto final, e por fim o ciclo de posicionamento do robô. Entende-se por ciclo de posicionamento as ações do supervisório que tem a responsabilidade de iniciar a comunicação, enviar os dados aos atuadores, atualizar a janela do aplicativo e encerrar a
comunicação, sendo executadas de forma cíclica nessa respectiva ordem. De posse destes dois
pontos, será feita, através de algoritmos de cinemática direta e cinemática inversa, a localização destes pontos no espaço (cinemática direta) e a movimentação entre estes pontos de forma
a gerar o menor esforço possível para o equipamento (cinemática inversa).
Este trabalho está divido da seguinte forma: No capítulo 1 foi dada uma introdução geral acerca de manipuladores robóticos No capítulo 2 são descritos os modelos matemáticos de
modelagem dos manipuladores, havendo o desenvolvimento do modelo matemático do manipulador utilizado neste trabalho, bem como uma explanação acerca do protocolo de comunicação utilizado. No capítulo 3 é descrita a metodologia utilizada no trabalho. No capítulo 4
contém o desenvolvimento dos objetivos descritos na metodologia. No capítulo 5 são apresentados os resultados obtidos bem como uma discussão sobre os mesmos. E por fim uma conclusão avaliando o resultado em conjunto de todo o projeto, desde a concepção até os resultados obtidos experimentalmente.
4
CAPÍTULO 2
FUNDAMENTOS TEÓRICOS
A cinemática de um robô manipulador é o estudo da posição do seu efetuador e dos seus
ligamentos com relação a um determinado sistema de coordenadas de referência. Defini-se
como efetuador o componente ligado a extremidade do braço, ou seja, o componente ligado
ao último ligamento do manipulador. Por sua vez, ligamentos são usualmente blocos alongados rígidos, e são ligados uns aos outros através das juntas. E por fim, entende-se por junta a
sobreposição de dois ligamentos. O problema da cinemática de um manipulador pode ser dividido em dois, o da cinemática de posição, que diz respeito aos valores dos atuadores (elementos que produzem movimento, atendendo a comandos que podem ser manuais ou automáticos) nos graus de liberdade que vão desde a base até o centro do pulso, e a cinemática de
orientação, que define os valores dos atuadores que controlam o efetuador. Podem-se distinguir dois tipos de cinemática, a direta e a inversa. Na cinemática direta deseja-se obter a posição do efetuador para uma dada posição das articulações. A cinemática inversa é o oposto da
cinemática direta, ou seja, é fornecida a posição do efetuador de modo a se obter as posições
correspondentes das articulações. Com isso pode ser criado uma Interface Homen-Máquina
(IHM) a qual possa obter uma posição para o manipulador mediante as posições das articulações ou calcular a posição das articulações mediante as posições do manipulador, podendo
ainda indicar graficamente como essas posições se apresentam.
2.1 - TRANFORMAÇÕES HOMOGÊNEAS
Da álgebra linear usa-se a ideia de transformação homogênea a fim de correlacionar os
movimentos efetuados pelos manipuladores, sejam esses movimentos de rotação pura, translação pura e uma combinação de ambas. Transformação homogênea trata-se de uma representação matricial para movimentações de corpos rígidos.
2.1.1 - MATRIZ DE TRANSFORMAÇÃO PARA ROTAÇÃO E TRANSLAÇÃO
O sistema qual representa uma rotação, juntamente com uma translação é dada a seguir,
para um espaço bidimensional:
5
 x1   a b   x   px 
 y  = c d  ⋅  y +  p 
    y
 2 
(2.1)
Para integrar em numa única matriz os efeitos da rotação e da translação, adiciona-se
uma igualdade (1 = 1), que é verdadeira, e não altera em nada o conhecimento do sistema.
Com isso obtêm-se a equação 2.2.
 x1   a b
 y  = c d
 1 
 1   0 0
px   x 
p y  ⋅  y 
1   1 
(2.2)
As coordenadas resultantes são designadas coordenadas homogêneas. A matriz de transformação homogênea é assim constituída por secções com significados específicos, mostrados
na Figura 2.
Figura 2 – Componentes da matriz de transformação a duas dimensões.
Logo, uma matriz que retrata somente uma rotação no plano (Ox-y, com revolução no
eixo z) é obtida pela equação 2.3.
cos θ
Rot (θ , z ) =  sin θ
 0
− sin θ
cosθ
0
0
0 
1 
(2.3)
Note, seja um dado ponto no plano com coordenadas cartesianas (x, y) e coordenadas polares
(l, θ). É aplicada, posteriormente, a esse ponto uma rotação de valor ϕ em torno da origem,
resultante no ponto de coordenadas (x1, y1).
Figura 3 – Rotação genérica de um ponto no plano.
6
A partir da Figura 3 é possível extrair as seguintes igualdades:
 x1 = l cos(θ + φ ) = l cos θ cos φ − sin θ sin φ )

 y1 = l sin(θ + φ ) = l cos θ sin φ − sin θ cos φ )
(2.4)
 x = l cos φ

 y = l sin φ
(2.5)
 x1 = x cos θ − y sin θ

 y1 = x sin θ + y cos θ
(2.6)
Ainda, tem-se que:
Logo,
E, finalmente, em notação matricial:
 x1  cos θ
 y  =  sin θ
 1 
− sin θ   x  c1 − s1   x 
=
cos θ   y   s1 c1   y 
(2.7)
Onde c1 = cosθ1e s1 = sin θ1.
Adicionando-se a igualdade unitária da mesma forma que fora explicado acima, encontra-se a equação 2.3.
Com o mesmo procedimento obtêm-se as seguintes matrizes de rotação no plano para os
demais eixos coordenados, eixo x e eixo y, respectivamente:
0
1

Rot (θ , x) = 0 cos θ
0 sin θ
 cos θ
Rot (θ , y ) =  0
 − sin θ
0

− sin θ 
cos θ 
(2.8)
0 sin θ 
1
0 
0 cos θ 
(2.9)
Analogamente, com conceitos de geometria, extrai-se da equação 2.4 a matriz que representa somente uma translação pura do sistema de coordenadas, vista na equação 2.8.
1 0
Trans( px , p y ) =  0 1
 0 0
px 
p y 
1 
(2.10)
2.1.2 - MATRIZ DE TRANSFORMAÇÃO EM 3 DIMENSÕES
Adicionando mais um grau de liberdade para a matriz de rotação e ao vetor de translação, obtêm-se a representação no espaço em três dimensões.
7
 x
 y
p= 
z
 
1
a
R =  d
 g
b
e
(2.11)
c
f 
i 
h
(2.12)
A matriz de transformação para o espaço tridimensional assume a seguinte forma:
a
d
T =
g

0
b
e
h
0
c
f
i
0
px 
p y 
pz 

1
(2.13)
A matriz de transformação geométrica, homogênea, tem além das rotações e da translação mais quatro termos formando a última linha. Para esse trabalho essa linha terá cofatores
representado por [0 0 0 1], todavia em outras aplicações essa linha representa as condições de
tratamento de imagens, indicando por exemplo a perspectiva e o fator de escala global, como
mostra a Figura 4.
Figura 4 – Componentes da matriz de transformação3D.
As matrizes homogêneas de rotação pura para cada eixo ortogonal são apresentadas nas
equações a seguir, bem como as matrizes homogêneas de translação pura.
 cos θ
 sin θ
Rot ( z, θ ) = 
 0

 0
− sin θ
cos θ
0
0
0
1
 0 cos θ
Rot ( x, θ ) = 
 0 sin θ

0
0
0
0
1
0
0
0 
0

1
(2.14)
0
− sin θ
cos θ
0
0
0 
0

1
(2.15)
8
 cos θ
 0
Rot ( y, θ ) = 
 − sin θ

 0
0 sin θ
1
0
0 cos θ
0
0
0
0 
0

1
(2.16)
1
0
Trans( x, px ) = 
0

0
0
1
0
0
0
0
1
0
px 
0 
0

1
(2.17)
1
0
Trans ( y, p y ) = 
0

0
0
1
0
0
0
0
1
0
0
p y 
0

1
(2.18)
1
0
Trans ( z , pz ) = 
0

0
0
1
0
0
0
0
1
0
0
0 
pz 

1
(2.19)
2.2 - CINEMÁTICA DIRETA
Um manipulador consiste basicamente de uma série de corpos rígidos unidos entre si
por articulações. Cada ligamento do manipulador pode ser enumerado de zero a n, como mostra a Figura 5. O ligamento da base é numerado por conveniência como zero e o efetuador,
que é o último ligamento, é numerado como n. O objetivo é analisar a posição e a orientação
do efetuador em função da posição de cada uma das articulações.
Para representar a posição e a orientação do efetuador, é posicionado o sistema de coordenadas On – xnynzn no efetuador. A posição e orientação deste sistema de coordenadas são
descritas em relação ao sistema O0 – x0y0z0 fixo na base, isto é, no primeiro ligamento. Define-se, também, para cada um das demais articulações um sistema de coordenadas Oi – xiyizi. É
possível determinar a posição e a orientação do sistema i em relação ao sistema anterior, i-1,
pelo uso de matrizes homogêneas relacionando a transformação entre estes sistemas. Dessa
forma, a posição e a orientação do efetuador em relação à base são obtidas por uma composição de transformações homogêneas consecutivas, partindo-se do sistema da base para o último sistema (efetuador).
9
Para posicionar os sistemas de coordenadas nos ligamentos do manipulador de forma
sistemática, é utilizada a notação de Denavit-Hartenberg. Esta notação é um método sistemático de descrever a posição e a orientação entre dois ligamentos consecutivos, baseado na
transformação homogênea.
Figura 5 – Estrutura de um Manipulador
2.2.1 NOTAÇÃO DE DENAVIT-HARTENBERG
A notação de Denavit-Hartenberg[7] conduz uma representação baseada em transformações homogêneas, que exprimem cada referencial (associado a cada elo) em relação ao referencial anterior. Assim, através de uma sequência de transformações, a posição generalizada
do órgão terminal do robô manipulador (ou melhor, o respectivo referencial) pode ser expressa em relação ao sistema de eixos da base, o qual pode construir o referencial inercial do sistema.
Baseando-se no fato de que para determinar a posição relativa de duas retas no espaço
são necessários somente dois parâmetros, sendo o primeiro parâmetro a distância medida ao
longo da normal comum entre as duas retas e o segundo o ângulo de rotação em torno da
normal comum, que uma das retas deve girar, de forma que fique paralela à outra, observa-se
que a normal comum entre duas retas no espaço é definida por uma terceira reta que intercepta as duas primeiras retas, com ângulos de 90°, como mostra a Figura 6. Além disso, a distância medida entre as duas retas, ao longo da normal comum, é a menor distância entre as mesmas.
10
Figura 6 – Posição relativa de duas retas no espaço
Se para definir a posição relativa de duas retas no espaço são necessários dois parâmetros, então, para definir a posição relativa de dois sistemas de coordenadas serão necessários
quatro parâmetros. Isto decorre do fato de que um sistema de coordenadas é definidor por três
retas (os três eixos do sistema), sendo que se conhecendo dois eixos do sistema, o terceiro está
automaticamente definido, pelas condições de ortogonalidade e pela regra da mão direita. Portanto, a partir da definição da posição relativa entre dois eixos de dois sistemas de coordenadas, pode-se descrever a posição relativa entre os dois sistemas de coordenadas.
A Figura 7 representa um par de ligamentos adjacentes de um robô manipulador (ligamentos i e i-1) e suas respectivas articulações (articulações i-1, i e i+1). A posição e orientação relativa entre os dois ligamentos são descritas pelas transformações de translação e de rotação entre os dois sistemas de coordenadas fixos a estes ligamentos.
Figura 7 – Parâmetros Denavit-Hartenberg[5]
11
O primeiro passo para definir os sistemas de coordenadas de um robô é localizar os eixos z ao longo dos eixos das articulações, de forma que o eixo zi-1 é o eixo da articulação i.
Seja a reta HiOi a normal comum aos eixos das articulações i e i+1 (eixos zi-1 e zi). A origem
do sistema Oi é localizada na intercessão do eixo da articulação i+1 (eixo zi) e a normal comum entre os eixos zi-1 e zi. Finalmente, o eixo yi é escolhido de forma que o sistema resultante Oi - xiyizi seja um sistema de coordenadas que segue a regra da mão direita.
A posição relativa entre dois sistemas de coordenadas consecutivos, sendo os sistemas
Oi-1 - xi-1yi-1zi-1 e Oi - xiyizi, é completamente determinada pelas posições relativas entre os eixos xi-1 e xi e entre os eixos zi e zi-1, que são definidas pelos quatro parâmetros seguintes:
•
ai: é a distância (em módulo) entre zi-1 e zi medida ao longo do eixo xi, que é a
normal comum entre zi-1 e zi, ou seja, é a distância HiOi;
•
αi: é o ângulo (com sinal) entre o eixo zi-1 e o eixo zi medido em torno do eixo xi,
segundo a regra da mão direita, ou seja, é o ângulo de rotação em torno do eixo xi,
que o eixo zi-1 deve girar para que fique paralelo ao eixo zi;
•
di: é a distância (com sinal) entre os eixos xi-1 e xi, medida sobre o eixo zi-1 (que é a
normal comum entre xi-1 e xi), partindo-se de Oi-1 e indo em direção à Hi. O sinal de
di é positivo se para ir de Oi-1 até Hi caminha-se no sentido positivo de zi-1 e
negativo se caminha no sentido oposto de zi-1;
•
θi: é o ângulo (com sinal) entre o eixo xi-1 e o eixo xi, medido em torno do eixo zi-1,
segundo a regra da mão direita, ou seja, é o ângulo de rotação em torno do eixo zi-1
que o eixo xi-1 deve girar para que fique paralelo ao eixo xi.
Com estes quatro parâmetros, a posição e orientação do sistema de coordenadas i em relação ao sistema i-1 podem ser definidas como uma sequencia de quatro transformações:
•
Rotação em torno de zi-1 de um ângulo de θi, medido segundo a regra da mão
direita, de forma a alinhar o eixo xi-1 com xi;
•
Translação ao longo do eixo zi-1 de uma distância di medida a partir do ponto Oi-1 até
encontrar a intercessão da normal comum entre zi-1 e zi (ponto Hi);
•
Translação ao longo do eixo xi-1 de uma distancia ai partindo-se do ponto Hi até
encontrar o eixo zi (ponto Oi);
12
•
Rotação em torno do eixo xi de um ângulo αi medido segundo a regra da mão direita
de forma a alinhar o eixo zi-1 com o eixo zi.
Assim, em resumo, são as seguintes transformações:
Ti −i 1 = Rot ( z ,θi ) Trans( z, di )Trans( x, ai ) Rot ( x, α i )
(2.20)
Em termos de matrizes de transformação homogênea, tem-se:
Cθi
 Sθ
i
Ti −1 =  i
 0

 0
− Sθ i
Cθi
0
0
0 0  1 0 0 0  1 0 0 ai  1 0
0 0  0 1 0 0  0 1 0 0  0 Cα i
1 0  0 0 1 di  0 0 1 0  0 Sα i



0 1   0 0 0 1  0 0 0 1   0 0
Cθ i − Sθi Cα i Sθi Sα i ai Cθi 
 Sθ

 i Cθ i Cα i −Cθ i Sα i ai Sθ i 
 0
Sα i
Cα i
di 


0
0
1 
 0
0
− Sα i
Cα i
0
0
0 
=
0

1
(2.21)
Os parâmetros ai e αi são constantes e são determinados pela geometria do ligamento i.
Um dos outros dois parâmetros di ou θi varia à medida que a articulação se move. Se a articulação for de revolução o parâmetro θi é variável e representa a sua posição angular, enquanto o
parâmetro di é constante. Se a articulação for prismática, o parâmetro di é a variável que representa a sua posição linear e o parâmetro θi é constante.
Ou seja, a cinemática direta do manipulador é obtida através do produto das matrizes
de cada uma das juntas, conforme a equação abaixo:
T06 = T01 . T12 . T23 . T34 . T45 . T56
(2.22)
O resultado deste produto é representado pela matriz de transformação homogênea cujos elementos são doze equações não lineares.
 Rn
H = T06 =  0
0
p0n 

1
(2.23)
Onde ܴ଴௡ descreve a orientação do efetuador final, ‫݌‬଴௡ expressa as coordenas do vetor
posição final do efetuador.
2.3 - CINEMÁTICA INVERSA
O problema da cinemática inversa não é tarefa facilmente aplicada na maioria dos manipuladores. Com isso não pode ser obtida através de alguma fórmula pronta ou de simples
multiplicações matriciais. No entanto, nos manipuladores com seis graus de liberdade com
13
pulso esférico, onde os três últimos eixos consecutivos se interceptam em um ponto, é possível desacoplar o sistema, ou seja, separar o problema da cinemática inversa em dois problemas mais simples conhecidos, respectivamente, como cinemática da posição inversa e cinemática da orientação inversa. Os três últimos eixos consecutivos interceptados em um ponto
constituem o chamado punho esférico.
Com a cinemática direta é possível determinar a posição e orientação do efetuador final,
já a forma inversa permite calcular os ângulos das juntas a partir da posição e orientação do
mesmo efetuador final.
Desta forma, a solução da cinemática inversa segue três passos:
(i) A decomposição da cinemática inversa da posição para encontrar o centro do
pulso;
(ii) A determinação dos ângulos das três primeiras junções a partir das coordenadas do centro do pulso;
(iii) A determinação dos três ângulos da posição final do efetuador.
2.3.1 SOLUÇÃO DO MANIPULADOR ANTROPOMÓRFICO A 3 GRAUS DE
LIBERDADE
O manipulador antropomórfico a 3 graus de liberdade, do inglês degree of freedom
(DOF), é constituído de três juntas de rotação, como visto na Figura 8, onde Pw é o ponto extremo do manipulador. Os ângulos de junta são θ1 para a base, θ2 para segundo grau e θ3 para
o terceiro grau, respectivamente de acordo, novamente, com a Figura 8.
Figura 8 – Braço antropomórfico de 3 DOF
14
A matriz de transformação homogênea para o manipulador da figura 8 é dada a seguir.
Onde ci é equivalente a cos(θi), cij é equivalente a cos(θi+θj), si é equivalente a sin(θi) e sij é
equivalente a sin(θi+θj).
T30 = T01 ⋅ T12 ⋅ T23
 c1
s
T30 =  1
0

0
0 − s1
0 −c1
1 0
0 0
 c1c2c3 − c1s2 s3

sc c −ss s
T30 =  1 2 3 1 2 3
 s2 c3 + c2 s3

0

0  c2
0   s2
LA   0

1 0
− s2
c2
0
0
0 LB ⋅ c2  c3
0 LB ⋅ s2   s3
1
0 0

0
1 0
−c1c2 c3 − c1s2c3
s1
− s1c2 s3 − s1s2c3
−c1
− s2 s3 − c2c3
0
0
0
 c1c23

sc
=  1 23
 s23

 0
−c1s23
− s1s23
s1
−c1
c23
0
0
0
(2.24)
− s3
c3
0
0
0 LC ⋅ c3 
0 LC ⋅ s3 
1
LA 

0
1 
LC ⋅ ( c1c2 c3 − c1s2 s3 ) + LB c1c2 

LC ⋅ ( s1c2 c3 − s1s2 s3 ) + LB s1c2 
=
LC ⋅ ( s2 c3 + c2 s3 ) + LB c1c2 + LA 

1

c1 ( LC ⋅ c23 + LB ⋅ c2 ) 

s1 ( LC ⋅ c23 + LB ⋅ c2 ) 
LC ⋅ s23 + LB ⋅ s2 + LA 

1

(2.25)
(2.26)
As coordenadas de Pw são precisamente as componentes de posição na matriz anterior,
ou seja:
 PW x   c1 ( LC ⋅ c23 + LB ⋅ c2 ) 
PW =  PW y  =  s1 ( LC ⋅ c23 + LB ⋅ c2 ) 
 PW z   LC ⋅ s23 + LB ⋅ s2 + LA 
(2.27)
Extraí-se, da equação 2.27, uma lei de formação para θ1, bastando para tanto dividir os
termos pWx e pWy :
pWx
pWy
=
 pW 
 pW 
∴θ 1 = arctan  x  ou θ 1 = atan 2  x 
 pW 
 pW 
s1 ( LC ⋅ c23 + LB ⋅ c2 )
 y
 y
c1 ( LC ⋅ c23 + LB ⋅ c2 )
(2.28)
A última equação da sentença 2.28 se justifica, pois normalmente utiliza-se programas
matemáticos para se obter os resultados dos ângulos. A função atan2() é muito utilizada como
função inversa da tangente levando em consideração os quadrantes dos argumentos que são
passados a ela na sua utilização.
Como fora supracitado, deve-se levar em consideração o quadrante dos argumentos que
compõem θ1. Os termos ( LC ⋅ c23 + LB ⋅ c2 ) podem ser positivos ou negativos, o que resulta no
segundo caso que é (a tangente no terceiro quadrante):
15
 − pW 
 pW 
x
 = arctan  x  + π
 − pW 
 pW 
y 

 y
θ 1 = arctan 
(2.29)
A equação 2.29 implica que o valor de θ2 passa a ser π - θ2 e que θ3 a ter valor -θ3. Notase que não ocorrem alterações para as componentes do vetor Pw. Primeiro como pW indepenz
de de funções trigonométricas, trata-se de uma constante. De acordo com as equações 2.30 até
2.33 não nota-se mudança no valor de pW e pW .
x
y
sin(π − θ 2 ) = s2
(2.30)
sin(π − θ 2 − θ3 ) = sin(π − (θ 2 + θ3 )) = sin(θ 2 + θ3 ) = s23
(2.31)
cos(π − θ 2 ) = −c2
(2.32)
cos(π − θ 2 − θ3 ) = cos(π − (θ 2 + θ3 )) = −c23
(2.33)
Da equação 2.27 tem-se que:
pwx = c1 ( LC ⋅ c23 + LB ⋅ c2 )
(2.34)
pwy = s1 ( LC ⋅ c23 + LB ⋅ c2 )
(2.35)
pwz − LA = LC ⋅ s23 + LB ⋅ s2
(2.36)
Logo,
2
(
)
pw2 x + pw2 y + ( pwz − LA )2 = ( LC ⋅ c23 + LB ⋅ c2 ) ⋅ c12 + s12 + ( LB ⋅ s2 + LC ⋅ s23 )
2
2
2
+ 2 LB LC ⋅ c2 c23 + L2B ⋅ s22 + L2C ⋅ s23
+ 2 LB LC ⋅ s2 s23
pw2 x + pw2 y + ( pwz − LA )2 = L2B ⋅ c22 + L2C ⋅ c23
pw2 x + pw2 y + ( pwz − LA ) 2 = L2B + L2C + 2 LB LC (c2c23 + s2 s23 )
pw2 x + pw2 y + ( pwz − LA )2 = L2B + L2C + 2 LB LC [ c2 (c2c3 − s2 s3 ) + s2 ( s2 c3 − s3c2 )]
pw2 x + pw2 y + ( pwz − LA ) 2 = L2B + L2C + 2 LB LC (c22 c3 + s22c3 )
c3 =
pw2 x + pw2 y + ( pwz − LA )2 − ( L2B + L2C )
2 LB LC
 pw2 x + pw2 y + ( pwz − LA )2 − L2B − L2C 



2
L
L
B
C


θ3 = ± arccos 
(2.37)
Assim, obtêm-se a lei de formação para θ3.
Partindo novamente da equação 2.27, tem-se:
pw2 x + pw2 y = ( LC ⋅ c23 + LB ⋅ c2 ) = LB ⋅ c2 + LC ⋅ c2 c3 − LC ⋅ s2 s3
(2.38)
16
δ pw
δ c23
δc
= LC ⋅
+ LB ⋅ 2
δθ 2
δ (θ 2 + θ3 )
δθ 2
x
pwz − LA = pwx ' =
δ pw
= LB ⋅ s2 + LC ⋅ c2 s3 + LC ⋅ c3 s2
δθ 2
(2.39)
x
Pôde-se substituir o referencial da derivada, pois:
(2.40)
θ 23 = θ2 + θ3
Derivando a equação 2.40 em relação à θ2 , tem-se:
δθ 23 δθ 2 δθ3 δθ 23
=
+
∴
=1
δθ 2 δθ 2 δθ 2 δθ 2
δθ 23 = δθ 2 ∴δ (θ 2 + θ3 ) = δθ 2
(2.41)
Da equação 2.38, tem-se:
pw2 x + pw2 y + LC ⋅ s2 s3 = c2 ( LB + LC ⋅ c3 )
pw2 x + pw2 y + LC ⋅ s2 s3
c2 =
(2.42)
LB + LC ⋅ c3
Das equações 2.39 e 2.42, tem-se:
pw2 x + pw2 y + LC ⋅ s2 s3
'
pwx = LB ⋅ s2 + LC ⋅ c3 s2 + LC ⋅ s3
LB + LC ⋅ c3
2
pwx ' ⋅ ( LB + LC ⋅ c3 ) = s2 ⋅ ( LB + LC ⋅ c3 ) + LC ⋅ s3 ⋅
(
pw2 x + pw2 y + LC ⋅ s2 s3
)
(2.43)
Chamando r = pw2 x + pw2 y , aplicando em 2.43, tem-se:
( LB + LC ⋅ c3 ) ⋅ pw ' − r ⋅ LC ⋅ s3 = s2  L2C ⋅ s32 + ( LB + LC ⋅ c3 )
x
( LB + LC ⋅ c3 ) ⋅ pw ' − r ⋅ LC ⋅ s3
s2 =
2
L2C ⋅ s32 + ( LB + LC ⋅ c3 )
2


(2.44)
x
Substituindo a variável r na equação em 2.44 e a equação 2.44 na equação 2.42, tem-se:
s2 =
c2 =
Daqui obtêm-se:
( LB + LC ⋅ c3 ) ⋅ ( pw
z
)
− LA + LC ⋅ s3 ⋅ pw2 x + pw2 y
(
pw2 x + pw2 y + pwz − LA
( LB + LC ⋅ c3 )
)
2
(
pw2 x + pw2 y + LC ⋅ s3 ⋅ pwz − LA
(
pw2 x + pw2 y + pwz − LA
)
2
)
(2.45)
(2.46)
17
 s2 
 s2 
 ou θ 2 = atan 2  
 c2 
 c2 
θ 2 = arctan 
(2.47)
Foram realizados dois dos três passos do procedimento para a obtenção da cinemática
inversa, estabelecendo-se a posição do centro do punho e os três ângulos do antebraço do manipulador. A partir deste ponto será o terceiro passo, que é a determinação dos ângulos do punho do manipulador.
2.3.2 SOLUÇÃO DO PUNHO ESFÉRICO
O punho esférico é constituído de três eixos os quais se intersectam num mesmo ponto,
podendo ser encarado como um subsistema de um manipulador a 6 DOF em que a matriz de
transformação resulta do produto das matrizes associadas aos últimos três ligamentos.
Figura 9 – os três elos e juntas do punho esférico[6]
A Figura 9 mostra os três eixos do punho esférico[6]. A origem é considerada no ponto
Pw ilustrado. Isso se faz necessário devido ao fato de querer-se aglutinar o manipulador antropomórfico a 3 DOF com o punho esférico a fim d obter-se o manipulador a 6 DOF, como dito
anteriormente. Utilizando os parâmetros cinemáticos de Denavit-Hartenberg pôde-se montar
a seguinte tabela:
Tabela 1–Parâmetros de Denavit-Hartenberg para o punho esférico[6]
Ligamento
θi
αi
ai
di
4
θ4+90
+90
0
0
5
θ5+90
+90
0
0
6
θ6
0
0
LD
Em seguida obtêm-se as matizes de transformação de cada junta.
18
T63 = T34 ⋅T45 ⋅T56
(2.48)
 − s4
c
4
T3 =  4
 0

 0
0 c4
0 s4
1 0
0 0
0
0 
0

1
(2.49)
 − s5
c
T45 =  5
 0

 0
0 c5
0 s5
1 0
0 0
0
0 
0

1
(2.50)
c6
s
6
T5 =  6
0

0
0 0
0 0 
1 LD 

0 1
− s6
c6
0
0
(2.51)
Assim, substituindo 2.49 a 2.50 em 2.48, tem-se:
 − s4
c
T63 =  4
 0

 0
0 c4
0 s4
1
0
0   − s5
0   c5
⋅
0  0
 
1  0
0
0
 s4 s5
c
= 5
 −c5

 0
c4
− s4 c5
0
1
0
c4c5
s5
0
 s4 s5c6 + c4 s6
 −c s c + s s
= 4 5 6 4 6

−c5c6

0

0 c5
0 s5
1
0
0
0
0  c6
0   s6
⋅
0  0
 
1  0
− s4 s5c6 + c4 s6
s6c4 s5 + s4 c6
c5 s6
0
0  c6
0   s6
⋅
0  0
 
1  0
− s6
c6
0
0
0
0
0
0 
=
1 LD 

0 1
0
0
0 0 
=
1 LD 

0 1
− s6
c6
0
0
− s4c5
c4 c5
s5
0
− s4 c5 ⋅ LD 
c4c5 ⋅ LD 
s5 ⋅ LD 

1

(2.52)
Comparando a equação 2.52 com a matriz de transformação geral para a orientação (equação 2.53):
 n3 x
R =  n3 y
 n3 z
3
6
s3 x
s3 y
s3 z
a3 x 
a3 y  =  n3
a3 z 
s3 a3 
(2.53)
Evidencia-se que:
 −a
 − s4 c5 = a3 x
∴θ 4 = arctan  3 x

 a3 y
 c4 c5 = a3 y




(2.54)
19

s5 = a3 z

 s5 = a3 z
a3 z

arctan
∴
∴
θ
=
 2

2
2
5
2
2
 ± a32x + a32y
c5 = a3 x + a3 y c5 = a3 x + a3 y





 s 
−c5c6 = n3 z
∴θ6 = arctan  3 z 

 c5 s6 = s3 z
 −n3 z 
(2.55)
(2.56)
Finalmente, obteve-se os ângulos do punho esféricos.
2.3.3 SOLUÇÃO DO MANIPULADOR COM UM PUNHO ESFÉRICO
Foi dito que a cinemática inversa de um manipulador pode tornar-se complexa e até
mesmo impossível de resolver analiticamente. Contudo, para esse trabalho será realizada uma
união de dois casos particulares de modelagem de cinemática como solução de modelagem.
Figura 10 – Manipulador antropomórfico com 6 DOF e um punho esférico[6]
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 10. Para se efetuar a
junção dos sistemas deve-se notar que 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 Figura 11 [6] ilustra essa diferença, todavia a origem do sistema é
a mesma.
20
Figura 11 – Diferença entre os eixos marginais dos dois sistemas
Com isso é necessário corrigir essa divergência. Pós-multiplicando A3 por uma matriz
com duas rotações: uma em 90o em torno de y3 e outra em 180o em torno de x3, consegui-se
essa correção. Tem-se, então:
1 0 0
0 −1 0
Rot ( x,180) ⋅ Rot ( y,90) = 
 0 0 −1

0 0 0
0  0
0   0
0   −1

1  0
0
1
0
0
1
0
0
0
0 0 0
0  0 −1
=
0  1 0
 
1  0 0
1
0
0
0
0
0 
0

1
(2.57)
Nota-se que o sistema de três eixos deveria ter sua origem na intersecção de z2 com z3 e
não com z4 como acontece. Isso acontece devido ao processo de modelagem usado, todavia a
única consequência é apenas a de uma correção para ajustar o alinhamento como feito acima.
2.4 ÁRVORE DE SOLUÇÕES
Como foi visto na solução dos ângulos θ1, θ3 e θ5, há duas soluções. Isto significa que o
manipulador pode alcançar oito diferentes localizações especificadas pela matriz homogênea.
Porém algumas destas oito diferentes posições são impraticáveis devido às restrições de movimento da estrutura de paralelogramo do manipulador [4].
Na Figura 12 é apresentado o gráfico das oito soluções possíveis para a obtenção da cinemática inversa.
21
Figura 12 – Árvore de soluções para a cinemática inversa
22
CAPÍTULO 3
METODOLOGIA
Com o avanço do projeto de título "Desenvolvimento de um manipulador articulado
com 5 graus de liberdade acionados por motores de indução” desenvolvido no Grupo de Pesquisa em Automação e Robótica (GPAR), pertencente ao Departamento de Engenharia Elétrica (DEE) da Universidade Federal do Ceará (UFC) surgiu a carência de ter-se um método eficiente de manuseio do Braço Robótico. Deu-se início, então, a pesquisas de controle e supervisão de manipuladores robóticos controlados por um computador pessoal (PC). O ambiente
escolhido de desenvolvimento do software foi o MatLab®, pois trata-se de uma plataforma
versátil e completa.
Desta forma, foi empregado algumas etapas para a resolução do problema:
Inicialmente, utilizando os conhecimentos adquiridos ao longo da pesquisa, foi configurada um protocolo de comunicação serial, entre o dispositivo de controle do motor e o computador, com o intuito de se realizar testes de implementação e entender o comportamento da
planta de aplicação, bem como os fatores decisivos para esse projeto, tais como: prototipagem
de placa, disposição espacial das mesmas, análise da velocidade de comunicação.
Em seguida elaborou-se um protocolo de comunicação entre o software e o controlador.
Optou-se pela não utilização de protocolos patenteados, ou disponibilizados em sites de fabricantes, pois ambas as alternativas eram desnecessárias, além de a primeira onerar o projeto.
Após a etapa de estudo do protocolo, foi implementada a rede multiponto usando RS485 half-duplex, sendo convertida para RS232, com o intuito do computador enviar e receber
comandos via protocolo para todos, simultaneamente ou não. Nessa etapa montou-se condicionadores de sinais e os adaptadores dos protocolos de comunicação
Com a etapa de comunicação concluída, com base na teoria citada no Capítulo 2, foi
implementado um algoritmo para o cálculo da cinemática direta do manipulador. A fim de
conhecer os pontos, inicial e final, que se encontra o efetuador. As coordenadas destes pontos
foram utilizadas para o cálculo da cinemática inversa.
Na implementação do cálculo da cinemática inversa, foi necessário a implementação
de um algoritmo de controle manual de cada motor para que o usuário posicione o manipulador na posição desejada. Este controle, através de técnicas de programação, foi desenvolvido
com o objetivo de que cada motor funcione independente. Foi projetado, também, rotinas de
23
monitoramento para evitar que o braço execute algum movimento fora do seu espaço de trabalho.
Com o algoritmo da cinemática direta completo, foi desenvolvido um algoritmo, com
base na teoria de robótica, para o controle da cinemática inversa, onde o posicionamento do
manipulador é feita de forma automática, com base nos pontos previamente calculados pela
cinemática direta.
O dispositivo utilizado para efetuar o controle dos atuadores do manipulador foi Digital
Sign Processor (DSP). Utilizou-se o kit de DSP ezdsp2812, possuindo 12 canais PWM, além
de 14 canais A/D. Assim, para o controle de dois motores, os 12 canais são utilizados, sendo 6
para cada inversor. Somente há a necessidade de 4 canais A/D, para 2 sensores de corrente de
cada motor. A terceira corrente é calculada a partir das outras 2, evitando um custo adicional
de se empregar outro sensor de corrente e evitando erros de medição. O ezdsp2812 ainda possui a vantagem de se poder implementar a banda morta(“deadband”) ao se chavear dois interruptores do mesmo braço, evitando assim a adição de um potenciômetro ou outro equipamento para o controle de cada braço do inversor.
Como dito anteriormente, o ambiente de desenvolvimento do supervisório foi o Matlab®. Usou-se a Graphical User Interface (GUI) para implementar o frame do supervisório,
bem como suas rotinas de funcionamento.
Uma GUI é uma interface pitoresca de um programa. Uma boa GUI tem a capacidade
de tornar programas mais fácies de serem usados, dando-lhes aparências consistentes, e controles intuitivos. Esses controles podem ser: botões, caixas de listagens, controles deslizantes,
menus e assim por diante. A Interface Homem Máquina (IHM) deve comporta-se de forma
compreensível e previsível, para que o usuário possa esperar quando o aplicativo executar
uma ação. Por exemplo, quando o clique do mouse ocorre em um botão, a IHM de iniciar a
ação descrita no rótulo do botão.
Mesmo com a simplicidade de manipulação das GUIs, sua implementação não é fácil,
pois um programa baseado em interface gráfica deve estar preparado para receber os cliques
do mouse (ou possivelmente a entrada do teclado) para qualquer elemento gráfico a qualquer
instante. Essas interrupções são chamadas de eventos e logo um programa que responde esses
a eventos é denominado de programa guiado por eventos
Os três elementos principais para criar uma GUI no Matlab® são:
1.
Componentes: Cada item em uma interface gráfica é uma componente gráfica, podendo
ser controles gráficos, elementos estáticos, menus e eixos.
24
2.
Figuras: Os componentes da GUI devem ser organizados dentro de uma figura, que é uma
janela na tela do computador.
3.
Callbacks: Deverá existir alguma forma de executar uma ação se o usuário clicar com o
mouse sobre um botão ou alguma entrada de informações pelo teclado. Um clique ou
uma tecla pressionada, como fora dito antes, trata-se de um evento e o programa da GUI
deve responder a cada caso, se assim for desejado pelo programador. Por exemplo, se um
usuário clicar em um botão, este deve fazer com que o código do Matlab em que a função
do botão é implementada deva ser executado. Logo deve haver um retorno de chamada
(callback) para cada componente da GUi para garantir essa execução mediante e solicitação do usuário.
Foi utilizado para fazer a coversão da serial do PC para RS-232 o Circuito Integrado
(CI) Max232, da manufaturadora MAXIN®. O MAX232 é um CI convesor de nível, que converte sinais TTL em rs232 e vice-versa. Ele fornece uma ótima rejeição de ruído e é mais robusto a descargas e curtos. Com apenas uma configuração de quatros capacitores, com capacitâncias de mesma magnitude, o circuito integrado fica apto a executar conversão de tensão
para comunicações serial. Uma aplicação clássica do CI pode ser vista na Figura 13.
Figura 13 – Aplicação do MAX232
Foi utilizado, também, o CI MAX485, um transceptor half-duplex. Isso significa que
apenas um transmissor pode estar ativo no barramento de comunicação ao mesmo tempo, todavia todos os receptores podem estar ativos. Designa-se um mestre, a fim de evitar conflito
entre dois ou mais dispositivos do barramento. O mestre solicita ou envia dados dos escravos.
25
Os escravos são identificados por um endereço, eles devem transmitir seus dados de respostas
se o endereço foi especificado pelo mestre e só depois que o mesmo encerrar sua mensagem.
Nota-se que é necessário a implementação de um protocolo específico para garantir todas as condições de funcionamento dos barramentos de comunicação serial.
26
CAPÍTULO 4
DESENVOLVIMENTO
Estabelecido os métodos para solucionar o problema de implementação de um software
de supervisão do manipulador. Os desenvolvimentos de cada método estarão abordados nos
tópicos a seguir.
4.1 PROTOCOLO ELÉTRICO DE COMUNICAÇÃO SERIAL RS-232
Com o intuito de testes sobre o correto funcionamento do protocolo e para observar o
comportamento do motor, foi implementada uma comunicação simples, ponto a ponto, ou
seja, somente dois dispositivos se comunicando, a fim de enviar seguidas mensagens serialmente e observar a resposta do motor. Após alguns envios de mensagens, observou-se que é
necessário um intervalo de envio entre cada mensagem para um mesmo motor. Os testes
mostraram um valor próximo de 500 (quinhentos) milissegundos de intervalo. Caso não se
respeite este intervalo, ao mandar duas mensagens seguidas, a segunda mensagem será descartada pelo atuador, ou mal interpretada.
Para o uso do software em notebooks necessitou-se de um conversor USB – Serial,
pois as portas seriais com o clássico conector DB-9 estão fora de padrão. Caso contrário a
comunicação não poderia ser implementada. Um exemplo desse conversor é mostrado na
Figura 14.
Figura 14 – Conversor USB-Serial (Cortesia Leader Ship)
4.2 PROTOCOLO ELÉTRICO DE COMUNICAÇÃO SERIAL RS-485
Com o objetivo de fazer a rede definitiva do projeto, foi desenvolvida uma rede RS485 half-duplex, onde todos os Controladores estão interligados através de um barramento de
27
dados onde o mestre tem o direito de acesso.. Assim, o mestre pode enviar uma mensagem
para qualquer escravo, somente selecionando o endereço de destino no próprio protocolo de
comunicação, como será discutido.
Conforme dito, a rede implementada é half-duplex, ou seja, o tráfego de informações
acontece em um único sentido por vez. Por exemplo, quando o mestre enviar uma mensagem
para os escravos, nenhum escravo pode enviar mensagem para o mestre, pois o sentido de tráfego de informações está do mestre para os escravos. Somente ao término da mensagem é que
o sentido fica livre para ser alterado. Da mesma forma, se algum controlador estiver enviado
mensagens para o computador, este não poderá enviar informações, devido ao sentido do tráfego no barramento de dados.
Vale ressaltar que somente o mestre tem acesso ao barramento de dados. Nunca haverá
troca de informações entre escravos. O mestre sempre deve participar da comunicação, já que
ele que coordena o acesso ao barramento.
Para o projeto do supervisório foram projetadas placas de circuito impresso a fim de obter um sistema de comunicação como é mostrado na Figura 15.
Figura 15 – Esquema de ligação para comunicação Supervisório-Manipulador
28
O PC envia um telegrama, que é convertido para protocolo serial RS-232 padrão. Após
passar pelo primeiro conversor (Figura 16) o sinal é convertido em protocolo RS-485, gerando um barramento universal o qual é conectado todos os DSPs (Figura 17). De acordo com as
rotinas de comunicação implementadas no código do controlador (DSP), somadas as informações do telegrama pode-se escolher qual controlador deverá processar tal informação e acionar seu respectivo grau de liberdade em concordância com a Figura 18. Para cada DSP produziu-se um conversor RS-485 para níveis TTL e após esse conversor adicionou-se zeners para
ceifar o sinal em 3,3V, compatível com a lógica do DSP. Esses circuitos foram colocados em
uma única placa denominada de concentrador, que tem a função de receber e enviar os dados
vindos das realimentações dos processos de controle do acionamento e os dados do canal de
comunicação PC-DSP, Figura 19.
Assim obtêm-se por completo um canal de comunicação entre o supervisório, embargado no PC e o robô.
Figura 16 – Conversor RS-232 para RS-485
29
Figura 17 – Kit de desenvolvimento DSP da TEXAS INSTRUMENTS® ezdsp2812®
Gatilhos para o
inversor
Fonte de +15,
-15,+5 e +18
volts
Gatinhos do
DSP
Valores das
correntes e da
posição do
eixo
Valores da
correntes
limitadas
E
Posição do
eixo
Alimentação
trifásico do
motor
Barramento
CC
Figura 18 – Fluxograma de funcionamento da planta
Correntes do
motor e
posição do
eixo
30
Figura 19 – Concentrador
4.3 DESENVOLVIMENTO DO PROTOCOLO DE COMUNICAÇÃO
Para a construção do algoritmo de supervisão do manipulador, inicialmente foi necessário a instalação de redes de comunicação entre os atuadores e o computador a fim de que possa haver a troca de informações entre o mestre e o escravo da rede.
Para que as mensagens enviadas pelo computador (mestre) fossem entendidas corretamente pelos controladoes (escravos) foi elaborado um protocolo de comunicação próprio para
essa aplicação, onde existem padrões que devem ser seguidos para a troca de informações pela rede.
O pacote de envio, Figura 20, é compreendido por (esquerda para a direita):
(i) Dado de escolha do controlador;
A rede completa conta com seis controladores “conectados” no mesmo barramento de
comunicação RS485. Logo esse byte de escolha faz-se necessário para garantir o correto envio para o controlador escravo requerido. Os valores desse byte correspondem ao caractere a
(97 em ASCII) até o f (102 em ASCII).
(ii) Dado a ser utilizado no controlador;
Esses bytes são resevados para os dados a serem enviados, os quais compreendem a posição de referencia do DOF que o escravo está comandando.
31
(iii) Dado de atualização de variáveis;
Para o correto funcionamento e robustez da aplicação, deve-se atualizar variáveis a cada
rotina de comunicação, optou-se por comandar essa atualização via supervisório.
(iv) Dado simbolizando o fim da transmissão.
Para sinalizar que a comunicação chegou ao fim, manda-se um byte para indicar o fim
dela. Foram selecionados os valores compreendidos na faixa dos caracteres ñ (241 em ASCII)
e ö (246 em ASCII). A escolha desses valores se justifica, pois eles correspondentes (em
ASCII) em uma faixa que não interfere nos valores usados nos demais bytes de sinalização e
bytes de dados.
Figura 20 – Telegrama de envio da comunicação.
4.4 MODELAGEM DAS CINEMÁTICAS
Será apresentada a modelagem das cinemáticas direta e inversa as quais foram aplicadas
ao manipulador real.
4.4.1 CINEMÁTICA DIRETA
Utilizando os fundamentos da convenção de Denavit-Hartenberg apresentados na fundamentação teórica sobre cinemática direta, foi desenvolvido um algoritmo para calcular o
ponto dado os valores dos ângulos.
Como visto, para obter a matriz de rotação da base ao efetuador final é preciso multiplicar as matrizes de rotação de cada grau de liberdade, de acordo com a Equação 2.16.
Então, utilizando a Equação 2.15, monta-se uma tabela relacionando os parâmetros de
Denavit-Hartenberg e as articulações do manipulador:
32
Tabela 2 – Parâmetros de Denavit-Hartenberg
Ligamento
θi
αi
ai
di
1
θ1
+90°
0
50
2
θ2
0
530
0
3
θ3
+90°
375
0
4
θ4
-90°
0
0
5
θ5
+90°
0
0
6
θ6
0
0
0
Como visto na fundamentação sobre cinemática inversa, o desacoplamento do manipulador para o auxílio da solução do problema nos mostra que as últimas três articulações se interceptam no mesmo ponto, ou seja, o parâmetro ai da dedução de Denavit-Hartenberg é zero
para as três últimas articulações.
Com os dados da tabela 2 têm-se os valores substituídos na Equação 2.21, realizando
por fim a multiplicação na Equação 2.22. Obtêm-se então os valores da quarta coluna da matriz resultante da Equação 2.16 encontrando por fim o ponto no espaço onde está o centro do
efetuador (Xc, Yc, Zc).
 X C  375 ⋅ ( c1c2 c3 − c1s2 s3 ) + 530 ⋅ c1c2 


Pw =  YC  =  375 ⋅ ( s1c2c3 − s1s2 s3 ) + 530 ⋅ s1c2 
 Z C   375 ⋅ ( s2c3 − c2 s3 ) + 50 + 530 ⋅ s2 
(4.1)
Estes pontos serão utilizados para o cálculo da cinemática inversa, como será visto no
próximo tópico.
4.4.2 CINEMÁTICA INVERSA
Utilizando os conceitos abordados na fundamentação teórica sobre cinemática inversa,
substituem-se as coordenadas do ponto encontradas pela cinemática direta em cada fórmula
deduzida para, enfim, obter o valor final de cada ângulo.
33
Como o problema da cinemática inversa foi dividido em dois problemas menores, os valores calculados para os três primeiros ângulos correspondem aos valores dos atuadores nos
graus de liberdade que vão desde a base até o centro do pulso. Já os três últimos valores dizem
respeito à cinemática de orientação, que define os valores dos atuadores que controlam o efetuador.
4.5 SOFTWARE DE SUPERVISÃO
Desenvolvido em MatLAB®, o aplicativo foi gerado com uma interface com o intuito de
se tornar o mais amigável possível para o usuário, como fora dito no capítulo 3. Disponibilizando configurações independentes para cada controlador e controle manual para posicionamento do manipulador. Há, também, um gráfico que o usuário poderá observar o movimento
real do manipulador, através de vetores no espaço, conforme a Figura 21.
Figura 21 – Interface do software
No painel de “Controle Manual”, são encontradas as abas:
•
Grau de Liberdade;
Através dos radio button (Base, Cotovelo, Punho), Figura 22, é possível escolher em
qual grau o usuário irá acionar.
Figura 22 – Aba grau de liberdade
34
•
Passo;
Com esse painel é possível alterar o passo de incremento ou decremento dos ângulos colocados pelo supervisório no atuador do manipulador, respeitando os limites operacionais do
robô. Os valores de default são esses mostrados na Figura 23.
Figura 23 – Aba passo
•
Posição.
Para fins de visualização foi programado um painel que mostra a posição atual de cada
grau, como mostra a Figura 24.
Figura 24 – Aba posição
Além das abas mostradas acima, encontra-se ainda no painel de Controle Manual botões
para alterar o passo e para habilitar o envio dos dados via serial, como pode ser visto na Figura 21.
O usuário deve selecionar o grau de liberdade que deseja movimentar, escolhendo em
girar no sentido horário (botão “+”) ou no sentido anti-horário (botão “-”). O valor do ângulo
de cada movimento depende do valor configurado no Painel de “Configuração”, na opção
“Passo”.
Através do Painel “Visualização” o usuário observa o quanto cada grau de liberdade já
foi movimentado. Este painel é bastante útil para se evitar que o usuário seja alertado da ultrapassagem da limitação mecânica de cada junção. Pelo painel é possível monitorar o valor
do ângulo de cada articulação, de acordo com a Figura 24.
Durante o posicionamento manual dos motores para definição dos pontos extremos do
ciclo automático de posicionamento, tem-se o controle independente de cada articulação do
manipulador, com configurações específicas para cada motor.
Um ponto a se observar no controle manual é a limitação de movimentação devido às
limitações mecânicas do braço, de forma que nem todos os motores podem girar de forma li-
35
vre sem um controle do valor do ângulo que estão posicionados, pois, desta forma, pode acontecer que um motor gire mais que o projetado mecanicamente e ocasione alguma anormalidade mecânica no manipulador.
Assim, foi feito um algoritmo para controlar o valor dos ângulos de cada motor, de forma a não ultrapassar o limite estabelecido no projeto mecânico. A atuação desse controle através do software pode ser visto na Figura 25.
Figura 25 – Controle de posicionamento através do software
Também foi implementado algo semelhante para controle do acesso da porta serial, como é
visto na Figura 26.
Figura 26 – Cotrole de acesso à porta serial
No painel de “Controle Automático”:
•
Posição 1;
Aba onde se pode guardar e visualizar o ponto onde o robô se encontra.
•
Posição 2;
Idem a posição 1.
36
Figura 27 – Painel de controle automático
Após posicionar o manipulador no ponto inicial do ciclo automático de movimentação, o
usuário deve informar que este é o ponto inicial do ciclo, pressionando, no painel Posição 1, o
botão “Gravar”.
Depois de configurado o primeiro ponto, o manipulador deverá ser movimentado, através
do controle manual, até o ponto de destino e ser gravado através do botão “Gravar” do painel
Posição 2.
Figura 28 – Gravação dos Pontos do Ciclo de Movimentação
Com os dois pontos já gravados, conforme a Figura 28, através do botão “Iniciar”, Figura 29 e Figura 21, se dá o começo da movimentação automática do manipulador. Ou seja, o
robô se posiciona no ponto inicial do ciclo e depois vai até o ponto final. Este movimento é
feito repetidas vezes, até que o usuário acione o mesmo botão, que durante o ciclo de movimentação estará com o nome “Parar”.
Figura 29 – Botão Iniciar/Parar do ciclo de Movimentação Automática
No painel de “Controle Principal”:
•
Porta Serial.
Faz o controle de acesso à porta serial do PC.
37
Figura 30 – Aba do controle principal
Foi programado um texto estático para mostrar o estado atual da porta, evitando fechamentos ou solicitações de acesso indesejadas, Figura 30. Também, encontra-se um botão para
atualizar as variáveis do controlador (botão “Atualizar”). E por fim foi programado um botão
de saída de aplicativo (botão “Sair”). Nesse botão foi adicionada a função de fechar a porta
serial no momento que o software for encerrado, a fim de evitar deixar a porta serial aberta
após a utilização do supervisório, caso o usuário tenha se esquecido de fechar lá.
Foi implementado também um gráfico em tempo real, que mostra a posição do manipulador com base nos ângulos que foram colocados pelo usuário.
Figura 31 – Gráfico com os movimentos do manipulador
Pelo gráfico gerado em tempo real se tem o posicionamento dos vetores, correspondentes a cada articulação do vetor, de acordo com o posicionamento real do manipulador. O
gráfico vetorial gerado de acordo com o movimento do manipulador pode ser observado na
Figura 31.
38
Vale ressaltar que o movimento destes vetores são relacionados, no software
software, com uma
variável de tempo, para que seja produzido o efeito de movimentação do gráfico, gerando
uma imagem próxima à real produzida pelo manipulador.
Ao acionar o ciclo automático de posicionamento, através do botão “Iniciar
Iniciar”, os vetores do gráfico irão movimentar
movimentar-se
se para os pontos extremos do ciclo, calculados pela cinemática inversa, representando o movimento real do manipulador.
4.6 FLUXOGRAMA
O código foi desenvolvido tendo por base o algoritmo da Figura 32.. Fundamentado ne
nestes passos o software foi implementado.
Figura 32 – Fluxograma de Supervisão
39
Ao iniciar o programa, o algoritmo espera por um comando manual do usuário para posicionar o manipulador no ponto desejado. O controle nesta etapa é feita de forma independente, cabendo ao usuário do sistema especificar qual grau deseja girar. Ao gravar a posição
do manipulador, o algoritmo verifica se este é o segundo ponto, para dar início ao cálculo da
cinemática direta.
Feito todos os cálculos, de forma transparente para o usuário, o sistema está pronto para
iniciar o ciclo de movimentação automática, indo do ponto inicial ao final de forma contínua e
repetida, até que o usuário pressione o botão Parar.
40
CAÍTULO 5
RESULTADOS E DISCURSSÕES
DISCURS
5.1 APLICAÇÃO DO SUPERV
SUPERVISÓRIO EM UM MANIPIULADOR REAL
R
O supervisório foi aplicado a uma planta de um manipulador antropomórfico de 6 DOF
situada na Universidade de Fortaleza (UNIFOR), como mostra a Figura 33 e Figura 34
34.
Foi apresentada a modelagem para um manipulador de seis graus de liberdade
liberdade, todavia o
projeto do manipulador da UNIFOR encontra-se
encontra se em andamento e até então estava disponível
somente dois graus de liberdade. Devido a esse fato o supervisório foi implementado para 3
graus tendo resultados experimentais de apenas dois graus.
Figura
Fig
33 – Foto da planta situada na UNIFOR
A Figura 34 apresenta o circuito de acionamentos dos atuadores, é composta por um
DSP para controle dos dispositivos, uma fonte alimentação, dois inversores para acioname
acionamentos dos atuadores e duas placas de aquisição de corrente, as quais são usadas no controle de
acionamento pelos DSPs. Existe também uma placa que concentra o sinal como foa dito ant
anteriormente.
41
Figura 34 – Planta de acionamento dos motores
O manipulador
ador utilizado é um braço robótico SCORBOT com três graus de liberdade,
desenvolvido na UNIFOR pelos alunos do curso de Engenharia de Controle e Automação. A
planta dee acionamento desse robô foi desenvolvida na UFC pelos alunos do GPAR (Figura
34), de formaa que a união dos projetos resulta-se
resulta se em um manipulador acionado por motores
de indução (Figuras 35 e 36).
Figura 35 – Desenho do manipulador
42
Figura 36 – Manipulador robótico
Realizou-se ensaios do aplicativo acionando o punho e o cotovelo, somente um grau por
vez e, por conseguinte, os dois simultaneamente. Os resultados para o acionamento de ambos
os graus experimentais podem ser vistos nas Figuras 37, Figuras 38.
Figura 37 – Posição angular do cotovelo
43
Figura 38 – Posição angular do punho
A variação do gráfico que representa o movimento do cotovelo é justificável, pois esse
grau tem um motor de indução que aciona uma redução e ainda possui o cotovelo e a sua própria estrutura mecânica como carga.
Como o punho é o grau com carga menor, sua variação é bem inferior se comparado ao
cotovelo, em torno de 0,2 radianos.
Para se efetuar os ensaios foram feitos os seguintes passos.
Testaram-se, inicialmente, os sinais de gatilho dos interruptores. Estando esses em situação normal de funcionamento, averiguam-se os sinais de realimentação das posições dos rotores dos atuadores bem como as posições dos respectivos graus de liberdade.
Em seguida, configura as características iniciais do supervisório, carrega-se o código de
cada DSP de acordo com o seu respectivo atuador.
E, finalmente, aumenta-se o barramento dos inversores para os atuadores começarem a
executar as ações oriundas do supervisório.
44
CONCLUSÃO
O principal objetivo desse trabalho foi o estudo e implementação de um software de
controle aplicado a um manipulador robótico. Após todos os estudos realizados, foi atingido o
objetivo da resolução do problema da cinemática direta e inversa para o posicionamento de
um manipulador robótico, viabilizando o termino do aplicativo.
O manipulador desenvolvido pode ser implementado em qualquer indústria onde se tenha trabalho repetitivo, mão de obra humana exposta a ambientes insalubres ou onde se deseja
reduzir custos com funcionários e obter uma maior confiabilidade na linha de produção.
A utilização da rede de comunicação RS-485, mostrou-se bastante vantajosa, pois com
ela pôde-se alocar todos os controladores em um mesmo canal de comunicação. Com isso aperfeiçoou-se o protocolo de comunicação, bem como os tempos de acionamento das máquinas do manipulador.
Os resultados colhidos foram satisfatórios, notando-se uma variação nos gráficos de posição angular dos graus, todavia justificados. Espera-se melhoria nesse aspecto, pois o projeto
do manipulador está em fase de atualização do hardware responsável pelo acionamento dos
motores.
Para trabalhos futuros propõe-se, a implementação da rotina de recepção do supervisório. Propõe-se, também, a implementação de um controle por análise de imagem através de
uma câmera no manipulador, onde este irá decidir qual objeto, dentre vários, deve manipular e
desviar de obstáculos que estiverem pelo caminho durante o posicionamento.
45
REFERÊNCIAS BIBLIOGRÁFICAS
[1] ABADIA, G. F., Modelagem dos movimentos funcionais robóticos assistidos para a reabilitação dos membros superiores: redução dos graus de liberdade de um manipulador
antropomórfico, Dissertação de Mestrado. 2010, 104f. : Il., figs, tabs. – Universidade Federal de Goiás, Goiânia.
[2] AXELON, J., Serial Port Complete: Programming and Circuits for RS-232 and RS-485
Links and Networks, Lakeview Researsh, Madison, WI, 1998.
[3] CABRAL, Eduardo. Cinemática da posição de robôs Manipuladores. 2003. 25 f. Monografia – Universidade de São Paulo, São Paulo.
[4] CABRAL, Eduardo. Robôs Industriais. 2010. Livro em Elaboração – Universidade de
São Paulo, São Paulo.
[5] LOPES, M. A. Modelagem cinemática e dinâmica de manipuladores de estrutura em série. FEUP – DEMEGI, 2002
[6] SANTOS, V. M. F., Robótica Industrial: Apontamentos teóricos, exercícios para aulas
práticas e problemas de exames resolvidos, Universidade de Aveiro, 2003-2004
[7] SPONG, M. W., HUTCHINSON, S., VIDYASAGAR, M. Robot Modelling and Control.
Wiley Student Edition, New Delhi, 2006.
[8] CHAPMAN, Stephen J. Programação em Matlab para Engenheiros. 1. ed. São Paulo:
THOMSON, 2003.
[9] MATSUMOTO, Élia Yathie. Matlab 7 – Fundamentos. 1. ed. São Paulo: ÉRICA, 2004.
[10] TABOSA, M.E.A.(2008).Modelagem e Construção de um Braço Robótico Didático,
Trabalho de Conclusão de Curso (TCC) do curso de Engenharia de Controle e Automação, UNIFOR.
Download

DALTON DE ARAÚJO HONÓRIO - DEE - UFC