Asservissement par rapport à deux murs

Bonjour à tous, Dans le cadre de mon TIPE en classe prépa, j'ai besoin que ma base de robot se balade dans un labyrinthe. Cependant sans asservissement cela est impossible vu que mes 2 roues sont commandées par deux moteurs à courant continu différents.

J'aimerai donc asservir mon robot en position par rapport aux murs sur les cotés, qu'il reste par exemple à 5cm de l'un et à 5cm de l'autre pour que la trajectoire soit droite. Seulement je ne sais pas vraiment comment programmer cela même si je comprend comment le fonctionnement d'un asservissement de manière théorique.

Pour l'instant j'ai déjà une fonction qui me renvoie la distance du robot par rapport aux murs à l'aide de deux émetteurs-récepteurs ultrasons mais après comment agir sur mes moteurs en fonction du résultat ?

Avez-vous des conseils ou des tutoriels à me conseiller ?

Merci d'avance

Bonsoir,

Je ne pense pas que vous ayez saisi mon problème qui ne se résume pas à un simple tricyle malheureusement, et si je demande des conseils sur ce forum c'est parce que je ne peux pas les obtenir dans mon cours de prépa qui n'est que théorique.

Le but est que mon robot se déplace en ligne droite dans mon labyrinthe c'est pour cela que je dois l'asservir en position par rapport aux murs. Je sais que je dois calculer la distance de mon robot par rapport au mur, en déduire l'erreur et ensuite agir sur le moteur à l'aide d'un PID pour qu'il corrige la trajectoire mais le problème c'est que je n'ai aucune idée de la façon de programmer cela. J'ai déjà une fonction de calcul de distance, je sais que j'aurai besoin d'une fonction timer mais après comment rectifier la trajectoire ? Il me semble que ce n'est pas vraiment un asservissement classique d'un moteur ..

bonjour, l'exemple de pepe est très explicite.

la question que tu doit te poser : si je me rapproche mur à droite ===> je fais quoi pour revenir au centre si je me rapproche mur à gauche ===> je fais quoi pour revenir au centre la logique est très simple et le code aussi

le code n'est pas compliqué du tout, mais tu oublie un truc, si un mur est devant.... donc 3 détecteurs de distance