Skip to main content
Skip to Main Content
Skip to main content
Nawigacja

Chapter 4: Preparing to Compete


الدرس 2: استخدام قالب مسابقة الكتل

Witamy w klasie VEX. Nazywam się Lauren i w tej lekcji omówimy korzystanie z szablonu konkursu Blocks. W poprzedniej lekcji omówiliśmy nieco szerzej szablon zawodów i wyjaśniliśmy, dlaczego należy go używać podczas zawodów VEX Robotics. Istnieją różne wersje szablonu konkursu w zależności od tego, jakiego języka programowania używasz (bloków czy tekstu). Ponieważ w tym kursie skupiamy się na blokach, w tym konkretnym filmie omówię szablon konkursu bloków w VEXcode V5.

Zanim przejdziemy do konkretów, omówmy najpierw materiały. Tutaj użyję Advanced TrainingBot tylko po to, aby pokazać niektóre funkcje Arm and Claw. Do zaprezentowania tego szablonu konkursowego użyję również kontrolera, obiektu gry i kodu VEXcode V5. Do obejrzenia tego filmu nie potrzebujesz żadnych materiałów. Zrobię dla ciebie kilka demonstracji. Więc powtórzę, że do tej konkretnej lekcji nie potrzebujesz zupełnie niczego.

Porozmawiajmy o celu tej lekcji. Omówimy teraz różne części szablonu konkursu Blocks, a dokładniej trzy części: „Kiedy rozpoczęto”, która dotyczy trybu przedautonomicznego, część „Autonomiczna” i część „Kontrola kierowcy”. Omówię je w przykładowym kodzie, który tutaj mam, a następnie przetestujemy go i sprawdzimy jego działanie na naszym robocie, używając naszego kontrolera, aby zobaczyć, jak szablon konkursu wygląda w akcji.

Mając to na uwadze, przyjrzyjmy się bliżej naszemu przykładowemu projektowi.

[Muzyka]

Dobrze, aby wyświetlić szablon konkursu, przejdę do Plik, Otwórz przykłady, Szablony, a następnie Szablon konkursu. Jest tu parę rzeczy. Numer jeden, znowu te trzy sekcje. Jedna rzecz, na którą chciałbym zwrócić uwagę, zanim zagłębimy się w mój konkretny przykład, to to, że pierwszą rzeczą, jaką musimy zrobić przed rozpoczęciem wypełniania tych pól, jest dodanie konfiguracji urządzenia. Tak więc jeśli używasz układu napędowego z dwoma silnikami lub masz silniki ramieniowe lub pazurowe albo coś w tym stylu, najpierw musisz się upewnić, że je dodasz, aby bloki mogły się tam znaleźć po lewej stronie. Umożliwi to ponowne wypełnienie tych sekcji.

Gdy tylko otworzę szablon konkursu, muszę upewnić się, że dodałem konfigurację urządzenia. Następnie chciałbym wspomnieć o jednej rzeczy – w tej części poświęconej Kontroli Sterownika można zobaczyć blok „na zawsze”. Powodem, dla którego to się tam znajduje, jest fakt, że w przypadku sterowania sterownikiem, gdy używamy kontrolera, chcemy na bieżąco sprawdzać, czy przyciski są wciśnięte lub czy joysticki są poruszane. Dlatego blok „na zawsze” jest tam domyślnie włączony. Jeśli z jakiegoś konkretnego powodu chcesz go usunąć, możesz to zrobić, a jeśli nie używasz tego stosu i korzystasz tylko z konfiguracji urządzenia, możesz po prostu pozostawić ją bez zmian.

W porządku. Przyjrzyjmy się bliżej każdemu z tych trzech rozdziałów i ich znaczeniu, na przykładzie, który przygotowałem.

[Muzyka]

Na początek chciałbym zaznaczyć, że nasz Szablon Konkursowy składa się z trzech głównych części. Pierwszym jest moment rozpoczęcia lub pre-autonomiczny. Druga to When independent lub część autonomiczna, a trzecia to When Driver Control lub część Driver Control. Wszystkie trzy bloki zdarzeń lub kapeluszy wykonują różne części tego szablonu konkursu.

Omówmy każdą sekcję. Część przedautonomiczna lub część po rozpoczęciu zostanie wykonana natychmiast po uruchomieniu projektu szablonu konkursu. Najlepiej używać tego ustawienia do inicjalizacji.

Dziękuję za udział w tej lekcji. Mam nadzieję, że ten artykuł okazał się pomocny i pouczający. Jeśli masz jakiekolwiek pytania, skontaktuj się z nami. Miłego kodowania i powodzenia w projektach VEX Robotics!

Jeśli więc muszę wydrukować coś na ekranie mózgu przed rozpoczęciem części autonomicznej, jeśli muszę skalibrować żyroskop, jeśli chcę wydrukować dane w tym konkretnym przykładzie, ponieważ używam ramienia i pazura, ustawię ich silniki na przytrzymywanie. Oznacza to, że jeśli podniosę ramię lub otworzę pazur, silniki pozostaną w tej konkretnej pozycji i nie opadną pod wpływem grawitacji. Tak więc po prostu ustalam te przedautonomiczne pojęcia dla moich silników. W tym konkretnym przykładzie przyjrzymy się, jak to wygląda w wersji demonstracyjnej.

Wskazówka muzyczna

Teraz, gdy to już wiem, oto część „Kiedy zaczęliśmy” naszej przedautonomicznej części. Następna jest nasza część autonomiczna. Autonomiczna część meczu będzie trwała 15 sekund, a ta konkretna sekcja kodu będzie uruchamiana dla tej autonomicznej części meczu. Niezależnie od wszystkiego, zaraz po uruchomieniu szablonu konkursu rozpocznie się ta poprzedzająca Autonomię część „Kiedy rozpoczęto”. Następnie rozpocznie się 15-sekundowy bieg autonomiczny. Rozmawialiśmy o systemie sterowania polem gry i o tym, jak będzie on regulował, kiedy wszystkie roboty będą startować i zatrzymywać się podczas wykonywania określonej części meczu, czyli o tym, jak będzie uruchamiany ten wiersz kodu.

A teraz, w moim konkretnym przykładzie, nasz robot rozpocznie zabawę z obiektem gry w pazurze. Następnie zamknie się wokół obiektu, uniesie się w powietrze, przesunie się do przodu o 200 milimetrów, opuści ramię i upuści nasz obiekt gry. Może to na przykład symulować zdobywanie punktów na początku meczu. Oto co będzie się działo podczas mojej części autonomicznej. Ponownie, część autonomiczna oznacza, że nie mogę mieć żadnej kontroli ze strony kierowcy, a kontroler nie ma wpływu na mojego robota. W tej części wszystko jest autonomiczne. Wszystko odbywa się za pomocą kodu.

Przyglądając się tej trzeciej części, mam swój Driver Control. Teraz chciałbym zwrócić uwagę na to, że w konfiguracji naszego urządzenia mogę skonfigurować zarówno układ napędowy, jak i kontroler, co oznacza, że mogę przypisać różne konfiguracje układu napędowego do moich joysticków, a także mogę przypisać różne przyciski do sterowania różnymi silnikami. Załóżmy jednak, że zabrakło mi przycisków na kontrolerze lub mam kilka rzeczy, którymi chcę manipulować. Do tego bloku zdarzeń „When Driver Control” mogę dodać pewne rzeczy, które chcę zrobić, a do których być może nie mam dostępu w konfiguracji urządzenia, lub może chcę ustawić prędkość układu napędowego, lub coś w tym stylu.

A więc mój konkretny przykład kodu tutaj ponownie, dotyczący sterowania sterownikiem, umożliwi mi sterowanie moim Claw za pomocą jednego przycisku na kontrolerze. Zobaczymy jak to będzie wyglądać. Tak więc ponownie, kiedy używam części Kontroli sterownika, mogę jednocześnie konfigurować urządzenie za pomocą sterownika i korzystać z części Kontroli sterownika. Albo mogę użyć jednego albo drugiego. Jeśli nie używasz żadnego z tych trzech stosów, czyli stosu „po uruchomieniu” przed wersją autonomiczną, stosu autonomicznego lub stosu sterowania przez sterownik, możesz je pozostawić puste.

Wskazówka muzyczna

W porządku. Skoro już to wszystko powiedzieliśmy, przyjrzyjmy się, jak to będzie wyglądać, gdy uruchomię to na swoim robocie. W porządku. Przyjrzyjmy się temu na moim kontrolerze. Mogę przejść do programów i zobaczyć tam swój projekt szablonu konkursu, który już pobrałem do swojej pamięci. A jeśli najadę kursorem na jedną z nich, to pojawi się tam opcja biegu na czas. To będzie symulować system sterowania polem, o którym mówiłem wcześniej, i sposób, w jaki wszystko jest sterowane przez ten system sterowania polem. Tak więc, kiedy projekt rywalizacji faktycznie się rozpocznie, kiedy autonomiczna część meczu będzie kontrolowana przez to, i kiedy część sterowania kierowcą będzie kontrolowana przez to, mogę to symulować za pomocą tego przebiegu czasowego na kontrolerze.

Podziękowanie

Dziękuję, że poświęciłeś czas na omówienie ze mną tego procesu. Mam nadzieję, że ta demonstracja była pomocna.

Ostatnia wiadomość

Jeśli masz jakiekolwiek pytania lub potrzebujesz dalszych wyjaśnień, skontaktuj się z nami. Miłego kodowania i powodzenia w projektach robotyki!

Jeśli więc wybiorę tę opcję i wyświetli mi się komunikat: 15 sekund dla części autonomicznej, jedna minuta i 45 sekund dla części sterowanej przez kierowcę. A kiedy nacisnę ten przycisk ponownie, to faktycznie się zacznie. Kiedy zacznę, rozpocznie się odliczanie 3-2-1, tak jak w meczu. A potem zaczniemy.

Więc jak tylko kliknę start, to albo uruchomi się część autonomiczna, albo część przedautonomiczna, bez względu na wszystko. Następnie natychmiast rozpocznie się część autonomiczna. Więc pokażę wam jak tylko zacznie wykonywać część autonomiczną. Nawet jeśli poruszę kontrolerem, aby robot się poruszył, on również nie ruszy, ponieważ podczas fazy autonomicznej nie mogę sterować robotem za pomocą kontrolera.

[Muzyka]

Zobaczmy więc, jak ta konkretna część się wydarzy. No dobrze, zaczynamy. W porządku. Teraz pozostało mi jeszcze parę sekund części autonomicznej. Jak widać, nawet gdy poruszam kontrolerem, nic się nie dzieje, ponieważ nie mogę sterować robotem za pomocą kontrolera w fazie autonomicznej. Ale gdy tylko przełączę sterowanie na tryb kierowcy, mogę faktycznie sterować moim robotem.

Więc przejdę dalej, bo pamiętacie, jak przechodziłem do projektu w części poświęconej sterowaniu sterownikiem? Mogę sterować tymi różnymi częściami. Została mi więc jedna minuta i 25 sekund. Teraz podjadę, biorąc pod uwagę konfigurację sterownika – to steruje układem napędowym, to steruje ramieniem, ten przycisk steruje pazurem. Naciśnięcie jednego przycisku umożliwi mi chwytanie obiektów. Tutaj mogę nacisnąć dwa przyciski, aby podnieść i opuścić ramię. Jeden przycisk do sterowania Pazurem. Zamknięte, Otwarte.

Ponieważ w konfiguracji urządzenia nie ma takiej opcji, musiałem napisać ten kod niestandardowo, i właśnie w tym celu użyłem bloku zdarzeń Driver Control, który można zobaczyć w tym konkretnym stosie. Odliczanie będzie kontynuowane do końca części poświęconej Kontroli Kierowcy. Ale jak widać, zamierzam z tym skończyć. Po zakończeniu części poświęconej sterowaniu pojazdem wszystko zostaje wyłączone i na tym kończy się mecz.

Możesz zobaczyć trzy różne części szablonu. Ponownie przechodzimy przez sekcję dotyczącą momentu uruchomienia wersji przedautonomicznej, niezależnie od tego, jaka jest jej sekcja. Niezależnie od tego, czy zajmujemy się wersją autonomiczną, czy kontrolą kierowcy, przechodzimy do części autonomicznej. Kiedy to się dzieje, nie mogę używać kontrolera. Po zakończeniu tej czynności przejdziemy do części poświęconej sterowaniu robotem, w której będę mógł sterować robotem za pomocą kontrolera. Część ta będzie trwała minutę i 45 sekund, aż do zakończenia. Następnie, jak wspomniałem wcześniej, dzięki systemowi sterowania terenowego wszystkie roboty będą uruchamiać się i zatrzymywać w tym samym czasie.

[Muzyka]

W porządku. Podsumujmy krótko to, co zostało omówione w tym filmie. Przyjrzeliśmy się szablonowi konkursu Blocks. Są trzy różne porcje. Kiedy uruchomiony, przed-autonomiczny, który będzie działał niezależnie. Służy to inicjowaniu zmiennych, ewentualnie ustawianiu i kalibrowaniu żyroskopu, drukowaniu dzięki ekranowi mózgu, ustawianiu pozycji silnika, np. przytrzymywania lub nawet podnoszenia ramienia do określonej pozycji. Wszystko to odbywa się przed autonomiczną częścią meczu.

Następnie przechodzimy do części autonomicznej, do stosu autonomicznego, który tam widzieliśmy, gdzie przez 15 sekund robot porusza się całkowicie za pomocą kodu, bez interakcji z kontrolerem lub kierowcą. Gdy ta sekcja jest już gotowa, przechodzimy do części sterowania sterownikiem, którą można kontrolować albo za pomocą konfiguracji urządzenia, którą widzieliśmy wcześniej, przypisując określone silniki i inne rzeczy do przycisków joysticka i tym podobnych rzeczy na kontrolerze, albo za pomocą tego konkretnego stosu, w którym mogę napisać trochę więcej niestandardowego kodu dla mojego robota. Można użyć jednego, drugiego lub obu.

Jak wspomniałem wcześniej, jeśli nie używasz żadnej z tych trzech sekcji w swoim programie, możesz pozostawić stosy w blokach zdarzeń puste.

Dziękuję za obejrzenie i mam nadzieję, że to pomoże Ci lepiej zrozumieć szablon konkursu.

Powodem użycia tego szablonu jest konieczność zapewnienia, że wszystkie roboty w trakcie meczu będą startować i zatrzymywać się w tym samym czasie. Dzieje się tak, ponieważ na boisku będą cztery roboty i chcemy mieć pewność, że wszystkie będą startować i zatrzymywać się w tym samym czasie.

Mam nadzieję, że wszystkie te informacje okażą się pomocne, gdy będziecie poznawać szablon konkursu i przygotowywać się do rywalizacji w zawodach VEX Robotics. Jestem taka podekscytowana.

Gratulacje, ukończyłeś rozdział czwarty. Do zobaczenia w kolejnym filmie.

Learning Objectives

Learning Objectives Section
  • حدد العناصر الرئيسية لقالب مسابقة الكتل في VEXcode V5، بما في ذلك أقسام متى بدأت والقيادة الذاتية والتحكم في السائق.

Summary

Summary Section

هذا هو الفيديو الثاني لمقدمة الدورة التدريبية VEX V5 الفصل 4. إذا لم تكن قد شاهدت الفيديو الأول بعد، فارجع وشاهد الدرس 1: ميكانيكا مباراة مسابقة الروبوتات VEX.

في الدرس 2، ستتعرف على كل عنصر من العناصر الرئيسية الثلاثة لقالب مسابقة الكتل في VEXcode V5 من خلال عرض مثال عملي.

للمناقشات والأسئلة، انضم إلى موضوع PD+ Community المخصص للتعلم والاستكشاف الجماعي.

تهانينا، لقد أكملت دورة مقدمة إلى VEX V5 التدريبية!