Open Source Robotics

Uma coleção selecionada de projetos, ferramentas e software de robótica de código aberto de alta qualidade.

Cascaded Control

  • Também chamado: cascade control, nested-loop control, inner-outer loop control
  • Categoria: Control › Feedback control
  • Tags: feedback-control, pid, flight-control, motor-control, control-architecture

Uma estrutura de controle com malhas de realimentação aninhadas, em que uma malha externa calcula o setpoint de uma malha interna mais rápida, como posição sobre atitude sobre velocidade angular do corpo em um drone.

Definição

Controle em cascata (cascaded control) divide um problema de controle em malhas de realimentação aninhadas. A malha externa regula a grandeza lenta que interessa ao usuário, como a posição, e sua saída não é um comando para o atuador, mas um setpoint para uma malha interna que regula uma grandeza intermediária mais rápida, como a velocidade, a atitude ou a corrente. Cada malha só precisa LiDAR com uma parte da dinâmica, o que torna os controladores mais simples de projetar e ajustar, e a malha interna rejeita perturbações, como uma rajada ou um torque de carga, antes que elas cheguem à variável externa.

A estrutura funciona melhor quando a malha interna é muito mais rápida do que a externa. A malha externa pode então tratar a interna como se ela seguisse seu setpoint imediatamente. Uma regra prática comum é fazer cada malha interna ter uma largura de banda várias vezes maior do que a da malha ao seu redor, muitas vezes por um fator de cerca de cinco a dez. As malhas são ajustadas de dentro para fora: primeiro a malha mais interna, depois cada malha externa com as internas fechadas. Os limites precisam ser passados entre os níveis, por exemplo um ângulo de inclinação ou uma corrente máximos, e as malhas externas precisam de anti-windup para não continuarem integrando o erro enquanto a malha interna está saturada.

Dois exemplos são quase universais na robótica. Acionamentos de motores elétricos usam uma malha de corrente (torque) dentro de uma malha de velocidade dentro de uma malha de posição. Controladores de voo de multirrotores usam um controlador de posição que gera uma aceleração desejada, convertida em um empuxo total e uma atitude desejada; um controlador de atitude gera então comandos de velocidade angular do corpo; e um controlador de velocidade angular produz torques que um mixer transforma em comandos individuais para os motores. As malhas externas podem ser controladores PD, PID ou baseados em modelo, e o nível de posição às vezes é substituído por controle preditivo baseado em modelo, mantendo as malhas internas de atitude e de velocidade angular. A limitação do controle em cascata é que ele ignora o acoplamento entre os níveis: manobras agressivas que exigem desempenho próximo da largura de banda da malha interna, ou dinâmicas fortemente acopladas, podem ser tratadas melhor por controladores que consideram o sistema inteiro de uma vez.

Por que importa

A maioria dos drones comerciais, dos acionamentos de motores e muitas juntas de robôs são controlados por malhas em cascata, por isso os engenheiros encontram essa estrutura sempre que ajustam, depuram ou estendem hardware real. Entender a separação de largura de banda e as interfaces entre as malhas explica muitos problemas comuns, desde um rastreamento de posição lento até oscilações causadas por uma malha interna mal ajustada.

Principais aplicações

  • Controladores de voo de multirrotores com malhas de posição, atitude e velocidade angular
  • Acionamentos de servomotores com malhas de corrente, velocidade e posição
  • Controle de juntas de braços robóticos e robôs com pernas
  • Controle de processos, como a regulação de temperatura e de vazão
  • Combinação de uma malha externa de controle preditivo baseado em modelo com malhas internas rápidas de rastreamento

Na prática

Em um drone de corrida, o planejador de uma equipe envia referências de posição, velocidade e aceleração. Uma malha externa de posição PD, executada a uma taxa menor, calcula uma aceleração desejada, soma a gravidade e a aceleração de feedforward e transforma o resultado em um empuxo coletivo e uma direção de empuxo desejada. Uma malha interna de atitude proporcional converte o erro de atitude em comandos de velocidade angular do corpo, que a malha de velocidade angular do controlador de voo rastreia a uma taxa muito maior usando a realimentação do giroscópio. Quando o drone oscila em voo pairado, a equipe primeiro reajusta a malha de velocidade angular sozinha, depois a malha de atitude e só então os ganhos de posição, em vez de ajustar a malha externa para compensar uma malha interna mal ajustada.

Equívocos comuns

  • Quaisquer controladores podem ser empilhados em cascata — a estrutura depende de a malha interna ser consideravelmente mais rápida; sem essa separação as malhas interagem e podem se tornar instáveis
  • Malhas em cascata podem ser ajustadas em qualquer ordem — as malhas internas devem ser ajustadas primeiro, porque o comportamento da malha externa depende de como a interna responde
  • O controle em cascata está ultrapassado em comparação com o controle preditivo baseado em modelo — muitos sistemas baseados em MPC ainda executam malhas internas em cascata de atitude, velocidade angular ou corrente, com o MPC substituindo apenas o nível externo

Quem deve saber

  • Engenheiros de drones e de controle de voo
  • Engenheiros de controle de motores e acionamentos
  • Engenheiros de robótica que ajustam controladores de juntas e de bases móveis
  • Estudantes que aprendem controle por realimentação na prática

Tecnologias relacionadas

  • Controle PID (PID Control)
  • PX4 Autopilot
  • Betaflight
  • Controle orientado a campo (Field-Oriented Control)
  • Anti-Windup

Termos relacionados

  • PID Controller
  • UAV
  • Differential Flatness
  • Model Predictive Control
  • Thrust-to-Weight Ratio
  • Fault-Tolerant Control

Projetos relacionados

  • MAVROS: ROS gateway for MAVLink-compatible autopilots (PX4, ArduPilot)

Vídeos

  • Introduction to Cascade Control: LearnChemE

Este site requer JavaScript. Por favor, habilite o JavaScript para explorar nossos projetos de robótica.