Acelerômetro no sistema de controle PID do controle de cruzeiro do carro

Eu dirijo um carro americano bastante moderno, cheio de eletrônicos. Do que controla o movimento, ele possui um sistema de estabilização eletrônico, um PBS com emulação de uma trava do diferencial, naturalmente ABS e, claro, controle de cruzeiro. Este último ainda não é adaptativo (ou seja, sem a função de manter a distância do carro da frente). Há um acelerador eletrônico no carro (este é um momento fundamental para este artigo - explicarei porque mais tarde).



Quem quiser saber o que o controle de cruzeiro não agradou e o que se propõe a ser melhorado - seja bem-vindo em cat.



Em geral, os modernos sistemas eletrônicos de um carro, que são os responsáveis ​​diretos pelo movimento, são bastante complexos. Em particular, a ECU junto com a PCU (unidade de controle do trem de força, controlador de transmissão automática, pode ser um dispositivo separado ou integrado com a ECU), conhece não apenas as características (isto é, eles têm e usam um modelo físico) do motor e da transmissão, mas também o modelo físico do próprio carro.



Por que este último é importante e quais são os benefícios disso quando combinado com um pedal do acelerador eletrônico? Porque, ao contrário de um acelerador mecânico, um pedal eletrônico é apenas um órgão mestre (comando) - como o telégrafo do motor de um navio.



Se o acionamento mecânico determina imperativamente a taxa de fluxo de ar do motor, e a ECU não tem escolha a não ser manter a estequiometria de acordo com a taxa de fluxo dada, então, no caso de um pedal eletrônico, o controlador, independentemente do driver a) forma a dinâmica de abrir ou fechar o acelerador para proteger a transmissão de momentos de pico, b) limites o momento nas rodas com a força de tração máxima que pode ser realizada (de acordo com o modelo físico da transmissão e do próprio carro), c) limita a velocidade das rodas motrizes quando o escorregamento é detectado, d) mantém a velocidade do carro monitorando a frequência das rodas motrizes no modo de controle de cruzeiro - isto é, o controlador sempre conhece o acordo atual(se eu também soubesse o valor real, por exemplo, por meio do sensor de torção angular da ponta do virabrequim em relação ao volante, haveria espaço em geral) o valor do torque fornecido às rodas e a função de controle de destino, uma vez que ela controla esse momento em si. Esta é a diferença fundamental entre os sistemas com pedal eletrônico e os mecânicos.



O que eu não gostei nessa horta inteira? E aqui está o que - apesar da disponibilidade de informações sobre as propriedades físicas do sistema motor-transmissão-carro (o controlador, em teoria, pode até calcular a carga atual do carro através da análise estatística das características dinâmicas (a resposta da aceleração em resposta ao momento que age nas rodas), mas dificilmente o faz) , o controle de cruzeiro nele é muito primitivo - ele reage ao fato de uma mudança na velocidade, e não ao fato de uma mudança na resistência ao movimento, a consequência da qual é uma mudança na velocidade e, portanto, ao contrário de um motorista humano, ele luta com o efeito, não a causa.



Agora vamos ver o que pode causar a mudança na resistência ao movimento. Ele, com uma precisão de o-pequeno, consiste em quatro componentes: a) todas as perdas estruturais (por exemplo, devido ao atrito viscoso na transmissão), b) perdas devido ao atrito de rolamento da estrada de roda (depende principalmente do tipo e qualidade do pavimento, tipo de borracha, massa do carro), c) perdas de resistência do ar (dependem principalmente da velocidade do ar (um termo da aviação, mas deve ficar claro aqui), d) projeção da gravidade no eixo de movimento (pode acelerar ou desacelerar o carro, dependendo do sinal )



Vamos fazer uma avaliação da importância desses fatores em termos de sua influência na qualidade da regulação da velocidade e na possibilidade de sua contabilização e compensação automática durante o tempo de operação do piloto automático:



  • o fator a) está disponível para modelagem (depende da temperatura da transmissão, da marcha engatada, dos parâmetros de viscosidade do ATF - todos esses dados estão disponíveis para o controlador), mas é insignificante no modo de condução em estado estacionário na faixa de autorregulação (transmissão aquecida, velocidade de cruzeiro> 30 km / h) - eles no modelo PID, você pode simplesmente negligenciar
  • o fator b) é bastante significativo, pelo menos na faixa de velocidades permitidas, e consiste em componentes estáticos (tipo de pneus, peso do veículo), dinâmicos (velocidade do veículo) e estocásticos (tipo de cobertura sob as rodas).


Tomados em conjunto, os fatores a) eb) podem ser simplesmente colocados no modelo na forma de parâmetros médios, ou seus coeficientes podem ser derivados por análise estatística da dinâmica atual do carro, como uma resposta ao momento calculado nas rodas.



Além disso, o fator c) - depende principalmente da velocidade da corrente, da projeção da velocidade do vento no eixo do movimento e da presença de elementos anormais que alteram a seção média e o Cx do carro. Parâmetros básicos (seção média, Cx, densidade do ar sob condições padrão) podem ser codificados em um modelo de carro, desvios de design podem ser determinados por análise de longo prazo da dinâmica em altas velocidades (quando a força de resistência do ar prevalece sobre o resto), curto prazo (da projeção da velocidade do vento no eixo de movimento) pode ser considerado aleatório momento perturbador (limitando seu valor de cima a um limite razoável [digamos, 20 m / s - a uma velocidade do vento mais alta, não como em um cruzeiro - é difícil manter o carro em velocidade no modo manual]), o controlador sabe a velocidade atual em relação à estrada quase exatamente - no total, o fator c) com um determinado componente estocástico pode ser calculado.



Finalmente, o fator d) é bastante significativo; tem um componente 100% estocástico na ausência de acelerômetro e praticamente zero na presença de um.



Então, dirigindo em terreno acidentado com cruzeiro ligado e observando sua reação retardada à mudança no valor da velocidade devido ao movimento do carro em subida, tive a ideia de adicionar um acelerômetro ao sistema de controle. Muitos sistemas de controle já contêm até mesmo um sensor de estrada irregular (necessário para ignorar a análise da rotação desigual do virabrequim devido ao movimento sobre lombadas) - este é essencialmente o mesmo acelerômetro, apenas interpretado de forma diferente.



Observe que o acelerômetro em si (sem API) não é um giroscópio e nem um "dispositivo milagroso" em nossos gadgets, que supostamente "conhece" a verdadeira posição do normal em relação à superfície terrestre (na verdade, ele é recalibrado com expansão de memória ao longo dos eixos nesses momentos quando a magnitude do vetor de aceleração emitido pelo sensor de aceleração é estritamente 1g), mas uma vez que apenas o próprio controlador pode ser o iniciador da tração nas rodas (olá para sistemas com um pedal eletrônico), o valor da aceleração longitudinal em relação ao eixo do veículo pode ser facilmente calculado e compensado - e depois calculando a média, obtemos uma boa aproximação do valor do perfil longitudinal da estrada, que podemos introduzir no modelo de controle de velocidade.



Essa é a ideia geral. É claro que é quase impossível implementá-lo no firmware do controlador no nível DIY (fora da fábrica de automóveis). No entanto, podemos construir nosso computador próximo ao controlador principal do carro, analisar os parâmetros de direção atuais via CAN e dar ações de controle lá. Não tenho certeza se o momento atual nas rodas pode ser obtido do CAN, mas a marcha engatada, fluxo de ar e rpm são definitivamente possíveis (isso permite que você calcule indiretamente o momento). Além disso, é mais provável que seja impossível comandar o acelerador diretamente via CAN (seria muito perigoso) - mas podemos dar comandos proativos para aumentar ou diminuir a velocidade de cruzeiro definida ou (se o CAN não suportar) conectar aos botões correspondentes no volante do carro. Tudo o resto parece serpode ser implementado neste controlador externo.



ATUALIZAÇÃO: Diálogo com lonelymypme levou a uma solução mais simples - uma vez que em um estado estacionário o carro se move uniformemente, o módulo do vetor de aceleração do acelerômetro é sempre igual a 1g (independente de sua posição em relação ao sistema de coordenadas do carro). Se o acelerômetro detecta a rotação desse vetor ao longo de um eixo perpendicular ao eixo de movimento, isso significa o aparecimento de resistência adicional (subida, cobertura, vento contrário) ou força de movimento (descida, vento de cauda). O sistema de controle é guiado pela dinâmica de rotação do vetor e gera uma ação preventiva. Então não precisamos de um modelo de perdas na transmissão, pneus, etc., embora precisemos de informações sobre a massa atual, pois a característica do controle direto depende disso (a relação entre a aceleração no eixo longitudinal e o delta do momento nas rodas)



All Articles