Upload
lamtuong
View
218
Download
0
Embed Size (px)
Citation preview
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETROTÉCNICA
CURSO DE ENGENHARIA INDUSTRIAL ELÉTRICA - ÊNFASE ELETROTÉCNICA JOSÉ LUIZ VERBOSKI
ACIONAMENTO DE UMA ARTICULAÇÃO ROBÓTICA 3D POR
SERVOMOTORES
CURITIBA
2007
JOSÉ LUIZ VERBOSKI
ACIONAMENTO DE UMA ARTICULAÇÃO ROBÓTICA 3D POR
SERVOMOTORES Trabalho de Projeto Final apresentado na
disciplina de Projeto Final II do curso de
Engenharia Industrial Elétrica – Eletrotécnica.
Orientador: Prof. Dr. Winderson Eugenio dos
Santos.
Co-orientador: Eng. Gustavo Emmendoerfer
CURITIBA
2007
AGRADECIMENTOS
A Deus por todas as portas abertas e pela força para seguir em frente nos momentos
difíceis.
Ao meu orientador, Winderson Eugenio dos Santos, pela confiança, ajuda e
dedicação.
Ao meu co-orientador, Gustavo Emmendoerfer, pelo incentivo, disponibilidade e
esforço em transmitir seus conhecimentos.
Aos professores Paulo Sérgio Walenia e Ivan Eidt Colling, que representam o
departamento acadêmico de Eletrotécnica neste projeto de conclusão de curso.
Ao Lactec por disponibilizar suas instalações e equipamentos.
A todos os professores que através da dedicação e de seus ensinamentos capacitam e
formam cidadãos.
A minha família, principalmente aos meus pais, pela compreensão e pelo apoio
incondicional, em especial os momentos de distância.
“Quando fizeres o bem, escreve tua
dádiva na areia; quando te fizerem o
bem, escreve tua dívida no bronze.”
Provérbio Árabe
RESUMO
Esta monografia propõe o acionamento de uma articulação robótica 3D por
servomotores para ser utilizada na calibração de giroscópios. O sistema utiliza matrizes de
rotação de Euler para localização e monitoramento dos movimentos empregados à articulação
robótica. É apresentada uma revisão bibliográfica sobre os princípios de funcionamento e
utilização de giroscópios. Também são apresentados os equipamentos utilizados no
acionamento, bem como alguns tópicos de controle de servomecanismos indispensáveis para
o desenvolvimento do software e para a controlabilidade do sistema. É mostrado o software
desenvolvido na linguagem de programação LabVIEW e também os parâmetros configurados
para a articulação robótica.
Palavras-chave:
Giroscópio, matrizes de rotação, robótica, LabVIEW.
ÍNDICE DE FIGURAS
Figura 1 – Efeito de Sagnac. .............................................................................................. 18 Figura 2 – Representação esquemática de um giroscópio de fibra óptica em configuração
tipo malha aberta com entrada e saída comuns. ....................................................... 19 Figura 3 – Bloco-diagrama de um giroscópio ideal. ......................................................... 20 Figura 4 – Bloco-diagrama de um giroscópio real. ........................................................... 20 Figura 5 – Bloco-diagrama de um sistema de medição angular....................................... 20 Figura 6 – Erro de bias estimado. ..................................................................................... 21 Figura 7 – Ruído na saída do giroscópio. .......................................................................... 21 Figura 8 – Passo angular aleatório em um giroscópio. ..................................................... 22 Figura 9 – Eixo de sensibilidade do giroscópio. ................................................................ 23 Figura 10 – Diferença entre os pólos terrestres (PNG e PSG) e os pólos magnéticos
(PNM e PSM).............................................................................................................. 23 Figura 11 – Forma de onda da velocidade angular com o erro de bias e o giroscópio em
repouso........................................................................................................................ 24 Figura 12 – Forma de onda da velocidade angular com o erro de bias corrigido. .......... 25 Figura 13 – Configuração mecânica escolhida.................................................................. 26 Figura 14 – Bloco de Medição Inercial.............................................................................. 27 Figura 15 – Esquema de dimensões e ângulo. ................................................................... 29 Figura 16 – Limites de posicionamento ............................................................................ 30 Figura 17 – Transformação direta de coordenadas. ......................................................... 30 Figura 18 – Posicionamento do robô relativo aos eixos coordenados. ............................. 31 Figura 19 – Convenção de sentidos positivos. ................................................................... 32 Figura 20 – Rotação de um sistema de coordenadas. ....................................................... 33 Figura 21 – Rotação em torno do eixo y. ........................................................................... 33 Figura 22 – Rotação em torno do eixo y (vista superior). ................................................. 33 Figura 23 – Sequência �, � e � para um sistema zyz. ....................................................... 36 Figura 24 – Simulação sem a utilização de matrizes de rotação. ..................................... 37 Figura 25 – Simulação com a utilização de matizes de rotação........................................ 38 Figura 26 – Rotação em torno do eixo z. ........................................................................... 38 Figura 27 – Sistema em malha fechada. ............................................................................ 40 Figura 28 – Sistema com realimentação de erro. .............................................................. 40 Figura 29 – Formas de onda dos sinais de teste para cálculo de erro em regime
permanente. ................................................................................................................ 41 Figura 30 – Possíveis erros em regime permanente para uma entrada em degrau......... 42 Figura 31 – Possíveis erros em regime permanente para uma entrada em rampa. ........ 43 Figura 32 – Sistema com erro em regime permanente finito para uma entrada em
degrau. ........................................................................................................................ 43 Figura 33 – Ligações entre os equipamentos. ................................................................... 44 Figura 34 – Diagrama de blocos do sistema integrado. .................................................... 45 Figura 35 – Roda de um encoder em código Gray. ........................................................... 47 Figura 36 – Roda de um encoder incremental e sensores. ................................................ 48 Figura 37 – Formas de onda de um encoder incremental no sentido horário.................. 48 Figura 38 – Desenho esquemático de um motor servomotor............................................ 50 Figura 39 – Escolha do tipo de operação para modo corrente. ........................................ 52 Figura 40 – Painel de controle. .......................................................................................... 52
Figura 41 – Diagrama de blocos. ....................................................................................... 53 Figura 42 – Seqüência de execução (diagrama de blocos). ............................................... 55 Figura 43 – Seqüência de execução (painel de controle)................................................... 56 Figura 44 – Painel de controle do VI principal. ................................................................ 57 Figura 45 – Início do movimento do eixo �....................................................................... 57 Figura 46 – Início do movimento do eixo �. ...................................................................... 58 Figura 47 – Início do movimento do eixo �. ..................................................................... 58 Figura 48 – Posição após o término dos três movimentos. ............................................... 58 Figura 49 – Diagrama de blocos do VI principal. ............................................................. 59 Figura 50 – SubVI que cria os componentes do robô. ...................................................... 60 Figura 51 – SubVI que cria do efetuador.......................................................................... 61 Figura 52 – SubVI que mostra a posição do simulador no painel.................................... 62 Figura 53 – SubVI que calcula a matriz de rotação de Euler........................................... 63 Figura 54 – SubVI que calcula as posições do simulador. ................................................ 63 Figura 55 – SubVI que calcula deslocamentos causadas por �. ....................................... 64 Figura 56 – SubVI que calcula deslocamentos causadas por �. ...................................... 64 Figura 57 – Blocos das SubVI`s que movimentam o simulador. ...................................... 65 Figura 58 – Cálculo da redução para o eixo �.................................................................. 65 Figura 59 – Cálculo da redução para o eixo �................................................................... 66 Figura 60 – Cálculo da redução para o eixo �. ................................................................. 66 Figura 61 – Parâmetros de controle para o eixo �. .......................................................... 68 Figura 62 – Parâmetros de controle para o eixo �. ........................................................... 69 Figura 63 – Parâmetros de controle para o eixo �. .......................................................... 69 Figura 64 – Punho do Roboturb com um objeto no efetuador ......................................... 70 Figura 65 – Resposta ao degrau do eixo �. ....................................................................... 71 Figura 66 – Resposta ao degrau do eixo �. ........................................................................ 72 Figura 67 – Resposta ao degrau do eixo �. ....................................................................... 72
ÍNDICE DE TABELAS
Tabela 1 – Massas dos componentes da IMU.................................................................... 27 Tabela 2 – Comparação entre especificações do Roboturb e da articulação robótica. .... 27 Tabela 3 – Descrição das funções dos blocos utilizados no exemplo. ............................... 53
LISTA DE SÍMBOLOS
3D Três dimensões
e(t) Erro
c(t) Saída do sistema
C(s) Transformada de Laplace da saída do sistema
�d Delta deslocamento
E(s) Transformada de Laplace do erro
G(s) Função de transferência do percurso direto
Kp Ganho proporcional
Kd Ganho derivativo
Ki Ganho integrativo
L1 Comprimento do primeiro elo do robô
L2 Comprimento do segundo elo do robô
r(t) Entrada do sistema
R(s) Transformada de Laplace da entrada do sistema
s Variável complexa da transformada de Laplace
t Tempo
u(t) Entrada em degrau unitário
x Coordenada de posição do robô relativo ao eixo x
y Coordenada de posição do robô relativo ao eixo y
z Coordenada de posição do robô relativo ao eixo z
� Distância do efetuador do robô à base
� Ângulo de liberdade articulação em torno do eixo z móvel
� Ângulo de liberdade articulação em torno do eixo y móvel
� Ângulo de liberdade articulação em torno do eixo z móvel
wmedido Velocidade angular medida pelo giroscópio
wreal Velocidade angular medida pelo giroscópio com correção de bias
SUMÁRIO CAPÍTULO 1 ...................................................................................................................... 13 1. PROPOSTA..................................................................................................................... 13
1.1 INTRODUÇÃO ......................................................................................................... 13 1.2 PROBLEMA.............................................................................................................. 14 1.3 JUSTIFICATIVA....................................................................................................... 15 1.4 OBJETIVOS .............................................................................................................. 15
1.4.1 OBJETIVO GERAL............................................................................................ 15 1.4.2 OBJETIVOS ESPECÍFICOS............................................................................... 15
1.5 MÉTODO DE PESQUISA......................................................................................... 16 1.6 ESTRUTURA DO TRABALHO................................................................................ 16
CAPÍTULO 2 ...................................................................................................................... 18 2. REVISÃO BIBLIOGRÁFICA .................................................................................... 18 2.1 GIROSCÓPIO........................................................................................................... 18
2.1.1 PRINCÍPIO DE FUNCIONAMENTO DO GIROSCÓPIO A FIBRA ÓPTICA .. 18 2.1.2 O EFEITO DA ROTAÇÃO DA TERRA............................................................ 22 2.1.3 ORIENTAÇÃO GEOGRÁFICA ........................................................................ 23 2.1.4 CÁLCULO DO ERRO DE BIAS ........................................................................ 24
2.3 ARTICULAÇÃO ...................................................................................................... 25 2.3.1 ESPECIFICAÇÕES............................................................................................ 26
2.4 COORDENADAS DE REVOLUÇÃO....................................................................... 28 2.5 SISTEMA DE COORDENADAS DE ORIENTAÇÃO ............................................. 30 2.6 TRANSFORMAÇÃO ATRAVÉS DE MATRIZES DE ROTAÇÃO.......................... 32 2.7 SERVOACIONAMENTO ........................................................................................ 39 2.8.1 ERRO EM REGIME PERMANENTE ................................................................... 41 2.8.2 FONTES DE ERRO EM REGIME PERMANENTE.............................................. 43 2.9 HARDWARE ........................................................................................................... 44
2.9.1 COMPUTADOR ................................................................................................ 45 2.9.2 PLACA CONTROLADORA DE MOVIMENTOS (PCM)................................ 46 2.9.3 ENCODERS ....................................................................................................... 46 2.9.4 MOTORES DE CORRENTE CONTÍNUA ........................................................ 48 2.9.5 AMPLIFICADOR DE POTÊNCIA .................................................................... 51
2.10 LABVIEW .............................................................................................................. 52 CAPÍTULO 3 ...................................................................................................................... 54
3. PROGRAMA DE GERAÇÃO E EXECUÇÃO DE TRAJETÓRIAS .......................... 54 3.1 PARÂMETROS FIXOS............................................................................................ 54 3.2 PARÂMETROS VARIÁVEIS .................................................................................. 54 3.3 SEQUÊNCIA DE EXECUÇÃO................................................................................ 55 3.4 INTERFACE HOMEM-MÁQUINA (IHM) .............................................................. 56 3.5 DIAGRAMA DE BLOCOS (PROGRAMA) ............................................................. 59 3.5.1 SUBVI DE CRIAÇÃO DA INTERFACE GRÁFICA ............................................ 60 3.5.2 SUBVI DE INTERFACE GRÁFICA NO SIMULADOR....................................... 61 3.5.3 SUBVI DA MATRIZ DE ROTAÇÃO ................................................................... 62 3.5.4 SUBVI DAS EQUAÇÕES DE POSIÇÃO.............................................................. 63 3.5.5 SUBVI DAS EQUAÇÕES DE MOVIMENTO ...................................................... 64 3.5.6 SUBVI DE ROTAÇÃO DO SIMULADOR ........................................................... 64 3.5.7 CÁLCULO DAS RELAÇÕES DE TRANSMISSÃO............................................. 65
CAPÍTULO 4 ...................................................................................................................... 67
4. AVALIAÇÃO............................................................................................................. 67 4.1 AJUSTES DE CONTROLE ...................................................................................... 67 4.2 RESPOSTA AO DEGRAU....................................................................................... 70
CAPÍTULO 5 ...................................................................................................................... 74 5. CONCLUSÕES .......................................................................................................... 74 SUGESTÕES PARA TRABALHOS FUTUROS............................................................. 75 REFERÊNCIAS............................................................................................................... 76
13
CAPÍTULO 1
1. PROPOSTA
1.1 INTRODUÇÃO
Nas últimas décadas, as áreas de atuação da engenharia elétrica deixaram de ser
apenas as tradicionais, sendo incrementadas por outras áreas emergentes, especialmente as
oriundas do crescimento científico e tecnológico. O mercado exige que um engenheiro
desenvolva, através de sua sólida formação em matemática, física e informática, sua
habilidade de equacionamento de problemas para que proponha as soluções mais adequadas e
eficientes.
Uma prova concreta disso é o projeto PIG Inércia, que está sendo desenvolvido pelo
DAELT 1 para a empresa PIPEWAY, com recursos oriundos do Fundo de Estudos e Projetos
(FINEP), Conselho Nacional de Desenvolvimento Científico e Pedagógico (CNPq) e Sebrae.
O PIG é um equipamento utilizado pela empresa PIPEWAY para percorrer o interior
de dutos – oleodutos ou gasodutos – para avaliar o estado das tubulações. O uso deste
equipamento no Brasil começou com a PETROBRAS, na inspeção de uma linha em 1985.
Após esta experiência pioneira, o número de quilômetros inspecionados por ano vem
crescendo, sendo que para isto são contratadas empresas estrangeiras. Hoje, somente a
PETROBRAS contrata anualmente mais de 4.000 quilômetros de inspeções com PIG
(ABRANTES, [s.d.]).
Com a utilização do PIG em inspeções periódicas é possível identificar os pontos de
corrosão, que após serem localizados podem ser reparados. Isto evita acidentes que podem
causar perdas de produtos, danos ao meio ambiente e perigo à vida humana. Adicionalmente a
esta característica, um PIG deveria também fazer o levantamento das trajetórias dos dutos.
Este é o projeto denominado PIG Inercial. O conhecimento das trajetórias traz duas
informações importantes: a primeira, quantificar os possíveis deslocamentos de tubulação
causados pela diferença de pressão em regiões montanhosas; a segunda, localizar com
1 DAELT: Departamento Acadêmico de Eletrotécnica.
14
exatidão as posições das diferentes soldas ao longo do percurso. Isto permitiria uma rápida
intervenção dos operadores nos pontos com iminência de rompimento.
Para realizar o levantamento da trajetória de uma tubulação, o equipamento que faz o
percurso dentro da tubulação deve conter um Sistema de Navegação Inercial (INS) que
registre os dados de posição ao longo do percurso. Os sensores usados num Sistema de
Navegação Inercial são basicamente sensores de giros (giroscópios), acelerômetros e
odômetros. Para a escolha dos sensores, deve-se considerar a precisão total do sistema, que
deverá ser da ordem de 1 metro para cada 2 quilômetros.
Assim, o presente trabalho destina-se ao estudo de uma articulação robótica
tridimensional servoacionada com a qual seja possível calibrar precisamente os giroscópios
que serão aplicados no INS do PIG Inercial.
1.2 PROBLEMA
A tecnologia atual não é suficiente para construir giroscópios com características
idênticas devido a propriedades intrínsecas dos mesmos. A informação na saída de um
giroscópio apresenta parcelas de ruído ou erro aleatório e de bias ou erro sistemático
acrescentadas ao sinal de velocidade angular. Quando os sinais de ruído e de bias são
integrados juntos com o sinal de velocidade angular, surge um erro na estimativa do ângulo
efetivamente deslocado. Adicionalmente, uma outra incerteza é causada pelo
desconhecimento de orientação frente ao eixo de rotação da terra, pois os giroscópios são
instrumentos sensíveis a ponto de serem afetados por esta rotação (EMMENDOERFER, 2006
apud SANTOS, 2003).
Para que a meta de precisão no projeto PIG Inércia seja atingida, é necessário montar
uma bancada de testes provida de uma articulação capaz de simular todos os movimentos
passíveis de serem realizados pelo PIG Inercial, esses movimentos devem ser extremamente
precisos e conhecidos para que sejam utilizados como gabarito.
15
1.3 JUSTIFICATIVA
Conforme foi descrito anteriormente, o projeto PIG Inércia exige uma bancada capaz
de ensaiar e calibrar giroscópios. Esta exigência vem da nova função a ser implementada ao
PIG. Após sua conclusão, a articulação robótica ficará disponível na UTFPR para que
futuramente venha a ensaiar giroscópios de novos projetos. Assim, espera-se que com a sua
construção os giroscópios possam ser calibrados de forma a permitirem ao INS atingir os
requisitos solicitados no projeto.
1.4 OBJETIVOS
1.4.1 OBJETIVO GERAL
Acionar uma articulação robótica 3D através de servomotores buscando atingir a
dinâmica de movimentos necessária para calibrar giroscópios.
1.4.2 OBJETIVOS ESPECÍFICOS
1. Conhecer o princípio de operação do giroscópio.
2. Estudar os conceitos de controle de sistemas e servomecanismos.
3. Ambientar-se com a linguagem gráfica de programação LabVIEW.
4. Elaborar um software de controle da articulação robótica.
5. Realizar a montagem eletroeletrônica.
6. Estudar uma articulação para calibração de giroscópio.
7. Efetuar testes funcionais, interpretar e atuar sobre a parametrização do software de
controle.
16
1.5 MÉTODO DE PESQUISA
Abaixo estão especificadas algumas etapas seguidas para a realização do acionamento
da articulação robótica.
• Realização de estágio na UTFPR para maior tempo em contato com o projeto PIG
Inercial e aproveitar a disponibilidade de equipamentos específicos para acionamentos
robóticos. Além disso, aproveita-se a proximidade com pessoas que têm bons
conhecimentos sobre acionamentos de servomotores, sistemas de orientação,
giroscópios e programação.
• Pesquisa bibliográfica para fundamentação teórica sobre sistemas de controle de
servomecanismos, acionamentos robóticos, servomotores, equipamentos de
posicionamento e de projetos realizados com a utilização de giroscópios.
• Consulta a apostilas e ao manual do LabVIEW para familiarizar-se com esta
linguagem gráfica de programação. Ressalta-se também a utilização de exemplos
disponíveis em sua biblioteca e os auxílios prestados tanto pelo orientador quanto pelo
co-orientador.
• Para a montagem eletroeletrônica e dimensionamentos ressalta-se as consultas a
catálogos e manuais de fabricantes de cabos, servomotores, amplificadores de
potência, placas de controle de movimento, equipamentos de posicionamento e o
projeto da articulação robótica.
1.6 ESTRUTURA DO TRABALHO
A monografia do projeto tem cinco capítulos. O primeiro foi destinado à introdução
geral seguida pela descrição do problema, que faz alusão às dificuldades a serem resolvidas,
justificativa, objetivo geral, objetivos específicos, método de pesquisa, estrutura do trabalho e
referências. O segundo capítulo contém especificações da articulação robótica e aborda todo o
embasamento teórico necessário para a execução do projeto, tais como: aspectos
aprofundados sobre o modo de funcionamento de giroscópios, fundamentação teórica
referente a sistemas de controle de sistemas, servoacionamentos e equacionamentos. No
17
terceiro capítulo consta a descrição da parte experimental e do software desenvolvido no
LabVIEW. No quarto estão dispostos os resultados e os ajustes obtidos para o controle.
Finalmente, o último capítulo contém as conclusões finais.
18
CAPÍTULO 2
2. REVISÃO BIBLIOGRÁFICA
Este capítulo aborda alguns conceitos necessários para o entendimento e execução do
projeto.
2.1 GIROSCÓPIO
O giroscópio é um dispositivo inercial que mede velocidades angulares sem a
necessidade de um sistema de referência de coordenadas externo. Sua sensibilidade baseia-se
em seu eixo de referência interno, assim os movimentos rotacionais aplicados à sua estrutura
são medidos.
2.1.1 PRINCÍPIO DE FUNCIONAMENTO DO GIROSCÓPIO A FIBRA ÓPTICA
Os giroscópios ópticos utilizam em sua topologia o princípio de Sagnac, conforme a
Figura 1 a seguir:
Figura 1 – Efeito de Sagnac.
(SANTOS, 2003)
19
De acordo com este fenômeno, que tem o nome de seu descobridor, dois feixes de luz
que se deslocam em sentidos opostos, terão um deslocamento de fase entre si se houver algum
movimento de rotação ao longo de seu eixo ortogonal. Isto se deve ao fato de a velocidade da
luz permanecer constante, independentemente do movimento circular, então um dos circuitos
ópticos se comporta como se tivesse uma distância maior. Este princípio é empregado em
giroscópios de anel laser (RLG – Ring Laser Gyro), que têm sensibilidade à diferença de
tempo de percurso dos dois feixes e emite um sinal de tensão diretamente proporcional.
Alternativamente à montagem inicial os giroscópios ópticos fazem uso de uma bobina
de fibras ópticas como percurso, conforme a Figura 2:
Figura 2 – Representação esquemática de um giroscópio de fibra óptica em configuração tipo malha
aberta com entrada e saída comuns. (FIZOPTICA, 2004)
Dessa maneira os giroscópios de fibra óptica (FOG – Fiber Optic Gyro) fazem a
medição da diferença de tempo que dois feixes de laser em sentido contrário, levam para
percorrer o percurso de uma bobina de fibra óptica.
Os giroscópios ópticos têm qualidades importantes, tais como: baixa incerteza nos
valores medidos, melhor resolução, imunidade de acelerações ou impactos mecânicos na
resposta de saída, alta robustez e não necessitam de tempo de aceleração inicial (como ocorre
nos giroscópios mecânicos).
Independentemente da tecnologia utilizada na sua construção, um giroscópio é
utilizado para fins de medição de localização angular. Portanto, seu sinal de saída em
velocidade angular precisa ser integrado. Esta integração ocasiona erros que devem ser
considerados, independentemente da aplicação. O giroscópio apresenta parcelas de ruído (erro
aleatório) e de bias (erro sistemático) acrescentadas ao sinal de velocidade angular. As
Figuras 3 e 4 mostram os diagramas de blocos giroscópios ideais e reais.
20
Figura 3 – Bloco-diagrama de um giroscópio ideal.
(SANTOS, 2003)
Figura 4 – Bloco-diagrama de um giroscópio real.
(SANTOS, 2003)
Para obter-se a orientação angular em torno do eixo sensitivo, deve-se acrescentar um
módulo integrador à saída do giroscópio, como ilustra a Figura 5.
Figura 5 – Bloco-diagrama de um sistema de medição angular.
(SANTOS, 2003)
21
Mas, neste caso, acontece uma integração dos sinais de ruído e de bias junto ao sinal
de velocidade angular, implicando no surgimento de um erro na estimativa do ângulo
efetivamente deslocado. O bloco-diagrama mostra ainda uma terceira fonte de incerteza,
causada pelo desconhecimento de orientação frente ao eixo de rotação da Terra. Para que o
giroscópio não faça leituras erradas, é necessário levar estes erros em consideração. Uma
forma para reduzir a incerteza de bias (Figura 6) é através da leitura do offset (sinal médio)
presente na saída do giroscópio enquanto o mesmo encontra-se imóvel, para então corrigir
(Figura 7) este valor nas leituras seguintes quando em movimento angular.
De acordo com SANTOS (2003), a integração do sinal de velocidade de um
giroscópio retorna um valor composto por três parcelas: i) a posição angular propriamente
dita; ii) um termo que cresce com o tempo de forma proporcional ao bias estimado, acrescido
da influência de rotação da terra e; iii) passo angular aleatório que cresce proporcional ao
desvio do ruído e à raiz quadrada da velocidade angular. As diversas curvas na Figura 8
ilustram aspectos típicos para vários passos angulares aleatórios.
Figura 6 – Erro de bias estimado.
(EMMENDOERFER, 2006)
Figura 7 – Ruído na saída do giroscópio.
(EMMENDOERFER, 2006)
22
Figura 8 – Passo angular aleatório em um giroscópio.
(SANTOS, 2003)
2.1.2 O EFEITO DA ROTAÇÃO DA TERRA
Um giroscópio livre (não provido de um sistema de nivelamento) mantém seu eixo de
rotação fixo em relação ao espaço, e não em relação à superfície da Terra. A Terra gira no
sentido horário com uma velocidade angular de uma rotação a cada 23 horas 56 minutos 4
segundos e 9 centésimos(23h56m04,09s), ou seja sua velocidade angular é de
aproximadamente 0,00417807º/s. Para um observador na superfície da Terra, o eixo do
giroscópio pareceria manter a mesma direção, apontando para leste. Entretanto, para um
observador no espaço, o eixo do giroscópio parece inclinar gradualmente com velocidade
constante até atingir uma volta completa ao final de um dia.
Para evitar um erro proveniente da rotação da terra, faz-se necessário a utilização de
algum sistema de orientação geográfica. Com isso, a superfície do giroscópio deve ser
posicionada perpendicularmente ao eixo de rotação da Terra.
O eixo de sensibilidade do giroscópio a ser utilizado é perpendicular a sua superfície
circular, como mostra a Figura 9.
23
Figura 9 – Eixo de sensibilidade do giroscópio.
2.1.3 ORIENTAÇÃO GEOGRÁFICA
A bússola é um dos mais antigos e comuns métodos de orientação geográfica. Seu
mecanismo é baseado no alinhamento de sua agulha magnética com o campo magnético da
Terra. Deve-se tomar cuidado com possíveis interferências magnéticas, que são
majoritariamente causadas por equipamentos elétricos. Sua medição é confiável, desde que
seja feita a correção do erro causado pela diferença entre a orientação dos pólos magnéticos e
o eixo de rotação da terra, como pode ser visto na Figura 10.
Figura 10 – Diferença entre os pólos terrestres (PNG e PSG) e os pólos magnéticos (PNM e PSM).
Essa diferença varia de acordo com a posição geográfica e deve ser levada em
consideração no posicionamento do giroscópio para que não seja medido nenhum movimento
terrestre.
Os problemas citados acima podem ser solucionados através de um equipamento GPS
que se baseia em informações transmitidas via satélite. Uma de suas funções permite informar
24
a posição do pólo norte geográfico da Terra com precisão e segurança, pois suas medições
não são susceptíveis a interferências magnéticas.
2.1.4 CÁLCULO DO ERRO DE BIAS
As informações descritas anteriormente devem ser consideradas para o correto
posicionamento do giroscópio. Para a medição do bias é necessário alinhar o eixo de
sensibilidade do giroscópio perpendicularmente ao eixo de rotação da Terra, impedindo que a
medição da rotação do planeta seja adicionada ao bias.
Após o alinhamento o giroscópio deve ser mantido em repouso, e um número definido
de amostras de sinal deve ser extraído de sua saída. Com estas amostras o bias pode ser
calculado pela Equação (2.1), que nada mais é do que a média de todas as amostras.
)/()(
smediçõesden
mediçõesbias °
°= �
(2.1)
A figura a seguir mostra o sinal de medição de velocidade angular com um
grampeamento causado pelo bias.
Figura 11 – Forma de onda da velocidade angular com o erro de bias e o giroscópio em repouso.
(EMMENDOERFER, 2006)
Com o cálculo do erro de bias é possível deduzir a Equação (2.2), que deve ser
utilizada para corrigir medições posteriores. A Figura 12 ilustra o sinal corrigido.
)/( sbiasww medidoreal °−= (2.2)
25
Tem-se wreal como velocidade angular sem o erro de bias e wmedido como velocidade
angular medida pelo giroscópio sem correção. O bias deve ser calculado pela Equação (2.1).
Figura 12 – Forma de onda da velocidade angular com o erro de bias corrigido.
(EMMENDOERFER, 2006)
Através da execução de movimentos conhecidos, pela articulação, é possível medir na
saída de giroscópios: o grau de deslocamento causado pelo bias, o fator de escala de leitura, a
distribuição do ruído e a ortogonalidade entre os giroscópios de um Sistema de Navegação
Inercial.
2.3 ARTICULAÇÃO
A dinâmica de movimentos com a precisão requisitada pela bancada de testes de
giroscópios pode ser realizada pelo punho robótico utilizado no projeto Roboturb2. Por isso,
esta é a configuração mecânica adotada para o projeto. Seu modelo possibilita a fixação de
giroscópios e tem liberdade para fazer com precisão, através de servomotores, movimentos
rotacionais em torno de três eixos, ver Figura 13.
2 Roboturb: Robô manipulador destinado às tarefas de soldagem de cavitações nas pás de turbinas de usinas hidrelétricas.
26
Figura 13 – Configuração mecânica escolhida.
(LACTEC, 2001)
Tratando-se de um projeto já elaborado, é necessário fazer um comparativo entre as
cargas para as quais o punho robótico foi dimensionado e as novas cargas a serem aplicadas.
2.3.1 ESPECIFICAÇÕES
Apesar de movimentos similares, os parâmetros utilizados no dimensionamento do
punho do Roboturb diferem dos parâmetros requisitados pela articulação robótica, pois há
outras cargas e outros perfis de movimento (aceleração e velocidade) envolvidos.
Para analisar a possibilidade de utilização do punho do Roboturb deve-se levar em
conta a maior carga a ser aplicada. Apesar da carga não estar construída é possível estimar sua
massa com base no seu projeto que inclui: três giroscópios, três acelerômetros e parafusos
distribuídos em um bloco de alumínio. Tal bloco é chamado Unidade de Medição Inercial
(IMU) e está representado na Figura 14, suas estimativas de massas estão na Tabela 1.
27
Figura 14 – Bloco de Medição Inercial.
Tabela 1 – Massas dos componentes da IMU. Componente Unidades Massa Massa Total
Giroscópio 3 0,425 kg 1,285 kg
Acelerômetro 3 0,075 kg 0,225 kg
Parafuso 18 0,0025 kg 0,045 kg
Bloco de Alumínio 1 1,4 kg 1,445 kg
A tabela a seguir faz um comparativo entre as especificações aplicadas ao punho do
Roboturb e as necessárias para a articulação 3D.
Tabela 2 – Comparação entre especificações do Roboturb e da articulação robótica. (KAPP, 2001)
Especificações operacionais
Roboturb Articulação 3D
Capacidade de carga útil na garra 2 kg 3 kg
Força adicional de manipulação na garra 10 N 0 N
Força adicional exercida no braço 20 N 0 N
Aceleração máxima 0,981 m/s² 0,981 m/s²
Verifica-se que não há necessidade de um redimensionamento, visto que o total de
cargas utilizado para dimensionar o Roboturb é inferior ao total de cargas estimado para a
28
articulação robótica. Os seguintes dados do Roboturb são importantes para a parametrização
do software:
Eixo �:
• Pinhão: 25 dentes;
• Coroa: 40 dentes;
• Relação Harmonic Drive: 1/140;
• Encoder: 4000 pulsos.
Eixo �:
• Pinhão: 16 dentes;
• Coroa: 58 dentes;
• Relação Harmonic Drive: 1/100;
• Encoder: 2000 pulsos.
Eixo �:
• Pinhão: 16 dentes;
• Coroa: 48 dentes;
• Relação Harmonic Drive: 1/120;
• Encoder: 4000 pulsos.
2.4 COORDENADAS DE REVOLUÇÃO
As variáveis das juntas são aquelas grandezas físicas que permitem representar o
movimento relativo entre elos. No caso de juntas de revolução, são os ângulos de rotação
entre um elo e o anterior. No caso das juntas prismáticas, a distância entre um elo (ou um
ponto determinado deste) e a junta que o une com o elo anterior. A articulação a ser
empregada funciona através de revoluções e, portanto, merece ser mais bem detalhada.
A Figura 15 mostra que a posição do efetuador da articulação pode ser encontrada
através de cálculos matemáticos com a posição angular medida pelo encoder em função dos
comprimentos dos elos relativos à base da articulação.
29
L2
L1
L1
L2
Figura 15 – Esquema de dimensões e ângulo.
Os robôs manipuladores de coordenadas de revolução são chamados assim por terem
as primeiras juntas, de posicionamento do efetuador, de revolução. Este fato torna as três
primeiras coordenadas generalizadas em ângulos de rotação que, neste trabalho, foram
chamados de �, �, e � . Para calcular a posição do efetuador é necessário saber o valor dessas
três coordenadas generalizadas, além dos comprimentos dos elos que são:
• L1 = 100 milímetros;
• L2 = 100 milímetros.
O espaço de trabalho do manipulador é o termo que se refere ao espaço dentro do qual
o manipulador consegue efetuar os movimentos comandados. Geralmente está ligado a
formas conhecidas como: cones, cilindros e esferas, os quais são relativos às máximas e
mínimas distâncias a serem alcançadas.
“A posição do punho de um manipulador pode ser representada no
espaço de trabalho ou no espaço de juntas. A posição no espaço de
trabalho é determinada pela posição do punho segundo um sistema de
três eixos cartesianos ortogonais, cuja origem é geralmente solidária
com a base do robô. Portanto, a posição do punho é representada no
espaço no espaço de trabalho como um vetor de três componentes
[x y z]. A posição das juntas é representada pelo vetor de coordenadas
30
generalizadas, ou vetor cujas componentes representam a posição de
cada junta (ângulo se for de revolução ou distância se for prismática),
relativas a uma posição inicial arbitrária” (PAZOS, 2002).
Raio da esfera = L1
Figura 16 – Limites de posicionamento .
2.5 SISTEMA DE COORDENADAS DE ORIENTAÇÃO
Levando em consideração a maioria das aplicações industriais, onde um robô pode ser
controlado e programado a partir do sistema de coordenadas associadas ao seu efetuador,
pode-se também implementar o controle por coordenadas além do controle por entrada de
ângulos. A malha de controle de uma junta robótica é estabelecida a partir da comparação de
grandezas articulares, tornando-se necessário a realização de uma transformação geométrica
apropriada para o estabelecimento da correspondência entre as variáveis articulares (ângulos)
e as coordenadas absolutas do efetuador. A Figura 17 apresenta um esquema descrevendo o
problema de transformação direta de coordenadas para um robô com N graus de liberdade.
Transformação Direta
y z
x
Figura 17 – Transformação direta de coordenadas.
31
A operação que realiza a correspondência entre esses dois espaços é chamada de
transformação de coordenadas. A transposição direta de coordenadas apresenta uma solução
única, o mesmo não acontecendo com o problema inverso, onde manipuladores com um
número de graus de liberdade superior a três podem conduzir a soluções múltiplas.
Com o auxílio da Figura 18, a qual mostra o robô posicionado de forma a centralizar o
eixo z no segundo elo, chega-se às seguintes equações transformadoras de coordenadas:
Φ= cos..1 θsenLx (2.3)
Φ= sensenLy ..1 θ (2.4)
θcos.12 LLz += (2.5)
2221 . zsenL += θρ
(2.6)
x
y
z
Figura 18 – Posicionamento do robô relativo aos eixos coordenados.
Para o referenciamento do robô há necessidade de estabelecer algum sistema de
coordenadas fixo para informar as posições e orientações, sendo que a adoção de uma
32
referência no efetuador torna difícil a localização real do objeto a ser manipulado. Assim, é
preciso fazer transformações de coordenadas entre os sistemas fixo e móvel de modo que
torne possível conhecer a posição efetiva do objeto manipulado pelo robô.
A representação da orientação da extremidade do robô pode ser feita através dos
ângulos �, �, e �, respectivamente em torno dos eixos x, y, e z, cujos sentidos positivos
acompanham as indicações das setas (Figura 19).
z
x
y
Figura 19 – Convenção de sentidos positivos.
2.6 TRANSFORMAÇÃO ATRAVÉS DE MATRIZES DE ROTAÇÃO
Há muitos anos a modelagem matemática empregada no campo de estudos da robótica
para descrever rotações no espaço é baseada no emprego de matrizes de rotação R(3x3). A
fim de representar a orientação espacial de um corpo rígido em relação a um frame 3 de
referência, uma matriz de rotação R é a matriz que descreve a projeção de um frame preso a
este corpo em relação àquele frame de referência. Uma rotação no espaço tridimensional pode
ser observada na Figura 20.
3 O termo frame será utilizado para expressar uma terna (x, y, z) de vetores unitários ortonormais.
33
x1
x2
z1z2
y1
y2
Figura 20 – Rotação de um sistema de coordenadas.
Essa rotação pode ser representada através da rotação em torno de três eixos distintos,
sendo considerado um ângulo � em torno do eixo z, um ângulo � em torno de y e um ângulo
� em torno do eixo x. As figuras a seguir exemplificam uma rotação em torno do eixo y.
x2
x1
z1
z2
Eixo de Rotação
y1=y2
Figura 21 – Rotação em torno do eixo y.
x1
x2
z1
z2
y1=y2
Figura 22 – Rotação em torno do eixo y (vista superior).
Utilizando a Figura 21 é possível equacionar um sistema que fornece os vetores x2, y2 e
z2 resultantes da rotação � dos vetores x1, y1 e z1.
34
1112
1112
1112
.cos.0..0.1.0
..0.cos
zyxsenz
zyxy
zsenyxx
θθ
θθ
++=++=
−+=
(2.7)
Rearranjando-se o sistema anterior na forma matricial, chega-se à Equação (2.8) que
transforma o vetor de base 1 (x1, y1 e z1) para base 2 (x2, y2 e z2).
���
�
�
���
�
�
���
�
�
���
�
� −=
���
�
�
���
�
�
1
1
1
2
2
2
.cos0
0100cos
z
y
x
sen
sen
z
y
x
θθ
θθ
(2.8)
Além do fato desta matriz apresentar o valor de seu determinante igual à unidade,
outra propriedade importante inclui sua ortogonalidade, o que significa que a inversa desta
matriz pode ser obtida pela transposição de seus termos. Assim, pode-se escrever a
Equação (2.9).
���
�
�
���
�
�
���
�
�
���
�
�
−=
���
�
�
���
�
�
2
2
2
1
1
1
.cos0
0100cos
z
y
x
sen
sen
z
y
x
θθ
θθ
(2.9)
Aplicando os mesmos conceitos para os eixos z e x, chega-se às matrizes de rotação de
um ângulo � em torno de z e de um ângulo � em torno do eixo x respectivamente, nas
Equações (2.10), (2,11), (2,12) e (2.13).
���
�
�
���
�
�
���
�
�
���
�
�
ΦΦ−ΦΦ
=���
�
�
���
�
�
1
1
1
2
2
2
.1000cos0cos
z
y
x
sen
sen
z
y
x
(2.10)
���
�
�
���
�
�
���
�
�
���
�
�
ΦΦΦ−Φ
=���
�
�
���
�
�
2
2
2
1
1
1
.1000cos0cos
z
y
x
sen
sen
z
y
x
(2.11)
35
���
�
�
���
�
�
���
�
�
���
�
�
−=
���
�
�
���
�
�
1
1
1
2
2
2
.cos0
cos0001
z
y
x
sen
sen
z
y
x
ψψψψ
(2.12)
���
�
�
���
�
�
���
�
�
���
�
�
−=���
�
�
���
�
�
2
2
2
1
1
1
.cos0
cos0001
z
y
x
sen
sen
z
y
x
ψψψψ
(2.13)
Observando as Equações (2.8), (2.10) e (2.12) chega-se à conclusão que as alterações
na orientação de vetores em x, y ou z podem ser expressas por matrizes de rotação R.
Portanto, para a transformação do vetor de base 1 (x1, y1 e z1) para base 2 (x2, y2 e z2) serão
adotadas as seguintes matrizes de rotação:
���
�
�
���
�
�
ΦΦ−ΦΦ
=Φ1000cos0cos
)( sen
sen
Rz
(2.14)
���
�
�
���
�
� −=
θθ
θθθ
cos0010
0cos)(
sen
sen
Ry
(2.15)
���
�
�
���
�
�
−=
ψψψψψ
cos0cos0
001)(
sen
senRx
(2.16)
Sucessivas rotações, aplicadas ao corpo rígido, podem então ser matematicamente
modeladas pela multiplicação de cada uma das matrizes que expressam tais rotações.
Particularmente, se as rotações forem aplicadas com relação a um frame de referência
fixo, deve ser realizada uma pré-multiplicação das matrizes; enquanto que se forem aplicadas
com relação a um frame móvel, deve ser realizada uma pós-multiplicação das matrizes
(SANTOS, 2003).
Essas rotações elementares constituem a base para uma representação mínima de
rotações espaciais, uma vez que é possível expressar genericamente qualquer rotação como
36
uma seqüência de três destas rotações elementares. Ou seja, a obtenção da matriz de rotação
de um corpo rígido, pode então ser obtida pelo produto das matrizes de rotações elementares
conforme descrito nas Equações (2.17) e (2.18), respectivamente para frames fixos ou frames
móveis.
)().().( ψθ xyzRPY RRRR Φ= (2.17)
)().().( 321 γβα RRRREuler =
(2.18)
Partindo da Equação (2.18) e substituindo as matrizes de rotação representadas em
(2.14), (2.15) e (2.16), chega-se à matriz de rotação de Euler:
���
�
�
���
�
�
ΦΦ+Φ−Φ+ΦΦΦ+ΦΦ+Φ−
−=
cos.coscos..cos.cos..cos..cos..cos.cos..cos.cos
cos.cos.cos
θθψψθψψθθψψθψψ
θθψθψ
sensensensensensen
sensensensensensensen
sensen
REuler (2.19)
No caso da Equação (2.18) os eixos de referência 1, 2 e 3 podem ser escolhidos
livremente a partir de um conjunto de doze opções apresentadas por Euler, a saber: xyx, xyz,
xzx, xzy, yzy, yzx, yxy, yxz, zxz, zxy, zyz e zyx; com os ângulos �, � e � correspondentes aos
respectivos ângulos �, � e � daqueles eixos de Euler selecionados.
Na Equação (2.17), baseada no princípio das rotações sucessivas relativas a um frame
fixo, identifica-se os ângulos de rolamento (�), guinamento (�) e arfagem (�), os quais são
largamente empregados em sistemas de navegação. Tais ângulos são também conhecidos na
literatura como roll, pitch e yaw e formam o sistema RPY de representação mínima das
rotações no espaço.
Devido às características construtivas, sabe-se que o punho do Roboturb segue os
ângulos de Euler na seqüência zyz, a qual é identificada por: rotação de � em torno do eixo z,
rotação de � em torno do eixo y`e rotação de � em torno do eixo z``, conforme a Figura 23.
yy`
z=z`
y`=y``
z``=z```z`` z`y```
y``x
x` x` x`` x`` x```
Figura 23 – Sequência �, � e � para um sistema zyz.
37
As sucessivas rotações a serem aplicadas ao punho robótico tornam necessária a
aplicação da matriz de rotação para o simulador. Desta forma, coordena-se os movimentos do
robô com o simulador utilizando um sistema de coordenadas móvel.
A figura a seguir representa a simulação de um movimento de 180º em torno do eixo x
do frame fixo, no sentido anti-horário e sem utilizar a matriz de rotação de Euler. Nota-se que
durante toda a trajetória o frame móvel não é rotacionado.
x
y
z
z
x
y
z
x
yz
x
y
x
y
z
z x
yz
xy
Figura 24 – Simulação sem a utilização de matrizes de rotação.
A figura a seguir mostra a simulação do punho robótico executando o mesmo
movimento, porém com a utilização da matriz de rotação de Euler. Percebe-se que o sistema
de coordenadas rotaciona de forma real. Neste caso, é possível visualizar que um objeto
acoplado ao efetuador termina o movimento de ponta-cabeça.
38
x
y
zz
z
z
z
x
x
x
x
x
yy
y
y
y
z
x
y
z
Figura 25 – Simulação com a utilização de matizes de rotação.
A Figura 26 mostra que o deslocamento na direção do eixo móvel x pode ser calculado
através da soma de pequenos deslocamentos (�d) causados pela variação de ângulos (�a)
durante o movimento. Esse cálculo também pode ser aplicado para os deslocamentos nas
direções dos eixo y e z.
z0
z1
z2
x0
x1
x2
y0
y1
y2
d0-1
d1-2
a0-1
a1-2
Figura 26 – Rotação em torno do eixo z.
39
Para isso é necessário fazer um equacionamento com as dimensões do robô e as
entradas de ângulos em radianos. Para movimentos gerados através da rotação do eixo �, tem-
se:
ψθ cos..1Lx = (2.20)
ψθ senLy ..1= (2.21)
0=z (2.22)
Para movimentos gerados pela rotação do eixo �, tem-se:
ψθ sensenLx ...1 Φ= (2.23)
ψθ cos...1 senLy Φ= (2.24)
0=z (2.25)
Naturalmente, a precisão dos cálculos de deslocamentos nas direções x, y e z depende
da quantidade de deslocamentos (�d) coletados durante a execução do movimento. Desta
forma, quanto menor forem os �d mais aproximado é o cálculo.
2.7 SERVOACIONAMENTO
Designa-se o nome de servoacionado aos sistemas de controle com malha fechada. Os
sistemas com malha fechada são altamente utilizados em casos que necessitam precisão de
parada e movimento. Na maioria dos casos, é necessária a aplicação de encoders ou resolvers.
Conforme (PAZOS, 2002), em sistemas de malha fechada, o controlador recebe dois
sinais, a referência r(t) e a resposta y(t), como mostrado na Figura 27. Assim, o controlador
pode fazer comparações entre o sinal de resposta e o sinal de referência. Caso aconteça algum
distúrbio que afaste a resposta da referência, este pode gerar um sinal de excitação à planta
u(t) no sentido de compensar os efeitos do distúrbio, de modo a corrigir a ação da planta até
retornar ao comportamento desejado. Esse segundo sinal recebido pelo controlador é
conhecido como sinal de realimentação ou feedback.
40
Controlador Plantau(t)r(t) y(t)
Realimentação ou feedback
Figura 27 – Sistema em malha fechada. (PAZOS, 2002)
Alternativamente ao sistema anterior, é possível controlar utilizando apenas um sinal.
Para isso, basta fazer uma realimentação negativa que deve fazer a diferença entre o sinal de
entrada e de resposta, como mostrado na Figura 28. Esse sinal de diferença é chamado de erro
e(t). O objetivo é que a resposta acompanhe a referência (y(t) = r(t)), ou e(t) = 0. Portanto, se
o controlador receber um erro positivo (referência maior que a resposta), gera uma excitação
que aumente o valor da resposta até atingir o valor da referência novamente. Se o controlador
receber um erro negativo (resposta maior que a referência), faz o contrário, gera u(t) de
maneira que diminua a resposta y(t) até e(t) = 0.
Controlador Plantau(t)e(t) y(t)
Realimentação ou feedback
r(t)
+ -
Figura 28 – Sistema com realimentação de erro.
(PAZOS, 2002)
Para que a precisão desejada seja atingida é necessário conhecer as características do
sistema utilizado. O fabricante da placa controladora de movimentos (PCM) que será utilizada
no projeto, National Instruments, disponibiliza um programa para computador que efetua
esses testes.
Uma das funções do programa é a aplicação de um degrau para extrair informações em
regime transitório, que são indispensáveis para a parametrização do punho. A falta dessa
parametrização diminui a controlabilidade do sistema, podendo acarretar em erros de
posicionamento ou oscilações demasiadas em torno do ponto de parada.
Segundo NISE (2002), para se obter um melhor comportamento dinâmico, deve-se
utilizar compensadores para melhorar tanto a resposta transitória do sistema quanto para
melhorar as características de erro em regime permanente. A resposta transitória é definida
como a parte da curva de resposta devida a um sistema e a forma como esse sistema absorve
ou dissipa energia; quando se tem sistemas que ficam estáveis ao longo do tempo, a resposta
transitória é a parte da curva anterior ao regime permanente. Já o erro de regime permanente é
41
definido como a diferença entre a entrada e a saída de um sistema depois de a resposta natural
se reduzir a zero.
Para utilizar os ajustes através de compensadores é necessário saber que quando o
ganho do sistema é ajustado para se atender à especificação da resposta transitória ocorre a
deterioração do desempenho em regime permanente, uma vez que a resposta transitória e a
constante de erro estático estão relacionados com o ganho. Quanto maior o ganho, menor o
erro em regime permanente, porém maior a ultrapassagem percentual.
2.8.1 ERRO EM REGIME PERMANENTE
O erro em regime permanente é a diferença entre a entrada e a saída de teste quando o
tempo tende ao infinito. Para este cálculo de erro ser aplicado, a articulação robótica deve
apresentar um comportamento estável.
A seguinte figura ilustra as entradas de teste (sinais de teste) usadas para análise e
projeto de erro em regime permanente.
t
r(t)
t
r(t)
t
r(t)
Degrau Rampa Parábola Figura 29 – Formas de onda dos sinais de teste para cálculo de erro em regime permanente.
Sendo a articulação robótica um sistema de controle de posição, em que a posição de
saída segue a posição comandada na entrada, é interessante aplicar sinais em degrau à entrada
para determinar a capacidade do sistema de controle em se posicionar com relação a um alvo
estacionário. A entrada degrau consiste em um sinal contínuo de tensão aplicado
abruptamente ao servomotor por um tempo suficiente para se obter a estabilização do
movimento. Este sinal, em particular, pode ser aplicado através do software Measurement &
Automation, desenvolvido pela National Instruments.
As entradas em rampa, ao contrário do degrau, representam entradas com velocidade
constante em um sistema de controle de posição com a amplitude da entrada crescendo
42
linearmente com o tempo. Estas formas de onda podem ser usadas para testar a capacidade do
sistema para seguir uma entrada linearmente crescente, ou, em outras palavras, de seguir um
alvo que se movimenta com velocidade constante. (NISE, 2002)
Para obter a capacidade de rastreamento de alvos que se movem com variações de
aceleração são aplicadas as entradas de sinal em parábola que fornecem um sinal suave no
início e com um crescimento muito rápido após algum tempo.
A Figura 30 mostra que para uma entrada de sinal degrau, após um longo período de
tempo e para um sistema estável, dois tipos de saídas são possíveis. A saída 1 apresenta erro
em regime permanente nulo, e a saída 2, um erro não nulo.
Erro de estado estacionário 2
Saída 2
Entrada
Tempo
c(t)
Saída 1
Figura 30 – Possíveis erros em regime permanente para uma entrada em degrau.
(NISE, 2002)
A Figura 31 a seguir faz alusão à capacidade do sistema seguir uma entrada em rampa.
Quando o transitório desaparece e o tempo tende ao infinito o resultado pode ser similar à
saída 1, saída 2 ou saída 3. No caso da saída 1 o sistema apresenta erro em regime permanente
nulo e, portanto, atinge a resposta desejada. Para a saída 2 o sistema apresenta um erro finito,
medido verticalmente entre a entrada e a saída 2. A outra possibilidade é uma inclinação da
saída diferente da inclinação da entrada, como mostra a saída 3. Neste caso o erro em regime
permanente tende a infinito ao medi-lo verticalmente entre a entrada e a saída 3. Este último
resultado permite afirmar que o sistema não tem capacidade para seguir uma entrada em
rampa.
43
Saída 2
Saída 1
Entrada
Saída 3
Erro de estado estacionário 2
Tempo
c(t)
Figura 31 – Possíveis erros em regime permanente para uma entrada em rampa.
(NISE, 2002)
2.8.2 FONTES DE ERRO EM REGIME PERMANENTE
Os erros em regime permanente dos sistemas de controle, em sua maioria, são
provenientes da não linearidade, como folgas de engrenagens e em motores que exigem a
ultrapassagem de um valor mínimo de tensão para que seu movimento seja iniciado. O
comportamento não linear como fonte de erro em regime permanente deve ser estudado
quando o sistema apresentar problemas não decorrentes de sua configuração e do tipo de
entrada. (NISE, 2002)
A Figura 32 exemplifica um sistema genérico, onde R(s) é a entrada, C(s) é a saída e
E(s) é o erro. Tomando G(s) como o produto do ganho pela planta, verificam-se as seguintes
equações:
)()()( sCsRsE −= (2.26)
)().()( sGsEsC = (2.27)
R(s)
+ -
C(s)Ganho Planta
E(s)
Figura 32 – Sistema com erro em regime permanente finito para uma entrada em degrau.
44
No caso de retroação unitária, o erro em regime permanente pode ser calculado com
base na função de transferência a malha fechada do sistema, T(s), ou com base na função de
malha aberta, G(s).
O teorema do valor final é válido para sistemas com função tal que quando aplicada a
transformada de Laplace resulte em pólos apenas no semiplano da esquerda e, no máximo, um
pólo na origem. Satisfeitos estes requisitos pode ser aplicado o teorema do valor final na
equação de erro, E(s) isolado, resultante de operações com as Equações (2.26) e (2.27). Assim
chega-se na Equação (2.28).
)(1)(
lim)(0 sG
ssRe
s +=∞
→
(2.28)
2.9 HARDWARE
A Figura 33 mostra a forma que os equipamentos ficam ligados para o acionamento de
um eixo. Como se pode observar, o posicionamento é baseado em leitura de encoders e a
forma de operação do usuário sobre o sistema é feita através de um computador. 45
Figura 33 – Ligações entre os equipamentos.
4 PCM: Placa Controladora de Movimentos. 5 UMI: Interface de Comunicação.
45
O diagrama a seguir tem como objetivo dar um panorama sobre a montagem
eletroeletrônica necessária para o acionamento de três eixos. Seus componentes estão
descritos mais adiante.
Fonte PCM+ -
Computador
Amplificador
Encoder
M
+5VGNDAABBII
EIX
O 1
-OUT+OUT
Amplificador
Encoder
M
+5VGNDAABBII
EIX
O 2
-OUT+OUT
Amplificador
Encoder
M
+5VGNDAABBII
AX
IS 3
-OUT+OUT
8
8
8
Figura 34 – Diagrama de blocos do sistema integrado.
2.9.1 COMPUTADOR
O computador deve ser equipado com placa controladora de movimentos e cabo
compatíveis. Neste caso, para a placa PCI-7344 deve-se utilizar a interface de comunicação
UMI-7764 e o cabo SH68-C68-S (todos produzidos pela National Instruments). A utilização
46
do computador é indispensável para a realização dos ensaios, pois além da execução do
software deverá exibir uma interface visual homem-máquina que permita a entrada de dados e
que seja de simples compreensão do operador.
2.9.2 PLACA CONTROLADORA DE MOVIMENTOS (PCM)
A PCM foi desenvolvida pela empresa National Instruments para fazer o controle de
aceleração, velocidade e posicionamento de servomotores e motores de passo. Para o projeto
da articulação será utilizado o modelo PCI-7344 que tem capacidade de controlar até quatro
eixos simultaneamente. A placa PCI-7344 deve ser conectada a um barramento PCI do
microcomputador para interpretar e processar programas desenvolvidos na linguagem de
programação LabVIEW. Os sinais recebidos dos encoders são comparados com os
parametrizados no programa de controle e então a PCM envia sinais de comando para o
amplificador de potência que, por sua vez, deve produzir movimento no motor ou pará-lo de
acordo com o programado.
Todas as lógicas para interpolação de eixos com trajetórias lineares ou circulares são
recursos disponíveis nesta PCM e podem ser utilizados conforme os requisitos do programa
de deslocamento de eixos. Desta maneira, a PCM tem capacidade para determinar o
comportamento dos eixos na execução de trajetórias.
2.9.3 ENCODERS
Os encoders, ou codificadores, são sensores de posição constituídos por um ou mais
sensores ópticos de barreira que detectam a passagem de uma roda perfurada. Quando os
sensores estiverem colocados em cima de um dos furos da roda, detectarão um estado lógico.
Quando fizerem leitura de uma parte não perfurada, detectarão um estado lógico contrário.
(PAZOS, 2002)
A roda fica ligada mecanicamente ao eixo girante, assim o movimento provoca uma
seqüência de sinais digitais (0 e 1) que são detectados pelos sensores. Os sensores repassam as
informações aos controladores que, por fim, fazem o controle da posição.
47
Segundo a necessidade e precisão para o qual são designados, os encoders são
divididos em absolutos e incrementais.
Os absolutos têm um conjunto de sensores ópticos alinhados ao longo do raio da roda,
e a roda furada tem um código determinado de furos. Existem encoders de código binário,
Gray, ou BCD. Por isso, sempre devolvem a posição absoluta do eixo. Um aumento de
precisão infere num aumento do número de bits do código, portanto maior o número de
sensores. A Figura 35 mostra um encoder absoluto de código Gray que possui maior
utilização no mercado em relação aos de código binário.
Figura 35 – Roda de um encoder em código Gray.
(PAZOS, 2002)
Os encoders incrementais têm apenas dois sensores ópticos e a roda perfurada tem
apenas uma fileira de furos eqüidistantes. A passagem entre um furo e outro fornece um pulso
e, consequentemente, cada sensor retorna um trem de pulsos na medida em que a roda gira.
Neste tipo de encoder a posição é demarcada através de pulsos transmitidos e
acumulados ao longo do tempo. Esses pulsos, quadrados, são transmitidos pelo encoder
através de dois canais A e B que são defasados de 90° para que possam indicar o sentido do
movimento. Caso o canal A esteja 90° adiantado em relação ao canal B o sentido é horário,
caso contrário o sentido é anti-horário. O canal Index, conhecido como zero, é utilizado como
ponto de referência do encoder e fornece um pulso quadrado a cada volta. A Figura 36 mostra
como estes sensores fazem a leitura do encoder.
48
Figura 36 – Roda de um encoder incremental e sensores.
As formas de onda para a rotação no sentido indicado pela seta da figura anterior
estão representadas na Figura 37. Nota-se que a onda de saída do canal A está adiantada em
relação a B, logo o sentido é horário.
Figura 37 – Formas de onda de um encoder incremental no sentido horário.
O encoder incremental é utilizado para medir rotações de uma posição com respeito
a outra, e não posições absolutas, sendo necessário partir sempre de uma posição conhecida.
Apesar dessa desvantagem, os encoders incrementais possuem uma resolução muito maior
que a dos encoders absolutos, levando em consideração a quantidade de sensores utilizados.
Para apenas dois sensores numa roda vazada com 64 furos é possível obter uma resolução de
5,625º. (PAZOS, 2002)
2.9.4 MOTORES DE CORRENTE CONTÍNUA
Segundo KOSOW (1985), os servomotores de corrente contínua (CC) são acionados
por corrente proveniente de amplificadores eletrônicos ou amplificadores, reatores saturáveis,
amplificadores retificadores controlados, ou por qualquer um dos vários tipos de
amplificadores rotativos.
As características fundamentais a serem buscadas em qualquer servomotor são que o
torque de saída do motor seja mais ou menos proporcional à sua tensão de controle aplicada
por um amplificador e também que o sentido do torque seja determinado pela polaridade
instantânea da tensão de controle.
49
Atualmente, o desenvolvimento das técnicas de acionamentos de corrente alternada
(CA) e a viabilidade econômica têm favorecido a substituição dos motores de corrente
contínua pelos motores de indução acionados por inversores de freqüência. Apesar disso,
devido às suas características e vantagens o motor CC ainda se mostra a melhor opção em
alguns casos específicos.
Os motores CC são classificados em várias categorias, de acordo com a forma de
produção do campo magnético e conforme o projeto e construção da armadura. De maior
interesse é a classificação quanto à forma de produção do campo magnético, sendo
classificados como Motores de Fluxo Magnético Variável e Motores de Fluxo Magnético
Constante. Os de Fluxo Magnético Variável são assim chamados por terem o estator
conectado a fontes externas com diferentes formas de enrolamentos, algumas são conhecidas
como: campo série, campo independente, shunt e composto. Os de Fluxo Magnético
Constante são conhecidos como Motores de Ímã Permanente, ou Servomotores, pois
utilizam-se de ímãs permanentes para produzir o campo magnético, o que resulta em
características de torque, corrente e de velocidade bastante lineares.
Os motores CC são ainda subdivididos de acordo com a forma de comutação. Os
motores convencionais possuem escovas e comutadores mecânicos, enquanto que em outros a
comutação é feita eletronicamente (sem escovas) e por isso são chamados de Brushless.
O motor de corrente contínua é composto de duas estruturas magnéticas:
• Estator (enrolamento de campo ou ímã permanente);
• Rotor (enrolamento de armadura).
Um servomotor CC normalmente possui número de pares de pólos acima do
convencional e ranhuras oblíquas para os enrolamentos de armadura. Sua aplicabilidade na
automação é alta por ter: alta dinâmica, respostas rápidas, torque, suavidade de movimento,
precisão, e pequenas dimensões.
A Figura 38 mostra de maneira simplificada um servomotor onde o estator é
constituído por ímã permanente e o rotor é um eletroímã que é alimentado por um sistema
mecânico de comutação. Esse sistema é formado por um comutador, solidário ao eixo do
rotor, que possui uma superfície cilíndrica com diversas lâminas às quais são conectados os
enrolamentos do rotor; e por escovas fixas, que exercem pressão sobre o comutador e que são
ligadas aos terminais de alimentação. O propósito do comutador é de inverter, através de
50
escovas, a corrente na fase de rotação apropriada de forma que o conjugado desenvolvido seja
sempre na mesma direção.
Figura 38 – Desenho esquemático de um motor servomotor.
O princípio da força agindo na armadura pode ser facilmente entendido através da
utilização da regra da mão direita. Esta regra determina a direção da força relativa à direção
da corrente e do campo. Sendo o sentido da corrente indicada pelo dedo médio e o sentido do
campo magnético pelo indicador, obtém-se o sentido de atuação da força dada pelo polegar.
Quando a bobina apresenta-se na posição horizontal, os pólos opostos se atraem, a
bobina é forçada a girar no sentido anti-horário até que os pólos da bobina Norte e Sul
alcancem, respectivamente, os pólos Sul e Norte do estator. Nessa situação as forças se
equilibram e não há torque, por isso esse é o instante adequado para inverter o sentido da
corrente na bobina. Desta maneira os pólos de mesmo nome ficam muito próximos e acarreta
numa força de repulsão. Devido à inércia do rotor o movimento continua no mesmo sentido.
A inversão do sentido da corrente, no momento oportuno, é condição indispensável para
coordenar as atrações e repulsões e então manter o movimento.
Conforme PINTO e KRAUSE (2006, apud MARTIN, 1996), em muitos casos, o
controle de velocidade, posição e/ou torque exigem um comparador e um amplificador que
possua ajustes, tais como integradores, para aumentar a controlabilidade do motor. Um
encoder pode ser usado para fazer a realimentação através do fornecimento de um sinal para o
circuito digital de realimentação que calcula a compensação necessária para ajustar o circuito
de potência. Assim, o controlador envia o sinal de referência, que pode ser tanto o parâmetro
de velocidade como o parâmetro de posição, quando este estiver trabalhando em malha
51
fechada. O comparador subtrai o sinal do sensor, que é a resposta do motor, resultando no
sinal de erro, que é amplificado para alimentar o motor. Assim, quando o sinal de referência
tiver o mesmo valor do sinal devolvido pelo sensor de referência o erro é zero e, portanto, o
servomotor fica estático. Caso contrário, o controlador libera uma tensão proporcional ao erro
para que o motor entre em movimento ou acelere até encontrar a posição ou velocidade de
referência.
2.9.5 AMPLIFICADOR DE POTÊNCIA
Para que os movimentos sejam efetuados há necessidade da utilização de um
amplificador de potência que receba os comandos da PCM. Levando em consideração que a
potência exigida por cada um dos motores tem efeito direto sobre seus respectivos
amplificadores, torna-se indispensável o dimensionamento dos amplificadores. O
dimensionamento baseia-se nos valores de potência máxima, corrente e tensão de alimentação
requerida pelos motores. Segundo o projeto do Roboturb, os três eixos utilizam o mesmo tipo
de motor: Maxon DC RE Ø25 mm 118755. Suas principais especificações são:
• Tensão Nominal: 48 Vcc;
• Corrente Motor Travado: 5,978 A;
• Potência Máxima Nominal: 20 W.
Desta maneira chega-se à conclusão que para os três servomotores devem ser usados
amplificadores Maxon ADS_E 50/5, com as seguintes características técnicas.
• Tensão de Operação: 12 a 50 Vcc;
• Corrente Máxima: 10 A;
• Potência Máxima Nominal: 250 W.
Deve-se mudar o interruptor de escolha de modo de operação do amplificador para
controle por corrente (Figura 39), já que este é o modo de comunicação utilizado pela
52
PCI-7344. Destaca-se que este amplificador tem proteção contra temperatura excessiva e
curto-circuito nos enrolamentos do motor.
Figura 39 – Escolha do tipo de operação para modo corrente.
2.10 LABVIEW
O software de acionamento da articulação robótica foi desenvolvido a partir da
plataforma LabVIEW, a qual possui uma biblioteca dedicada exclusivamente ao acionamento
e controle de movimento de motores. A partir de uma linguagem gráfica, conhecida como
Linguagem G, seu ambiente de programação é composto por duas telas de interface. Uma
delas é o diagrama de blocos (tela de programação), a outra é o painel de controle, pela qual é
realizada a interface com o usuário.
A figura a seguir é referente a um exemplo da biblioteca do LabVIEW, cuja função é
monitorar o movimento de um eixo. Seus dados de entrada exigidos são: a placa de controle
de movimento, o eixo a ser movido e em qual posição (pontos de encoder) deverá parar. A
leitura de posições é indicada por uma régua ao mesmo tempo em que é realizado o
movimento.
Figura 40 – Painel de controle.
O diagrama de blocos do exemplo mostrado na Figura 41 está representada na
seguinte figura:
53
Figura 41 – Diagrama de blocos.
A Tabela 3 mostra as funções desenvolvidas pelos blocos compõem este VI6, ou
Instrumento Virtual.
Tabela 3 – Descrição das funções dos blocos utilizados no exemplo.
Configura o tipo de operação para o movimento com os parâmetros escolhidos pelo
usuário. A forma de execução pode ser escolhida como: posição absoluta, posição
relativa, velocidade, posição modular, contorno absoluto e contorno relativo.
Carrega a posição a ser atingida pelo eixo escolhido.
Inicia o movimento do eixo escolhido.
Lê a posição de um eixo.
Verifica se o movimento atinge a posição desejada. Caso afirmativo faz o eixo parar e
permite que as operações posteriores sejam realizadas.
Pára o movimento do eixo conforme a desaceleração escolhida.
Avalia os erros ocorridos no movimento.
6 VI: Termo utilizado para referenciar programas na linguagem de programação LabVIEW.
54
CAPÍTULO 3
3. PROGRAMA DE GERAÇÃO E EXECUÇÃO DE TRAJETÓRIAS
O software desenvolvido em LabVIEW baseia-se na aquisição de posições de
encoders. Sua função é interpretar os valores lidos para utilizá-los em cálculos de posição,
deslocamento e movimentar um robô juntamente com seu simulador.
O controle do posicionamento dos eixos é feito através de uma PCM da National
Instruments, modelo PCI-7344, com capacidade de controle de quatro eixos simultaneamente.
Esta placa recebe os dados de posicionamento e transfere um sinal de comando para o
amplificador de potência.
3.1 PARÂMETROS FIXOS
Alguns parâmetros de hardware e software são definidos previamente e não podem ser
modificados. A identificação da PCM instalada no computador é o principal parâmetro de
hardware, é especificado como Board ID e permanece sempre na posição 1 para
computadores que tenham apenas uma placa de controle.
Outros parâmetros estão disponíveis apenas no diagrama de blocos e devem ser
alterados somente no caso de alguma nova especificação no projeto do robô, como é o caso do
número de pontos (counts) por volta dos encoders e redimensionamento do robô.
3.2 PARÂMETROS VARIÁVEIS
Os parâmetros variáveis estão dispostos em cinco sub-painéis e podem ser alterados de
acordo com a preferência do usuário. A seqüência dos movimentos é feita por um cluster que
executa o movimento na seqüência escolhida pelo usuário no painel de controle. Nele, além
55
da Board ID, o usuário deve digitar o eixo a ser movimentado, a velocidade, a aceleração e a
posição absoluta desejada para o eixo.
3.3 SEQUÊNCIA DE EXECUÇÃO
Primeiramente, antes de todas as etapas, o software entra em funcionamento
(Visualizado na Figura 42 e Figura 43) e faz a inicialização em zero de leitores de dados. Em
seguida começa a execução de um laço while loop (2) que tem por função acionar uma
estrutura case (3), a qual aguarda um clique com o mouse sobre o botão “Iniciar Movimento”.
Esse clique deve tornar verdadeiro o requisito da estrutura case (3) que permite a leitura dos
dados inseridos pelo usuário e envia-os para dentro de um novo laço while loop (4).
O while loop (4) dá início à seqüência de movimentos desejada pelo usuário até que
sejam concluídos. As aquisições de posição são realizadas dentro do while loop (5) que
distribui os dados para os dois principais conjuntos do programa: simulação de movimento e
cálculo de posicionamento.
Todo este processo pode ser interrompido a qualquer momento se for pressionado o
botão “Sair” do painel de controle ou se for detectado algum erro na execução do programa.
Com este tipo de parada o software perderá os dados registrados e reiniciará em zero. Caso
haja necessidade de parar um movimento sem perder os dados deve-se clicar em “Stop”.
Nesse caso, o motor corrente pára e pode ter seu movimento reiniciado com os valores do
ponto em que parou através de um clique em “Iniciar Movimento”.
Figura 42 – Seqüência de execução (diagrama de blocos).
(4) (3)
(2)
(5)
(1)
56
Figura 43 – Seqüência de execução (painel de controle).
3.4 INTERFACE HOMEM-MÁQUINA (IHM)
Os pontos principais para o modelamento da IHM foram a praticidade e a simplicidade
na utilização. Algumas instruções foram colocadas com o intuito de ajudar o usuário nas
primeiras operações: ao rodar o programa há necessidade de ativar os sub-painéis com o
duplo clique do mouse ou automaticamente com a inserção dos parâmetros desejados.
Estando o programa em execução deve-se clicar sobre o botão “Iniciar Movimento”
para dar início ao movimento. Para parar a execução repentinamente o usuário deve utilizar os
botões “Stop” ou “Sair”, sendo que o primeiro possibilita continuar a execução do ponto onde
foi parado sem a perda de dados enquanto que o segundo perde todos os dados e pára
inclusive a execução do programa. O botão “Sair” é recomendado para os casos que
necessitem zerar o leitor.
O posicionamento do efetuador é indicado em milímetros, na forma x, y e z com
relação a base inicial adotada e atualizado simultaneamente com o movimento. Os
deslocamentos nas direções x, y e z são indicados na mesma forma, conforme é mostrado no
painel de controle na Figura 44:
(2)
(1)
57
Figura 44 – Painel de controle do VI principal.
Um simulador de movimentos com dimensões baseadas no projeto da articulação foi
criado para permitir ao usuário monitorar seus ensaios através da tela do computador. As
Figuras 45 a 49 mostram uma seqüência de deslocamento de noventa graus nos eixos �,
� e �.
Figura 45 – Início do movimento do eixo �.
58
Figura 46 – Início do movimento do eixo �.
Figura 47 – Início do movimento do eixo �.
Figura 48 – Posição após o término dos três movimentos.
59
3.5 DIAGRAMA DE BLOCOS (PROGRAMA)
Como explicado anteriormente, o diagrama de blocos corresponde ao programa que,
quando executado, tem suas propriedades apresentadas no painel de controle. Para facilitar a
visualização dos VI`s no LabVIEW usualmente emprega-se o propósito de construir VI`s que
caibam completamente em apenas uma tela de monitor, como na Figura 49, mas para tanto
pode ser necessário criar SubVI`s.
Um SubVI é um conjunto de blocos agrupados dentro de apenas um ícone, que tem
sua execução realizada dentro de um VI principal. Esta técnica permite que o programador
tenha um melhor aproveitamento do espaço de trabalho e facilita alterações de sub-rotinas,
pois qualquer alteração em um SubVI é sentida em todos os pontos onde o mesmo é chamado.
Figura 49 – Diagrama de blocos do VI principal.
60
3.5.1 SUBVI DE CRIAÇÃO DA INTERFACE GRÁFICA
O LabVIEW permite que o programador crie desenho através do fornecimento de
pontos delimitadores de superfícies.
O SubVI da Figura 50 mostra o diagrama de blocos de construção das várias partes do
simulador, sendo que para os paralelepípedos foi necessário informar os vértices com seus
respectivos pontos médios e suas coordenadas para posicionamento no local de simulação. No
caso dos cilindros a seqüência foi a mesma, mas um for loop é usado para gerar pontos em
forma de circunferência.
Na medida em que são criados os pontos delimitadores, os mesmos são colocados em
vetores e transferidos para um SubVI que tem a finalidade de traçar superfícies por esses
pontos.
Figura 50 – SubVI que cria os componentes do robô.
A criação dos pontos é feita fora do loop de leitura para que o desenho seja criado
apenas uma vez e quando o movimento iniciar o simulador tem seus pontos girados com o
61
auxílio das matrizes de rotação. O efetuador tem um SubVI (Figura 51) independente que o
refaz a cada mudança de posição. Esta maneira evita a criação de um ponto de referência
individual, pois precisa-se que o giro seja feito em torno de sua ponta e não do seu centro.
Figura 51 – SubVI que cria do efetuador.
3.5.2 SUBVI DE INTERFACE GRÁFICA NO SIMULADOR
Para a simulação da articulação robótica e da Unidade de Medição Inercial (IMU)
utilizou-se de Plots que têm a finalidade de traçar linhas ou superfícies entre pontos. A
simulação uniu um total de quinze Plots num único sistema 3D, sendo utilizados: cinco Plots
para o mecanismo do robô, três Plots para os giroscópios da IMU, um Plot para o bloco da
IMU, três Plots para criar o sistema de coordenadas fixo e três Plots para o sistema de
coordenadas móvel. Esses Plots podem ser observados na Figura 52 nesta seqüência.
62
Figura 52 – SubVI que mostra a posição do simulador no painel.
3.5.3 SUBVI DA MATRIZ DE ROTAÇÃO
Conforme a teoria vista no capítulo anterior, sabe-se há necessidade de um SubVI que
calcule as matrizes de rotação ao longo do movimento para que façam o simulador ser
movido numa forma real. A Figura 53 mostra o SubVI que calcula as matrizes de rotação
através da Equação (2.19).
63
Figura 53 – SubVI que calcula a matriz de rotação de Euler.
3.5.4 SUBVI DAS EQUAÇÕES DE POSIÇÃO
As Equações (2.3), (2.4) e (2.5) calculadas no segundo capítulo foram colocadas numa
SubVI (Figura 54) para gerar as coordenadas a serem seguidas pelo simulador. Estas
coordenadas também são mostradas na tela para indicar a posição atual do simulador.
Figura 54 – SubVI que calcula as posições do simulador.
64
3.5.5 SUBVI DAS EQUAÇÕES DE MOVIMENTO
Para informar os vários deslocamentos (�d) foram necessários dois novos SubVIs
(Figura 55 e Figura 56) que calculam o deslocamento do efetuador conforme os ângulos �, � e
�. A primeira foi destinada especialmente a cálculos com as rotações de � e a segunda para
rotações de �.
Figura 55 – SubVI que calcula deslocamentos causadas por �.
Figura 56 – SubVI que calcula deslocamentos causadas por �.
3.5.6 SUBVI DE ROTAÇÃO DO SIMULADOR
O desenho do simulador tem todos os pontos multiplicados pelas matrizes de rotação,
desta forma o simulador se move da mesma maneira que o robô. Para esta operação foram
criados SubVIs que recebem esses pontos e os agrupa em matrizes para que todos sejam
multiplicados pela matrizes de rotação.
Os diagramas de blocos destes SubVIs de rotação são demasiadamente grandes e
dispensáveis neste trabalho, então preferiu-se mostrar apenas seus ícones (Figura 57).
65
Figura 57 – Blocos das SubVI`s que movimentam o simulador.
3.5.7 CÁLCULO DAS RELAÇÕES DE TRANSMISSÃO
Os redutores utilizados nas transmissões entre os servomotores e as juntas fazem com
que cada volta do eixo do motor, ou do encoder nele instalado, não corresponda a uma volta
da junta correspondente no robô. Isto torna possível utilizar motores menores e diminuem
erros de posicionamento, por outro lado torna os movimentos mais lentos. Os cálculos das
relações de transmissão são indispensáveis no programa para que suas leituras indiquem o que
realmente está acontecendo no robô. Para conhecer o movimento efetivo do robô foi criada a
estrutura case da Figura 58 que utiliza os valores apresentados na página 27.
Figura 58 – Cálculo da redução para o eixo �.
O valor 360 colocado junto às operações matemáticas serve apenas para fazer a
conversão de rotação para graus.
Em decorrência dos movimentos serem efetuados em seqüência, notou-se que a leitura
das distâncias percorridas dava um salto em cada vez que o botão “Iniciar Movimento” era
pressionado. Descobriu-se que o programa zerava seu marcador de leitura de encoder e então
voltava ao valor anterior e isto era entendido como um delta deslocamento para o programa.
Para solucionar este problema foi utilizada a mesma estrutura case de cálculo das relações de
transmissão. Basicamente é calculado o valor que entra indevidamente nos cálculos e então é
retirado do valor indicado pelo programa (Ver Figura 59 e Figura 60).
66
Figura 59 – Cálculo da redução para o eixo �.
Figura 60 – Cálculo da redução para o eixo �.
Para o eixo móvel z não houve necessidade de descontar esse valor, chamado de
“Gap” no programa, porque o eixo z sempre está sempre perpendicular ao movimento e,
portanto, nunca terá deslocamento na sua direção.
67
CAPÍTULO 4
4. AVALIAÇÃO
4.1 AJUSTES DE CONTROLE
Como foi comentado no segundo capítulo, sabe-se que quando o ganho do sistema é
ajustado para atender à especificação da resposta transitória ocorre a deterioração do
desempenho em regime permanente, uma vez que a resposta transitória e a constante de erro
estático estão relacionados com o ganho. Quanto maior o ganho, menor o erro em regime
permanente, porém maior será a ultrapassagem percentual.
A solução para esses problemas foi a utilização de um controlador Proporcional
Derivativo Integrativo (PID). Assim, a resposta é melhorada com a introdução da derivação e
o erro é melhorado com a introdução de uma integração no percurso direto.
Com base nisso, optou-se por melhorar a resposta transitória antes do erro em regime
permanente. O principal enfoque foi deixar o sistema ajustado para um posicionamento
preciso, mas sem grandes perdas de velocidade de resposta.
O programa Measurement & Automation, já apresentado, possui uma função (Servo
Tune) de calibração automática de motores através dos ajustes dos parâmetros Kp (ganho
proporcional), Kd (ganho derivativo) e Ki (ganho integrativo). Em cada motor foi utilizada
primeiramente esta função, Servo Tune, para que servisse como referência inicial para os
ajustes manuais.
O ajuste manual é baseado em valores arbitrários de Kp, Kd e Ki de modo a atingir a
resposta desejada para o sistema, conforme a resposta a uma onda em degrau. As figuras a
seguir mostram os valores obtidos para os três servomotores.
68
Figura 61 – Parâmetros de controle para o eixo �.
Como pode-se observar na Figura 61 os valores de ganho proporcional, derivativo e
integrativo para o eixo � são:
• Kp = 89;
• Kd = 439;
• Ki = 25.
Da mesma forma observa-se os valores encontrados para o eixo � (Figura 62), que são:
• Kp = 90;
• Kd = 425;
• Ki = 26.
69
Figura 62 – Parâmetros de controle para o eixo �.
Finalmente encontra-se os valores de ajuste para o eixo � (Figura 63), o qual
movimenta todo o conjunto.
• Kp = 90;
• Kd = 445;
• Ki = 25.
Figura 63 – Parâmetros de controle para o eixo �.
70
Com o intuito de melhorar a visualização e colocar uma carga em movimento, foi
fixado um objeto no efetuador com dimensões semelhantes às da Unidade de Medição
Inercial (Figura 64).
Figura 64 – Punho do Roboturb com um objeto no efetuador .
4.2 RESPOSTA AO DEGRAU
Conforme explicado anteriormente, a adequação do movimento é feita através do
programa Measurement & Automation com a aplicação de um degrau com o número de
pontos de encoder escolhida pelo usuário
Como pode ser observado na Figura 65, o programa monitora a forma com que a
requisição do movimento em degrau é feita, neste caso 1000 pontos de encoder, e o
comportamento do eixo frente a este degrau. Para o caso do eixo �, o valor de ultrapassagem
percentual ficou em 30%, em contrapartida o sistema teve uma resposta relativamente rápida
e ainda conseguiu atingir a posição esperada. Os valores encontrados foram:
• Tempo de assentamento = 591 milisegundos;
• Tempo de subida = 27 milisegundos;
• Tempo de pico = 45 milisegundos;
71
• Ultrapassagem percentual = 30%.
Figura 65 – Resposta ao degrau do eixo �.
Os resultados para o eixo � (Figura 66) foram melhores que os do eixo �, pois tem-se
uma resposta mais rápida (tempo de subida menor) com ultrapassagem percentual menor e
ainda com menor tempo de assentamento. Os valores obtidos foram:
• Tempo de assentamento = 579 milisegundos;
• Tempo de subida = 18 milisegundos;
• Tempo de pico = 30 milisegundos;
• Ultrapassagem percentual = 20%.
72
Figura 66 – Resposta ao degrau do eixo �.
A curva alcançada para o eixo � (Figura 67) ficou bastante semelhante a que foi
encontrada para o eixo �. As diferenças notáveis são a ultrapassagem percentual e a forma de
assentamento da onda. Percebe-se que o eixo � tem uma atenuação mais lenta devida a maior
inércia do conjunto movido pelo mesmo.
Figura 67 – Resposta ao degrau do eixo �.
73
• Tempo de assentamento = 594 milisegundos;
• Tempo de subida = 27 milisegundos;
• Tempo de pico = 42 milisegundos;
• Ultrapassagem percentual = 35%.
Em suma, nota-se que o comportamento do punho robótico, quando submetido ao
degrau, depende da inércia da massa colocada em movimento. Assim, deve haver um novo
ajuste dos parâmetros PID quando forem feitas significativas mudanças na carga manipulada.
74
CAPÍTULO 5
5. CONCLUSÕES
O controle de posição através do computador é uma ferramenta bastante moderna e
confiável para qualquer sistema de posição que necessite de qualidade e precisão. Sua
flexibilidade e facilidade para alterações de parâmetros são suas principais virtudes.
Durante a realização deste trabalho foi necessária a montagem eletroeletrônica de três
servomotores com os demais componentes de controle para que o software fosse testado
durante o seu desenvolvimento. Também foram feitas pesquisas sobre o funcionamento de
giroscópios para assegurar que o modelo de articulação robótica escolhida atendesse à
característica principal necessária aos ensaios, ou seja, movimento de rotação em torno de três
eixos ortogonais com precisão.
Com a articulação desenvolvida pode-se realizar ensaios de calibração em giroscópios,
bem como verificar a ortogonalidade dos giroscópios de uma Unidade de Medição Inercial
(IMU). Os encoders, as reduções e a ausência de folgas nas transmissões foram fatores
preponderantes para que o robô tivesse a precisão adequada.
A aprendizagem da linguagem de programação LabVIEW mostrou uma curva de
crescimento exponencial. Os primeiros passos foram bastante lentos, mas, após a
familiarização com suas ferramentas, acabou por facilitar e acelerar o desenvolvimento do
trabalho. Sua utilização em conjunto com a linha de equipamentos da National Instruments
simplificou o acionamento dos servomotores. A possibilidade de construir formas geométricas
foi bastante importante, pois com a criação do simulador o usuário tem uma ferramenta muito
útil para o monitoramento de seus ensaios.
O controle de cada eixo teve seus ganhos Kp, Ki e Kd ajustados pelo programa
Measurement & Automation, cuja função principal é utilizar esses valores para inicializar a
placa PCM juntamente com as configurações parametrizadas pelo usuário. Este ajuste deve
ser realizado sempre que a carga movimentada tiver significativa mudança, pois a inércia da
carga tem influência substancial sobre a performance do punho.
O punho mostrou uma boa controlabilidade quando submetido a uma entrada em
degrau. Para isso foram feitos ajustes de controle PID levando em consideração a velocidade
75
de resposta e o erro em regime permanente, obtendo-se como resultado um robô com
ultrapassagem percentual e tempo de assentamento elevados.
Percebeu-se que as matrizes de rotação de Euler são muito úteis quando se trata de
rotações em três dimensões porque indicam com segurança a orientação de um objeto mesmo
após diversos movimentos rotacionais.
SUGESTÕES PARA TRABALHOS FUTUROS
Os conceitos desenvolvidos aqui podem ser utilizados como ponto de partida para o
desenvolvimento de diversas outras frentes ligadas à robótica.
• Programa de aquisição de dados de giroscópios e acelerômetros para
verificação computadorizada de ortogonalidade entre giroscópios e
acelerômetros de Blocos de Medição Inercial.
• Acionamento da articulação robótica com a utilização de cinemática inversa
para um movimento simultâneo dos eixos.
• Desenvolvimento de um programa que controle as demais juntas do Roboturb
para utilização em ensaios com deslocamentos lineares, circulares e
helicoidais.
• Propor e executar rotinas de ensaios para giroscópios e acelerômetros com base
em normas.
76
REFERÊNCIAS
ABRANTES, Antonio. Pig Geométrico. Rio de Janeiro, [s.d.]. Disponível em:
<http://inventabrasilnet.t5.com.br/pigeomet.htm>. Acesso em: 06 Set. 2006.
ALENCAR NETO, Álvaro P.; STRAUHS, Faimara R.; WALENIA, Paulo S. Normas de
Formatação e Apresentação de Trabalhos Acadêmicos. Curitiba: Departamento
Acadêmico de Eletrotécnica da Universidade Tecnológica Federal do Paraná, 2004.
Disponível em: <http://br.groups.yahoo.com/group/Projeto_Final_2006b/>. Acesso em:
12 Set. 2006.
EMMENDOERFER, Gustavo; RODRIGUES, Hudson Augusto; PENA, Jailson Silvério.
Readequação de um Sistema de Medição da Curvatura de um Trilho de Robô Através
de Giroscópios. 2006. 130f. Trabalho de Conclusão de Curso - Curso de Graduação em
Engenharia Industrial Eletrotécnica, Universidade Tecnológica Federal do Paraná, Curitiba,
2006.
FIZOPTIKA PRODUCTS. VG949PD. Moscow, 2004. 1 p. Folha de dados. Disponível em:
<http://www.fizoptika.ru/products/catalog/949pd_mount.pdf>. Acesso em: 20 Nov. 2006.
KAPP, Walter. Projeto Roboturb. Curitiba: Lactec, 2001. Memória de Cálculo.
KOSOW, Irving L. Máquinas Elétricas e Transformadores. 13. ed. Rio de Janeiro: Globo
Editora, 1998.
LACTEC. Projeto Roboturb. Curitiba: Lactec, 2001. Desenhos Mecânicos.
NISE, Norman S. Engenharia de Sistemas de Controle. 3. ed. Rio de Janeiro: LTC Editora,
2002.
PAZOS, Fernando. Automação de Sistemas & Robótica. 1. ed. Rio de Janeiro: Axcel
Books, 2002.
77
PINTO, Felipe; KRAUSE, Luiz Felipe. Automatização de Posicionamento em uma Mesa
XY com comando numérico Computadorizado (CNC). 2006. 101f. Trabalho de Conclusão
de Curso - Curso de Graduação em Engenharia Industrial Eletrotécnica, Universidade
Tecnológica Federal do Paraná, Curitiba, 2006.
SANTOS, Winderson Eugenio. Sistema para identificação da curvatura na junta
prismática de um robô via quaternions. 2003. 172f. Tese (Doutorado) – Curso de Pós-
graduação em Engenharia Mecânica, Universidade Federal de Santa Catarina, Florianópolis,
2003.