Étape 8: Navigation boussole
Le GPS fonctionne très bien pour fournir des données de localisation précises, mais l’échelle à laquelle ce projet fonctionne est trop petit pour qu’il puisse fournir des informations d’en-tête précise (la voiture peut effectuer un virage de 360 degrés dans un rayon d’environ 6 pieds, qui est plus petit que la précision typique du GPS).
J’ai utilisé un magnétomètre numérique (ce que j’appelle du code comme la « boussole » à travers techniquement, elle n’est pas une boussole). La « boussole » fournit une lecture super rapide de la position actuelle de véhicules.
Avec notre emplacement actuel du GPS et de notre position actuelle de la boussole, nous calculons le parcours vers notre destination et quel chemin à tourner (gauche/droite) pour intercepter le cours cible.
Notez qu’en raison des limites à la capacité de direction de cette voiture RC peu coûteuse, il y avait aucune direction proportionnelle et aucun moyen d’utiliser une logique plus sophistiqué de PID. Au lieu de cela, j’ai fait l’approche d’un pauvre homme : J’ai mis un configurable « tolérance de position » de +/-10 degrés. Ce qui signifie que si notre Cap souhaité était de 180 degrés, n’importe quel cours de 170 à 190 était acceptable pour le programme (note : J’ai joué avec ce et à l’écoute d’it... environ 8 degrés semble mieux fonctionner). Cela a empêché d’apporter des corrections direction constantes à court terme. À long terme, le problème était autocorrectif : le « cours au point de cheminement » n’est pas statique, il est constamment recalculée, donc si notre position actuelle est hors de la position de la cible, alors que nous continuons à aller de l’avant une nouvelle rubrique cible est calculée et tombera finalement en dehors de la tolérance de direction, ayant pour résultat un virage vers le chemin d’accès cible.
Le magnétomètre est très sensible aux interférences électriques, moteurs donc initialement que j’ai monté la boussole sur un mini-maquette aussi loin les DC que possible pour éviter les principaux coupables d’ingérence. Malheureusement, il n’y avait encore trop d’interférence, conduisant à la boussole inexactes et aléatoire. J’ai fini par avoir à monter le magnétomètre sur un pôle assis environ 10" au-dessus de la voiture ; qui semblait bien fonctionner.