artigo a função tan2

5
HOME NOTÍCIAS ARTIGOS EDIÇÕES DOWNLOADS APRESENTAÇÃO CONTATO EDUCAÇÃO Anuncie Assine Registre-se Buscar... Buscar... ENTRAR 27/06/13 - 11:26 Tweetar 0 0 Artigos A Função ATAN2 Em Robótica, bem como em outros sistemas dinâmicos, é comum o uso de funções trigonométricas nos programas de controle para os cálculos de Cinemática. Mas uma função muito útil não costuma ser abordada nos cursos técnicos e, até mesmo, nos cursos de Engenharia. Trata-se da função arco tangente de dois argumentos, ou simplesmente, ATan2 Para mostrar a importância da função ATan2 será usado um simples modelo composto apenas por um elo e uma junta rotativa, 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 braço, de comprimento R, gira em torno da origem do sistema de coordenadas do plano XY. Os cálculos que serão apresentados posteriormente irão considerar R=1. F.1 – Modelo com 1 grau de liberdade rotativo. O ponto de interesse é a extremidade livre que, dependendo do ângulo, alcança diferentes coordenadas (x, y). O cálculo da cinemática direta é trivial e está apresentado no quadro 1. Dado um valor de obtém-se os respectivos valores de x e y. Deve-se considerar que neste caso as coordenadas que podem ser atingidas estão restritas a uma circunferência.

Upload: ednaldo-silva

Post on 18-Feb-2016

215 views

Category:

Documents


0 download

DESCRIPTION

Artigo a Função Tan2

TRANSCRIPT

Page 1: Artigo a Função Tan2

HOME NOTÍCIAS ARTIGOS EDIÇÕES

DOWNLOADS APRESENTAÇÃO

CONTATO EDUCAÇÃO

Anuncie Assine Registre-se

Buscar... Buscar...

ENTRAR

27 /06/13 -

11:26

Tweetar 0 0

Artigos

A Função ATAN2

Em Robótica, bem como em outros sistemas dinâmicos, é comum o uso de funções trigonométricas nos

programas de controle para os cálculos de Cinemática. Mas uma função muito útil não costuma ser

abordada nos cursos técnicos e, até mesmo, nos cursos de Engenharia. Trata-se da função arco tangente de

dois argumentos, ou simplesmente, ATan2

Para mostrar a importância da função ATan2 será usado um simples modelo composto apenas por um elo e

uma junta rotativa, 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 braço, de comprimento R, gira em torno da origem

do sistema de coordenadas do plano XY . Os cálculos que serão apresentados posteriormente irão

considerar R=1.

F.1 – Modelo com 1 grau de liberdade rotativo.

O ponto de interesse é a extremidade livre que, dependendo do ângulo, alcança diferentes coordenadas (x ,

y ). O cálculo da cinemática direta é triv ial e está apresentado no quadro 1. Dado um valor de obtém-se os

respectivos valores de x e y . Deve-se considerar que neste caso as coordenadas que podem ser atingidas

estão restritas a uma circunferência.

Page 2: Artigo a Função Tan2

Q.1 – Equações da cinemática direta.

Cinem ática Inversa

O objetivo da cinemática inversa é obter o ângulo a partir da coordenada (x , y ). Nesta situação é comum a

utilização da função arco tangente, ou simplesmente ATan, como mostra o quadro 2.

Q.2 – Equação da cinemática inversa.

Infelizmente, com esta equação, só serão obtidos resultados válidos quando x > 0, gerando valores de

na faixa de -90º à 90º (não incluindo estes valores). A figura 2 mostra dois exemplos onde o cálculo irá

falhar. O primeiro caso gera um erro matemático dev ido a ocorrência de uma div isão por zero. O segundo

caso mostra um ângulo de 115º que, quando calculado, apresenta-se como sendo -65º.

Page 3: Artigo a Função Tan2

F.2 – Exemplos de falhas no uso de ATan.

Fica claro que só é possível obter o valor correto do ângulo se o braço estiver no primeiro, ou no quarto

quadrante do circulo trigonométrico, e não esteja totalmente na vertical.

Uma alternativa para contornar esta situação é utilizar, por exemplo, a função arco co-seno, como mostra

o quadro 3, onde . Essa abordagem foi utilizada no equacionamento exibido no artigo "Conhecendo o

Robô SCARA" (edição nº 13, página 36, quadro 2).

Q.3 – Equação da cinemática inversa alternativa.

Insistindo no Arco da T angente

Page 4: Artigo a Função Tan2

Com uma análise um pouco mais atenta nos resultados de = ATan(y /x), nota-se que uma posição no

segundo quadrante será calculada como se estivesse no quarto quadrante. De forma similar, se a posição

real for no terceiro quadrante a resposta será apresentada como sendo de um ângulo do primeiro

quadrante. Sabendo-se destes fatos é possível elaborar um algoritmo que tome os dev idos cuidados em

cada caso. O quadro 4 apresenta uma sugestão de algoritmo.

Ler x e y

Se x>0 então Ângulo=ATan(y /x)

Se x=0 então

Caso y >0 faça Ângulo=90º

Caso y <0 faça Ângulo=-90º

Caso y =0 faça Ângulo=ERRO

Se x<0 então

Caso y ≥0 faça Ângulo=ATan(y /x)+180º

Caso y <0 faça Ângulo=ATan(y /x)-180º

Imprime Ângulo

Q.4 – Algoritmo para cinemática inversa.

O algoritmo apresentado pode ser adaptado em qualquer linguagem de programação. O ideal é criar uma

função que receba os valores de x e y e retorne o valor do ângulo. As linguagens costumam calcular

ângulos em radianos e isso obriga a transformar os valores do algoritmo que estão em graus (para

simplificar o entendimento). A tabela 1 compara os valores obtidos com as funções citadas e os valores

em vermelho indicam que o resultado obtido está errado.

T.1 – Comparação dos resultados das funções ATan e ATan2.

A Função AT AN2

Conhecendo as aplicações do algoritmo citado, alguns desenvolvedores já fornecem a função arco

tangente de dois argumentos em suas linguagens. Por exemplo, o Microsoft Excel possui a função ATan2

implementada, bem como versões de Pascal e C.

O uso da função fornecida pelo desenvolvedor da linguagem permite a execução dos cálculos de forma

mais rápida. No controle de máquinas são executados centenas ou milhares de cálculos por segundo e

qualquer economia de tempo sempre é muito bem v inda. Apenas a título de comparação pode-se imaginar

que a expressão do Quadro 3 é composta por 6 etapas de cálculo:

Cálculo 1 : quadrado de x x2;

Cálculo 2: quadrado de y y 2;

Cálculo 3: soma dos resultados do Cálculo 1 e Cálculo 2 x2+y 2;

Cálculo 4: raiz quadrada do resultado do Cálculo 3 ;

Cálculo 5: div isão de x pelo resultado do Cálculo 4 ;

Cálculo 6: arco co-seno do resultado do Cálculo 5 ;

Mas deve-se ter uma atenção especial ao usar a função ATan2, uma vez que parece não haver uma

padronização referente à ordem dos parâmetros. Pode-se encontrar ATan2(x, y ) e também ATan2(y , x) e

dessa forma a consulta ao help ou à documentação é imprescindível.

T ratam ento de Erro

Quando uma função pode gerar um erro, é extremamente importante que o programa tome as dev idas

precauções para que tal erro não venha a ocorrer. Resultados imprev isíveis podem ser obtidos no caso de

um programa de controle de um robô ou outro equipamento travar dev ido a um erro. Pode tratar-se

simplesmente do congelamento dos movimentos, sem maiores danos ou, numa hipótese menos favorável,

iniciar uma seqüência de movimentos desgovernados com alta probabilidade de danos materiais e

Page 5: Artigo a Função Tan2

Copyright © 2013 Editora Saber Ltda. Todos os direitos reservados.

Rua Jacinto José de Araújo, 315 - Tatuapé - CEP: 03087-020 - São Paulo - SP - Brasil

Tel.: +55 11 2095-5333 - Horário de Expediente: 08:30 às 17:30 - (segunda à sexta-feira)

humanos.

No exemplo apresentado, com apenas um grau de liberdade, não há como ocorrer a situação de x=0 e y =0

simultaneamente. Nesse caso, é interessante verificar essa situação antes de passar os valores para a

função ATan2 e paralisar, com segurança, a execução do programa e do equipamento.

Mas há situações onde as prov idências a serem tomadas são outras. Observe 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 braço tiverem o mesmo comprimento (L1=L2). Pode, por exemplo, tratar-se de um equipamento para

ser fixado no teto do local de operação e que tem como área de trabalho um círculo completo, como

mostra a figura 4.

F.3 – Esquema de braço com dois graus de liberdade.

F.4 – Robô com braço de dois graus de liberdade.

Para um equipamento com esta configuração há infinitas soluções quando x=0 e y =0. Nesta posição, tem-

se o ângulo 2=180º e o ângulo 1=qualquer. Uma estratégia seria mover 1 para uma posição fixa pré-

determinada. Uma opção melhor é não mover 1 quando a meta for x=0 e y =0, ou seja, L1 ficará estático

enquanto apenas L2 executa seu movimento.

Conclusão

O objetivo deste artigo foi apresentar a função ATan2 que permite desenvolver programas de controle com

menos linhas de programação. As vantagens são a diminuição de erros lógicos e execução mais rápida do

programa. Para o caso da linguagem utilizada não possuir a função ATan2 o artigo mostra alternativas,

como a função ACos ou o uso do algoritmo apresentado, baseado na função ATan.

Referências

Craig, J. J., Introduction to Robotics – Mechanics & Control, Addison-Wesley Publishing Company , 1955.

Help do Microsoft Excel.

*Originalmente publicado na rev ista Mecatrônica Atual - Nº17 - Set/04