【Os 17º NXP Smart Cars】Balancing Bikes - Control (Cascade)

escrito na frente

Foi a primeira vez que participei da competição de carros inteligentes no meu segundo ano. A competição sub1s1 está realmente queimando moedas. (Não descarto a possibilidade de estar sempre explodindo coisas). Levei pelo menos 4 meses. Não aprendi muito, mas tenho uma boa atitude Existem alguns, e no geral ainda é gratificante, mas os arrependimentos ainda representam a maioria. Agora estou procurando outra coisa para fazer, então vou compartilhar o que aprendi com todos! ;Muitas pessoas são novas na roda em movimento e não estão muito familiarizadas com os pincéis.Se o ajuste não for bem-sucedido de acordo com o código-fonte aberto oficial de Lq, é provável que o motor sofra um acidente. Ajuste a cascata de acordo com a seguinte direção, que pode obter nenhum tremor e anti-interferência moderada. Espero que o controle de qualidade Longqiu possa ser melhor (o driver Lq não é ruim - =), espero que o plano de Zhufei possa ser anterior (cabeça de cachorro salva vidas)

Controle total da bicicleta de equilíbrio escovado

Equilíbrio e estabilidade da bicicleta

Cálculo de atitude do giroscópio

  1. A primeira é sobre a seleção de giroscópios. Escolhemos o Mpu6050 da Longqiu, que funciona com o DMP de código aberto da Lq para fusão de ângulos. Os ângulos medidos são precisos e em tempo real. No entanto, devido ao problema de cálculo do DMP, ele ficará à deriva por dezenas de segundos após a inicialização, e precisa ser estabilizado e aguardado (poço 1). A desvantagem é que a qualidade do Lq é preocupante. Um total de três são quebrados e finalmente usam o Mpu atômico ancestral.
  2. Tentei usar o icm20602 para resolver o ângulo por meio da fusão de quatro elementos após a filtragem e a medição realAlta precisão da velocidade angular e menos afetada pelo ruído do que o MPU, é muito útil para ajustar o loop de velocidade angular. A desvantagem é que a integração dos quatro elementos aumentará a integral devido à influência do ruído no estado estático, mas não se houver uma leve vibração. Portanto, a medição real tem pouco efeito na bicicleta e é recomendável usar este esquema!

PID incremental e PID posicional

Consulte https://blog.csdn.net/as480133937/article/details/89508034
para obter detalhes

Simplificando, os tipos incremental e posicional são essencialmente os mesmos. Para o tipo posicional, o PID executa proporcional, integral e diferencial, respectivamente, para corresponder ao presente, passado e futuro, enquanto o tipo incremental I é exatamente o mesmo que o tipo posicional P em form. , os outros dois parâmetros são os mesmos e têm a vantagem de menos computação.

Depuração da cascata do motor

Em termos de quadros em cascata, devido à resposta rápida da velocidade angular e ao princípio da conservação do momento baseado no equilíbrio da roda do momento, o loop de velocidade angular é emitido como o loop interno, enquanto o meio é o loop de ângulo e o externo é o loop loop de velocidade. Vamos dar uma olhada rápida nele:insira a descrição da imagem aqui

circuito de velocidade angular

O loop de velocidade angular usa o PD incremental. Vi que algumas pessoas usam o tipo de posição. Na verdade, os dois são basicamente os mesmos, mas a quantidade de cálculo incremental é pequena e a pressão no poder de computação não é grande. Além disso , a vibração de alta velocidade da bicicleta No sistema, o efeito de adicionar o link integral ao tipo incremental medido é médio e é fácil causar saturação devido a vários problemas. Claro, também é visto que o posicional PID é usado para ajustar bem. Cabe a você escolher um giroscópio adequado por si mesmo.

anel angular

No algoritmo Lqr de código aberto de Lq, o loop de ângulo é usado como saída principal e um D é usado para processar a velocidade angular. Na verdade, a aceleração é o ponto real a ser considerado, o que também é um dos motivos pela impaciência, (talvez adicionando um loop de velocidade angular Será melhor???) Durante o processo de depuração, o loop de ângulo é usado principalmente para compensar o estouro ou atraso causado pelo loop de velocidade, então eu uso apenas uma posição simples P para processar o loop de ângulo, e o processo de depuração é o ajuste aproximado.

anel de velocidade

Embora o anel de velocidade seja o anel mais externo, acho que é um anel muito importante, porque determina a capacidade de sua bicicleta manter a estabilidade após ser perturbada, e o PID posicional é usado para ajuste fino.Muitas pessoas não entendem como o loop de velocidade é usado como entrada? ? ? ? ? ? ? Um exemplo muito simples, supondo que a bicicleta precise girar a roda motriz no sentido anti-horário (da perspectiva da parte traseira da bicicleta) para reverter a bicicleta para a esquerda, e você pode julgar de que lado está a postura da carroceria do veículo neste tempo através da polaridade do encoder. Ir para a direita requer aceleração contínua para equilibrar, o que envolve o problema do estouro, ou seja, o carro cairá para a direita. Neste momento, é necessário ajustar aproximadamente o anel de ângulo para suprimir este efeito. (Quando o corpo cai para a direita, o anel de ângulo grande o compensa)

método de depuração

Ajuste o anel de velocidade angular primeiro e, em seguida, ajuste o anel de velocidade quando começar a achar difícil cair em uma direção. Depois de adicionar o anel de velocidade, o carro pode ficar parado por cerca de 2 segundos e, em seguida, começar a ajustar o anel de velocidade No início, recomenda-se que você use apenas os três anéis Realizando controle P comum, o efeito medido também é muito bom, e a capacidade de se levantar e anti-interferência é muito melhor do que Lqr.Aumente o loop de velocidade o máximo possível durante o processo de ajuste de parâmetros, a atitude de interferência externa, observe a situação de normalização, se houver overshoot, aumente o loop de ângulo e o loop de velocidade angular é mais como um coeficiente proporcional (se for puro P), todas as correções podem ser tratadas corrigindo o loop de velocidade e, após a conclusão do ajuste, o valor D é adicionado para ajuste fino.

Anel Servo - Zero Dinâmico

Depois que o equilíbrio é ajustado, é hora de introduzir a entrada do servo. Após os cantos do leme, a postura do corpo obviamente mudará. Podemos medir a mudança de ângulo do ponto médio desligando o motor e usando um coeficiente proporcional simples P , processar a entrada PWM do aparelho de direção e sobrepor a saída no ponto zero.

4.27 Suplemento:sobreCaixa de direção para equilíbrio de atitudeDe fato, a influência do volante se divide em dois aspectos: o primeiro é a mudança do ponto zero após as curvas do volante.O segundo lugar que é fácil de ignorar é a força entre a caixa de direção e o solo durante as curvas., existem muitos fatores de influência neste ponto, então vá diretamente para o computador host para observar o ângulo em ângulo total e descobriu que os dois fatores são opostos em polaridade, mas o último será compensado em breve, mas se não for tratado corretamente, ele também cairá no chão durante o processo de depuração. Um dos fatores importantes, o seguinte é o teste de PC
insira a descrição da imagem aqui

Andar de bicicleta na vertical

Análise de estresse da postura ao caminhar

Estou com preguiça de escrever por enquanto, também é um ponto zero dinâmico, seja qual for o lado para o qual o ponto zero vire, ele pode ser dobrado quando for processado.

anel de força centrípeta

Estou com preguiça de escrevê-lo por enquanto. Também é um simples P. Não pergunte por que você não usa F=(m*v^2)/2. Ele pode ser usado após a medição real e ajuste. Claro, você também pode tentar. O algoritmo sempre pode encontrar um melhor. Ajuste bem Com flexão indiscriminada, a direção pode ser controlada suavemente a uma velocidade de pelo menos 1m. (A premissa é que todos os parâmetros anteriores foram ajustados e o controle do bluetooth é como voar.)

parte do código

Depois de concluir as etapas de depuração acima, a velocidade do jogo pode ficar basicamente acima de 0,7. Claro, esse definitivamente não é o sistema de controle mais perfeito, mas é apenas para você ter uma ideia e não há necessidade de usar o aberto código-fonte do LQ sem pensar. (Recentemente, Zhufei acaba de lançar uma solução sem atualização. É realmente feroz. Sugiro que você tente usar essa rotina para incorporá-la ao controle sem escova. O poder do armazenamento sem escova é muito maior do que o do pincel. A principal razão é que não é fácil de queimar, mas seu estado estacionário A velocidade não é tão bem controlada)

zero dinâmico
insira a descrição da imagem aqui
insira a descrição da imagem aqui
insira a descrição da imagem aqui

Reabastecimento

Não é impossível usar I em PI incremental. O efeito da velocidade angular pura PI é ainda melhor do que o acoplamento da velocidade angular P e da velocidade P. Você pode decidir sobre a decisão limite para a integral e postar algumas ideias para sua referência. Entre eles, a Ideia 3 é viável na prática.
insira a descrição da imagem aqui
insira a descrição da imagem aqui

A escrita não é boa apenas para referência. Se você tiver alguma opinião, prevalecerá. Espero que todos alcancem bons resultados (pressa sem pincel)

Guess you like

Origin blog.csdn.net/weixin_58453536/article/details/124435685