Spisu treści:

AI z Grove Zero i Codecraft (Scratch 3.0): 5 kroków (ze zdjęciami)
AI z Grove Zero i Codecraft (Scratch 3.0): 5 kroków (ze zdjęciami)

Wideo: AI z Grove Zero i Codecraft (Scratch 3.0): 5 kroków (ze zdjęciami)

Wideo: AI z Grove Zero i Codecraft (Scratch 3.0): 5 kroków (ze zdjęciami)
Wideo: AI with Grove Zero and Codecraft(Scratch 3.0) - Control G0 Car 2024, Listopad
Anonim
AI z Grove Zero i Codecraft (Scratch 3.0)
AI z Grove Zero i Codecraft (Scratch 3.0)

W tym artykule zamierzamy zbudować trzy projekty wykorzystujące funkcje AI Codecrafta, graficznego środowiska programistycznego opartego na Scratch 3.0. Codecraft jest rozwijany i utrzymywany przez edukację TinkerGen i jest darmowy.

Sztuczna inteligencja i jej podzbiór, czyli uczenie maszynowe, stały się integralną częścią naszego życia w ciągu ostatnich 10 lat. Programy szkolne w wielu krajach obejmują sztuczną inteligencję i wiedzę o uczeniu maszynowym, ale przeciętnemu nauczycielowi może być trudno stworzyć materiały lekcyjne do nauczania tego tematu bez odpowiednich narzędzi. Korzystanie z bibliotek uczenia maszynowego, nawet tych najbardziej przyjaznych dla użytkownika, takich jak Keras, do zbudowania aplikacji, z którą uczniowie mogą wchodzić w interakcje, może być czasochłonnym i zniechęcającym zadaniem. Tutaj może pomóc Codecraft - posiada bogaty zestaw aplikacji opartych na uczeniu maszynowym, których nauczyciel może używać do wyjaśniania i demonstrowania pojęć związanych ze sztuczną inteligencją. Przyjrzyjmy się im!

Krok 1: Przegląd rozszerzeń AI

Przegląd rozszerzeń AI
Przegląd rozszerzeń AI

Otwórz edytor online Codecraft na

Kliknij tryb Stage, a następnie przycisk Dodaj rozszerzenie na dole zakładki nawigacji po blokach.

Zobaczysz, że dostępne są trzy rozszerzenia AI:

- Usługi kognitywne --- modele uczenia maszynowego do przetwarzania obrazu i dźwięku na żywo

- Maszyna z możliwością uczenia --- może być używana do trenowania modelu klasyfikacji ze zdjęciami zrobionymi aparatem

- Tłumacz --- wykorzystuje uczenie maszynowe do tłumaczenia

W tym artykule skupimy się na usługach kognitywnych i wykorzystaniu tych funkcji do sterowania sprzętem Grove Zero. Bezprzewodowa komunikacja między komputerem a Grove Zero wciąż trwa i zaktualizuję artykuł, gdy tylko będzie dostępny. Na razie do przekazywania wiadomości pomiędzy modułem Grove Zero a komputerem będziemy używać połączenia przewodowego.

Krok 2: Zagraj w Space Invaders swoim nosem

Image
Image
Zagraj w Space Invaders swoim nosem
Zagraj w Space Invaders swoim nosem

W pierwszym zadaniu użyjemy tylko trybu scenicznego bez żadnego sprzętu. Codecraft ma mnóstwo przykładów, od których można zacząć programowanie - jednym z nich jest programowanie klasycznej gry Space Invaders w trybie Codecraft Stage. Rozwiniemy ten przykład i dodamy możliwość kontrolowania wojownika w grze za pomocą nosa za pomocą usług Cognitive.

Kliknij przycisk Przykłady. Przykład Open SpaceInvaders. Musimy tylko zmienić część związaną z ruchem. W tym celu otrzymamy pozycję x nosa na twarzy wykrytą w strumieniu wideo na żywo, zapisz ją w zmiennej pozycji. Następnie, jeśli wartość pos jest większa niż 50, przesuwamy myśliwiec kosmiczny w prawo, jeśli jest mniejszy niż -50, przesuwamy myśliwiec w lewo. To jest to. Wypróbuj to! Jeśli czujesz, że prędkość ruchu wojownika jest zbyt duża, możesz zmienić x o … blok na mniejszą liczbę.

Następnie rozszerzymy tę funkcjonalność, aby kontrolować samochód Grove Zero i sprawić, by poruszał się do przodu/do tyłu/w lewo/w prawo.

Krok 3: Kontroluj samochód Grove Zero za pomocą Codecraft AI

Image
Image
Kontroluj samochód Grove Zero za pomocą Codecraft AI
Kontroluj samochód Grove Zero za pomocą Codecraft AI

Zacznijmy od napisania kodu w trybie stage - to ta część, która odpowiada za analizę przekazu wideo i wysyłanie komend do Grove Zero.

1) Wykonujemy kod z pierwszego zrzutu ekranu, aż do naciśnięcia przycisku spacji. Następnie wysyłamy komendę stop.

2) Wewnątrz powtarzaj aż do bloku, sprawdzamy pozycje x-pos i y-pos nosa wykrytej twarzy i zapisujemy je w odpowiednich zmiennych.

3)Jeżeli bezwzględna wartość x-pos jest mniejsza niż 21 (co oznacza, że jest pomiędzy -20 a 20, czyli blisko środka obrazu), przechodzimy do sprawdzenia y-pos, aby określić, czy samochód powinien jechać do przodu, czy do tyłu

4) W przeciwnym razie sprawdzamy, czy samochód ma jechać w lewo, czy w prawo

Przejdźmy teraz do zakładki Device i napiszmy krótki kod dla samochodu Grove Zero. Użyjemy When I receive block, które odpowiada za odbieranie wewnętrznych poleceń rozgłoszeniowych. Nie mylić z Gdy odbiera radio, który jest używany do komunikacji Bluetooth. Zobacz zrzut ekranu, aby uzyskać szczegółowe informacje, kod jest dość prosty.

Podłącz zmontowany samochód Grove Zero do komputera i naciśnij przycisk Połącz w Codecraft. Przełącz się w tryb debugowania online - dzięki temu płyta główna Grove będzie odbierać polecenia transmisji przez sieć. Następnie przejdź do trybu sceny i naciśnij flagę. Samochód powinien się teraz ruszać, spróbuj sterować nim nosem:)

Krok 4: Podążanie za linią za pomocą sterowania głosowego

Image
Image
Śledzenie linii za pomocą sterowania głosowego
Śledzenie linii za pomocą sterowania głosowego

W zestawie samochodowym Grove Zero znajduje się mapa, która pierwotnie służy do gry w mini-grę „Zbierz monety”. Możemy wykorzystać go do używania rozpoznawania głosu w Codecraft, aby wydawać polecenia samochodowi, w którym kierunku skręcić na skrzyżowaniu.

Część dotycząca trybu scenicznego jest mniej skomplikowana niż w poprzednim przykładzie. Co robimy to:

1) Po odebraniu komunikatu rozgłoszeniowego select_direction rozpoznaj fragment mowy i zapisz go w zmiennej wynikowej.

2) Kontynuuj rozpoznawanie, aż wynik nie będzie nieznany.

3) Porównaj wynik z dwoma ciągami - "lewy" i "prawy". Przekaż odpowiednią wiadomość do samochodu Grove Zero.

Kod działający w samochodzie Grove Zero jest tym razem nieco bardziej skomplikowany, ale zasadniczo działa zgodnie z tą logiką:

1) Po uruchomieniu wyślij wiadomość do przodu

2) Po otrzymaniu wiadomości do przodu zacznij podążać za linią. W przypadku utraty linii zatrzymaj silniki i nadaj transmisję

select_direction. Tutaj wykonywany jest kod w trybie Stage.

3) Jeśli wiadomość została odebrana, zacznij skręcać w lewo, a następnie przełącz się z powrotem do trybu śledzenia linii.

Jeśli otrzymałeś właściwą wiadomość, zacznij skręcać w prawo, a następnie przełącz się z powrotem do trybu śledzenia linii.

Krok 5: Za kulisami

Za kulisami
Za kulisami

Wszystkie modele sieci neuronowych używane w powyższej aplikacji są uruchamiane lokalnie w przeglądarce, co ma kilka wyraźnych zalet w porównaniu z wysyłaniem danych do chmury w celu przetworzenia: mniejsze opóźnienie i lepsza prywatność. W usługach kognitywnych wykorzystywanych jest wiele sieci neuronowych - klasyfikacja dźwięku poleceń mowy (wykrywanie punktów orientacyjnych twarzy, rozpoznawanie wyrazu twarzy i szacowanie wieku).

W tym artykule zbadaliśmy podstawową funkcjonalność jednego z rozszerzeń Codecraft AI - usług Cognitive. Istnieje wiele sposobów na wykorzystanie tych przykładów, aby stworzyć jeszcze ciekawsze i bardziej ekscytujące aplikacje!

Jeśli zdecydujesz się spróbować, czy to z Grove Zero, czy po prostu korzystając z trybu Stage, podziel się komentarzami poniżej. Aby uzyskać więcej informacji o serii Grove Zero, Codecraft i innym sprzęcie dla producentów i nauczycieli STEM, odwiedź naszą stronę internetową

TinkerGen stworzył kampanię Kickstarter dla MARK (Make A Robot Kit), zestawu robota do nauki kodowania, robotyki, sztucznej inteligencji!

Zalecana: