You are on page 1of 5

HOME

NOTCIAS

DOWNLOADS
CONTATO
Buscar...

ARTIGOS

EDIES

APRESENTAO

Anuncie

EDUCAO

Buscar...

Artigos
Tw eetar

27 /06/1 3 1 1 :26

A Funo ATAN2

Em Robtica, bem como em outros sistemas dinmicos, comum o uso de funes trigonomtricas nos
programas de controle para os clculos de Cinemtica. Mas uma funo muito til no costuma ser
abordada nos cursos tcnicos e, at mesmo, nos cursos de Engenharia. Trata-se da funo arco tangente de
dois argumentos, ou simplesmente, ATan2
Para mostrar a importncia da funo ATan2 ser usado um simples modelo composto apenas por um elo e
uma junta rotativ a, ou seja, com apenas um grau de liberdade (GDL ou DOF Degree of Freedom). No
modelo que est apresentado na figura 1 nota-se que o brao, de comprimento R, gira em torno da origem
do sistema de coordenadas do plano XY . Os clculos que sero apresentados posteriormente iro
considerar R=1 .

F.1 Modelo com 1 grau de liberdade rotativo.


O ponto de interesse a ex tremidade liv re que, dependendo do ngulo, alcana diferentes coordenadas (x ,
y ). O clculo da cinemtica direta triv ial e est apresentado no quadro 1. Dado um v alor de obtm-se os
respectiv os v alores de x e y . Dev e-se considerar que neste caso as coordenadas que podem ser atingidas
esto restritas a uma circunferncia.

Assine

Registre-se

ENTRAR

Q.1 Equaes da cinemtica direta.


Cinem tica Inv ersa
O objetiv o da cinemtica inv ersa obter o ngulo a partir da coordenada (x , y ). Nesta situao comum a
utilizao da funo arco tangente, ou simplesmente ATan, como mostra o quadro 2.

Q.2 Equao da cinemtica inv ersa.


Infelizmente, com esta equao, s sero obtidos resultados v lidos quando x > 0, gerando v alores de
na faix a de -90 90 (no incluindo estes v alores). A figura 2 mostra dois ex emplos onde o clculo ir
falhar. O primeiro caso gera um erro matemtico dev ido a ocorrncia de uma div iso por zero. O segundo
caso mostra um ngulo de 1 1 5 que, quando calculado, apresenta-se como sendo -65.

F.2 Exemplos de falhas no uso de ATan.

Fica claro que s possv el obter o v alor correto do ngulo se o brao estiv er no primeiro, ou no quarto
quadrante do circulo trigonomtrico, e no esteja totalmente na v ertical.
Uma alternativ a para contornar esta situao utilizar, por ex emplo, a funo arco co-seno, como mostra
o quadro 3, onde . Essa abordagem foi utilizada no equacionamento ex ibido no artigo "Conhecendo o
Rob SCARA" (edio n 1 3, pgina 36, quadro 2).

Q.3 Equao da cinemtica inv ersa alternativ a.


Insistindo no Arco da T angente

Com uma anlise um pouco mais atenta nos resultados de = ATan(y /x ), nota-se que uma posio no
segundo quadrante ser calculada como se estiv esse no quarto quadrante. De forma similar, se a posio
real for no terceiro quadrante a resposta ser apresentada como sendo de um ngulo do primeiro
quadrante. Sabendo-se destes fatos possv el elaborar um algoritmo que tome os dev idos cuidados em
cada caso. O quadro 4 apresenta uma sugesto de algoritmo.
Ler x e y
Se x >0 ento ngulo=ATan(y /x )
Se x =0 ento
Caso y >0 faa ngulo=90
Caso y <0 faa ngulo=-90
Caso y =0 faa ngulo=ERRO
Se x <0 ento
Caso y 0 faa ngulo=ATan(y /x )+1 80
Caso y <0 faa ngulo=ATan(y /x )-1 80
Imprime ngulo
Q.4 Algoritmo para cinemtica inversa.

O algoritmo apresentado pode ser adaptado em qualquer linguagem de programao. O ideal criar uma
funo que receba os v alores de x e y e retorne o v alor do ngulo. As linguagens costumam calcular
ngulos em radianos e isso obriga a transformar os v alores do algoritmo que esto em graus (para
simplificar o entendimento). A tabela 1 compara os v alores obtidos com as funes citadas e os v alores
em v ermelho indicam que o resultado obtido est errado.

T.1 Comparao dos resultados das funes ATan e ATan2.


A Funo AT AN2
Conhecendo as aplicaes do algoritmo citado, alguns desenv olv edores j fornecem a funo arco
tangente de dois argumentos em suas linguagens. Por ex emplo, o Microsoft Ex cel possui a funo ATan2
implementada, bem como v erses de Pascal e C.
O uso da funo fornecida pelo desenv olv edor da linguagem permite a ex ecuo dos clculos de forma
mais rpida. No controle de mquinas so ex ecutados centenas ou milhares de clculos por segundo e
qualquer economia de tempo sempre muito bem v inda. Apenas a ttulo de comparao pode-se imaginar
que a ex presso do Quadro 3 composta por 6 etapas de clculo:
Clculo 1 : quadrado de x x 2;
Clculo 2: quadrado de y y 2;
Clculo 3: soma dos resultados do Clculo 1 e Clculo 2 x 2+y 2;
Clculo 4: raiz quadrada do resultado do Clculo 3 ;
Clculo 5: div iso de x pelo resultado do Clculo 4 ;
Clculo 6: arco co-seno do resultado do Clculo 5 ;
Mas dev e-se ter uma ateno especial ao usar a funo ATan2, uma v ez que parece no hav er uma
padronizao referente ordem dos parmetros. Pode-se encontrar ATan2(x , y ) e tambm ATan2(y , x ) e
dessa forma a consulta ao help ou documentao imprescindv el.

T ratam ento de Erro


Quando uma funo pode gerar um erro, ex tremamente importante que o programa tome as dev idas
precaues para que tal erro no v enha a ocorrer. Resultados imprev isv eis podem ser obtidos no caso de
um programa de controle de um rob ou outro equipamento trav ar dev ido a um erro. Pode tratar-se
simplesmente do congelamento dos mov imentos, sem maiores danos ou, numa hiptese menos fav orv el,
iniciar uma seqncia de mov imentos desgov ernados com alta probabilidade de danos materiais e

humanos.
No ex emplo apresentado, com apenas um grau de liberdade, no h como ocorrer a situao de x =0 e y =0
simultaneamente. Nesse caso, interessante v erificar essa situao antes de passar os v alores para a
funo ATan2 e paralisar, com segurana, a ex ecuo do programa e do equipamento.
Mas h situaes onde as prov idncias a serem tomadas so outras. Observ e o esquema apresentado pela
figura 3 que ilustra um rob com dois graus de liberdade. Este rob pode atingir o centro se os dois elos
do brao tiv erem o mesmo comprimento (L1 =L2). Pode, por ex emplo, tratar-se de um equipamento para
ser fix ado no teto do local de operao e que tem como rea de trabalho um crculo completo, como
mostra a figura 4.

F.3 Esquema de brao com dois graus de liberdade.

F.4 Rob com brao de dois graus de liberdade.


Para um equipamento com esta configurao h infinitas solues quando x =0 e y =0. Nesta posio, temse o ngulo 2=1 80 e o ngulo 1 =qualquer. Uma estratgia seria mov er 1 para uma posio fix a prdeterminada. Uma opo melhor no mov er 1 quando a meta for x =0 e y =0, ou seja, L1 ficar esttico
enquanto apenas L2 ex ecuta seu mov imento.
Concluso
O objetiv o deste artigo foi apresentar a funo ATan2 que permite desenv olv er programas de controle com
menos linhas de programao. As v antagens so a diminuio de erros lgicos e ex ecuo mais rpida do
programa. Para o caso da linguagem utilizada no possuir a funo ATan2 o artigo mostra alternativ as,
como a funo ACos ou o uso do algoritmo apresentado, baseado na funo ATan.
Referncias
Craig, J. J., Introduction to Robotics Mechanics & Control, Addison-Wesley Publishing Company , 1 955.
Help do Microsoft Ex cel.
*Originalmente publicado na rev ista Mecatrnica Atual - N1 7 - Set/04

Copyright 2013 Editora Saber Ltda. Todos os direitos reservados.


Rua Jacinto Jos de Arajo, 315 - Tatuap - CEP: 03087-020 - So Paulo - SP - Brasil
Tel.: +55 11 2095-5333 - Horrio de Expediente: 08:30 s 17:30 - (segunda sexta-feira)