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: