Rozwiązywanie problemów z czujnikami VEX EXP

Jeśli podczas korzystania z informacji zwrotnych z czujnika Twój robot nie zachowuje się zgodnie z oczekiwaniami, możesz wykonać procedurę rozwiązywania problemów krok po kroku, aby znaleźć i rozwiązać problemy. W tym artykule wyjaśniono etapy procesu rozwiązywania problemów i podano wskazówki dotyczące korzystania z tych kroków. 

Etapy tego procesu są następujące:

  1. Rozpoznaj problem
  2. Sprawdź sprzęt
  3. Sprawdź oprogramowanie
  4. Analizuj i stosuj dane

Rozpoznaj problem

Pierwszym krokiem do rozwiązania problemu z czujnikiem jest określenie, który czujnik powoduje problem. Porównaj zaobserwowane zachowanie robota z zamierzonym zachowaniem robota. Czy przyczyną problemu jest czujnik? Jeśli tak to jaki czujnik? Jeśli potrzebujesz więcej informacji, aby określić, który czujnik może powodować problem, przeczytaj poniższe artykuły dotyczące czujników w Twoim robocie.

Czujniki VEX EXP:

Po zidentyfikowaniu, który czujnik powoduje niezamierzone zachowanie, możesz kontynuować proces.


Sprawdź sprzęt

Drugim krokiem jest sprawdzenie sprzętu robota, aby upewnić się, że czujnik działa zgodnie z przeznaczeniem. Każdy z poniższych czynników sprzętowych może mieć wpływ na funkcjonalność czujnika.

Sprawdź umiejscowienie czujnika

EXP_Treasure_Hunt_Lesson_3_-Tile_0.webp

Zacznij od sprawdzenia, gdzie w robocie znajduje się czujnik. Czy czujnik jest przez coś blokowany, np. przez inną część robota? Upewnij się, że czujnik ma wystarczająco dużo miejsca, aby działać zgodnie z przeznaczeniem.

Jak pokazano tutaj, czujnik optyczny ma wyraźną linię widzenia do obiektu, który ma wykryć.

Sprawdź połączenie czujnika

odcień.png

Przetestuj funkcjonalność czujnika, przeglądając dane wyświetlane na ekranie urządzeń w VEX EXP Brain. Pomoże to sprawdzić, czy czujnik jest podłączony i działa. 

Aby uzyskać dostęp do ekranu urządzeń, czynności opisane w tym artykule. Po otwarciu ekranu urządzeń sprawdź, czy czujnik przesyła dane.

EXP_brain_with_optical.png

Jeśli czujnik nie przesyła danych, upewnij się, że czujniki są prawidłowo podłączone. Podczas podłączania czujników do Smart Port powinno być słyszalne trzaśnięcie, gdy zatrzask blokujący czujnika zostanie całkowicie osadzony w porcie.

Podczas podłączania czujników do portu 3-przewodowego kabel powinien być całkowicie włożony we właściwej orientacji, tak aby biały przewód znajdował się najbliżej ekranu Brain. 

Możesz także spróbować zamienić używany czujnik na inny, aby sprawdzić, czy to rozwiąże problem.

Jeśli zmieniłeś coś w rozmieszczeniu czujnika lub podłączeniu czujnika, przetestuj projekt ponownie, aby sprawdzić, czy to rozwiązało problem. Jeśli umiejscowienie czujnika i połączenie nie uległy zmianie, przejdź do następnego kroku, aby kontynuować proces rozwiązywania problemów.


Sprawdź oprogramowanie

Po stwierdzeniu, że czujnik został pomyślnie umieszczony na robocie i podłączony do niego, możesz następnie przyjrzeć się projektowi VEXcode EXP. Powtarzanie projektu może pomóc w zapewnieniu efektywnego wykorzystania danych z czujnika w projekcie. Poniższe strategie mogą pomóc w kodowaniu czujnika.

Jeśli zastosujesz którąkolwiek z tych strategii w swoim projekcie VEXcode EXP, przetestuj swój projekt ponownie, aby sprawdzić, czy to rozwiązało problem.

Sprawdź oprogramowanie sprzętowe i konfigurację

Screen_Shot_2023-04-17_at_11.01.34_AM.png

Teraz, gdy masz pewność, że wszystkie urządzenia są poprawnie podłączone do Brain, sprawdź konfigurację urządzenia w VEXcode EXP.

Sprawdź, czy w konfiguracji są obecne wszystkie czujniki. Następnie sprawdź, czy każdy z nich jest podłączony do właściwego portu.

Zmień wszelkie nieprawidłowe konfiguracje urządzeń.

Uruchom przykładowy projekt

Zrzut ekranu_2023-04-20_at_11.33.44_AM.png

Otwórz przykładowy projekt wykorzystujący czujnik, z którym rozwiązujesz problem. Możesz wybrać kategorię „Wykrywanie”, aby przefiltrować przykładowe projekty.

Aby uzyskać więcej informacji na temat przykładowych projektów i szablonów bloków EXP, ten artykuł.

Aby uzyskać więcej informacji na temat przykładowych projektów i szablonów EXP Python, ten artykuł.

Aby uzyskać więcej informacji na temat przykładowych projektów i szablonów EXP C++, ten artykuł.

Zrzut ekranu_2023-04-20_at_11.36.24_AM.png

Po otwarciu przeczytaj Uwagę, aby określić, czy funkcjonalność w przykładowym projekcie jest zgodna z tym, co próbujesz zrobić z czujnikiem.

W pokazanym tutaj przykładowym projekcie uwaga wskazuje, że wyłącznik zderzaka służy do wykrywania naciśnięcia przełącznika, aby robot mógł zatrzymać jazdę w przypadku zetknięcia się z przedmiotem.

Uruchom przykładowy projekt i obserwuj zachowanie robota. Następnie przyjrzyj się projektowi, aby zobaczyć, w jaki sposób dane z czujników są wykorzystywane do wywoływania zaobserwowanych zachowań. Aby sobie z tym poradzić, możesz chcieć uruchomić przykładowy projekt wiele razy.

Możesz spróbować stworzyć własny uproszczony projekt, aby zastosować w swoim zadaniu to, czego nauczyłeś się z przykładowego projektu.

Użyj innych narzędzi EXP VEXcode

Istnieją również narzędzia i strategie, których możesz użyć, aby dowiedzieć się więcej o kodowaniu czujnika w VEXcode EXP. O blokach i poleceniach znajdujących się w Toolboxie możesz dowiedzieć się indywidualnie, korzystając z Pomocy. Możesz także przeglądać dane czujnika w trakcie realizacji projektu, aby dowiedzieć się więcej o tym, co raportuje czujnik.

Zrzut ekranu_2023-04-20_at_12.15.12_PM.png

Pomoc

Przeczytaj Pomoc dotyczącą bloków lub poleceń w przykładowym projekcie lub w swoim projekcie, aby dowiedzieć się, jakie dane są używane, jakie wartości będzie raportować polecenie i przykłady użycia polecenia w projekcie.

Zobacz ten artykuł, aby dowiedzieć się więcej o uzyskiwaniu dostępu do pomocy w blokach EXP VEXcode.

Zobacz ten artykuł, aby dowiedzieć się więcej o uzyskiwaniu dostępu do pomocy w VEXcode EXP Python.

Drukowanie danych

Możesz także wydrukować dane z czujnika w trakcie realizacji przykładowego projektu lub Twojego projektu, aby lepiej zrozumieć, co czujnik raportuje w czasie rzeczywistym. Może to pomóc w określeniu, jakie wartości raportowane z czujnika wykorzystać jako parametry w projekcie. 

Należy pamiętać, że w projekcie Blocks można zastosować oddzielny blok kapelusza {When started} , aby wszystkie polecenia drukowania były zorganizowane we własnym stosie.

Bloki EXP VEXcode

VEXcode EXP Python

Screen_Shot_2023-04-06_at_5.24.24_PM.png

VEXcode EXP C++

Screen_Shot_2023-04-06_at_5.16.51_PM.png

Wybierz każdy obraz powyżej, aby powiększyć.

Drukowanie do EXP Brain jest pomocne, gdy chcesz zobaczyć, jak wartości zmieniają się w trakcie działania projektu VEXcode EXP. Może to pomóc w określeniu, jakie wartości raportowane z czujnika wykorzystać jako parametry w projekcie. Te polecenia drukowania można włączyć do utworzonego już projektu VEXcode EXP, dzięki czemu można zobaczyć, jak wartości czujnika zmieniają się w określonych momentach ruchu robota. 

Powyższe przykładowe projekty pokazują, jak wydrukować wartości z czujnika bezwładnościowego do EXP Brain. Komentarze w każdym projekcie wyjaśniają przebieg projektu i użycie każdego polecenia.

Bloki EXP VEXcode 

VEXcode EXP Python

Screen_Shot_2023-04-06_at_5.26.02_PM.png

VEXcode EXP C++

Screen_Shot_2023-04-06_at_5.30.39_PM.png

Wybierz każdy obraz powyżej, aby powiększyć.

Drukowanie do Print Console w VEXcode EXP jest zalecane w przypadku uruchamiania projektu VEXcode EXP, w którym robot się NIE porusza. Aby móc drukować w Print Console, EXP Brain musi pozostać podłączony podczas realizacji projektu. Jest to korzystne, ponieważ możesz odczytać wartości z okna VEXcode EXP, zamiast próbować odczytać dane z ekranu Brain.

Te przykłady pokazują projekt drukowania danych z czujnika odległości do konsoli w VEXcode EXP. 

Więcej informacji na temat korzystania z programu Print Console w blokach EXP VEXcode można znaleźć w tym artykule.

Aby uzyskać więcej informacji na temat korzystania z konsoli Print Console w VEXcode EXP Python, zobacz ten artykuł.


Analizuj i stosuj dane

Następnie wykorzystaj wiedzę zdobytą w poprzednich krokach, aby dostosować swój oryginalny projekt. Możesz nadal korzystać z narzędzi takich jak Pomoc i drukowanie danych, aby efektywnie wykorzystywać czujnik do osiągnięcia swojego celu.

Możesz także zadawać pytania na temat swojego projektu, aby pomóc Ci w dalszym rozwoju. Pomyśl o takich rzeczach jak:

  • Czy w swoim projekcie używasz wartości większej niż < czy mniejszej niż > ? Czy symbol jest skierowany we właściwym kierunku? Jeśli używasz równości =, spróbuj zastąpić ją wartością większą lub mniejszą niż, aby użyć zakresu wartości.
  • Czy Twoje parametry są prawidłowe? Czy wykorzystujesz dane z czujnika do ustawiania parametrów? Czy wybrałeś potrzebną opcję rozwijaną?
  • Czy sprawdzasz warunki więcej niż raz? Spróbuj dodać pętlę Forever do swojego projektu, aby warunek był wielokrotnie sprawdzany podczas uruchamiania projektu.
  • Czy Twój projekt utknął? Czy Twoje warunki są ustawione prawidłowo? Jeśli używasz zagnieżdżonych pętli, spróbuj uprościć swój projekt, aby wyizolować poszczególne zachowania.
  • Czy warunki otoczenia wpływają na czujnik? Czy jest za jasno czy za ciemno? Czy na drodze znajdują się przedmioty lub ludzie? Spróbuj uruchomić projekt w innej lokalizacji, aby sprawdzić, czy to pomoże.
  • Czy korzystasz z najnowszej wersji swojego projektu? Czy pobrałeś zaktualizowany projekt do Brain? Po każdej zmianie pamiętaj o ponownym pobraniu projektu.
  • Czy wykrywasz właściwy kolor? Czy czujnik zgłasza inny kolor niż ten, który masz w swoim projekcie? Spróbuj zmienić parametr koloru lub użyć zakresu wartości odcieni, aby sprawdzić, czy to pomoże.
  • Czy wykrywasz obiekt w polu widzenia czujnika? Pamiętaj, że pole widzenia zmienia się w połączeniu z ruchem robota.
  • Czy używasz bloku oczekującego podczas sprawdzania warunku? Upewnij się, że podczas sprawdzania warunku używasz w projekcie bloków nie oczekujących. Zobacz ten artykuł, aby dowiedzieć się więcej na temat bloków oczekujących i nieczekających w VEXcode EXP.
  • Jeśli kodujesz w blokach, czy cały stos jest dołączony do {When started} bloku kapelusza? Bloki będą działać tylko wtedy, gdy zostaną połączone. Możesz słuchać dźwięku kliknięcia podczas przeciągania bloków i łączenia ich ze sobą.

Odpowiadając na te pytania, pamiętaj o zmianie jednej rzeczy w projekcie na raz, przetestuj ją, a następnie oceń, czy ta zmiana była skuteczna. Częste testowanie projektu może pomóc Ci łatwiej zobaczyć, jak Twój kod jest powiązany z zachowaniami robota.  Być może konieczne będzie wielokrotne powtórzenie kroków procesu rozwiązywania problemów, aby rozwiązać problem i to jest w porządku. Każda iteracja pomoże Ci dowiedzieć się więcej o czujniku, którego używasz i jak go zakodować w VEXcode EXP.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: