Skip to content
This repository was archived by the owner on Aug 13, 2020. It is now read-only.
This repository was archived by the owner on Aug 13, 2020. It is now read-only.

BUG: discontinuidad ángulos de euler #68

@AlexS12

Description

@AlexS12

En pyfme/utils/coordinates.py, la función check_theta_phi_psi_range(theta, phi, psi) comprueba que el valor de los ángulos de Euler está dentro de rango. Sin embargo, al integrar si el avión tiene orientación psi=0.05 y en el siguiente instante psi=-0.05 se lanza un ValueError porque psi está fuera de rango. Esto fue una idea de @JuanMatSa y mía al implementar los cambios de coordenadas, pero está haciendo que se interrumpa la integración cuando el avión pasa de por este valor de psi.

Existen varias opciones para arreglarlo:

  1. Tras cada paso de integración el valor de los ángulos de Euler se mete dentro de rango: psi=-0.01 --> psi=2pi - 0.01
  2. Eliminar comprobación de rango. En mi opinión no es buena idea: si no se tienen en cuenta las restricciones en el dominio de los ángulos de Euler a una misma posición del avión le pueden corresponder varia combinaciones de ángulos (por ejemplo: psi=180, theta=60, phi=180, sería igual que psi=0, theta=120, phi=0, sólo la primera es válida).
  3. Otras que podáis proponer.

Hasta que se haga merge de #65 el error se puede reproducir poniendo en oop_example.py turn_rate != 0.0 # rad/s e integrando durante tiempo suficiente.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions