Złożoność programowania
Roboty można projektować do wykonywania szerokiego zakresu zadań. Niektóre z tych zadań są bardzo proste, jak na przykład otwarcie automatycznych drzwi. Inne mogą być znacznie bardziej złożone, jak na przykład autonomiczny samochód poruszający się po środowisku miejskim. Niezależnie od tego, jak złożone jest zadanie, można je podzielić na prostsze zadania. Zadania te nazywane są zachowaniami i stanowią podstawę programowania robotyki.
Zachowanie to sposób działania robota, którego złożoność może być różna w zależności od sposobu, w jaki robot jest zbudowany lub zaprogramowany. Prosty robot mobilny, taki jak VEX V5 Speedbot, ma tylko dwa silniki, podczas gdy Clawbot ma cztery silniki, w tym dwa dodatkowe silniki dla ramienia i pazura. Zachowania obu robotów będą polegać na obracaniu silników w celu osiągnięcia wyznaczonych celów. Dzięki większej liczbie projektów i programowania możesz zacząć od tego prostego zachowania i wykonywać bardziej złożone zachowania.
Poniżej znajduje się lista zachowań robotów, które rosną od prostych do złożonych, zarówno w przypadku Speedbota, jak i Clawbota. W nawiasach możesz zobaczyć prostsze zachowania, które składają się na każde z nich.
-
Obróć silnik przypisany do określonego portu
-
Jedź do przodu (obróć lewy i prawy silnik za pomocą układu napędowego)
-
Przejedź 5 metrów (jedź do przodu, a następnie zatrzymaj się)
-
Chwyć odległy przedmiot (przesuń się o 2 metry, obróć silnik pazura, aby go chwycić)
-
Odzyskaj przedmiot i umieść go na wysokiej półce (chwyć odległy przedmiot, odwróć się, przejdź 2 metry, użyj silników ramion i pazurów, aby podnieść i puścić przedmiot)
Możesz zobaczyć, jak możesz zdekonstruować bardziej złożone zachowania na prostsze. Stają się one podstawą każdego złożonego zadania.
Wskazówki dla nauczycieli
-
Poleć uczniom, aby podzielili złożone zachowania robota na mniejsze, proste kroki. Proces ten nazywany jest rozkładem.
-
Wyjaśnij uczniom, że rozkładanie (rozbijanie) złożonych zachowań na prostsze zadania jest ważną częścią planowania i programowania.
-
Pozwól uczniom na realizację ich autonomicznych projektów, jeśli jest wystarczająco dużo czasu na zajęciach.
Rozszerz swoją naukę
Aby połączyć to ćwiczenie z myśleniem obliczeniowym i dekompozycją, poproś uczniów, aby zaplanowali lub wypisali kroki behawioralne, które wykonałby robot, aby wykonać poniższe czynności:
-
Ćwiczenie pierwsze: Przejdź 1 metr i wróć do punktu wyjścia.
-
Ćwiczenie drugie: Odwróć pudełko znajdujące się 60 cm przed robotem.
-
Ćwiczenie trzecie: Podnieś przedmiot, potrząśnij nim, przesuń się o 30 cm, połóż przedmiot na ziemi i wróć do punktu wyjścia.
Motywuj dyskusję
Uczniowie powinni podzielić się krokami behawioralnymi, które wymienili w ramach ćwiczeń z powyższej części „Przedłuż swoją naukę”. Każde z poniższych pytań można zadać po wykonaniu dowolnego lub wszystkich ćwiczeń.
P: Jakie kroki lub zachowania wymieniła każda grupa, aby pomyślnie ukończyć to ćwiczenie?
A: Uczniowie będą musieli wziąć pod uwagę długość, jaką robot musi pokonać oraz ruch i prędkość ramienia, a także wymienić proste zachowania robota wymagane do wykonania czynności lub zadania (jazda do przodu, do tyłu, skręcanie w lewo lub prawo). Uczniowie powinni stworzyć swoje listy zachowań, tak aby każdy krok był reprezentowany.
P: Jakie były podobieństwa i różnice pomiędzy rozwiązaniami (listami kroków) tego ćwiczenia?
A: Uczniowie będą dokonywać porównań na podstawie swoich rozwiązań. Diagram Venna może być dobrym sposobem na uporządkowanie kroków, którymi podzielą się uczniowie. Jeśli większość uczniów wymieni konkretny krok, dodaj go na środku, w miejscu, w którym okręgi się pokrywają. Jeśli tylko jeden lub kilku uczniów wymieni konkretny krok, dodaj go do jednego lub drugiego kręgu. Kiedy już to zrobisz, kroki w środku powinny być niezawodnie proste i nie da się ich dalej podzielić, podczas gdy kroki wymienione tylko w jednym z okręgów prawdopodobnie nie będą tak proste, jak mogłyby być. Jednakże ten wzorzec może zostać odwrócony w zależności od doświadczenia klasy w rozkładaniu złożonych zachowań na najprostsze kroki.
P: Czy były podobieństwa do udanych rozwiązań? Jeśli tak, jakie one były?
A: Najbardziej udane rozwiązania to te, które zawierały najwięcej szczegółów i specyfiki. Robot jest zaprogramowany w języku o bardzo specyficznych zachowaniach, które zostały rozłożone na najmniejsze elementy. Na przykład często mówi się, że robot „pokonuje 1 metr i wraca do punktu początkowego”, ale tego ogólnego opisu nie da się łatwo przetłumaczyć podczas programowania. Trzeba to rozłożyć dalej: jedzie 1 metr do przodu, skręca o 180 stopni i jedzie do przodu 1 metr. Ale nawet to może nie być wystarczająco precyzyjne i potrzebujesz tego poziomu szczegółowości, aby być gotowym do programowania: ustaw prędkość jazdy i skrętu na 40%, jedź do przodu przez 1 metr, odczekaj 3 sekundy, skręć w lewo o 180 stopni, odczekaj 1 sekundę i przejedź do przodu 1 metr. Im lepiej rozłożymy złożone zachowania na gotowe do zaprogramowania zachowania robota, tym lepiej będziemy przygotowani do ukończenia projektu.