![Page 1: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/1.jpg)
Robótica
Prof. Reinaldo BianchiCentro Universitário FEI2016
![Page 2: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/2.jpg)
4a Aula
Pós Graduação IECAT
![Page 3: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/3.jpg)
Objetivos desta aula
■ Modelo cinemático inverso:– Métodos analíticos (ou soluções
fechadas):• Geométrico (por Trigonometria).• Algébrico.
■ Matlab.
![Page 4: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/4.jpg)
Bibliografia
■ Capítulos 4 do Craig.■ Robot Manipulators: Mathematics,
Programming, and Control– Paul, R. P. - 1982 - MIT Press.
■ Robot Analysis: The Mechanics of Serial and Parallel Manipulators– Lung-Wen TSAI - 1999 - John Wiley.
![Page 5: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/5.jpg)
Cinemática Inversa no Matlab
![Page 6: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/6.jpg)
Robotics Toolbox para o Matlab
■ Toolbox de livre distribuição (9ª edição):– http://petercorke.com/Robotics_Toolbox.ht
ml■ Possui modelo de alguns
manipuladores prontos:– PUMA560– Stanford Arm
■ Permite criar seu próprio modelo.
![Page 7: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/7.jpg)
Uso
■ Copie o toolbox de :w:\eng\ele\bianchi\robotica\rvctools
■ para o diretório c:\alunos■ Mude de diretorio no matlab:
cd c:\alunos\rvctools■ O comando abaixo debe ser executado
antes de iniciar o uso do toolbox:startup_rvc
![Page 8: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/8.jpg)
Criando um robô no Matlab
■ Criando os links:– L = Link([qi di ai ai], 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 ...])
Ângulos em radianos
![Page 9: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/9.jpg)
Criando um manipulador 3R
■ Queremos criar o seguinte manipulador:– 3 juntas rotacionais no eixo z– links de 1 metro cada.
■ Parâmetros D-H:
Link ai αi di θi 1 1 0 0 θ1 2 1 0 0 θ2 3 1 0 0 θ3
![Page 10: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/10.jpg)
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])
![Page 11: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/11.jpg)
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ção atual do robô– M = matriz máscara– RETORNA q = vetor da posição das juntas.
![Page 12: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/12.jpg)
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.
![Page 13: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/13.jpg)
Usando ikine maiscuidadosamente■ r.ikine(T, Q, M), onde:
– R = robô;– T = transformada com a posição desejada– Q = situação atual do robô– M = matriz máscara:– If the manipulator has fewer than 6 DOF then this method of solution will
fail, since the solution space has more dimensions than can be spanned bythe manipulator joint coordinates. In such a case it is necessary to providea mask matrix, M, which specifies the Cartesian DOF (in the wristcoordinate frame) that will be ignored in reaching a solution. The maskmatrix has six elements that correspond to translation in X, Y and Z, and rotation about X, Y and Z respectively. The value should be 0 (for ignore) or 1. The number of non-zero elements should equal the number of manipulator DOF.
![Page 14: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/14.jpg)
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
![Page 15: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/15.jpg)
Posicão [ 2π/3 2π/3 2π/3]
![Page 16: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/16.jpg)
Resultado
![Page 17: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/17.jpg)
Cinemática inversa do Puma
■ O Toolkit ja possui implementada a cinemática inversa de robôs como o Puma 560p560.ikine6s(Matriz)– Abra o arquivo ikine6s e veja o que tem.
■ Teste com a matriz T:mdl_puma560p560.ikine6s(T)p560.plot(ans)
![Page 18: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/18.jpg)
Metodo numérico versus solução fechada■ ikine () calcula a cinemática inversa de
qualquer robô, usando um métodonumérico.
■ ikine6s() calcula a cinemática inversaapenas para robos como Puma 560, usando as equações de cinemáticainversa.
■ Verificar em casa que usar ikine6s é mais rápido que usar ikine.
![Page 19: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/19.jpg)
Exercício 1:
■ Calcular a posição das juntas de um manipulador 3R para os pontos:
X Y0 0 0 0,5 0 10,5 1 1 1
■ E faca a animação do robô nessas posições, usando o r.plot.
![Page 20: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/20.jpg)
Exercício 2:
■ Implementar, a partir das equações mostradas na aula teórica, a cinemática inversa para o manipulador 3R
( )213 qqjq +-=
221
22
21
22
12
),2(atanyxlllyxxy
+
-++±=q
÷÷ø
öççè
æ --+=
21
22
21
22
2arccos
llllyx
2q
![Page 21: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/21.jpg)
Lista de Exercícios
■ Podem começar a fazer a lista de exercícios número 1.
![Page 22: Robótica - Centro Universitário da FEIrbianchi/Robotica/ROBOTICA-04... · Bibliografia Capítulos 4 do Craig. Robot Manipulators: Mathematics, Programming, and Control – Paul,](https://reader033.vdocuments.pub/reader033/viewer/2022043000/5f759672ab11f77158129b45/html5/thumbnails/22.jpg)
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.