Message
par Fasol0 » 22 Déc 2017 15:02
Les données de ce type de capteur sont très bruitées par nature. Prises individuellement, les valeurs sont très peu précises,
J'éviterai donc l'interpolation dans ce cas de figure, qui ne ferait que rajouter des valeurs entre ces valeurs imprécises. Il te faut un vrai filtre de données pour pouvoir exploiter celles-ci correctement, qui n'existe pas de base dans unity malheureusement.
Une des méthodes, de loin la plus simple à mettre en place, est un filtre à moyenne glissante:
Dans ce cas, comme le dit boubouk, il te faut stocker les données dans une liste, sur un certain nombre de secondes.
ce nombre est l'unique paramètre à régler:
Une durée d'acqusition élevée offrira un excellent lissage des données mais introduira un retard important, et réciproquement.
à toi de trouver le compromis qui te convient (pour te donner l'échelle; cette durée se situera ente 0.5s et 3s)
- la taille de ta liste correspond à la durée d'acquisition.
- ensuite, à chaque nouvelle acquisition, tu supprimes la donnée la plus ancienne de la list et ajoutes la nouvelle donnée.
- Tu fais à chaque frame la moyenne de cette liste, qui te donnera une valeur lissée.
Si tu as des difficultés pour l'implémentation je pourrais t'aider.