Powrót do scenariuszy
Szkoła podstawowa
Klasa: 7-8
Szkoła ponadpodstawowa
Klasa: 1-4
test
Autor:

Mateusz Chmielewski

Programowanie Photona w Pythonie #8 Pojazdy autonomiczne cz.2

informatyka • programowanie • technika
Czas:
45 min.
Roboty:
x1
Akcesoria:
Accessory
Interfejsy:
Python (Photon Magic Bridge)
alt
Powrót do scenariuszy
Scenario Image

Odniesienie do podstawy programowej

Szkoła ponadpodstawowa, Informatyka II./2., I./2.
Szkoła podstawowa, Informatyka II./1, 2.

Cele zajęć

Uczeń/uczennica:
  • zna problematykę rozwoju pojazdów autonomicznych
  • samodzielnie testuje metody i funkcje Photona
  • wykorzystuje znajomość Pythona, by rozwiązywać złożone problemy

Metody pracy

  • ćwiczenie
  • metoda poszukująca
  • dyskusja

Formy pracy

  • praca grupowa

Materiały

  • komputer na grupę
  • czarna taśma izolacyjna
  • przygotowane i wycięte znaki drogowe (załącznik)
  • miarka

Załączniki

Znaki drogowe.pdf
Pobierz
#7 trasa.py
Pobierz
#8 trasa z pierwszenstwem.py
Pobierz

Przebieg zajęć

Podczas tego warsztatu bezpośrednio kontynuujemy pracę z scenariusza #7.
Przygotowanie: wycinamy załączone do scenariusze znaki drogowe

1. Wstęp

Jeśli kontynuujemy zajęcia po przerwie, zaczynamy od przypomnienia sobie, co udało nam się zrobić ostatnio. Przypominamy najważniejsze założenia projektu. Będziemy pracować na przygotowanym ostatnio kodzie (załączony do tego scenariusza z numerem #7). Na ostatnich zajęciach wykonaliśmy część kodu, która dzięki wprowadzonym parametrom pozwala robotowi przejechać z punktu A do punktu B. Teraz nasz program rozbudujemy w taki sposób, aby roboty poruszające się po naszym miasteczku sprawdzały, czy mają pierwszeństwo i unikały kolizji z innymi pojazdami. Pytamy, na ile czynników musi zwracać uwagę kierujący pojazdem. Skąd wiemy, kto na drodze ma pierwszeństwo?

2. Zadanie główne cz.2

  • Do projektu w jego górnej części importujemy bibliotekę time. Pojazd niemający pierwszeństwa będzie musiał się zatrzymać w sytuacji grożącej kolizją i poczekać, aż robot z pierwszeństwem przejedzie. 
  • Do list parametrów dodajemy listę pierwszenstwo = [0,1,1,0]. Wartości to przykłady, ale to, czy nasz robot ma pierwszeństwo na danej drodze będzie opisywane 0 lub 1.
  • Po zakończeniu napisanej już pętli dodajemy kolejną pętle if, elif  - mamy w niej dwa warunki.
    • jeśli pierwszenstwo[i] == 1 robot ma kontynuować. Ma pierwszeństwo, więc w razie czego to inny robot ma mu ustąpić.
    • ale jeśli pierwszenstwo[i] == 0 otwieramy pętlę while True: robot się zatrzymuje i czeka sekundę, a następnie sprawdza czy jest przed nim przeszkoda jeśli tak, to czeka nadal (kontynuuje), a jeśli nie, kończy pętlę break. Jest to metoda uwalniająca program z pętli while True.

Całość kodu powinna wyglądać mniej więcej tak:

3. Projektowanie miasteczka

Przy pomocy taśmy izolacyjnej wyklejamy wspólne miasteczko. W którym różne drogi przecinają się i łamią pod kątami prostymi. Przy wyklejonych drogach rozkładamy też wycięte znaki drogowe oznaczające pierwszeństwo. Możemy też skorzystać ze znaków zakazu wjazdu, zakazu skrętu i drogi jednokierunkowej, jeśli chcemy urozmaicić zadanie. Przykład planu dróg - drogi oznaczone dodatkowo czerwoną linią to drogi z pierwszeństwem.

4. Wielki test

Każda z grup dostaje miejsce startowe i docelowe. Uczniowie wprowadzają do kodu parametry kodujące konkretną trasę i testują swój pojazd autonomiczny. Może okazać się, że dojdzie do kolizji. Jazda wzdłuż linii nie niuansuje pasów ruchu, może zdarzyć się tak, że dwa pojazdy będą jechały na czołowe zderzenie mając pierwszeństwo albo, że na skrzyżowaniu jeden z robotów nie wykryje przeszkody, bo inny robot będzie w "martwym punkcie" czujnika.
Jeśli starczy czasu można przełożyć znaki, albo zmienić punkty startowe i docelowe, by powtórzyć próbę.

5. Podsumowanie

Czego nauczyliśmy się podczas tych zajęć? Co myślicie o pojazdach autonomicznych? Co my moglibyśmy zrobić, żeby w projekcie uwzględnić więcej elementów prawdziwego ruchu drogowego?

 

Współautorem scenariusza jest Michał Nowak.

Ciekawostki/Pytania otwierające

Na wstępie możemy zaprezentować uczniom przykład ilustracji z egzaminu na prawo jazdy typu "który pojazd ma pierwszeństwo".

Dyskusja (brak komentarzy)

Zaloguj się, aby rozpocząć dyskusję