Prof. Reinaldo Bianchi Centro Universitário da FEI 2013

Slides:



Advertisements
Apresentações semelhantes
Sistemas de Equações Lineares
Advertisements

Python: Dicionários Claudio Esperança.
Técnicas de Otimização I
Noções Básicas de Programação e Uso de MATLAB
Programação em Java Prof. Maurício Braga
Introdução à Robótica PROF. ANDRÉ LUÍS MARQUES MARCATO PPEE – Sala 206 – Apresentação:
PROF. ANDRÉ LUÍS MARQUES MARCATO
Posições relativas de duas retas
Princípios de Controle
Danielle Passos de Ruchkys
CINEMÁTICA INVERSA Aline Aparecida de Pina Rodrigo Morante Blanco.
Iniciação ao MatLab Profa Dra. Rossana Lott Rodrigues
The language of tecnical computing
CAPÍTULO Sistemas de referência 2. Modelo geométrico
CAPÍTULO Introdução 2. Programação de tarefas de robôs
CAPÍTULO 9 1. Estrutura de controle de um robô industrial
TM350 - Dinâmica de Máquinas
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
CINEMÁTICA DIFERENCIAL
Robótica: Sistemas Sensorial e Motor
ROBÓTICA Helder Anibal Hermini.
Robótica Prof. Reinaldo Bianchi 2012.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Prof. Reinaldo Bianchi Centro Universitário da FEI 2013
Prof. Reinaldo Bianchi Centro Universitário da FEI 2013
Aula 8 – Parâmetros de Denavit-Hartenberg.
ROBÓTICA Helder Anibal Hermini.
Aula 4 Prof. Naércio Filho Técnico em Informática
Prof. Natalia Castro Fernandes Engenharia de Telecomunicações – UFF 2º semestre/2012.
VETORES Roteiro da aula Referência ao Programa: Estrutura de Dados
VETORES Roteiro da aula Referência ao Programa: Estrutura de Dados
PROF. ANDRÉ LUÍS MARQUES MARCATO
Prof. Reinaldo Bianchi Centro Universitário da FEI 2013
Prof. Reinaldo Bianchi Centro Universitário da FEI 2013
Instituto de Aplicação Fernando Rodrigues da Silveira (CAp/UERJ)
Monitoria de Sistemas Inteligentes
Aula 3 – Chapter 1 Signals and Systems
Animação por Computador Capítulo 5 Vínculos Cinemáticos
Prof. Reinaldo Bianchi Centro Universitário da FEI 2013
Computação Gráfica Aula 3 Transformações Geométricas
Computação Gráfica – Visibilidade
CINEMÁTICA INVERSA DE MANIPULADORES SERIAIS PROF.: Leo Schirmer
PLANEJAMENTO DE TRAJETÓRIAS PROF.: Leo Schirmer
Algoritmos - Profa. Alciléia1 Profa. Maria Alciléia Alves Rocha Funções em C 2011.
Realidade Virtual Aula 4
CINEMÁTICA DIRETA DE MANIPULADORES SERIAIS PROF.: Leo Schirmer
Skeleton and Skinning Pablo Carneiro Elias 30 de maio de 2006.
CINEMÁTICA DIFERENCIAL DE MANIPULADORES SERIAIS PROF.: Leo Schirmer
Robótica Industrial.
Programação e Aplicações Gráficas
Equações algébricas e transcendentais
Modelagem e Simulação de Processos – Equações Algébricas
Fundamentos da Robótica Ênio Prates Vasconcelos Filho 07/60161
Introdução ao MATLAB 5.3 para Hidrólogos
Monitoria de Sistemas Inteligentes IF684
MatLab (Matrix Laboratory)
MATLAB - Matrix Laboratory Adaptado de Profa
Introdução ao Scilab Monitoria de Sinais e Sistemas - ES413
Geometria Computacional Prof. Walter Mascarenhas Segundo semestre de 2004 Aula 3.
XML Namespaces XML Namespaces provê um método para evitar conflito de nomes de elementos.
Programação Computacional Aula 9: Meu primeiro programa em C
Controle Cinemático de
PROF. ANDRÉ LUÍS MARQUES MARCATO
Sistemas de Controle III N8SC3
MatLab (Matrix Laboratory)
Sistemas de Controle III N8SC3
Sistemas de Controle III N8SC3
Universidade de Brasília Laboratório de Processamento de Sinais em Arranjos 1 Adaptive & Array Signal Processing AASP Prof. Dr.-Ing. João Paulo C. Lustosa.
Cinemática de Robôs Manipuladores
IF E ITERAÇÃO WHILE Dilvan Moreira (baseado no livro Big Java e T. Munzner)
Transcrição da apresentação:

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

Parte B 6ª aula para a graduação 4a 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: PUMA560 Stanford Arm Permite criar seu próprio modelo.

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

Criando um robô no Matlab Ângulos em radianos Criando os links: L = Link([i di ai 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 ...])

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.

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

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])

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.

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.

Usando ikine mais cuidadosamente 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 by the manipulator joint coordinates. In such a case it is necessary to provide a mask matrix, M, which specifies the Cartesian DOF (in the wrist coordinate frame) that will be ignored in reaching a solution. The mask matrix 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.

r.ikine(T, Q, M) Definindo T: Definindo Q: Definindo M: 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

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

Resultado

Cinemática inversa do Puma O Toolkit ja possui implementada a cinemática inversa de robôs como 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)

Metodo numérico versus solução fechada ikine () calcula a cinemática inversa de qualquer robô, usando um método numérico. ikine6s() calcula a cinemática inversa apenas para robos como Puma 560, usando as equações de cinemática inversa. Verificar em casa que usar ikine6s é mais rápido que usar ikine.

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.

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

Mas, e se L3 ≠ 0 ? Este é o ponto x’, y’ L3 ????? y’ x’ Simplificamos a solução para o caso já resolvido

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.