1 / 107

Robó tica

Robó tica. Prof. Reinaldo Bianchi Centro Universitário da FEI 2013. 5 a Aula. Parte A - Cinemática Inversa Numérica. Objetivos desta aula. Modelo cinemático inverso: Métodos analíticos (ou soluções fechadas): Geométrico (por Trigonometria). Algébrico. Métodos numéricos:

aleta
Télécharger la présentation

Robó tica

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013

  2. 5aAula Parte A - Cinemática Inversa Numérica

  3. Objetivos desta aula • Modelo cinemático inverso: • Métodos analíticos (ou soluções fechadas): • Geométrico (por Trigonometria). • Algébrico. • Métodos numéricos: • Modelo recursivo utilizando a matriz Jacobiana. • Matlab. • Exercícios.

  4. Objetivos desta aula Jávistona aula passada. • Modelo cinemático inverso: • Métodos analíticos (ou soluções fechadas): • Geométrico (por Trigonometria). • Algébrico. • Métodos numéricos: • Modelo recursivo utilizando a matriz Jacobiana. • Matlab.

  5. Relembrando a aula passada

  6. Cinemática Inversa K-1 (1 … n) (x, y, z, x, y, z)

  7. Cinemática Inversa • Como o próprio nome diz: • Como encontrar as posições das juntas dadas a posição e a orientação da ferramenta. • Problema complexo: • Planejamento de trajetória • Dinâmica.

  8. Cinemática Inversa • Enquanto a função f() é relativamente fácil de computar, f-1() geralmente não o é. • Pode ser solucionado de diversas maneiras: • Geometricamente. • Algebricamente. • Numericamente. • Maior problema é que podem existir: • Nenhuma solução. • Uma solução. • Múltiplas soluções.

  9. Soluções analíticas x numéricas • Soluções do problema da cinemática inversa podem ser classificadas em: • Analíticas (ou soluções fechadas): • Encontram uma solução exata através da inversão das equações de cinemática direta. • É possível apenas para problemas simples. • Numéricas: • Utilizam aproximação e diversas iterações para tentar convergir para a solução. • Tendem a ser mais genéricos e computacionalmente mais custosos.

  10. Soluções de forma fechada • “Forma fechada” significa: • um método de solução baseado em expressões analíticas ou na solução de um polinômio de grau 4 ou menor. • Apenas cálculos não iterativos são suficientes para chegar a uma solução.

  11. Exemplo 3: Manipulador 3R • Como trabalhamos com um manipulador planar, a especificação desses pontos alvos pode ser obtida com mais facilidade especificando-se três números: x, ye ϕ, sendo ϕ a orientação do elo 3 no plano.

  12. SoluçãoGeométrica 3R ϕ

  13. Solução analítica 3R • Igualando as duas matrizes, chegamos a um conjunto de quatro equações não lineares que devem ser resolvidas para θ1, θ2e θ3: cϕ= c123, (4.8) sϕ= s123,(4.9) x= l1c1 + l2c12, (4.10) y= l1s1 + l2s12. (4.11)

  14. Cinemática Inversa 3R • Os ângulos são encontrados utilizando as seguintes equações:

  15. MétodosNuméricos • Por sua natureza iterativa, as soluções numéricas em geral são muito mais lentas do que suas correspondentes de forma fechada: • Para a maioria das aplicações não estamos interessados na abordagem numérica para as soluções cinemáticas. • Métodos de solução numérica iterativos serão vistos na próxima aula.

  16. Revisão de cálculo Antes de entrarnosmétodosanalíticos, precisamosnoslembrar da matemática…

  17. Derivada de uma função escalar • Se tivermos uma função escalar fcom uma única variável x, podemos escrevê-la como f(x). • A derivada da função em respeito a xédf/dx. • A derivada é definida como:

  18. Derivada de uma função escalar f(x) Slope=df/dx f-axis x-axis x

  19. Derivada de f(x)=x2

  20. Gradientes • Gradiente é uma derivada de primeira ordem de uma função em relação suas variáveis: • Dá informações sobre a taxa de variação de uma função em relação a variáveis independentes.

  21. Gradiente

  22. Gradiente é a normal à superfície

  23. Gradiente é a normal à superfície

  24. Derivadas vetoriais • Sabemos como: • Derivar um escalar por outro escalar. • Derivar um vetor por um escalar. • Mas como podemos: • Derivar um escalar por um vetor? • Derivar um vetor por outro?

  25. Derivadas vetoriais • Derivadas de valores escalares por valores vetoriais são comuns nos campos de: • Dinâmica dos fluidos, • Equações de teoria de campos potenciais. • etc • Mas o importante hoje é como calcular a derivada de um vetor por outro...o Jacobiano.

  26. Jacobianos • Um Jacobiano é a derivada de um vetor por outro. • Se tivermos uma função f(x), o Jacobiano é a matriz de derivadas parciais para cada componente dos vetores • O Jacobiano contém toda a informação necessária para relacionar uma mudança em um componente dexa uma mudança em um componente def • O Jacobiano é geralmente escrito como J(f,x): • Mas na prática, equivale conceitualmente a df/dx

  27. Jacobiano

  28. (x , y) 2 l2 l1 1 Exemplo: Robô 2R

  29. Derivadas parciais • O uso do símbolo “∂” em vez de “d” para derivadas parciais indica que é um componente em um vetor de derivadas. • Para propósitos práticos, as derivadas parciais se comportam como uma derivada de um escalar por outro.

  30. (Re)visão de Cálculo Numérico

  31. Exato x Aproximado • Muitos algoritmos necessitam da computação da derivada. • Em alguns casos é possível computar analiticamente a derivada. • Por exemplo:

  32. Exato x Aproximado • Em outros casos a função a ser derivada é muito complexa, impossibilitando o cálculo exato. • Mas, desde que possamos computar a função, podemos aproximar a derivada:

  33. Derivada aproximada f(x+Δx) f(x) Slope=Δf/Δx f-axis x-axis Δx

  34. Valores próximos • Se sabemos o valor da função em algum ponto x, podemos estimar o valor da função em pontos próximos a ele.

  35. Método de Descida de Gradiente • Existem diversas maneiras de computar aproximadamente as raízes de uma função: • valores de x que torna f(x) = 0. • Uma maneira é o “Método de descida de Gradiente”. • É um método de otimização bem conhecido.

  36. Idéia central • Se pudermos computar f(x) e df/dxpara qualquer valor de x, podemos sempre seguir o gradiente na direção do valor zero.

  37. Idéia central • Se pudermos computar f(x) e df/dxpara qualquer valor de x, podemos sempre seguir o gradiente na direção do valor zero.

  38. Método de Descida de Gradiente • Iniciaremos em um valor x0 e tomaremos pequenos passos: xi+1 = xi + Δx até encontrarmos um valor xN onde f(xN)=0 • Para cada passo, tentamos encontrar um valor de Δx que nos colocará mais próximos ao valor desejado. • Podemos utilizar a derivada como uma aproximação da inclinação da função.

  39. Descida de Gradiente df/dx f(xi) f-axis xi x-axis

  40. EscolhendoΔx • Se a função utilizada variar muito: • É mais prudente andar em passos pequenos. • Se a função que se deseja minimizar é bem comportada: • Pode-se tentar aproximações lineares que passam por zero.

  41. Escolhendo Δx • Se desejarmos aproximar linearmente Δx para nos levar ao valor de x onde f(x) = 0 podemos usar:

  42. Descida de gradiente df/dx f(xi) f-axis xi+1 xi x-axis

  43. Utilizando passos menores • Se a função não for bem comportada, não podemos aproximar linearmente Δx. • Uma modificação possível adiciona o parâmetroβ para diminuir o passo, onde 0≤ β ≤1: • β é a “taxa de aprendizado”.

  44. Descida de gradiente df/dx f(xi) f-axis xi+1 xi x-axis

  45. Exemplo de descida de gradiente

  46. Minimização • Se o f(x) desejado não for 0, o valor desejado pode ser considerado um erro. • O objetivo do método de descida de gradiente é minimizar este erro. • Cada passo nos leva mais próximos da solução, e paramos quando estivermos perto o suficiente da resposta desejada. • Este processo iterativo é comum na maioria dos algoritmos numéricos.

  47. Minimizando f(x)=g • Se desejamos encontrar o valor de x para quando a função f(x) seja igual a um valor qualquer g diferente de zero, basta minimizar para f(x)-g e tentar chegar em g:

  48. Descida de gradiente para f(x)=g df/dx f(xi) f-axis xi+1 g xi x-axis

  49. Algoritmo Descida de Gradiente

  50. Parando a descida • É necessário parar a descida em algum ponto. • Idealmente, paramos quando chagamos no objetivo, levando em conta alguma tolerância. • Porém, existem casos onde podemos ficar presos em uma determinada região: • Problemas de mínimo local.

More Related