Exercício GNC — bancada

O alocador C++ submetido (Exercício 1) voando o cenário do Exercício 2, ao vivo no navegador.

Dirigível de dois gyros vetorizados, simulado nas convenções do teste (corpo NED, gyros α/β, wrench Fx,Fz,My,Mz). O casco esbelto não tem leme → é direcionalmente instável (momento de Munk): eis a deriva lateral do Ex.2. Compare a guidance que persegue o bearing (o que o log do teste faz) com a proposta que controla a rota (cross-track + caranguejo). A alocação em ambos é o mesmo código C++ entregue.
Modo

Missão (vista de cima) — gyros vetorizando o empuxo

Erro de cross-track no tempo — o que o Ex.2 pede p/ reduzir

Cole seu ControlAllocator e voe submetido

Edite a classe abaixo — mesmo contrato: namespace gnc, structs Wrench{Fx,Fz,My,Mz}, PodCommand{T,α,β}, ActuatorCommand{front,rear}, AllocatorConfig e o método ActuatorCommand allocate(const Wrench&). Compila ao vivo p/ WASM e voa a mesma missão. Só cabeçalhos padrão de computação (<cmath>, <algorithm>, <limits>…).

course+crab bearing-chasing  ·  física: massa adicionada (Lamb) + Munk + arrasto, corpo rígido em NED  ·  alocação: ControlAllocator.hpp submetido (Ex.1), compilado p/ WASM.