Pojazd omijający przeszkody

Jak zaprogramować robota, który podczas jazdy będzie potrafił ominąć przeszkody na swojej drodze?

Stworzenie robota, który na podstawie czujnika odległości będzie w stanie omijać przeszkody jest punktem obowiązkowym każdego kursu robotyki. Zadanie to pokazuje jedną z charakterystycznych cech programowania i robotyki:

  • W pierwszej chwili wydaje się, że to bardzo skomplikowane zadanie.
  • Gdy odkryjesz pierwsze rozwiązanie, okazuje się ono zaskakująco wręcz proste.
  • Gdy zaczniesz testować swój program w praktyce, pojawia się tysiąc małych problemików i wyjątkowych sytuacji, które powodują, że PORZĄDNE zaprogramowanie robota omijającego przeszkody jednak jest bardzo skomplikowane

Na nasze szczęście uczymy się podstaw robotyki – więc ostatni punkt nas w tej chwili nie dotyczy (co wcale nie znaczy, że nie możemy się nim zająć potem!).

Na poniższym video zobacz jak skonstruować najprostszy algorytm omijania przeszkód.

Programowanie

Podstawowy algorytm omijania przeszkód :
1. Jeżeli nie widzisz przeszkody – JEDŹ DO PRZODU
2. Jeśli przeszkoda jest blisko – SKRĘCAJ

To czy robot widzi przeszkodę czy nie, określimy sprawdzając odczyt z czujnika odległości. Przyjmujemy, że robot nie widzi przeszkody, jeśli odczyt ten jest większy od 30cm.

Jak widać na powyższym filmie video, prosty algorytm złożony z jednego dwustopniowego warunku (IF/ELSE) pozwala nam uzyskać najprostszy mechanizm omijania przeszkód – robot skręca, gdy zobaczy przeszkodę i jeśli nic nie ma na jego drodze jedzie dalej prosto.

Spróbujmy rozwinąć ten mechanizm w odrobinę bardziej złożony algorytm.

1. Jeżeli nie widzisz przeszkody – JEDŹ DO PRZODU
2. Jeśli przeszkoda jest blisko – SKRĘCAJ
3. Jeśli przeszkoda jest BARDZO blisko – COFAJ SIĘ

W tym wypadku przez pojęcie blisko rozumiemy zakres odczytów czujnika od 30 do 10cm. a BARDZO blisko to odległość poniżej 10cm.

Ponieważ nasz algorytm ma trzy warunki, nie możemy użyć bloku JEŻELI…W PRZECIWNYM RAZIE… zamiast niego użyjemy trzech pojedynczych warunków. Nasz program wyglądać będzie tak:

O autorze scenariusza:

Maciej Wojnicki

Maciej Wojnicki

Projektant, konstruktor, programista, twórca LOFI Robota - edukacyjnego systemu do nauki robotyki i programowania dla dzieci w każdym wieku. Pomysłodawca i współzałożyciel pierwszego w Polsce Fab Labu (Trójmiasto) - otwartej pracowni szybkiego prototypowania i cyfrowej fabrykacji, zrzeszonej w międzynarodowej sieci podobnych instytucji.