IQ (2. generációs) érzékelők hibaelhárítása

Ha az érzékelő visszacsatolása közben robotja nem úgy viselkedik, ahogyan azt tervezte, lépésről lépésre követheti a hibaelhárítási eljárást a problémák megkereséséhez és kijavításához. Ez a cikk elmagyarázza a hibaelhárítási folyamat lépéseit, és tippeket ad ezeknek a lépéseknek a használatához. 

Ennek a folyamatnak a lépései a következők:

  1. Azonosítsa a problémát
  2. Ellenőrizze a hardvert
  3. Ellenőrizze a szoftvert
  4. Adatok elemzése és alkalmazása

Azonosítsa a problémát

Az érzékelő hibaelhárításának első lépése annak meghatározása, hogy melyik érzékelő okozza a problémát. Hasonlítsa össze a megfigyelt robot viselkedését a tervezett robot viselkedéssel. A problémás viselkedést egy érzékelő okozza? Ha igen melyik érzékelő? Ha további információra van szüksége annak meghatározásához, hogy melyik érzékelő lehet a probléma, olvassa el az alábbi cikk(eke)t a robotja érzékelőivel kapcsolatban.

VEX IQ (2. generációs) érzékelők:

Miután azonosította, hogy melyik érzékelő okozza a nem kívánt viselkedést, továbbléphet a folyamatban.


Ellenőrizze a hardvert

A második lépés a robot hardverének ellenőrzése, hogy megbizonyosodjon arról, hogy az érzékelő megfelelően működik-e. A következő hardveres megfontolások mindegyike hatással lehet az érzékelő működésére.

Ellenőrizze az érzékelő elhelyezését

Egyszerű Clawbot felépítésű vezetés terepen. A robothoz tartozik egy optikai érzékelő, amely kiemelve van, és az előtte lévő vörös kocka felé mutat.

Kezdje azzal, hogy megnézi, hol található az érzékelő a roboton. Az érzékelőt blokkolja valami, például a robot egy másik része? Győződjön meg arról, hogy az érzékelőnek elegendő helye van a rendeltetésszerű működéshez.

Amint az itt látható, az optikai érzékelő világos látószöggel rendelkezik az észlelni kívánt tárgy felé.

Ellenőrizze az érzékelő csatlakozását

Az agy képernyője megjelenik az Eszközök menüben, és egy Touch LED eszköz van kiválasztva.

Tesztelje az érzékelő működését a VEX IQ (2nd gen) Brain Devices (Eszközök) képernyőjén jelentett adatok alapján. Ez segíthet ellenőrizni, hogy az érzékelő csatlakoztatva van-e és működik-e.

Az Eszközök képernyő eléréséhez kövesse a cikk lépéseit.

Egy (2. generációs) A (2. generációs) távolságérzékelőhöz csatlakoztatott agy diagramja.

Miután megnyílt az Eszközök képernyő, ellenőrizze, hogy az érzékelő jelent-e adatokat.

Ha nem, ellenőrizze, hogy az érzékelők megfelelően vannak-e csatlakoztatva. Az érzékelők csatlakoztatásakor kattanást kell hallania, amikor az érzékelő reteszelő füle teljesen be van kapcsolva egy portba.

Megpróbálhatja kicserélni a használt érzékelőt egy másikra, hogy megnézze, ez megoldja-e a problémát.

Ha módosított valamit az érzékelő elhelyezésén vagy csatlakozásán, tesztelje újra a projektet, hogy megbizonyosodjon arról, hogy ez megoldotta-e a problémát. Ha az érzékelő elhelyezése és csatlakozása nem változott, lépjen a következő lépésre a hibaelhárítási folyamat folytatásához.


Ellenőrizze a szoftvert

Miután megállapította, hogy az érzékelőt felhelyezték és sikeresen csatlakoztatták a robothoz, akkor a következő lépésben tekintheti meg a VEXcode IQ projektet. A projekt iterációja segíthet abban, hogy az érzékelő adatait hatékonyan használják fel a projektben. A következő stratégiák segíthetnek az érzékelő kódolásában.

Ha a fenti stratégiák bármelyikét alkalmazza VEXcode IQ projektjére, tesztelje újra a projektet, hogy megtudja, ez megoldotta-e a problémát.

Ellenőrizze a firmware-t és a konfigurációt

VEXcode IQ Devices menü a csatlakoztatott eszközök hosszú listájával. Ezzel a menüvel megbizonyosodhat arról, hogy az egyes érzékelők megfelelően vannak csatlakoztatva, és ellenőrizheti a megfelelő portot az agyon.

Most, hogy biztos abban, hogy minden eszköz megfelelően csatlakozik az agyhoz, ellenőrizze a VEXcode IQ eszközkonfigurációját.

Ellenőrizze, hogy az összes érzékelő jelen van-e a konfigurációban. Ezután ellenőrizze, hogy mindegyik a megfelelő porthoz van-e csatlakoztatva.

Módosítsa a nem megfelelő eszközkonfigurációkat.

Futtasson egy példaprojektet

VEXcode Blocks Példaprojektek menü számos projekttel különböző kategóriákban, amelyek közül választhat. Az Érzékelés kategória kiemelve.

Nyisson meg egy példaprojektet, amely a hibaelhárítás alatt álló érzékelőt használja. A példaprojektek szűréséhez kiválaszthatja az „Érzékelés” kategóriát.

További információért az IQ Blocks példaprojektekről és -sablonokról tekintse meg ezt a cikket.

Az IQ Python példaprojektekkel és -sablonokkal kapcsolatos további információkért tekintse meg ezt a cikket.

Az IQ C++ példaprojektekről és -sablonokról lásd ezt a cikket.

VEXcode IQ egy példaprojekttel, amely az Érzékelés kategóriából lett megnyitva, beleértve egy köteg kódblokkot és egy megjegyzést a projekt leírásával. A jegyzet kiemelve van.

Megnyitás után olvassa el a Megjegyzést, hogy megállapítsa, a példaprojektben szereplő funkcionalitás összhangban van-e azzal, amit az érzékelővel próbál tenni.

Az itt bemutatott példaprojektben a megjegyzés azt jelzi, hogy a távolságérzékelőt egy tárgy észlelésére használják, hogy a robot leállíthassa a vezetést, ha elérte a tárgyat.

Futtassa a példaprojektet, és figyelje meg a robot viselkedését. Ezután nézze meg a projektet, és nézze meg, hogyan használják fel az érzékelőadatokat a megfigyelt viselkedések előidézésére. Érdemes lehet többször is futtatni a példaprojektet, hogy segítsen ebben.

Megpróbálhatja létrehozni saját egyszerűsített projektjét, hogy a példaprojektből tanultakat a feladatára alkalmazza.

Használjon más VEXcode IQ eszközöket

Vannak olyan eszközök és stratégiák is, amelyek segítségével többet tudhat meg az érzékelő kódolásáról a VEXcode IQ-ban. Az Eszköztár blokkjairól vagy parancsairól külön-külön is tájékozódhat a Súgó segítségével. Megtekintheti az érzékelő adatait egy projekt futása közben is, hogy többet megtudjon arról, hogy az érzékelő mit jelent.

VEXcode IQ a Súgó menü megnyitásával és a Drive fejléc blokk kiválasztásával. A blokk leírása és felhasználási módja a használati példák képeivel együtt látható.

A segítséget

Olvassa el a súgót a példaprojektben vagy a projektben található blokkokhoz vagy parancsokhoz, hogy megismerje a felhasznált adatokat, a parancs által jelentett értékeket, valamint példákat a parancs projektben való használatára.

Tekintse meg ezt a cikket, ha többet szeretne megtudni a VEXcode IQ Blocks súgójának eléréséről.

Tekintse meg ezt a cikket, ha többet szeretne megtudni a VEXcode IQ Python súgójának eléréséről.

Tekintse meg ezt a cikket, ha többet szeretne megtudni a VEXcode IQ C++ súgójának eléréséről.

Adatok nyomtatása

Kinyomtathatja az érzékelő adatait a példaprojekt vagy a projekt futása közben is, hogy jobban megértse, mit jelent az érzékelő valós időben. Ez segíthet meghatározni, hogy az érzékelő mely jelentett értékeit használja paraméterként a projektben. 

Vegye figyelembe, hogy egy Blocks projektben egy külön {When started} kalapblokk használható az összes nyomtatási parancs saját veremben való rendszerezésére.

VEXcode IQ blokkok
A VEXcode IQ blokkolja a projektet, amely az Indításkor kalapblokkot használja az érzékelőadatok élőben történő nyomtatásához, miközben a projekt fut. A projektnek van egy When start blokkja, amelyet 4 blokk követ egy Forever ciklusban. A ciklusban először van egy megjegyzésblokk, amely az Inerciális érzékelő tekercs értékének kinyomtatása az agyon olvasható, majd ugorjon a következő sorra. Ezután egy Nyomtatási blokk beolvassa a tekercs nyomtatási BrainInercial orientációját az Agyon, és a kurzort a következő sorra állítja. Ezután egy megjegyzésblokk a következőt olvassa: Várja meg az érték kinyomtatását, majd ismételje meg a ciklust. Végül egy Várakozás blokkban a várakozás 0,1 másodperc olvasható.
VEXcode IQ Python
while (True):
brain.screen.set_font(FontType.MONO40)
brain.screen.print(brain_inertial.orientation(ROLL, DEGREES))
brain.screen.next_row()
várakozás(0,1, MÁSODPERC)
VEXcode IQ C++
int main() 
{
while(true)
{
Brain.Screen.setFont(mono40);
Brain.Screen.print(BrainInercial.orientation(roll, fok));
Brain.Screen.newLine();
várakozás(0,1, másodperc);
} }

Az IQ Brain be történő nyomtatás akkor hasznos, ha látni szeretné az értékek változását egy VEXcode IQ projekt futása közben. Ez segíthet meghatározni, hogy az érzékelő mely jelentett értékeit használja paraméterként a projektben. Ezek a nyomtatási parancsok beépíthetők a már létrehozott VEXcode IQ projektbe, így láthatja, hogy az érzékelő értékek bizonyos időpontokban változnak, miközben a robot mozog. 

A fenti példaprojektek bemutatják, hogyan nyomtathat értékeket az inerciális érzékelőről az IQ-agyra. Az egyes projektekben található megjegyzések elmagyarázzák a projekt folyamatát és az egyes parancsok használatát.

VEXcode IQ blokkok VEXcode IQ Python

A VEXcode IQ blokkolja a projektet, amely az Indításkor kalapblokkot használja az érzékelőadatok élőben történő nyomtatásához, miközben a projekt fut. A projektnek van egy When start blokkja, amelyet 4 blokk követ egy Forever ciklusban. A ciklusban először van egy megjegyzésblokk, amely a távolságérzékelő értékének kinyomtatása a konzolon olvasható, majd ugorjon a következő sorra. Ezután egy Print blokk beolvassa a Print Distance5 objektum távolságát mm-ben a konzolon, és a kurzort a következő sorra állítja. Ezután egy megjegyzésblokk a következőt olvassa: Várja meg az érték kinyomtatását, majd ismételje meg a ciklust. Végül egy Várakozás blokkban a várakozás 0,1 másodperc olvasható.

while (igaz):
print(távolság_7.objektum_távolság(MM))
várakozás(0,1, MÁSODPERC)
VEXcode IQ C++
int main() 
{
while (igaz)
{
printf(Distance7.objectDistance(mm));
printf("\n");
várakozás(0,1, másodperc);
} }

Nyomtatás a Print Console re VEXcode IQ-ban akkor javasolt, ha olyan VEXcode IQ projektet futtat, ahol a robot NEM mozog. Az IQ Brainnek csatlakoztatva kell maradnia a projekt végrehajtása alatt ahhoz, hogy a Print Console-ra nyomtathasson. Ez azért előnyös, mert a VEXcode IQ ablakból olvashatja ki az értékeket ahelyett, hogy az Agy képernyőről próbálna kiolvasni adatokat.

Ezek a példák egy projektet mutatnak be, amely adatokat nyomtat a távolságérzékelőről (2. generáció) a konzolra a VEXcode IQ-ban. 

A Print Console VEXcode IQ Blocks programban való használatáról további információt ebben a cikkben talál.

A Print Console VEXcode IQ Pythonban való használatáról ebben a cikkben talál további információt.


Adatok elemzése és alkalmazása

Ezután használja az előző lépésekben tanultakat az eredeti projekt módosításához. Továbbra is használhat olyan eszközöket, mint a Súgó és az adatok nyomtatása, hogy hatékonyan tudja használni az érzékelőt céljainak elérése érdekében.

Kérdéseket is feltehet a projektjével kapcsolatban, hogy segítsen előrehaladni. Gondolj olyan dolgokra, mint:

  • < nél nagyobb vagy > -nél kevesebbet használ a projektjében? A szimbólum a megfelelő irányba néz? Ha az egyenlő = = értéket használja, próbálja meg lecserélni nagyobb vagy kisebb értékre, hogy értéktartományt használjon.
  • Helyesek a paraméterei? Használja az érzékelő adatait a paraméterek beállításához? Azt a legördülő lehetőséget választotta, amelyre szüksége van?
  • Többször ellenőrzi a feltételeket? Próbáljon meg egy Forever ciklust hozzáadni a projekthez, hogy a feltétel a projekt futtatásakor ismételten ellenőrzésre kerüljön.
  • Elakad a projektje? Helyesen vannak beállítva a feltételek? Ha beágyazott hurkokat használ, próbálja meg egyszerűsíteni a projektet az egyéni viselkedések elkülönítése érdekében.
  • Befolyásolják a környezeti feltételek az érzékelőt? Túl világos vagy túl sötét? Vannak-e tárgyak vagy emberek az úton? Próbálja meg futtatni a projektet egy másik helyen, hátha ez segít.
  • A projekt legfrissebb verzióját futtatja? Letöltötte frissített projektjét az agyba? Minden változtatáskor töltse le újra a projektet.
  • A megfelelő színt érzékeli? Az érzékelő más színt jelez, mint a projektben szereplő? Próbálja meg módosítani a színparamétert, vagy használjon színárnyalat-értéktartományt, hátha ez segít.
  • Érzékel egy tárgyat az érzékelő látóterében? Ne feledje, hogy a látómező a robot mozgásával együtt mozog.
  • Használ várakozási blokkot egy feltétel ellenőrzése közben? Ügyeljen arra, hogy a projektben nem várakozó blokkokat használjon a feltétel ellenőrzésekor. Tekintse meg ezt a cikket, ha többet szeretne megtudni a várakozó és nem váró blokkokról a VEXcode IQ-ban.
  • Ha blokkokban kódol, az egész köteg az {When started} kalap blokkhoz van kötve? A blokkok csak akkor futnak, ha csatlakoztatva vannak. Hallgathat egy kattanó hangot, amikor blokkokat húz, és összekapcsolja őket.

Amikor válaszol ezekre a kérdésekre, ügyeljen arra, hogy egyszerre csak egy dolgot változtasson meg a projektben, tesztelje, majd értékelje, hogy a változtatás eredményes volt-e. A projekt gyakori tesztelése segíthet abban, hogy könnyebben megtudja, hogyan kapcsolódik a kód a robot viselkedéséhez.  Előfordulhat, hogy a probléma megoldásához többször meg kell ismételnie a hibaelhárítási folyamat lépéseit, és ez rendben van. Minden iteráció segít többet megtudni az Ön által használt érzékelőről és a VEXcode IQ-ban való kódolásáról.

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

Last Updated: