1 votos

Modelar un dron en 3D: encontrar la componente z del vector de empuje conociendo los ángulos de cabeceo (sobre x) y de balanceo (sobre y).

He estado intentando crear el modelo de un dron por diversión y al calcular la dinámica lineal necesito averiguar la componente Z del vector de empuje.

Básicamente, en el espacio 3D el vector de empuje es siempre perpendicular a mi dron, de ahí que su ángulo y por tanto la componente z cambie con el cabeceo y el alabeo del dron. El cabeceo es el ángulo sobre el eje x y el alabeo es el ángulo sobre el eje y con $ 0$ siendo los grados el vector que apunta hacia arriba.

También conozco la magnitud total del vector de empuje, básicamente el empuje total generado por mi dron. A partir de ahí puedo obtener fácilmente las componentes de los vectores de empuje en las direcciones x e y multiplicando la magnitud del vector por, respectivamente, sin(roll) y sin(pitch).

Lo que he estado haciendo hasta ahora es utilizar la magnitud para escribir eso: $$M^2=X^2+Y^2+Z^2$$ siendo M la magnitud y X, Y Z las componentes del vector de empuje. A partir de esto reescribí,

$$Z=\sqrt{M^2-X^2-Y^2}$$

De nuevo aquí: $$X=sin(roll)*M$$ y $$Y=sin(pitch)*M$$ con el balanceo el ángulo sobre el eje Y y el cabeceo el ángulo sobre el eje X.

El problema es que esto falla en muchos casos ya que $M^2-X^2-Y^2$ se convierte en negativo. Estoy seguro de que he hecho algo básico bastante mal aquí, pero no me entra en la cabeza, agradecería mucho su ayuda si alguien sabe lo que estoy haciendo mal.

Gracias.

1voto

elt93 Puntos 6

De hecho, creo que he encontrado una manera de hacerlo si esto ayuda a alguien: En lugar de pensar en ello de la manera presentada anteriormente, consideré el hecho de que sin ángulos de rotación, la coordenada Z era igual a la magnitud del empuje.

Un cabeceo positivo crea un ángulo entre Z y el vector de empuje (mirando en el sistema de coordenadas 2D ZY), la coordenada z de este vector se convierte entonces: $$ Z=M*cos(Pitch) $$

Otra rotación en el rollo (ahora en el plano 2D ZX) también lad la nueva coordenada Z para convertirse:

$$ Z=M*cos(Roll) $$

Así que finalmente, juntando todo esto, obtenemos: $$Z=M*cos(Pitch)*cos(Roll)$$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X