MODELAGEM DO CHUTE » Histórico » Revisão 3
Revisão 2 (Luis David Peregrino de Farias, 11/09/2017 14:12 h) → Revisão 3/4 (Luis David Peregrino de Farias, 11/09/2017 14:20 h)
h1. 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* capacitor