Eu tenho um sistema servo simples que usa um controlador PID implementado em um MCU para executar o feedback. No entanto, as propriedades do sistema mudam dinamicamente e, portanto, os parâmetros PID nunca podem ser ajustados para todas as circunstâncias.
Meu robô é um braço leve com motores elétricos com tração traseira, semelhante a este:
O braço executa várias tarefas, incluindo pegar pesos pesados, empurrar e puxar objetos pela mesa. Cada uma dessas tarefas requer diferentes parâmetros de ajuste do PID que não posso prever com facilidade.
O que eu realmente gostaria é de alguma função de nível superior que possa ajustar cuidadosamente os parâmetros em resposta ao comportamento do braço. Por exemplo, se perceber que o braço está oscilando, poderá reduzir P e aumentar D.
Existem tais algoritmos? Eu ficaria feliz mesmo se o algoritmo não aperfeiçoasse os parâmetros imediatamente. Por exemplo, o braço poderia oscilar algumas vezes antes dos parâmetros serem ajustados aos seus novos valores.
Uma boa abordagem para esse problema é chamada controle adaptativo. Em resumo, é uma metodologia de controle que presume que o modelo é conhecido, mas os parâmetros do modelo (massa, inércia etc.) não são. Seu trabalho é estimar os parâmetros desconhecidos. Uma breve introdução pode ser encontrada na wikipedia . O texto Robótica: Modelagem, Planejamento e Controle de Siciliano et al. cubra o tópico mais detalhadamente.
Edite em resposta à consulta @Rocketmagnets:
Em resumo, você deve ter um modelo matemático do seu sistema, ou seja, as equações que descrevem como o sistema evolui ao longo do tempo quando forçado ou não, mas você não precisa conhecer parâmetros dinâmicos, como a massa dos vários componentes, a inércia, etc. .. É tarefa do controlador adaptativo estimar esses parâmetros. Você precisa dar uma estimativa inicial para cada um dos parâmetros desconhecidos. Então, enquanto o sistema funciona, ele usa os sinais de controle, os sinais de saída e um método como regressão linear ou descida de gradiente para atualizar os valores de parâmetros desconhecidos. Com o tempo, os parâmetros convergirão para valores que resultarão em um estado estacionário, embora possam não corresponder aos parâmetros reais, ou seja, pode haver erros na massa, mas o valor ainda funcionará.
A partir daqui, aconselho a referência a um texto que discute o método. Acabei de notar, por exemplo, que o Dr. Marc Bodson está oferecendo uma cópia do seu texto Controle Adaptativo: Estabilidade, Robustez e Convergência em formato PDF em seu site .
fonte
O processo que você está descrevendo é conhecido como PID adaptável.
Parece meio que um exagero. Eu achei o PID bastante robusto ao lidar com distúrbios externos e as tarefas que você descreve não parecem além das capacidades de um único conjunto de ganhos.
fonte