1 / 34

Robót ica

Robót ica. Prof. Reinaldo Bianchi Centro Universitário da FEI 2013. 3 a Aula. Parte B 5ª 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:

asher
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. 3aAula Parte B 5ª 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 diretório do toolbox de : w:\eng\ele\bianchi\robotica\rvctools • para o diretório c:\alunos • Mude de diretorio no matlab: cdc:\alunos\rcvtools • O comando abaixodeve 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. Métodos associados ao link

  8. Propriedades associadas ao link

  9. Métodos associados ao robô

  10. Propried. associadas ao robô

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

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

  13. Gerou um robô... >> L1 = Link([ 0 0 1 0]) L1 = theta=q, d= 0, a= 1, alpha= 0 (R,stdDH) >> L2 = Link([ 0 0 1 0]) L2 = theta=q, d= 0, a= 1, alpha= 0 (R,stdDH) >> r = SerialLink([L1 L2]) r = robot (2 axis, RR, stdDH) +---+-----------+-----------+-----------+-----------+ | j | theta | d | a | alpha | +---+-----------+-----------+-----------+-----------+ | 1| q1| 0| 1| 0| | 2| q2| 0| 1| 0| +---+-----------+-----------+-----------+-----------+ grav = 0 base = 1 0 0 0 tool = 1 0 0 0 0 0 1 0 0 0 1 0 0 9.81 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1

  14. Para visualizar o robô • r.plot(q): • Desenha o robô r na posição q, um vetor que define os ângulos das juntas. • r.teach(): • Permite visualizar e modificar os valores das juntas e gravar posições. • Use as ferramentas para: • Ampliar, Reduzir, Girar.

  15. r.plot([0 0])

  16. r.teach()

  17. Usando teach e plot • Voce pode usar o teach para gravar pontos, que ficam salvos navariávelqplot. • Depois, pode executar os movimentos de uma vez, usando: • r.plot(r.qteach) • r.plot(r.qteach,'delay',1)

  18. Outros métodos… • R.display() displaysthe robot parameters in human-readableform. • R.dyn() displaystheinertialproperties of the robot: • mass, centre of mass, inertia, gear ratio, motor inertiaand motor friction. • Entre outras…

  19. Robô Puma 560 • O toolkit possuiumafunçãoquecria um robotipo Puma 560: • Criando um robô PUMA: • mdl_puma560 • Exibindo o robô : • p560.plot([0 0 0 0 0 0]) • Note que o nome do robô criado é p560

  20. p560.plot([0 0 0 0 0 0])

  21. Computando a cinemática direta • O método fkine é usada para computar a cinemática direta: • robot.fkine(q) onde: • robot = variável do robô. • q = vetor da posição das juntas. • RETORNA: a matriz de transformação... • Teste: • r.fkine([0 0])

  22. r.fkine([0 0]) • ans = • 1 0 0 2 • 0 1 0 0 • 0 0 1 0 • 0 0 0 1

  23. r.plot([0 0])

  24. r.fkine([0 pi/2]) • ans = • 0.00 -1.00 0 1.00 • 1.00 0.00 0 1.00 • 0 0 1.0000 0 • 0 0 0 1.00

  25. r.plot([0 pi/2])

  26. 3x3 rotationmatrix 3x1 translation matrix perspective global scale Ou seja, fkineretorna... A Matrizde TransformaçãoHomogênea 3D

  27. Outrosexemplos no matlab…

  28. Exercício 1: • Utilize a função teach para gravar os seguintes pontos: (0 0), (/8 0), (/4 0), (3/8 0), (/2 0), (/2 /8), (/2 /4), (/2 3/8), (/2 /2), (/2 5/8), (/2 3/4), (/2 7/8), (/2 ) • E use a função plot para simular o movimento do manipulador: r.plot(r.qteach,'delay',1)

  29. Exercício 2: • Calcular a posição do manipulador 2R usando fkine para os pontos: (0 0), (/8 0), (/4 0), (3/8 0), (/2 0), (/2 /8), (/2 /4), (/2 3/8), (/2 /2), (/2 5/8), (/2 3/4), (/2 7/8), (/2 ) • E plote em um gráfico... • plot ([x1 x2 ...], [y1 y2 ..])

  30. Exercício 3:Crie o robô da figuraabaixo

  31. Exercício 3:Crie o robô da figuraabaixo

  32. Para brincar em casa... • Crie um robô PUMA: • mdl_puma560%define um robô puma • Brinque com ele: • P560.teach() % permite controle • Calcule a cinemática direta para o puma, em algumas posições diferentes a sua escolha.

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

More Related