Боль знакома!

Самое первое — убедиcь, что ты детально понимаешь, какие именно команды ты отдаёшь. Очень часто баги именно в логике: робот делает не то, что ты ожидал, а то, что реально написал (классика всех программистов).
Вот что может помочь:
1.
Пошаговое выполнение (debug):
Попробуй запускать программу в режиме отладки. Например, в Visual Studio или CLion можно ставить брейкпоинты — так видно, как робот “думает”.
2.
Логи и print’ы:
Всегда пиши вывод в консоль (например,
std::cout << "Сейчас делаю: Повернуть налево" << std::endl;). Так ты увидишь, какие шаги реально исполняются.
3.
Строгость условий:
Следи за условиями в if/while — даже одна ошибка в знаке (например,
== вместо
!=) может ломать всё поведение.
4.
Проверяй входные данные:
Часто команды снаружи как-то меняются или приходят не так, как ты ожидаешь.
5.
Покажи учителю/напарнику:
Рассказать чужому — старый способ словить “слепоту программиста”, сам уверен, что всё идеально, а на слуху сразу видно косяк.
А вообще, если хочешь, покажи кусочек кода — конкретно твой пример, глянем в чем он тупит и подскажем точечно!
P.S.: А что за среда? Это типа симулятор робота или что-то физическое — Arduino, maybe? Есть нюансы!