Configure MBLOCK pour le suivi de ligne
Utilise le bouton extension

Rajoute ces deux éléments :


Premier essai de fonctionnement du MBOT

Premier téléchargement


Teste ton programme
Teste une programmation des moteurs

Teste ton programme
Essayons de programmer par étape le suivi de ligne
Affichons le niveau de batterie car si celle-ci est inférieure à un certain niveau, le comportement du robot devient incohérent :

Sous le lancement du MBOT CyberPi crée les variables suivantes :

- vitesse_droite : pour gérer la vitesse du moteur EM1
- vitesse_gauche : pour gérer la vitesse du moteur EM2
- vitesse_maxi : vitesse maximum du robot
- vitesse_mini : vitesse moyenne du robot
- position : poids de la position du robot par rapport à la ligne noire
- correction : correction à appliquer aux moteurs pour suivre la ligne noire
Gestion du bouton B pour lancer le suivi de ligne puis l’arrêter

Tester le bouton B , les leds s’allument en vert puis en rouge
Calcul pour lancer les moteurs en fonction de la position du robot par rapport à la ligne noire

Teste, le robot roule tout droit
Faire tourner le robot
Teste des valeurs de position de -2 à 2 :

Teste le robot pour qu’il tourne plus ou moins à gauche ou à droite
Une première version pour un Suivi de ligne
Utilise cette instruction pour la détection de la ligne noire :

Elle permet une détection par capteur L2, L1, R1, R2 :


Plus de détail :
Capteur central pour aller tout droit :

Détail du si :

Et les 4 capteurs du Quad RGB du MBOT :

Teste le suivi de ligne
Tu peux rajouter plus de précision :

Plus de détail sur le rajout :

Modifie le suivi de ligne avec le calcul du PID

- derivee : afin de suivre quand le robot passe de gauche à droite de la ligne noire
- Kp : pour accentuer ou diminuer pour prendre le angles droits,
- 1 ne fait rien
- < 1 diminue l’angle des virages
- > 1 augmente l’angle des virages
- Kd : pour empêcher le robot de faire des zigzags
- 0 ne fait rien
- 0 à 3 diminuer les zigzags en ligne droite


Tu peux jouer sur ces deux valeurs pour ajuster ton suivi de ligne surtout pour le passage de la ligne en pointillé :

Passage d’un obstacle
Si le robot reste bloqué devant un obstacle, l’objectif est de détecter qu’il est à l’arrêt, et qu’il tente de franchir l’obstacle sans y parvenir.
Ce blocage peut être identifié par un état de secousses répétées pendant une certaine durée.
Lorsque le robot est reconnu dans cet état, une stratégie de forçage est déclenchée : le robot recule légèrement, puis effectue une accélération franche vers l’avant afin de franchir l’obstacle.

Puis rajouter l’appel de la fonction dans le code :

