Annonce

Réduire
Aucune annonce.

Accelerations X plane

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • #1
    Antonin,

    A ce stade, il n'ay a pas de bonne ou de mauvaise formule, il faut faire des essais.

    La philosophie de ces formules est de faire varier la sortie de -1 à 1 (ou -100% à 100%) lorsque l'accélération varie de -AccelerationMax à +AccelerationMax.
    Il suffit ensuite de multiplier par AngleMoteurMax pour obtenir la consigne des moteurs allant de -AngleMoteurMax à +AngleMoteurMax.

    Acceleration : -AccelerationMax .... 0 .... +AccelerationMax
    angle de calcul : -PI/2 .... 0 .... +PI/2 (PI/2 = 90°)
    sinus : -1 .... 0 .... +1
    % : -100% .... 0 .... +100%
    AngleMoteur : -AngleMoteurMax .... 0 .... +AngleMoteurMax

    La formule complète pour une sinusoïde qui tiendrait compte des deux accélérations devrait ressembler à :
    AngleMoteurRoulis = AngleMoteurRoulisMax * { k1*sin(PI/2*ax3/ax3Max) + (1-k1)*sin(PI/2*ap3/ap3Max) }

    AngleMoteurTangage = AngleMoteurTangageMax * { k3*sin(PI/2*az3/az3Max) + (1-k3)*sin(PI/2*aq3/aq3Max) }

    Dominique
    Dernière modification par FlyingBaldy, 24 mars 2011, 18h42.
    XP11.41 - WIN 7 - i7 - GTX970

    Commentaire


    • #1
      Je vois bien ce que vous faites, si je rajoute les coefficients K1 et K2 (pour tenir compte de l'importance de chaque accélération) je suis dans l'erreur?
      Je modifierais votre formule ainsi :
      AngleMoteurRoulis = AngleMoteurRoulisMax * ( sin ( PI/2 * (K1 * ax3/ax3Max) ) + sin( PI/2 * ( K2 * ap3/ap3Max ) )
      Ca peut être correct?

      Commentaire


      • #1
        Quand ça marchera il faudra l'inviter à l'essayer.
        PS: Après que les autres départements de l'iut aient fait leur part du travail, je prendrais contact avec mon prof pour que Dominique ait un pass VIP.
        Excellente initiative, ce sera avec plaisir malgré la distance.

        Et au retour je passerai par Montaigu (bon, je fais comme lebelge, je sors...)
        XP11.41 - WIN 7 - i7 - GTX970

        Commentaire


        • #1
          Antonin

          Attention, la formule
          AngleMoteurRoulis = AngleMoteurRoulisMax * ( sin ( PI/2 * (K1 * ax3/ax3Max) ) + sin( PI/2 * ( K2 * ap3/ap3Max ) )
          n'est pas correcte.

          Les coefficients multiplicateurs doivent être placés en-dehors du sinus; l'argument (entre les parenthèses) du sinus doit être compris entre -90° et 90° soit entre -PI/2 et +PI/2.
          Les coefficients sont uniquement là pour pondérer l'importance des accélérations linéaires par rapport aux accélérations angulaires, et pour que l'élément qui multiplie 'AngleMoteurMax' soit compris entre -1 et 1 (sinon 'AngleMoteur' dépassera la valeur maximale admise par le moteur de la cabine!

          Avoir k1 = k2 équivaut à traiter de la même façon les accél. linéaires et angulaires.
          Avoir k1>k2 équivaut à faire réagir la cabine davantage pour les accélérations linéaires que les angulaires.
          Il faut que k1+k2=1 sinon, il y a un risque de voir 'AngleMoteur' dépasser la valeur maximale admise par le moteur de la cabine!

          Dominique
          Dernière modification par FlyingBaldy, 24 mars 2011, 19h21.
          XP11.41 - WIN 7 - i7 - GTX970

          Commentaire


          • #1
            Merci de votre réponse.
            SI je vous ai bien suivi, si j'écris :
            AngleMoteurRoulis = AngleMoteurRoulisMax * ( K1 * sin ( PI/2 * ( ax3/ax3Max) ) + K2 * sin( PI/2 * ( ap3/ap3Max ) ) avec par exemple k1=0.6 et k2=0.4
            Mon equation est maintenant correcte?
            Je vous remercie
            Antonin

            Commentaire


            • #1
              Oui, elle est correcte.
              Dominique
              XP11.41 - WIN 7 - i7 - GTX970

              Commentaire


              • #1
                Merci beaucoup. Je vous tiens au courant.
                Antonin

                Commentaire


                • #1
                  Avec le recul, je me rends compte qu'il est possible d'aller plus loin.
                  Voici en quelques épisodes, la marche à suivre.

                  CONVERSION ACCELERATIONS CENTRE DE GRAVITE AERONEF VERS COCKPIT


                  Nous avons vu précédemment comment convertir les accélérations linéaires et angulaires du référentiel sol vers le référentiel avion, situé au centre de gravité de celui-ci.
                  Nous devons à présent recalculer les accélérations au niveau de la cabine. En effet, dans de nombreux cas, le cockpit/le siège du pilote ne va pas évoluer de la même façon que le centre de gravité de l’aéronef. Par exemple :
                  · * Avion de ligne au décollage, lors de la rotation, le centre de gravité suit encore une trajectoire horizontale (tant que les roues touchent le sol), alors que le nez de l’avion s’élève (et que l’arrière s’enfonce).
                  · * Hélicoptère (ou une soucoupe volante !) en stationnaire (centre de gravité immobile) qui pivote sur lui-même – le pilote, placé en avant du centre de gravité, va effectuer une trajectoire circulaire.
                  · * Aile volante en virage stabilisé : les passagers placés au niveau des ailes vont « monter » ou « descendre » (selon le sens du virage) alors que les passagers placés au centre de l’appareil vont suivre la trajectoire du centre de gravité de l’appareil, donc une trajectoire horizontale ; il s’agit d’un des inconvénients des ailes volantes (perte de confort).
                  · * Cockpit côte-à-côte simulé par une cabine à un siège – en cas de roulis, un des sièges « monte » et l’autre « descend »


                  Que deviennent les accélérations ?


                  Les accélérations linéaires au centre de gravité sont également appliquées au centre de la cabine (pour un appareil infiniment rigide).


                  Les accélérations angulaires s’appliquent également au centre de la cabine, mais elles entraînent en outre des accélérations linéaires supplémentaires. En effet la distance entre centre de gravité avion et cabine agit comme un bras de levier (pensez à Thierry La fronde). Une rotation autour du centre de gravité de l’appareil entraîne un déplacement de la cabine, donc des accélérations linéaires supplémentaires. Le calcul est simple : les accélérations linéaires supplémentaires de la cabine [m/s²] sont le produit des accélérations angulaires [rad/s²] par le bras de levier [m]. Donc :
                  · * dx (distance centre de gravité « avion »-cabine selon l’axe X) : positif vers la droite
                  · * dy (distance centre de gravité « avion »-cabine selon l’axe Y) : positif vers le haut
                  · * dz (distance centre de gravité « avion »-cabine selon l’axe Z) : négatif vers l’avant
                  · * aq3 (autour de X) =>
                  o accél. suppl. selon Y = +aq3 * dz
                  o accél. suppl. selon Z = -aq3 * dy
                  *ar3 (autour de Y) =>
                  o accél. suppl. selon X = -ar3 * dz
                  o accél. suppl. selon Z = +ar3 * dx
                  *ap3 (autour de Z) =>
                  o accél. suppl. selon X = +ap3 * dy
                  o accél. suppl. selon Y = -ap3 * dx


                  En espérant ne pas avoir commis d’erreur de signe !


                  Les accélérations à la cabine (ai4) sont donc (avec ai3 = accélérations au centre de gravité « avion »):
                  · ax4 = ax3 - ar3*dz + ap3*dy
                  · ay4 = ay3 + aq3*dz - ap3*dx
                  · az4 = az3 – aq3*dy + ar3*dx
                  · aq4 = aq3
                  · ar4 = ar3
                  · ap4 = ap3

                  Dominique
                  XP11.41 - WIN 7 - i7 - GTX970

                  Commentaire


                  • #1
                    FILTRAGE DES VALEURS

                    Avant de passer ces valeurs à la cabine de simulation, nous pouvons encore les filtrer en prenant en compte le comportement du corps humain : nous allons réaliser un filtrage des valeurs ai4 calculées ci-dessus.

                    Filtrage passe-haut :
                    Nous allons éliminer les basses fréquences de mouvements qui correspondent à des accélérations très faibles. En effet, le corps humain ne perçoit pas les variations lentes de mouvement, linéaires (jusqu’à 0.2 m/s², valeur à vérifier) et angulaires (jusqu’à 1 °/s², valeur à vérifier). C’est ce qui explique la désorientation des pilotes en l’absence de références visuelles (brouillard par exemple) car le corps humain ne perçoit pas un changement très lent de l’assiette.

                    Filtrage passe-bas :
                    Nous allons éliminer les hautes fréquences de mouvements qui correspondent à des accélérations très élevées. En effet, celles-ci pourraient provenir de perturbations au niveau des variables du simulateur, ou de valeurs dépassant les limites structurales de l’avion (il n’est pas utile de casser la cabine par des accélérations insensées pour simuler un crash !) mais également entraîner des mouvements très rapides, qui pourraient s’avérer inconfortables ou même dangereux pour les utilisateurs.

                    Dominique
                    XP11.41 - WIN 7 - i7 - GTX970

                    Commentaire


                    • #1
                      METHODE DE SIMULATION DES ACCELERATIONS

                      La méthode la plus naturelle consiste à reproduire les mouvements, linéaires et angulaires. Il faut 6 degrés de liberté pour réaliser une trajectoire quelconque, 3 linéaires (X, Y, Z) pour atteindre un point quelconque, et 3 angles pour obtenir une orientation quelconque. Il s’agit simplement d’intégrer deux fois les accélérations pour obtenir les positions et angles, et donc les valeurs de position pour le contrôleur de la cabine (on intègre l’accélération pour obtenir la vitesse, puis on intègre la vitesse pour obtenir la position).

                      Les deux inconvénients majeurs sont naturellement les suivants :
                      · 6 axes motorisés sont nécessaires (coût)
                      · le déplacement de la cabine du simulateur est très souvent limité (butées).

                      Le modèle le plus courant est l’hexapode ou plateforme Gough / Stewart.

                      Comment contourner ces deux inconvénients?
                      Nous le verrons au prochain épisode (quel suspense, mais quel suspense!).
                      XP11.41 - WIN 7 - i7 - GTX970

                      Commentaire


                      • #1
                        Réduction du coût

                        Nous allons (encore !) tricher. Jusqu’ici nous n’avons considéré que les accélérations de la cabine pour simuler les accélérations que subit le pilote. Il existe une autre façon de simuler ces accélérations, c’est le recours à une force extérieure car une des lois de Newton nous apprend que :
                        F = m*a (F =force en [N], m = masse en [kg], a = accélération)

                        Il suffit donc d’appliquer une force variable pour faire croire au corps qu’il subit une accélération « de mouvement ». La force extérieure la plus évidente à utiliser est le poids :
                        P = m*g (P =poids en [N], m = masse en [kg], g = accélération due à la gravité)

                        Nous allons donc basculer la cabine pour faire varier l’orientation de la gravité par rapport au corps, ce qui fera varier les accélérations (latérales) ressenties par le pilote.

                        Exemple : accélération longitudinale (décollage) :

                        · 6 axes : déplacement de la plateforme vers l’avant, avec une accélération longitudinale de la plateforme identique à celle donnée par X-Plane. Le corps est plaqué vers l’arrière par l’accélération due au mouvement.
                        o Avantage : l’accélération peut être importante.
                        o Inconvénient : la durée de l’accélération est limitée dans le temps (butée de déplacement).

                        · Alternative sans déplacement linéaire: basculement de la plateforme vers l’arrière ; le corps est plaqué dans le siège parce que le vecteur gravité est incliné vers l’arrière et qu’il entraîne le corps également vers l’arrière. Nous avons « triché » en simulant une accélération linéaire par un déplacement angulaire.
                        o Avantages :
                        > moins d’axes sur la plateforme
                        > la durée de l’accélération n’est plus limitée dans le temps.
                        o Inconvénient :
                        > L’accélération est toujours inférieure à celle de la gravité
                        > pas possible de simuler l’accélération verticale sans axe linéaire.
                        XP11.41 - WIN 7 - i7 - GTX970

                        Commentaire


                        • #1
                          Solutions aux problèmes de butée

                          Le filtrage expliqué précédemment réduit les accélérations et permet donc de réduire partiellement les problèmes de butées de déplacement, mais il ne suffit pas.

                          Une première façon évidente est de réduire toutes les accélérations en les multipliant par un coefficient inférieur à 1.

                          Une façon plus sophistiquée consiste à ….. tricher (bravo au jeune homme du fond de la classe près du radiateur, vous avez deviné le premier, on vous applaudit bien fort).
                          Comment ? On ajoute aux mouvements de la cabine, calculés comme précédemment, un mouvement à faible accélération (suffisamment faible pour que l’utilisateur ne le perçoive pratiquement pas) qui tend à ramener la cabine à son point de référence.

                          Une autre méthode nettement plus compliquée consiste à combiner mouvement linéaire et angulaire pour un même axe ; par exemple, l’accélération longitudinale est d’abord simulée par une accélération linéaire de la cabine (pour bénéficier d’une grande valeur d’accélération) puis, si l’accélération se prolonge, par un basculement avant-arrière de celle-ci (pour obtenir une durée d’accélération suffisante, même si la valeur est réduite).
                          XP11.41 - WIN 7 - i7 - GTX970

                          Commentaire


                          • #1
                            RESUME

                            L’ordre des opérations peut varier selon la configuration de la cabine.

                            Calcul des accélérations « utiles » au niveau du cockpit

                            1. Convertir les accélérations linéaires du référentiel sol (données X-Plane) vers le référentiel avion (triple rotation) : [local_ax ; local_ay ; local_az] => [ax3 ; ay3 ; az3]

                            2. Convertir les accélérations angulaires du référentiel trajectoire (données X-Plane) vers le référentiel avion (triple rotation) : [Qdot ; Rdot ; Pdot] => [aq3; ar3; ap3]

                            3. Convertir les accélérations du centre de gravité vers le centre de la cabine [ax3 ;ay3 ;az3 ;aq3 ;ar3 ;ap3] => [ax4 ;ay4 ;az4 ;aq4 ;ar4 ;ap4]

                            4. Filtrer les accélérations « passe-haut » et « passe-bas ».

                            Calculs des mouvements de la cabine de simulation

                            5. Appliquer un coefficient généralement plus petit ou égal à 1 (peut être supérieur à 1 si
                            vous voulez un jeu d’arcade ou un simulateur de taureau de combat) sur chaque accélération (réglage de sensibilité)

                            6. Choisir le nombre et le type (linéaire/rotatif) des axes de la cabine

                            7. Adapter les accélérations aux axes retenus. Selon la configuration certaines accélérations ne pourront pas être simulées. Eventuellement, combiner deux mouvements par axe ou 2 axes par mouvement

                            8. Intégrer deux fois les accélérations pour obtenir des positions (linéaires/angulaires)

                            9. Ajouter, pour chaque axe, une faible accélération constante dans le sens position actuelle vers centre de la cabine

                            10. Limiter la valeur des positions pour tenir compte des butées. Eventuellement réduire l’accélération lorsque l’on approche des butées

                            Calcul des signaux de commande des (servo)moteurs de la cabine

                            11.
                            Tenir compte de la cinématique de chaque commande d’axe de la cabine, selon que le moteur de chaque axe entraîne celui-ci directement ou via un levier, renvoi….

                            Any question ?

                            Dominique
                            XP11.41 - WIN 7 - i7 - GTX970

                            Commentaire

                            Chargement...
                            X