Articles les plus consultés

Trouver le bon cap!


Il ne suffit pas de rentrer simplement les coordonnées GPS de destination dans la mémoire de l'Arduino, car en l'état brut, il ne saura que faire de ces données...
Bien sûr, nous pouvons entrer un cap pré-défini, mais tout aviateur ou marin vous dira que même si votre mobile suit toujours le même cap, il n'arrivera jamais a destination, a cause notamment de la dérive, souvent provoquée par les inévitables vents latéraux.

Non, il faut bien se rendre a l'évidence : Si l'on veut un mobile totalement indépendant, il faut recalculer son cap en PERMANENCE par rapport aux données GPS...pour orienter ses moteurs ou gouvernes en conséquence.
Dans la suite de l'exposé, je parle de "coordonnées de départ", mais c'est pour plus de clarté; dès la seconde où le mobile quitte le sol, ces "coordonnées de départ" deviennent les "coordonnées de route"!

Trouver le bon cap sans se prendre le choux...en n'effectuant que quelques simples opérations et en mettant en jeu une douzaine de comparateurs "< >"...C'est possible!

Nous allons déja expliquer le principe "sur le papier":
Le principe de base, c'est d'abord de dessiner un triangle-rectangle avec nos coordonnées de latitudes et longitudes de départ et de destination...


Entrainez-vous a dessiner sur une carte quelques triangle-rectangle afin de vous familiariser avec le principe.
Imprimez aussi cette superbe rose des vents qui figure plus haut...

Ici, le triangle est encore "caché", mais vous devinez déjà que ce rectangle se divise diamétralement en deux, en une ligne virtuelle suivant le cap a suivre...

Ce qui donne a peu prés çà:


 Il faut maintenant lui ajouter un rapporteur circulaire, qui nous indiquera les degrés,qui seront directement en rapport avec la rose des vents de la boussole (électronique).

Ici, le rapporteur est représenté en vert, et nous indique un cap d'environ 120°...
Ce serait, par exemple, pour une route de Paris à Sens...


Ici, le rapporteur nous indique un cap d'environ 300°...
Ce serait, par exemple, pour une route de Paris à Rouen...
Maintenant que vous avez compris le principe, il nous faut élaborer  les conditions qui serviront au calculs du cap, car l'Arduino, lui, n'a ni papier, ni crayon de couleur!

-L'angle est déterminé par le rapport entre la longueur du côté latéral et la longueur de la base.

Les conditions sont simples a comprendre et a implémenter dans l'Arduino:
-Si  Latitude de Destination < Latitude de départ  => tendance Nord.
-Si  Latitude de Destination > Latitude de départ  => tendance Sud.
-Si Longitude de Destination <  Longitude de départ  => tendance West.
-Si Longitude de Destination >  Longitude de départ  => tendance Est.
Avec les variantes complémentaires que cela implique quand deux conditions sont vraies:
Nord Est(Fig.1), Nord West(Fig.2), Sud Est(Fig.3), Sud West(Fig.4).
Ces variantes sont importantes pour "caler" notre triangle-rectangle, car il risque de donner des résultat totalement différents si le rapporteur est mal positionné sur l'un des angles du triangle...



Allons encore plus loin dans la précision en observant cette configuration:


Si l'on observe bien les deux triangles-rectangles, on se rend compte qu'ils ont le même rapport (rapport X 5), la même direction primaire (Sud West), mais pourtant, qu'ils n'indiquent pas du tout le même cap.
La première figure présente un cap d'environ 260° et la seconde, un cap d'environ 196°.

On remarque donc que, suivant la longueurs des segments Latitude et Longitude, on peut, en plus, en déduire les orientations NNE, ENE,  ESE, SSE, SSW, WSW, WNW, NNW. ce qui augmente énormément la précision du cap!

Nous allons donc de nouveau implémenter une condition dans notre programme Arduino:
-Si Longueur des Longitudes > Longueur des Latitudes...

ARTICLE EN COURS D ÉCRITURE MERCI DE VOTRE PATIENCE...

Aucun commentaire:

Enregistrer un commentaire