Odometria e equações de movimento de um robô

Documentos relacionados
Implementação de rotinas básicas de controlo do movimento de um robô (GoToXYTheta)

Implementação de uma rotina para seguir um segmento de reta (FollowLine)

Localização de robôs móveis baseados em balizas

Cinemática de Robôs Móveis

TÍTULO: TESTE DE CONTROLADOR PARA UM ROBÔ DE EQUILÍBRIO DINÂMICO CATEGORIA: CONCLUÍDO ÁREA: CIÊNCIAS EXATAS E DA TERRA. SUBÁREA: Engenharias

Profº Carlos Alberto

Capítulo 9 - Rotação de Corpos Rígidos

Vibrações e Dinâmica das Máquinas Aula - Cinemática. Professor: Gustavo Silva

Lista 8 : Cinemática das Rotações NOME:

Série IV - Momento Angular (Resoluções Sucintas)

MESTRADO INTEGRADO EM ENG. INFORMÁTICA E COMPUTAÇÃO 2015/2016

Movimento Circular. 1 Rotação. Aron Maciel

Observação: i.e. é abreviação da expressão em latim istum est, que significa isto é.

Movimento Circular I

LISTA DE EXERCÍCIOS 1º ANO

3 Relações. 4 Velocidade Escalar. 5 Velocidade Angular. 6 Período. 7 Frequência. 8 Função Horária. 9 Aceleração Centrípeta

Espaço x Espaço inicial x o

Aula do cap. 10 Rotação

1 Movimento Circular Lista de Movimento circular Cinemática do Ponto Material 7

Professora Bruna. Caderno 12 Aula 21. A bicicleta. Página 282

Translação e Rotação Energia cinética de rotação Momentum de Inércia Torque. Física Geral I ( ) - Capítulo 07. I. Paulino*

A relação entre a variação angular ( φ) e o intervalo de tempo ( t) define a velocidade angular do movimento.

5 Validação do Software

ω r MECÂNICA II CINEMÁTICA DO CORPO RÍGIDO Licenciatura em Engenharia Civil Folha /2003 MOVIMENTO GERAL 2º Ano / 1º Semestre

Física I. Cinemática de Rotações Lista de Exercícios

FEP Física para Engenharia II

Física I 2010/2011. Aula 13 Rotação I

Lego NXT: Navegação e Localização com sensores de distância baseados em infra-vermelhos utilizando um Extended Kalman Filter

(a) a aceleração angular média nesse intervalo de tempo. (b) o número de voltas dadas

Implementação do Filtro de Kalman Estendido

Movimento Circular AULA 7. Profª Andreia Andrade CINEMÁTICA VETORIAL

Movimento Circular Uniforme. Prof. Marco Simões

ANÁLISE DE MOVIMENTO RELATIVO USANDO UM SISTEMA DE EIXOS EM ROTAÇÃO (Sec. 16.8) Na descrição dos movimentos de pontos de um único corpo rígido, ou de

1) O vetor posição de uma partícula que se move no plano XZ e dado por: r = (2t 3 + t 2 )i + 3t 2 k

Movimento Circular e Uniforme

Equipe de Física. Física. Movimento Circular

Desenvolvimento de um Protótipo e de Metodologias de Controlo de uma Cadeira de Rodas Inteligente

Deduza a Equação de Onda que representa uma onda progressiva unidimensional, numa corda de massa M e comprimento L.

Física Teórica I. Prof. Dr. Raphael M. Albuquerque. Universidade do Estado do Rio de Janeiro. Capítulo 10. Apresentação Rotações

Observação: i.e. é abreviação da expressão em latim istum est, que significa isto é.

Introdução à Robótica Industrial p. 1/23

MESTRADO INTEGRADO EM ENG. INFORMÁTICA E COMPUTAÇÃO 2011/2012. EIC0010 FÍSICA I 1o ANO 2 o SEMESTRE

2º Exame de Mecânica Aplicada II

CENTRO DE CIÊNCIAS E TECNOLOGIA AGROALIMENTAR UNIDADE ACADÊMICA DE TECNOLOGIA DE ALIMENTOS DISCIPLINA: FÍSICA I ROTAÇÃO. Prof.

Fundamentos da Eletrostática Aula 02 Cálculo Vetorial: derivadas

Prova P1 Física para Engenharia II, turma set. 2014

Bacharelado Engenharia Civil

6.1. Determine o momento de inércia de uma régua de comprimento L e densidade uniforme nas seguintes situações:

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

MATEMÁTICA A - 12o Ano N o s Complexos - Potências e raízes Propostas de resolução

Prof. A.F.Guimarães Questões Cinemática 5 Movimento Circular

Movimento Circular Uniforme (MCU) Conceitos iniciais

As variáveis de rotação

Dinâmica do Movimento de Rotação

Física e Química A Bloco II Teste Sumativo 2C 14/12/2011

Movimentos circulares e uniformes

Alexandre Diehl Departamento de Física UFPel

MOVIMENTO ROTACIONAL E MOMENTO DE INÉRCIA

Física Geral I. 1º semestre /05. Nas primeiras seis perguntas de escolha múltipla indique apenas uma das opções

Movimento Circular Uniforme

Mecânica e Ondas 1º Ano -2º Semestre 1º Teste 18/04/ :00h

MOVIMENTO 3D: REFERENCIAL EM ROTAÇÃO

MOVIMENTO CIRCULAR E UNIFORME

Física aplicada à engenharia I

Mecânica 1.1 Tempo, posição e velocidade

ROBÓTICA PLANEJAMENTO DE TRAJETÓRIAS. Prof a. Dra. GIOVANA TRIPOLONI TANGERINO Tecnologia em Automação Industrial

Dinâ micâ de Mâ quinâs e Vibrâçõ es II

2º Teste de Mecânica Aplicada II

Segundo Exercício de Modelagem e Simulação Computacional Maio 2012 EMSC#2 - MECÂNICA B PME 2200

AULA 43 RELAÇÃO ENTRE O MOVIMENTO HARMÔNICO E O MOVIMENTO CIRCULAR

CENTRO DE CIÊNCIAS E TECNOLOGIA AGROALIMENTAR UNIDADE ACADÊMICA DE TECNOLOGIA DE ALIMENTOS DISCIPLINA: FÍSICA I ROTAÇÃO. Prof.

Física Geral Nos problemas abaixo, considere g = 9,8 m/s 2 e dê as suas respostas em unidades SI.

Exame de Época Especial de Mecânica Aplicada II

Parte 2 - P2 de Física I NOME: DRE Teste 1

1ª Prova de Física I - FCM0101

MOVIMENTO 3D REFERENCIAL AUXILIAR EM ROTAÇÃO

REVISÃO. e, cujos módulos são iguais a 3 u e 4 u,respectivamente. Determine o módulo do vetor

4 Controle de motores de passo

Mecânica I (FIS-14) Prof. Dr. Ronaldo Rodrigues Pelá Sala 2602A-1 Ramal 5785

Física para Zootecnia

Mecânica I (FIS-14) Prof. Dr. Ronaldo Rodrigues Pelá Sala 2602A-1 Ramal 5785

Física II Ondas, Fluidos e Termodinâmica USP Prof. Antônio Roque Aula

ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO. Departamento de Engenharia Mecânica

m 1 m 2 FIG. 1: Máquina de Atwood m 1 m 2 g (d) Qual a relação entre as massas para que o sistema esteja em equilíbrio?

Apresentação Outras Coordenadas... 39

Processo de Linearização de Gráficos

Resposta: (A) o traço é positivo (B) o determinante é negativo (C) o determinante é nulo (D) o traço é negativo (E) o traço é nulo.

I m k m r (3,5) 3000.(3) kg.m. Como d d d 3,697sen d

Características do MCU

FEP Física para Engenharia II

SISTEMAS ROBÓTICOS AUTÓNOMOS

Determinação dos Parâmetros do Motor de Corrente Contínua

a) (2 valores) Mostre que o módulo da velocidade de um satélite numa órbita circular em torno da Terra é dado por:

Figura Na figura nós podemos ver que não há aceleração tangencial, somente a aceleração em azul que aponta para o centro da curva.

O Sistema Massa-Mola

ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO. Departamento de Engenharia Mecânica

UNIFEI - UNIVERSIDADE FEDERAL DE ITAJUBÁ

Movimento Circular Uniforme MCU Conceitos Iniciais

MOMENTO DE INÉRCIA DE UM CORPO RÍGIDO

Transcrição:

Faculdade de Engenharia da Universidade do Porto Odometria e equações de movimento de um robô Sandro Augusto Costa Magalhães Tiago José Ferreira Mendonça UP0130493 UP01305394 Relatório realizado no âmbito da unidade curricular de Sistemas Robóticos Autónomos Docentes: Vítor Pinto e António Moreira 8 de setembro de 017

1. Introdução Este relatório surge no âmbito do trabalho prático para a unidade curricular de Sistemas Robóticos Autónomos, realizado em sala de aula no dia 7 de setembro de 017, que teve como principal intuito incentivar os estudantes a estudar o comportamento de uma robot de tração diferencial com duas rodas e calcular alguns parâmetros das características inerentes. Como ambiente de trabalho para a realização do exercício, recorreu-se ao simulador SimTwo que disponibiliza um modelo do robot supra indicado. Este desloca-se num plano horizontal intermédio de duas rodas motrizes diferenciais e com uma terceira roda livre de apoio. Figura 1 Esquemática de um robot de tração diferencial com duas rodas (o efeito da roda livre é menosprezado nos cálculos) Como ponto de partida, teve-se em consideração as equações base que permitem o controlo da velocidade linear (v) e velocidade angular (ω), por controlo da velocidade dos motores de cada roda (v 1 e v ). v = v 1 + v ω = v 1 v b ( 1 ) ( ). Determinação da constante K imp Neste ponto, pretendeu-se determinar a constante K imp que corresponde à relação entre os impulsos gerados pelos sensores nas rodas e o deslocamento linear de cada roda. Para tal, começou-se por analisar o código já pré-implementado no SimTwo e constatouse que este permitia um deslocamento linear do robot por pressão das teclas up e down do teclado, uma vez que estas estavam pré-configuradas com igual velocidade em cada motor, eliminando a velocidade angular (como se comprova pela equação 1). Primeiramente, sentiu-se a necessidade de implementar dois acumuladores que permitem contar o número de impulsos dos sensores de cada motor. Odometro1 := Odometro1+odo1; Odometro := Odometro+odo; SetRCValue(1,, format('%.3g', [Odometro1])); SetRCValue(,, format('%.3g', [Odometro])); Ambas as variáveis, Odometro1 e Odometro, foram declaradas como do tipo inteiras e globais. 1

Uma vez obtido o valor acumulado dos odómetros, é possível obter o valor da constante K imp. d = odo 1 + odo K imp ( 3 ) Por análise dos dados obtidos do SimTwo, sabemos que o robot, neste caso, percorreu linearmente 0,45 m e que cada sensor dos motores contou 978 e 985 impulsos, respetivamente. Assim, resolvendo a equação acima em ordem a k imp, temos que K imp = 0,00046 0,0005 m/impulso. 3. Cálculo da distância entre rodas Para o cálculo da distância entre rodas (b), procedeu-se de forma similar à situação anterior. Novamente, por análise do código pré-implementado, constatou-se que a préconfiguração das teclas left e right do teclado possibilitava ao robot realizar apenas o movimento angular, uma vez que v 1 = v, anulando a equação 1. Sabe-se que o movimento angular do robot é dado, em radianos, por θ = odo 1 odo b k imp ( 4 ) Mais uma vez, aproveitando o acumulador anteriormente implementado, verificou-se que cada sensor contou -06 e 07 impulsos, respetivamente. Constatou-se que o robot rodou 13º, isto é θ =,1468 rad. Então, resolvendo a equação 4 em ordem a b, considerando K imp = 0,00046 m/impulso, conclui-se que d = 0,088664 0,1m. 4. Cálculo simultâneo de K imp e da distância entre rodas Neste momento, o objetivo consistia na realização de um único movimento composto, incluindo rotação e translação, através do qual é possível determinar a constante K imp bem como a distância entre rodas (b). Para o efeito, procedeu-se à alteração do código previamente implementado, alterando a velocidade associada a cada uma das rodas nas instruções up e down. Assim, configurou-se uma razão entre velocidades de V 1 V =, de forma a que o robot realizasse um movimento circular. Seguidamente, partindo da origem do referencial, forçou-se o mesmo a descrever uma trajetória equivalente a um deslocamento angular de 180, isto é, π rad, registando-se os seguintes valores: x = 0.36 m; y = 0.050 m; θ = 180 Odometro 1 = 190 impulsos; Odometro = 669 impulsos Sendo a trajetória circular e o deslocamento angular de 180º, imediatamente se infere que o deslocamento linear será dado pela metade do perímetro de uma circunferência de diâmetro igual à distância entre a posição final e a origem. Sendo assim: d = π ( 0.36) + ( 0.050) θ = π rad 0.518 m

Com estes dados e substituindo-os nas equações inicialmente apresentadas, obtém-se K imp = 0.00059 0.0005 m/impulso e b = 0.104 0.1 m (com K imp = 0.00059 ), valores consistentes face aos resultados das alíneas anteriores. 5. Implementação das Equações de Movimento Nesta etapa, o propósito residia na implementação de um procedimento adicional capaz de estimar as coordenadas (x, y, θ) da posição do robot no referencial. Nesse sentido, recorreuse ao método de discretização por diferenças centradas, regido pelas seguintes equações: x(i + 1) = x(i) + d(i) cos(θ(i) + θ(i) ) ( 5 ) y(i + 1) = y(i) + d(i) sin(θ(i) + θ(i) ) ( 6 ) θ(i + 1) = θ(i) + θ(i) ( 7 ) Para a sua implementação, concebeu-se o seguinte procedimento que recebe como argumentos os valores lidos, em cada iteração, do odómetro no encoder de cada uma das rodas: procedure alinead(odo, odo1:double); var d_at:double; delta_theta:double; begin d_at := (Odo1 + Odo)/*0.0005; delta_theta := (Odo1 - Odo)*0.0005/0.1; theta := theta + delta_theta; if theta > (*3.1415965359) then begin theta := theta - *3.1415965359; if theta < (-*3.1415965359) then begin theta := theta + *3.1415965359; x_atual := x_atual + d_at*cos(theta + delta_theta/); y_atual := y_atual + d_at*sin(theta + delta_theta/); SetRCValue(1,3, format('%.3g', [x_atual])); SetRCValue(,3, format('%.3g', [y_atual])); SetRCValue(3,3, format('%.3g', [theta*180/3.1415965359])); 3

6. Testes Para aferir o correto funcionamento do procedimento, realizaram-se alguns movimentos com o robot e comparou-se a posição indicada pelo simulador com a estimada. Inicialmente, constatou-se uma elevada similaridade entre as coordenadas, sendo o erro praticamente nulo. Contudo, aquando da realização de movimentos mais bruscos (acelerações e paragens repentinas), era percetível uma crescente divergência entre os valores. Esta divergência tornava-se ainda mais clara quando se colidia o robot com a barreira existente no ambiente de simulação, uma vez que a posição estimada do robot crescia continuamente, em termos absolutos, enquanto que a sua posição real se mantinha constante, reproduzindo-se num aumento gradual do erro acumulado. Este efeito está relacionado com uma das limitações associadas à estimação por odometria, pois assume-se que todo o movimento rotacional das rodas é convertido em deslocamento linear, o que não é assegurado em todas as circunstâncias. Em determinadas condições existe deslizamento entre as rodas e o solo, gerando erros de estimação, tal como os observados no presente exemplo. 4