Data publikacji: 19 grudnia 2024
W listopadzie i grudniu na naszych zajęciach koła informatycznego zajmowaliśmy się obsługą i programowaniem robotów humanoidalnych ez-robot JD Humanoid, projektowaniem własnych gier w środowisku mBlock oraz obsługą i programowaniem w mBlock kołowego robota, zbudowanego według naszych koncepcji (wykorzystując przy tym czujniki i silniki mikrokontrolera CyberPi).
W ramach projektu dofinansowanego przez UE pn. „Wsparcie kształcenia ogólnego w Stargardzie”, nasza szkoła wyposażona została między innymi w siedem robotów edukacyjnych ez-robot JD Humanoid. Są to takie same roboty, jak ten, który otrzymaliśmy wcześniej w ramach innego projektu, tj. „Laboratoriów przyszłości”.
Uczniowie na zajęciach koła informatycznego mieli okazję pracować ze wszystkimi ośmioma robotami. Uczyli się podstaw obsługi interfejsu środowiska programistycznego ARC oraz tworzyli w zależności od stopnia zaawansowania, programy sterowania robotem w środowiskach RoboScratch, Blockly i w środowisku JavaScript. Sterowali ruchami robota, uruchamiając wbudowane lub własne sekwencje akcji. Robot reagował na określone polecenia głosowe wydawane w języku angielskim, rozpoznawał za pomocą wbudowanej kamery, zdefiniowane przez uczniów kolory oraz twarze, wykonując przy tym określone programem czynności. Tworzyliśmy programy, które powodowały, że robot idąc przed siebie, jednocześnie nasłuchiwał naszych komunikatów głosowych i poszukiwał określonego koloru, np. czerwonego. Wydana komenda „stop” lub namierzenie koloru czerwonego, powodowało wykonanie przez robota określonych programem czynności. Tutaj kluczową rolę odegrało polecenie ControlCommand(), które umożliwiło nam pisanie kodu programu, w którym można było jednocześnie wykorzystać kilka umiejętności robota (np. nasłuchiwanie komend głosowych i śledzenie określonego koloru). Za pomocą środowiska JavaScript stworzyliśmy również grę pt. „Pomyślałem jakąś liczbę. Odgadnij, jaka to liczba”. Robot losował liczbę z określonego zakresu, a my musieliśmy ją odgadnąć. Za pomocą modułu rozpoznawania mowy, mogliśmy informować robota o możliwej wylosowanej liczbie. Jeżeli podana przez nas liczba była mniejsza lub większa od wylosowanej liczby, robot w języku angielskim głośno nas o tym informował, aż do momentu, kiedy ta liczba została przez nas trafiona.
Niestety, nie obyło się też bez pewnych problemów związanych z jednoczesną pracą wielu robotów w naszej pracowni informatycznej. Pracujemy nad tym, aby wszystkie te problemy rozwiązać.
Uczniowie, wykorzystując znane im już środowisko mBlock, tworzyli swoje własne gry komputerowe, np. różne gry zręcznościowe oparte na przemieszczaniu się postaci w określonym środowisku, w którym czaiły się różne przeszkody i niebezpieczeństwa. Wykorzystywali przy tym różne czujniki CyberPi do interakcji z postaciami z gry.
Według własnych doświadczeń i pomysłów, wyniesionych z poprzednich zajęć koła informatycznego, zbudowaliśmy swojego własnego robota kołowego w oparciu o mikrokontroler CyberPi oraz silniki i czujniki, które były dostępne w naszych zestawach. Robot posiada dwa koła, sterowane niezależnie prze dwa silnik elektryczne. Trzecie koło (docelowo będzie to obrotowa kula podporowa), stanowi podporę całego projektu. Robot sterowany jest przez mikrokontroler CyberPi, znajdujący się na jego pokładzie, a do kontrolera podłączonych jest wiele czujników. Dzięki możliwości prostego, szeregowego łączenia ze sobą wszystkich czujników za pomocą magistrali CyberPi, możliwości rozbudowy naszego robota są naprawdę imponujące, co daje nam wiele różnych i ciekawych konstrukcyjnie rozwiązań. Wszystkie te elementy są w prosty sposób montowane na dwóch drewnianych stelażach i w każdej chwili mogą być wypięte i przypięte w innym miejscu. Zastosowaliśmy dwa podwójne czujniki RGB – jeden z przodu robota, drugi pod spodem, skierowany w dół. Służą do rozpoznawania kolorów i natężenia odbitego światła. Zamontowane są także z przodu robota, dwa niezależnie sterowane przez serwomechanizmy, czujniki odległości IR, określające odległość robota od przeszkody. Robot został również wyposażony w czujnik PIR. Służy on do detekcji ruchu w oparciu o pomiar zmian temperatury w otoczeniu. Robot posiada również panel niebieskich diod LED, za pomocą którego może dla użytkownika przekazywać różne graficzne i słowne informacje. Dodatkowo projekt wyposażyliśmy w mały głośniczek. Całość jest programowana w środowisku mBlock. Do tej pory udało się nam pomyślnie przetestować robota w detekcji ruchu, w wykrywaniu podczas jazdy przeszkód, rozpoznawania kolorów, np. stworzyliśmy program jazdy robota wzdłuż linii o określonym kolorze (śledzenie linii). Docelowo chcielibyśmy, aby nasz robot poprzez dodatkowy mikrokontroler Arduino Uno (CyberPI ma możliwość współpracy z Arduino) mógł reagować na nasze komendy głosowe, wykonując przy tym określone czynności. Może nam to umożliwić zastosowanie czujnika dźwięku, np. Gravity – moduł rozpoznawania głosu offline, który ma zaimplementowane 121 różnych komend głosowych i dodatkowo 17 własnych wyuczonych komend. Fajnie by było również dodać w przyszłości inteligentną kamerę CyberPi, która ma możliwość rozpoznawania i śledzenia obiektów, linii i etykiet.
Podczas zajęć koła informatycznego korzystaliśmy ze sprzętu zakupionego w ramach programu #Laboratoria Przyszłości oraz projektu dofinansowanego przez UE pn. „Wsparcie kształcenia ogólnego w Stargardzie”.
