MODELAGEM DO CHUTE » Histórico » Revisão 3
« Anterior |
Revisão 3/4
(diff)
| Próximo »
Luis David Peregrino de Farias, 11/09/2017 14:20 h
MODELAGEM DO CHUTE¶
Tendo em vista a dificuldade da modelagem teórica do sistema de chute e a urgência de obter o controle desse sistema. Partimos para a modelagem a partir de dados, onde podemos obter uma equação característica entre duas grandezas físicas de interesse, mesmo sem saber as equações que regem os fenômenos intermediários desse sistema.
De maneira resumida:
Temos um simples comando,que será nosso input: Quanto tempo o circuito solenoide/placa de chute/capacitor estará fechado.
E queremos um output: Como a bola se comportará no campo para esse input.
E apesar de não saber como funciona o circuito RLC, por causa da variação do L em função da distância que o pistão se encontra introduzido no solenoide, o fenômeno eletromagnético que faz o pistão se movimentar para o interior do solenoide e por fim como é dado a transferência de quantidade de movimento entre a placa de chute e a bola. Podemos, através de extensivos testes, obter dados suficientes para achar uma equação que relaciona nosso input e output de maneira satisfatória.
Captação dos Dados
Evolução:
Versão final:
Tratamento dos Dados
O primeiro csv gerado tem 82 testes de chute em 22 tempos de capacitores diferentes. O que fornece bastante dados. Pra esse primeiro teste foi considerado uma velocidade final (Velocidade que a bola estaria chegando no outro robô), 0.4 m/s. Foi criado um algorítimo que desconsidera automaticamente tempo de capacitores e que tem velocidade inicial menor que a velocidade final. Além de desconsiderar também tempo de capacitores que a distância que a bola percorre para atingir essa velocidade é maior que uma distância fixada(usado a diagonal do campo). O motivo para isso é que perdido muita precisão para distâncias maiores que o campo, pois nessa região consideramos uma interpolação da curva de ajuste, assim a distância que a bola percorre até parar depende da função que usamos para ajustar os pontos. Mas como não vamos realizar um passe maior que a diagonal do campo não perdemos em nada com isso e ganhamos em precisão a considerar os pontos dentro do campo apenas. No caso do nosso campo limitei o passe há uma distância de 2.5 metros.
No fim, com os testes que realizamos, ficamos com 11 pontos uteis. 2 tempos de capacitores tiveram velocidade inicial menor que 0.4 m/s e 7 tempos de capacitores ultrapassava a distância máxima fixada.
O tratamento foi divido em 3 programas:
1 programa O primeiro programa capta os dados. E ajusta para análise, por enquanto está sendo usado dos dados que é mandado: x, y, t, Vel_k(velocidade do kalman), Vel simples e T_C(força do chute). Disso é calculado a 1 distância percorrida(De boas) 2 o número de chutes para cada tempo de capacitor(não de boas) 3 o delay que teve para bola se mexer (mais ou menos de boas) ( Consequência de o chute ocorrer quando o botão deixa de ser pressionado, enquanto o tempo começa a gravar quando ele é pressionado) 4 ajuste do vetor X,T e size para retirar o delay (não de boas).
Após esses ajustes deu pra dividir para cada força de chute os chutes realizados.
Exemplo:
Dados recebidos:
(Imagem 1)
Dados exportados:
(Imagem 2) x(t) para os 6 primeiros tempos de capacitor
2 programa O segundo programa faz um único ajuste desse resultado é que transladar todos os chutes pro tempo 0. Após isso 2 programa faz o principal, que calcula o ajuste x(t) para cada curva, a curva média, calcula R (fator que representa o quão bom está o ajuste), v(t) da curva média e v(x) da curva média. O R para cada um dos chutes sempre ficou em torno de 0.9999, sendo que 1 e -1 são ajustes perfeitos.
Resultado:
(Imagem 3) para os 6 primeiros tempos de capacitor
Preto é o x(t) da câmera, vermelho o ajuste de cada chute, azul a média desses ajustes (que será considerado o chute para esse tempo do capacitor), verde o v(t), e por fim em roxo o v(x) que será o dado utilizado para o próximo programa. Novamente foi plotado os 6 primeiros tempos de capacitores.
Funções testadas para ajuste foram: c0+c1*x+c2*x^2 +c3*x^3.... , c1*e^x+c2*e^2x +c3*e^3x.... , c1*e^c2x
O ultimo dá um sistema não linear o que dá mais trabalho e exige um outro método de resolução. Mas o exponencial foi o que apresentou o melhor R além de ser o mais simples, de modo que se torna a melhor opção para ser utilizada.
O programa também plota uma comparação entre as velocidades:A calculada, a do kalman e a velocidade simples.
Resultado:
(Imagem4)para os 6 primeiros tempos de capacitor.
Em vermelho: Velocidade simples / Em azul: Velocidade kalman / Em preto: Velocidade calculada / Em roxo: X(t) médio
3 programa
Atualizado por Luis David Peregrino de Farias há mais de 7 anos · 3 revisões