Dołączone przykłady#

Na tej stronie znajdziesz przykładowe projekty, które pokazują, jak sterować robotem VEX AIM Coding Robot przy użyciu języka Python przez WebSocket.

Podstawowy#

W katalogu basic znajdziesz:

Nazwa pliku

Opis

ai_vision_for_loops.py

W tym projekcie wykorzystano odpowiednią pętlę For w języku Python do iteracyjnego przeglądania danych AI Vision w celu obliczenia punktu środkowego między beczką pomarańczową i beczką niebieską.

angled_moving.py

W ramach tego projektu robot porusza się pod kątem 45 stopni z prędkością 100%, aby narysować kształt diamentu.

colorful_square.py

Projekt ten polega na poruszaniu się robota po kwadratowej ścieżce, przy każdym kolorze zmieniając kolor diody LED.

conditional_kicker.py

Ten projekt obróci robota AIM o 180 stopni w prawo. Jeśli robot trzyma pomarańczową beczkę, kopnie ją; w przeciwnym razie robot nic nie zrobi.

creating_timeouts.py

Ten projekt będzie się obracał w miejscu podczas poszukiwań pomarańczowej beczki. Jeśli w ciągu 10 sekund nie zostanie znaleziona żadna beczka, odtworzy dźwięk „nieudane” i zatrzyma poszukiwania.

emoji_reaction.py

Ten projekt wyświetla emotikonę szczęścia, gdy kąt nachylenia robota jest stabilny, oraz emotikonę zaskoczenia, gdy robot jest przechylony.

emoji_touch.py

Ten projekt zmienia emoji na ekranie zależnie od tego, ile razy ekran został naciśnięty, pokazując inny wyraz twarzy przy każdym naciśnięciu.

get_blue_barrel.py

Ten projekt będzie szukał niebieskiej beczki, przejdzie do niej i będzie świętował, gdy tylko ją zdobędzie.

led_color_cycle.py

W tym projekcie wszystkie kolory diod LED są przełączane cyklicznie, z jednosekundową przerwą między każdym z nich.

level_detector.py

W tym projekcie ekran będzie wyświetlał zielone tło z napisem „FLAT”, gdy robot nie będzie przechylony. Jeśli robot się przechyli, ekran zmieni kolor na czerwony i pojawi się napis „TILTED” (POCHYLONY).

move_and_stop.py

Projekt ten polega na przesunięciu robota o 300 mm do przodu i odtworzeniu dźwięku zakończenia ruchu.

move_to_apriltag.py

Ten projekt obraca robota, aż wykryje on AprilTag ID 1, a następnie zmierza w jego kierunku.

multi_step_pickup.py

Ten projekt skręca w prawo, aż znajdzie pomarańczową beczkę, po czym cofa się i ją umieszcza.

musical_thread.py

Ten projekt będzie odtwarzał piosenkę (za pomocą nut) w jednym wątku, jednocześnie uruchamiając inny wątek.

object_detection_alert.py

Ten projekt będzie napędzał robota AIM do momentu znalezienia ładunku. Po jego wykryciu robot wyda sygnał dźwiękowy i zatrzyma wszelkie ruchy.

obstacle_avoidance.py

Ten projekt będzie poruszał robota AIM do przodu, aż znajdzie ładunek. Po wykryciu, robot skręci w prawo o 45 stopni.

screen_drawing.py

Ten projekt rysuje na ekranie linię, kwadrat i okrąg, wyświetlając nazwę każdego kształtu w trakcie rysowania.

sensor_monitor.py

Ten projekt będzie wyświetlał na ekranie robota wartości czasu, kierunku i orientacji odchylenia.

tap_to_start.py

Ten projekt oczekuje na dotknięcie ekranu dotykowego, zanim przesunie się o 200 mm i wyświetli emoji na końcu.

timing_events.py

Projekt rozpoczyna jazdę do przodu, ale zatrzymuje się automatycznie po upływie pięciu sekund, a następnie na ekranie wyświetla się komunikat „Czas minął!”.

Zaawansowany#

W katalogu advanced znajdziesz:

Nazwa pliku

Opis

aim_example_base.py

Dostarcza klasę bazową AimExample , która analizuje argumenty, próbuje znaleźć adres IP robota AIM i inicjuje wystąpienie aim.Robot.

fpv.py

Ten projekt pozwala użytkownikowi sterować robotem podczas przesyłania obrazu z kamery. Diody LED świecą na zielono, gdy robot się porusza, i na czerwono, gdy robot jest zatrzymany.

multiple_robots.py

Projekt polega na tym, że dwa roboty poruszają się po kwadratowej ścieżce, zmieniając przy każdym kolorze kolor diody LED.

play_sounds.py

Robot odtworzy lokalny plik dźwiękowy, a następnie zagra kilka nut z V Symfonii Beethovena.

save_jpg.py

Zapisz obraz w formacie JPEG do systemu plików podanego przez nazwę pliku, domyślnie aim_img.jpg

stream_video.py

Strumień obrazu JPEG wyświetlany na ekranie przy użyciu OpenCV.