Uma forma de fazer isto, em controlo e automação, é usar uma Plataforma de Stewart que tira partido de 6 actuadores lineares para conseguir controlar os seis graus de liberdade de um objecto livre (x, y, z, pitch, roll, yaw)

Enquanto pesquisava descobri que já havia alguns malucos que tinham feito isto com LEGO Technic, sendo o mais recente (e a meu ver mais bem conseguido) o WayneG, com duas versões que submeteu sem sucesso ao LEGO Ideas e disponibilizou no Rebrickable.
A versão mais recente do WayneG usa os sensores IMU internos de 2 hubs Technic (Control+) para implementar 2 joysticks - um para controlar x,y e z e o outro para controlar pitch, roll e yaw. Mas o tipo é completamente chanfrado e implementou o "código" todo na App Powered Up da LEGO, sã só 25 páginas de blocos e mais blocos para implementar a máquina bastante complexa necessária para o controlo.
Nas palavras do próprio autor: "
Além disso ele documentou a coisa para uma versão da App que já não existe, a LEGO (obrigadinho) mudou radicalmente o aspecto dos blocos (e por vezes a funcionalidade) por isso se já era um frete implementar aquilo na versão anterior, ainda é preciso entender os blocos todos (que a LEGO nunca documentou com a desculpa de ser tudo intuitivo) e entender a que blocos correspondem na nova versão da App (idem, aspas).
Por isso decidi fazer isto com Pybricks. Python é python e não muda e para calcular uma raiz quadrada de uma soma não é preciso ligar 500 blocos, [quase que] basta escrever a fórmula.
Só que há uma diferença na abordagem entre o Pybricks e a LEGO que dá algum trabalho: a App Powered Up é que controla tudo pelo que as operações são feitas no telemóvel, que lê os valores dos 2 hubs (sensor IMU, posições dos motores) e depois controla os motores; já com Pybricks é o hub que faz tudo pelo que teria de por ambos a comunicar entre si os valores dos sensores IMU e das posições dos motores e coordenarem-se no controlo dos motores.
Demasiado trabalho.
Como são 6 motores e tenho um hub Robot Inventor disponível que justamente permite ligar 6 motores, passei os motores para o hub RI que passa a ser o Master disto tudo, recebendo dos hubs Technic Control+ apenas a parte dos joysticks.
Não é que reduza a matemática, que continua a ser a mesma e bem lixada para quem não mexe em matrizes desde a faculdade por isso por agora apenas consigo controlar a altitude (z) que é bastante simples porque basta fazer todos os 6 motores rodar o mesmo número de rotações em simultâneo.
Até a Oeiras BRInCKa da próxima semana vou tentar implementar mais alguma das variáveis. Mas pelo menos assim já tenho algo para mostrar.