Please help for following line competition


#1

Hi
I’m a college student, i have a competition this month , i bought the mbot robot
The competition is a robot follow a non continued black line and avoid obstacles.

The problem all cods in internet of mbot is for continued black line and when it find the white color it return backward.

I use this code followLineAndAvoidObstacle.sb2 its working but the problem when the mbot find and discontinued black line return to backward (______ _________ __________) I need it continue when find white line and find the black line again

"Or if you have other solution"
Can please help me to fix this problem
I want to win this competition and i don’t have much time
Thanks
(sorry for my English)


#2

Hi Cool_boy,

A competition, but it’s great and I’m jealous. So I summarize the parameter.

  • Line follower - Non-continuous
  • Avoid the obstacle
  • Is there a delay and a question of speed???

Since I don’t have much time, you have to be ready for what date ???

Last question, are you using mblock5 because the images don’t match…

Michel

P.S. I have a line follower but there is a speed booster on the straights. The important thing is to keep it simple and understand what you are going to code.

P.S. My English is not great because I speak French…


#3

Merci
J’ai une competition qui conciste a suivre une ligne discontinu noire et il y a aussi des obstacles

c a d Mbot doit suivre la ligne noire ( discontinu il ya des vides blanches) et evite les obstacle et retourne a suivre la ligne noire

Tous les codes que j’ai trouve sur internet mbot suit une ligne continu noire et retourne en arriere s’il ne trouve pas la ligne ( je veux qu’il continu et cherhcher la ligne noire)

La date de competiton et pour 09-05-2022
Desole pour mon francais (clavier QWERTY)

Est ce aue tu peu m’aider SVP

Remarque:
le code je l’ai trouve sur Github c’est le seule qui contourne les obstacles avec fluidite mais le mbot retourne en arriere s’il ne trouve pas la ligne noire
et c’est un code mblock 3 , j’ai poster ici par ce que personne m’a repondu dans l’autre section


#4

Hi Cool_boy,

Pas trouble…

On va partir avec mBlock 5 et de simple à plus complexe…
Je vais regarder cela ce soir après le travail…

Heure : Canada / Québec

P.-S. Ne t’inquiète pas… c’est assez facile avec le mBot…


#5

Salut Cool_boy,

J’ai pris un peu de temps durant ma pause pour manger (vive le télétravail).
Ça devrait fonctionner mais s’il y a d’autres paramètres, il faudra ajuster.

Variables
Var

Codes
1



Si tu as des questions, je reste disponible car il est important de bien comprendre le code. Y’a aucun question stupide… Si tu remarques des problématique comme : Ton robot décale légèrement d’un côté lorsqu’il attrape une ligne blanche, nous le traitement dans le code, etc.

A+


#6

Merci infiniment pour votre aide
J’ai recopie votre code : apres l’appuis sur le boutton du mbot :
1- le robot suit la ligne droite et aussi depasse les discontinuitees (blanches) sans problemes
2-Il suit aussi les ligne en demi cercle et les corbures
3- Le probleme: il ne tourne pas ni a gauche ni a droite dans les angles droits, et lorsqu’il contourne l’ostacle il ne retrouve pas la ligne noire
Voici le fichier merci si tu peux le corriger (peux etre j’ais des erreurs) et l’optimiser
Merci encore je suis tres heureux de trouver une personne pour m’aider

le fichier


#7

Hi Cool-Boy,

J’ai quelques solutions… mais Est-ce que vous pouvez le dessiner un exemple de parcours ???
Je vais regarder le parcours et ajuster le code

Michel


#8

Merci
la competition a deux trajectoires le premier sans obstacle et le deuxieme avec obstacles ( les points rouges: des bouteilles par exemple)
j’espere que les images sont claires

Le mbot commence dans le carre orange vide et doit arriver au carre noire ( le plus rapide et sans erreurs gagnera)

Merci encore


#9

ok, il y a 2 - 3 attrapes… je vais y réfléchir…
Je vais codé ce soir … j’espère avoir quelques bonnes idées :wink:

Michel


#10

merci pour votre aide
Pour simplifier Tu peux coder un fichier pour chaque trajectoire ou un seule pour Les deux comme Tu veux
Merci mille fois pour votre temps :blush: bonne journée


#11

Je croyais qu’il fallait faire un code universelle…

On peut indiquer manuellement avant de partir quelques stratégies en voyant la piste ???

3- Le probleme: il ne tourne pas ni a gauche ni a droite dans les angles droits, et lorsqu’il contourne l’ostacle il ne retrouve pas la ligne noire

Il faut comprendre le code… s’il y a un obstacle, le robot droit à droite, avance un peu et fait un arc de cercle vers la gauche… Tu vas devoir ajuster les blocs afin qu’il retrouve sa ligne noir…

Michel

P.-S. Je vais d’orienté vers une solution, mais tu devras peut-être y apporter des ajustements…


#12

Salut,

Bon, je suis de retours et malheureusement demain et jusqu’à samedi, je n’aurai plus de temps a cause d’une compétition LEGO. Malgré tout, même si j’ignore quel niveau vous avez et puisque j’ignore les règlements, j’irais très simplement.

Le code est bon mais il faudra remplacer et ajouter du code:
2022-04-25%2019_01_50-Please%20help%20for%20following%20line%20competition%20-%20mBlock%20_%20mBlock%205%20-%20Makeblock%20Forum

Lorsque la variable LineFollower = 3, il y a 2 circonstances:

  • Cassure / Ligne blanche et il faut continuer ou tourner;
  • Un tournant trop prononcé et faut tourner;

Personnellement, je me ferais une liste d’action avec un compteur = 1. Lorsque la variable LineFollower = 3, robot doit lire la liste d’action avec le compteur, exécuté l’action avec une vérification SI et ajouter 1 au compteur afin de passer à la prochaine action.

Exemple d’un de tes circuits :

  • Action 1- 5 - 8 - 11 et 15 : Tourne à droite à 90 degrés
  • Actions 2 : Arc à droite
  • Actions 3 : Arc à gauche
  • Actions 4 - 9 14 : On continue
  • Actions 6 - 10 : Tourne à droite à 45 degrés
  • Action 7 - 12 - 13 : Tourne à gauche à 90 degrés
  • Action 16 : STOP

Dans ta liste, tu vas mettre des chiffres correspondants à tes actions

  • 1 = Tourne à droite à 90 degrés
  • 2 = Arc à droite
  • 3 = Arc à gauche
  • 4 = On continue
  • 5 = Tourne à droite à 45 degrés
  • 6 = Tourne à gauche à 90 degrés
  • 7 = STOP

En suite, code chaque action et teste…

Voilà, ça devrait fonctionner.

Michel


#13

Merci pour votre gentillesse et pour vos conseils.

Mais malheureusement monsieur , je suis debutant en programmation Mbot, je sais que les blocs basic
Je n’ai pas compris comment ajouter la liste d’actions (comment le mbot sais qu’il est arrive a l’action 1 ou 2 ou 3 …sur le trajectoire? et Comment programmer le robot mbot pour qu’il ait un certain angle :90 ,45…)
Si possible je peux vous attendre monsieur a dimache prochain
Remaraue: c’est possible de faire un code universelle pour les deux trajectoires
Je veux participer vraiment a cette competition et de gagner mais je n’ais pas pu codé le mbot pour arriver a la fin sans fautes.
S.V.P monsieur ne m’oubliez pas
:pray:


#14

Bonjour Cool_boy,

Hehehe débutant, aucun problème et c’est pour gagné alors nous allons changer la stratégies et aller très simple… Je vais essayer de coder l’exemple du début et tu n’auras qu’a compléter…

J’aurai un peu de temps ce midi…

Michel

P.-S. Le mBot 1 n’a pas d’angle. Tu dois estimer un nombre de milli-seconde selon la vitesse. C’est pas très pratique…


#15

Bonjour Cool_boy,

Je t’ai commencer un code assez complet mais que tu devras ajuster.

  1. Ajuster selon la grosseur des obstacles;
  2. Ajuster selon ton parcours;
    2022-04-26%2009_34_21-Window
  3. Ajouter des actions car le mBot ne sera pas quoi faire pour le point 6 et 10 dans ton parcours
  4. etc.

Voilà mon parcours test et le code.


Mbot-LineComp.zip (36,0 Ko)

Comme j’avais indiquer… ce soir dernier journée pour les élèves et la compétition est jeudi…

Bonne chance de ton côté… tu nous donneras des nouvelles…