Je viens vers vous pour un "petit" problème de programmation (faut dire que je suis quasiment une quiche dans ce domaine

Petite explication du comment du pourquoi de ce sujet:
Récemment, j'ai décidé de modder le Mack Anthem pour le motoriser avec de l'EV3 pour rendre le truc(k) plus "amusant"... Et avec perte de cheveux.
Modification simple : un M pour la direction, les 2 XLs pour la propulsion et le capteur infrarouge pour la détection avant (un capteur tactile viendra par la suite à l'arrière).
Le but: simple, efficace et facile à dire: le faire avancer en autonomie et qu'il puisse éviter des obstacles.
En terme de programmation maintenant :
La propulsion est OK (avance, recule en cas de détection puis avance une fois l'obstacle évité)
La direction est OK (il tourne de manière aléatoire en cas de détection)
Le retour au centre après détection : C'est le crash !
Une image valant mille mots, voici le programme de direction sous leur nouveau code de programmation pour l'EV3 qui reprend scratch comme l'EV4:

Pour résumé:
Quand le capteur est inférieur à 25% de sa capacité max, le programme s'active.
Ce qui donne :
1- On défini les paramètres du moteur A (direction) comme suit:
-vitesse à 25%
-puissance à 100%
2- On répète la boucle jusqu'à ce que le capteur 1 (proximité) soit strictement supérieur à 25%
-On exécute A à une vitesse aléatoire de -25 à +25% pendant 0.5s
-On débloque le moteur
-On arrête le moteur.
3- On répète la boucle jusqu'à ce que les degrés compté de A soit égale de -10 modulo 0 ou 0 modulo 10 (ce afin d'avoir une plage acceptable envers le moteur)
-Si les degrés compté de A sont strictement inférieur 0 alors:
=> On exécute A vers la droite pendant 0.5s
=> On arrête le moteur
-Sinon:
=> On arrête le moteur
-La même chose vient ensuite mais vers la gauche cette fois
-On arrête le moteur
-Et on répète ça jusqu'à la fin.
Je ne sais pas où je me suis planté mais quand il est sur la phase "retour au centre", le moteur ne fait que des vas-et-viens sans jamais finir la boucle.
Auriez-vous des conseils à me donner ?
PS: l'affichage des états est uniquement là pour m'indiqué où en est rendu le programme car avec ce système de "scratch", impossible de le savoir...