MODELAGEM DO CHUTE » Histórico » Versão 3
Luis David Peregrino de Farias, 11/09/2017 14:20 h
1 | 1 | Luis David Peregrino de Farias | h1. MODELAGEM DO CHUTE |
---|---|---|---|
2 | |||
3 | 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. |
||
4 | |||
5 | De maneira resumida: |
||
6 | Temos um simples comando,que será nosso input: Quanto tempo o circuito solenoide/placa de chute/capacitor estará fechado. |
||
7 | E queremos um output: Como a bola se comportará no campo para esse input. |
||
8 | 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. |
||
9 | |||
10 | 2 | Luis David Peregrino de Farias | *Captação dos Dados* |
11 | 1 | Luis David Peregrino de Farias | *Evolução:* |
12 | *Versão final:* |
||
13 | |||
14 | 2 | Luis David Peregrino de Farias | *Tratamento dos Dados* |
15 | 1 | Luis David Peregrino de Farias | 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. |
16 | 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. |
||
17 | |||
18 | O tratamento foi divido em 3 programas: |
||
19 | 2 | Luis David Peregrino de Farias | |
20 | 1 | Luis David Peregrino de Farias | *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). |
21 | Após esses ajustes deu pra dividir para cada força de chute os chutes realizados. |
||
22 | *Exemplo:* |
||
23 | Dados recebidos: |
||
24 | (Imagem 1) |
||
25 | Dados exportados: |
||
26 | (Imagem 2) x(t) para os 6 primeiros tempos de capacitor |
||
27 | 2 | Luis David Peregrino de Farias | |
28 | *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. |
||
29 | Resultado: |
||
30 | (Imagem 3) para os 6 primeiros tempos de capacitor |
||
31 | 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. |
||
32 | 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 |
||
33 | 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. |
||
34 | O programa também plota uma comparação entre as velocidades:A calculada, a do kalman e a velocidade simples. |
||
35 | Resultado: |
||
36 | 3 | Luis David Peregrino de Farias | (Imagem4)para os 6 primeiros tempos de capacitor. |
37 | Em vermelho: Velocidade simples / Em azul: Velocidade kalman / Em preto: Velocidade calculada / Em roxo: X(t) médio |
||
38 | |||
39 | *3 programa* |