Quelqu'un a-t-il déjà programmé une compensation d'inclinaison de la boussole iPhone? p>
J'ai des approches, mais une aide ou une meilleure solution serait cool! p>
premier Je définis un vecteur ev, calculé hors du produit croisé de GV et HV. GV est un vecteur de gravité que je construis sur les valeurs d'accéléromètre et le HV est un vecteur de la tête construit les valeurs magnétomètres. EV est perpendiculaire sur GV et HV, de sorte qu'il se dirige vers Horizonatl Est. P>
second Je définis un Vecteur Vecteur, calculé hors du produit croisé BV et GV. BV est mon apparence de vue et il est défini comme [0,0, -1]. RV est perpendiculaire à GV et au BV et montre toujours à droite. p>
troisième L'angle entre ces deux vecteurs, EV et RV devraient être mon en-tête corrigé. Pour calculer l'angle, je construisez le produit DOT et les arcos. p>
Phi = Arcos (EV * RV / | EV | * | RV |) P>
théoriquement, cela devrait fonctionner, mais je dois peut-être normaliser les vecteurs ?! p>
Quelqu'un a-t-il une solution pour cela? P>
merci, m01d p>
3 Réponses :
Oui, je l'ai fait comme décrit ci-dessus. Mais le résultat n'est pas très précis. Je pense que avec des valeurs d'accéléromètre plus douce, cela devrait fonctionner de cette façon. Étant donné que j'ai choisi de faire la compensation d'inclinaison en ajoutant / soustrayez les valeurs d'accélérateur de l'axe correspondant à / à partir des valeurs de compas.
ici ISS mon code pour la solution ci-dessus, mais ce n'est pas une solution de travail finale: p>
Yep. Vous devez certainement normaliser. Cela vient de mon code que j'utilise pour extraire l'orientation de l'appareil. La gravité est obtenue comme x, y, z de l'accéléromètre et la boussole est obtenue à partir du X, Y, Z de la fonction de rubrique P>
gravité.normaliser ();
Compass.normaliser ();
Compassease = gravité.cross (Compass);
compassease.normaliser ();
CompassNorth = Compasseasease.cross (gravité);
compasnorth.normaliser (); p>
Faites-moi savoir si vous avez besoin du code complet. De plus, pour ceux qui n'ont pas encore vu le gyroscope iPhone 4S en action: c'est incroyable! J'ai échangé l'entrée ci-dessus sur la gravité et la boussole pour les équivalents du gyroscopique et le résultat est stable et lisse et génial :) Go Apple. P>
Est-il possible de voir le code source? Cela m'a rendu curieux. Pourriez-vous envoyer un code source à fyasar@gmail.com s'il vous plaît?
Je suis également intéressé par le code. Mon email: ellen.sundh [at] gmail.com merci!
Je n'ai pas reçu le code source mais j'ai mis en place mon propre exemple. Vous pouvez voir le projet et le code ici: http : //www.sundh.com/blog/2011/09/stabalize-Compass-of-iphone-with-gyroscope/ P>