1 / 20

Robót ica

Robót ica. Prof. Reinaldo Bianchi Centro Universitário da FEI 2013. 4 a Aula. Parte B 6ª aula para a graduação. Robotics Toolbox para o Matlab. Toolbox de livre distribuição (9ª edição): http:// petercorke.com / Robotics_Toolbox.html Possui modelo de alguns manipuladores prontos:

espen
Download Presentation

Robót ica

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. 4aAula Parte B 6ª aula para a graduação

  3. Robotics Toolbox para o Matlab • Toolbox de livre distribuição (9ª edição): • http://petercorke.com/Robotics_Toolbox.html • Possui modelo de alguns manipuladores prontos: • PUMA560 • Stanford Arm • Permite criar seu próprio modelo.

  4. Uso • Copie o toolbox de : w:\eng\ele\bianchi\robotica\rvctools • para o diretório c:\alunos • Mude de diretorio no matlab: cdc:\alunos\rcvtools • O comando abaixo debe ser executado antes de iniciar o uso do toolbox: startup_rvc

  5. Criando um robô no Matlab Ângulos em radianos • Criando os links: • L = Link([idiai i], opção) • onde opção (que é opcional) = • ‘standard’ – parametros padrão. • ‘r’ para Rotacional (default) e • ‘p’ para Prismática • Criando o robô: • r = SerialLink([Link1 Link2 ...])

  6. Notação Danevit-Hartenberg • ai: a distância entre os eixos zi-1 e zi medida sobre o eixo xi. • i: o ângulo entre os eixos zi-1 e zi medida sobre o eixo xi. • di: a distância entre a origem do sistema de referência i - 1 ao eixo xi, medida sobre o eixo zi-1 . • i: o ângulo entre os eixos xi-1 e xi medidos sobre o eixo zi-1.

  7. Criando um manipulador 3R • Queremos criar o seguinte manipulador: • 3juntas rotacionais no eixo z • links de 1 metro cada. • Parâmetros D-H:

  8. Comandos para criar um 3R • Criando os links: L1 = Link([0 0 1 0]) L2 = Link([0 0 1 0]) L3 = Link([0 0 1 0]) • Criando o robô: r = SerialLink([L1 L2 L3])

  9. Computando a cinemática inversa • A função ikine é usada para computar a cinemática inversa: • q = robot.ikine(T,Q,M) onde: • robot = o robô. • T= a matriz de transformação • Q = situaçãoatual do robô • M = matriz máscara • RETORNA q = vetor da posição das juntas.

  10. A função ikine • A solução é encontrada iterativamente utilizando a pseudo-inversa do Jacobiano: • A solução é geral (válida para qualquer robô). • Mais lenta que soluções específicas.

  11. Usando ikinemais cuidadosamente • r.ikine(T, Q, M), onde: • R = robô; • T = transformada com a posiçãodesejada • Q = situaçãoatual do robô • M = matriz máscara: • Ifthemanipulator has fewerthan 6 DOF thenthismethod of solutionwillfail, sincethesolutionspace has more dimensionsthancan be spannedbythemanipulatorjointcoordinates. In such a case itisnecessarytoprovide a maskmatrix, M, whichspecifiestheCartesian DOF (in thewristcoordinateframe) thatwill be ignoredin reaching a solution. Themaskmatrix has sixelementsthatcorrespondtotranslation in X, Y and Z, and rotationabout X, Y and Z respectively. Thevalueshould be 0 (for ignore) or 1. Thenumberof non-zeroelementsshouldequalthenumber of manipulator DOF.

  12. r.ikine(T, Q, M) • Definindo T: T = [1 0 0 1; 0 1 0 1; 0 0 1 0; 0 0 0 1] • Definindo Q: Q = [ 2* pi/3 2*pi/3 2*pi/3] • Definindo M: M = [ 1 1 0 0 0 1] • Usando ikine(): r.ikine (T, Q, M) ans = 1.8235 2.6362 1.8235

  13. Posicão[ 2π/3 2π/3 2π/3]

  14. Resultado

  15. Cinemáticainversa do Puma • O Toolkit japossuiimplementada a cinemáticainversa de robôscomo o Puma 560 p560.ikine6s(Matriz) • Abra o arquivo ikine6s e veja o que tem. • Teste com a matriz T: mdl_puma560 p560.ikine6s(T) p560.plot(ans)

  16. Metodonumérico versus soluçãofechada • ikine () calcula a cinemáticainversa de qualquerrobô, usando um métodonumérico. • ikine6s() calcula a cinemáticainversaapenaspararoboscomo Puma 560, usando as equações de cinemáticainversa. • Verificarem casa queusar ikine6s émaisrápidoqueusarikine.

  17. Exercício 1: • Calcular a posição das juntas de um manipulador 3R para os pontos: X Y 0 0 0 0,5 0 1 0,5 1 1 1 • E faca a animação do robô nessas posições.

  18. Exercício 2: • Implementar, a partir das equações mostradas na aula teórica, a cinemática inversa para o manipulador 3R

  19. Mas, e se L3 ≠ 0 ? Este éopontox’, y’ L3 ????? y’ x’ Simplificamos a soluçãopara o casojáresolvido

  20. Matlab help • who: mostra as variáveis • clear: limpa a memória. • clc: limpa a tela de comando. • cd: muda de diretório. • help general: o básico • workspace: mostra graficamente os objetos existentes.

More Related