Capítulo 13

O Desafio do Drone

Você consegue manter o drone a 2 m durante tudo?

Capítulo 13: O Desafio do Drone ↗

Briefing da missão

June: Certo. Drone de verdade, entrega de verdade. Ele decola com um pacote, enfrenta uma rajada, solta o pacote e se mantém a 2 m o tempo todo. Vinte segundos.

Mika: E não podemos tocar em nada enquanto ele voa?

Theo: Essa é a graça. O controlador tem que fazer isso sozinho. A gente só escolhe três números. Quer dizer, quatro: o filtro também.

A missão, segundo a segundo:

  • 0 s: decola do chão carregando um pacote de 0,2 kg (0,7 kg no total).
  • 6–9 s: uma rajada descendente empurra com 1,5 N.
  • 12 s: o pacote cai. De repente, o drone está 0,2 kg mais leve.
  • 20 s: fim da missão.

Nosso modelo de drone fica um pouco mais honesto para o final. Cada item abaixo é algo com que drones de verdade precisam conviver, e cada um é um velho conhecido de um capítulo anterior:

  • Atraso do motor (τ ≈ 0,05 s): uma hélice não muda de velocidade instantaneamente. O empuxo segue o comando como o café esfriando do Capítulo 3, um atraso de primeira ordem: 63% do caminho depois de 0,05 s. Um empurrão atrasado é a defasagem do Capítulo 12 disfarçada.
  • **Um sensor ruidoso (σn\sigma_n ≈ 2 cm, n do inglês noise, ruído; não é o σ de um polo):** cada leitura de altura erra por uns 2 cm, ao acaso, mil vezes por segundo. O Capítulo 11 avisou: o D transforma esse tremor em grandes picos de empuxo.
  • Motores limitados (de 0 a 20 N): o limite do Capítulo 10 continua valendo. Com o pacote, o drone pesa 6,9 N, então 20 N é só cerca de três vezes o seu peso, e os motores nunca conseguem puxar para baixo. Enquanto eles estão no limite, a pilha fica pausada (o anti-windup do Capítulo 11).
  • O D é filtrado: a solução do Capítulo 11. O D pega a inclinação de uma leitura suavizada do sensor, um atraso de primeira ordem com a constante de tempo τf\tau_f que você escolher. τf\tau_f maior significa mais calma, mas mais atraso.

Capítulo 13: O Desafio do Drone ↗

O Capítulo 12 desenharia isto. Aqui está a malha do próprio drone, o ajuste de seis estrelas dando uma volta: controlador, motores, drone. Deslize o atraso do motor e veja a fase se curvar para baixo.

Capítulo 13: O Desafio do Drone ↗

Theo: Sem o atraso, a fase nunca chega a −180°, então não existe precipício nenhum: por mais que você aumentasse o ganho, a malha nunca conseguiria alcançar o −1 do Capítulo 10. É o atraso minúsculo dos motores que constrói o precipício.

Preveja primeiro! Quando o pacote cai aos 12 s, qual termo faz o trabalho pesado para trazer o drone de volta exatamente a 2 m?

Capítulo 13: O Desafio do Drone ↗

Mika: Peraí. Então, depois da queda, o drone tem que flutuar um pouco alto demais por um tempo? É desse erro que a pilha desaprende!

Voe a missão

Cada mudança de controle deslizante reinicia a missão, e o voo anterior fica como fantasma. O pequeno plano s mostra os polos nominais: o atraso do motor e o filtro estão incluídos, e só o ruído, o pacote e os limites ficam de fora. Assim você vê o quadro linear enquanto o voo real, bagunçado, acontece ao lado. Ganhe as seis estrelas para levar o ouro.

Os limites são o que um cliente da entrega perceberia: acomodado em até 3 s, nunca mais de 10% alto demais, não empurrado mais que um palmo (20 cm) pela rajada, de volta em 2 s depois da queda, nunca raspando no chão, e motores que não zumbem (menos de 0,5 N de tremedeira).

A estrela de chegada significa que a altura real fica dentro de ±5 cm desde a chegada até a rajada aos 6 s; só cruzar 2 m uma vez não conta. A estrela dos motores calmos usa o desvio padrão do empuxo de 3 a 6 s, depois da decolagem e antes da rajada: a variação típica em torno da média, incluindo acomodação tardia e tremedeira do sensor. Aponte para uma linha da checklist (ou chegue nela com Tab) para sombrear os segundos que ela avalia.

Capítulo 13: O Desafio do Drone ↗

June: Eu ajustei o controlador perfeito na minha cabeça: KdK_d enorme, o filtro minúsculo para que D reaja instantaneamente. É impecável em ar calmo! Veja…

June: …por que os motores estão gritando? A linha laranja está toda borrada, e agora ainda tem sobressinal!

Theo: Capítulo 11, aviso 2. KdK_d grande vezes um filtro minúsculo transforma cada 2 cm de tremor do sensor em um pico de empuxo. E os picos são cortados em 0 N com muito mais frequência do que em 20 N (a linha laranja clara mostra o que o controlador pediu: veja quantas vezes ela bate em 0 N), então eles somam um empurrão extra desequilibrado. Esse é o sobressinal, a mesma deriva para cima que o Capítulo 11 flagrou. Só era impecável porque seu ar calmo imaginário vinha com um sensor perfeito.

Capítulo 13: O Desafio do Drone ↗

Experimente o ajuste da June para ar calmo e veja a estrela "motores calmos" falhar. Depois aumente o filtro para 0,04 s e baixe KdK_d para cerca de 7. Com KdK_d = 7 ele chega em cerca de 1,9 s, em vez do 1,3 s que a June sonhava: esse é o preço de motores calmos. Essa troca, velocidade contra ruído e contra robustez, é engenharia de controle.

June: Um pouco mais lento, e os motores param de gritar. Fechado. Na minha cabeça o ar era calmo e o sensor era perfeito.

Olhando para trás

Mika: Comecei pensando que "empurrar mais forte" conserta tudo. É o contrário, não é? A maior parte do problema veio de empurrar demais com informação velha ou ruidosa. Fico feliz por ter feito todas as perguntas bobas. Nenhuma delas era boba.

Theo: Finalmente acredito na transformada de Laplace. Não é uma tabela de consulta: é uma sonda que pergunta a um sinal "quanto de este^{st} você é?" E porque inclinações se tornam multiplicação por ss, o cálculo se transforma em álgebra. Os polos são onde a resposta explode: o este^{st} a partir do qual o sistema é construído.

June: E eu aprendi que "mais" não é "melhor": mais ganho, mais amortecimento, mais KiK_i, mais velocidade. Sempre existe um precipício, e os bons projetos mantêm uma margem dele. Além disso: sempre teste no drone.

Aqui está tudo o que construímos, do chuveiro ao final. Cada bolha leva de volta ao lugar onde nasceu.

O que descobrimos

  • Realimentação: medir o que aconteceu, comparar com o objetivo, agir sobre o erro (Cap 0–1).
  • O controle P empurra em proporção ao erro, mas deixa um desvio residual e oscila quando é forte (Cap 2).
  • Derivadas, exponenciais e números girantes descrevem como as coisas mudam: este^{st} com s=σ+iωs = \sigma + i\omega cresce ou diminui e oscila (Cap 3–7).
  • A transformada de Laplace transforma inclinações em multiplicação por ss, então o cálculo vira álgebra (Cap 9).
  • Os polos não cancelados de uma função de transferência marcam movimentos naturais visíveis da entrada escolhida até a saída: movimentos no semiplano esquerdo desaparecem, movimentos no semiplano direito crescem (Cap 10).
  • PID: o I elimina o desvio residual, o D adiciona amortecimento, e cada um move os polos (Cap 11).
  • O atraso adiciona defasagem de fase; as margens dizem o quão longe você está da beira do precipício (Cap 12).
  • O hardware real acrescenta limites (Cap 10), atraso que custa margem de fase (Cap 3 + Cap 12) e ruído que o D amplifica (Cap 11), então bons controladores são calmos além de rápidos (Cap 13).

Explique para um amigo

Primeiro, a sua missão: quantas estrelas você ganhou, e qual foi a mais difícil? Diga o porquê em voz alta antes de continuar lendo.

Mika: A minha foi a estrela da calma. Eu ficava pondo mais D para acalmar os motores, e eles só ficavam mais barulhentos.

O melhor teste de compreensão é explicar. Antes de cada resposta, tente dizer sua versão em voz alta. Depois escolha a explicação que mais se aproxima dela.

Mais uma imagem: o plano de estados

Theo: Todo gráfico deste curso mostrou a altura ao longo do tempo. Mas só a altura não diz o que vem depois: estar a 2 m subindo não é o mesmo que estar a 2 m caindo.

Dois números definem o futuro: a altura medida a partir do alvo, Δh\Delta h, e a velocidade vv. Juntos, eles são o estado do drone. Coloque os dois em um só plano, altura na horizontal e velocidade na vertical, e o voo inteiro vira o caminho de um único ponto em movimento.

As regras dele são as inclinações do Capítulo 3, uma para cada número: a altura muda com a velocidade, e a velocidade muda com a aceleração da equação do Capítulo 1. Com o empuxo de pairar já descontado e o controle PD T=−Kp Δh−Kd vT = -K_p\,\Delta h - K_d\,v por cima, as duas regras cabem em uma só tabela:

ddt(Δhv)=(01−Kpm−c+Kdm)⏟A(Δhv)\frac{d}{dt}\begin{pmatrix}\Delta h\\ v\end{pmatrix} = \underbrace{\begin{pmatrix}0 & 1\\ -\frac{K_p}{m} & -\frac{c+K_d}{m}\end{pmatrix}}_{A}\begin{pmatrix}\Delta h\\ v\end{pmatrix}

Essa tabela AA é uma matriz: multiplique-a pelo estado e sai a velocidade de mudança do estado. A linha de cima diz que a altura muda com a velocidade; a linha de baixo é a lei de Newton.

Preveja primeiro! Com KpK_p = 20 N/m e sem D, o drone começa parado, 1 m abaixo do alvo. Que caminho o estado dele desenha?

Capítulo 13: O Desafio do Drone ↗

June: É a espiral do Capítulo 6! E quando eu empurro KdK_d para além de uns 5,3, a espiral se endireita e desliza para dentro ao longo de duas linhas tracejadas.

Essas linhas retas são os modos: comece exatamente em cima de uma delas e o estado desliza em linha reta para o centro, no ritmo próprio daquele modo. Os ritmos são os números especiais da matriz, os seus autovalores, encontrados onde det⁡(sI−A)=0\det(sI - A) = 0:

det⁡(sI−A)=s2+c+Kdm s+Kpm=0\det(sI - A) = s^2 + \frac{c + K_d}{m}\,s + \frac{K_p}{m} = 0

Mika: É a equação do Capítulo 7! Os autovalores são os polos. Mesmo drone, imagem nova.

E o playground de polos do Capítulo 10 estava fazendo realimentação de estados o tempo todo, sem alarde: T=−Kp Δh−Kd vT = -K_p\,\Delta h - K_d\,v empurra os dois números do estado, e escolher os dois ganhos posicionava os dois polos. Dê mais números ao estado (inclinação, giro, posição lateral) e a matriz cresce, mas a ideia continua: os autovalores são os polos, e realimentar o estado inteiro permite posicionar todos eles.

Mais uma confissão. Toda regra deste curso é uma regra de linha reta, mas as coisas de verdade fazem curva. O empuxo de uma hélice cresce com o quadrado do seu giro, T=k w2T = k\,w^2. Perto do pairar, a curva é quase reta, então a trocamos pela sua tangente no ponto de pairar, a régua do Capítulo 3:

T≈T0+2k w0 ΔwT \approx T_0 + 2k\,w_0\,\Delta w

Capítulo 13: O Desafio do Drone ↗

Theo: Então as linhas retas nunca foram mentira. Elas são uma imagem ampliada: honestas perto do pairar, piores quanto mais você se afasta. É por isso que a nossa matemática precisava do drone perto de 2 m.

Palavras novas

Estado
Os números que definem o futuro: para o nosso drone, altura e velocidade. Um ponto no plano de estados.
Matriz AA
Uma tabela de números que transforma o estado na sua velocidade de mudança.
Autovalores
Os ritmos especiais de uma matriz, onde det⁡(sI−A)=0\det(sI - A) = 0. Para a AA de um drone, eles são os seus polos.
Linearização
Trocar uma regra curva pela sua tangente perto do ponto que interessa (aqui, o pairar).

Para onde ir agora

Agora você sabe mais teoria de controle do que a maioria das pessoas chega a conhecer. Aqui está para onde a estrada segue, cada uma um novo caderno:

  • Lugar das raízes: em vez de arrastar polos, arraste o ganho e veja os polos traçarem caminhos. Você veria de relance qual KpK_p é demais.
  • Controle no espaço de estados: você já provou um pouco disso acima. Muitos sensores e motores ao mesmo tempo: um drone de verdade precisa segurar inclinação, giro e posição juntos, e ajustar um botão de cada vez deixa de funcionar.
  • Controle digital: controladores reais rodam em computadores que amostram a cada poucos milissegundos. A amostragem também é um pequeno atraso, e o plano s ganha um primo, o plano z.
  • Filtros de Kalman: misturam o que um modelo prevê com o que o sensor diz, para você usar um sensor ruidoso sem um filtro lento.
  • Preditores de Smith e controle preditivo baseado em modelo: controladores que carregam uma pequena simulação dentro de si para enxergar além dos atrasos, a verdadeira cura do chuveiro.
  • Controle não linear e robusto: o que fazer quando o arrasto não é linear ou o drone voa em 3D, e como provar que você ainda tem margem.

Theo: Lugar das raízes primeiro. Quero ver os polos se mexendo enquanto giro um botão só.

Da próxima vez que um chuveiro fizer você dançar entre escaldante e congelante, você vai saber exatamente o que está acontecendo. E vai saber que não é culpa sua. É a margem de fase.

Capítulo 13: O Desafio do Drone ↗