Odstraňování problémů se senzory IQ (2nd gen).

Když se váš robot při používání zpětné vazby senzoru nechová tak, jak má, můžete své problémy najít a opravit podle podrobného postupu odstraňování problémů. Tento článek vysvětlí kroky v procesu odstraňování problémů a poskytne tipy, jak tyto kroky používat. 

Kroky tohoto procesu jsou:

  1. Identifikujte problém
  2. Zkontrolujte hardware
  3. Zkontrolujte software
  4. Analyzujte a aplikujte data

Identifikujte problém

Prvním krokem k řešení problémů se senzorem je zjistit, který senzor problém způsobuje. Porovnejte pozorované chování robota se zamýšleným chováním robota. Je problematické chování způsobeno senzorem? Pokud ano, jaké čidlo? Pokud potřebujete další informace k určení, který senzor může být problémem, přečtěte si níže uvedené články týkající se senzorů na vašem robotu.

Senzory VEX IQ (2nd gen):

Jakmile zjistíte, který senzor způsobuje nezamýšlené chování, můžete v procesu pokračovat.


Zkontrolujte hardware

Druhým krokem je kontrola hardwaru na robotu, abyste se ujistili, že senzor může fungovat tak, jak má. Každý z následujících hardwarových aspektů může mít vliv na funkčnost vašeho senzoru.

Zkontrolujte umístění snímače

vložený_obrázek_0__1_.png

Začněte tím, že se podíváte na umístění senzoru na vašem robotu. Není senzor něčím blokován, jako jiná část vašeho robota? Zajistěte, aby měl senzor dostatek místa pro správnou funkci.

Jak je zde znázorněno, optický senzor má jasnou linii vidění k objektu, který má detekovat.

Zkontrolujte připojení snímače

touchled.png

Otestujte funkčnost senzoru pohledem na data hlášená na obrazovce zařízení na VEX IQ (2nd gen) Brain. To vám může pomoci ověřit, zda je senzor zapojený a funkční.

Chcete-li se dostat na obrazovku Zařízení, postupujte podle kroků v tomto článku.

vložený_obrázek_0.png

Jakmile se otevře obrazovka zařízení, zkontrolujte, zda senzor hlásí data.

Pokud ne, ujistěte se, že jsou vaše senzory správně zapojeny. Při zapojování senzorů byste měli slyšet cvaknutí, když je zajišťovací jazýček senzoru zcela zasunutý do portu.

Můžete také zkusit vyměnit senzor, který používáte, za jiný, abyste zjistili, zda to váš problém vyřeší.

Pokud jste něco změnili v umístění senzoru nebo připojení senzoru, otestujte svůj projekt znovu, abyste zjistili, zda se tím problém vyřešil. Pokud se umístění a připojení vašeho senzoru nezměnilo, přejděte k dalšímu kroku a pokračujte v procesu odstraňování problémů.


Zkontrolujte software

Jakmile zjistíte, že je senzor umístěn a úspěšně připojen k robotu, můžete se dále podívat na projekt VEXcode IQ. Iterace na projektu vám může pomoci zajistit, že data ze senzoru jsou ve vašem projektu efektivně využívána. Následující strategie vám mohou pomoci s kódováním vašeho senzoru.

Pokud na svůj projekt VEXcode IQ použijete některou z těchto strategií, otestujte svůj projekt znovu, abyste zjistili, zda se tím problém vyřešil.

Zkontrolujte Firmware a konfiguraci

Screen_Shot_2023-04-05_at_3.38.05_PM.png

Nyní, když jste si jisti, že jsou všechna zařízení správně připojena k Brain, zkontrolujte konfiguraci zařízení ve VEXcode IQ.

Zkontrolujte, zda jsou v konfiguraci přítomny všechny senzory. Poté zkontrolujte, zda je každý připojen ke správnému portu.

Změňte jakékoli nesprávné konfigurace zařízení.

Spusťte příklad projektu

obrázek2.png

Otevřete Ukázkový projekt, který používá senzor, který řešíte. Můžete vybrat kategorii „Snímání“ a filtrovat vzorové projekty.

Další informace o vzorových projektech a šablonách IQ Blocks v tomto článku.

Další informace o příkladech a šablonách IQ Python v tomto článku.

Další informace o vzorových projektech a šablonách IQ C++ v tomto článku.

image7.png

Po otevření si přečtěte poznámku a zjistěte, zda funkce ve vzorovém projektu odpovídají tomu, co se snažíte se senzorem udělat.

Ve zde zobrazeném příkladu projektu poznámka označuje, že senzor vzdálenosti se používá k detekci objektu, takže robot může zastavit jízdu, jakmile objektu dosáhne.

Spusťte ukázkový projekt a sledujte chování robota. Poté se podívejte na projekt a zjistěte, jak jsou data senzoru využívána k vyvolání pozorovaného chování. Možná budete chtít spustit ukázkový projekt vícekrát, abyste s tím pomohli.

Možná budete chtít zkusit vytvořit svůj vlastní zjednodušený projekt a aplikovat to, co jste se naučili z příkladu projektu, na svůj úkol.

Použijte další nástroje VEXcode IQ

Existují také nástroje a strategie, které vám mohou pomoci, když se dozvíte více o kódování senzoru ve VEXcode IQ. O blocích nebo příkazech v panelu nástrojů se můžete dozvědět jednotlivě pomocí nápovědy. Můžete také zobrazit data senzoru, když běží projekt, abyste se dozvěděli více o tom, co senzor hlásí.

Screenshot_2023-04-19_at_2.21.05_PM.png

Pomoc

Přečtěte si nápovědu pro bloky nebo příkazy ve vzorovém projektu nebo ve svém projektu, kde se dozvíte o použitých datech, o tom, jaké hodnoty bude příkaz hlásit, a o příkladech použití příkazu v projektu.

V tomto článku se dozvíte více o přístupu k nápovědě v VEXcode IQ Blocks.

V tomto článku se dozvíte více o přístupu k nápovědě v VEXcode IQ Python.

V tomto článku se dozvíte více o přístupu k nápovědě v VEXcode IQ C++.

Tisk dat

Můžete také tisknout data ze senzoru, když běží ukázkový projekt nebo váš projekt, což vám pomůže lépe porozumět tomu, co senzor hlásí v reálném čase. To vám může pomoci určit, jaké hodnoty hlášené ze senzoru použít jako parametry ve vašem projektu. 

Všimněte si, že v projektu Blocks lze použít samostatný blok {When started} , aby byly všechny tiskové příkazy uspořádány v jejich vlastním zásobníku.

VEXcode IQ bloky
tisknout do mozku.png
VEXcode IQ Python
while (True):
brain.screen.set_font(FontType.MONO40)
brain.screen.print(brain_inertial.orientation(ROLL, DEGREES))
brain.screen.next_row()
wait(0,1, SECONDS)
VEXcode IQ C++
int main() 
{
while(true)
{
Brain.Screen.setFont(mono40);
Brain.Screen.print(BrainInertial.orientation(roll, Degrees));
Brain.Screen.newLine();
čekání (0,1 sekund);
} }

Tisk do IQ Brain je užitečný, když chcete vidět, jak se hodnoty mění, když běží projekt VEXcode IQ. To vám může pomoci určit, jaké hodnoty hlášené ze senzoru použít jako parametry ve vašem projektu. Tyto tiskové příkazy lze zabudovat do projektu VEXcode IQ, který jste již vytvořili, takže můžete vidět, jak se hodnoty senzoru mění v určitých časech, když se robot pohybuje. 

Tyto ukázkové projekty výše ukazují, jak tisknout hodnoty z inerciálního senzoru do IQ Brain. Komentáře v každém projektu vysvětlují průběh projektu a použití každého příkazu.

VEXcode IQ bloky VEXcode IQ Python

vzdálenost tisku.png

while (True):
print(vzdálenost_7.vzdálenost_objektu(MM))
čekání (0,1, SEKUND)
VEXcode IQ C++
int main() 
{
while (true)
{
printf(Distance7.objectDistance(mm));
printf("\n");
čekání (0,1 sekund);
} }

Tisk na Print Console ve VEXcode IQ se doporučuje, když spouštíte projekt VEXcode IQ, kde se robot NEPOHYBUJE. Aby bylo možné tisknout do tiskové konzoly, musí IQ Brain zůstat během provádění projektu zapojený. To je výhodné, protože můžete číst hodnoty z okna VEXcode IQ spíše než se snažit číst data z obrazovky Brain.

Tyto příklady ukazují projektový tisk dat ze senzoru vzdálenosti (2. generace) do konzoly ve VEXcode IQ. 

Další informace o použití tiskové konzoly ve VEXcode IQ Blocks naleznete v tomto článku.

Další informace o použití tiskové konzoly v VEXcode IQ Python naleznete v tomto článku.


Analyzujte a aplikujte data

Dále použijte to, co jste se naučili v předchozích krocích, k úpravě svého původního projektu. Můžete pokračovat v používání nástrojů, jako je Nápověda a tisk dat, které vám umožní efektivně používat senzor k dosažení vašeho cíle.

Můžete také klást otázky týkající se vašeho projektu, které vám pomohou posunout se vpřed. Přemýšlejte o věcech jako:

  • Používáte ve svém projektu více než < nebo méně než > ? Je symbol otočen správným směrem? Pokud používáte rovno = zkuste jej nahradit větším než nebo menším než, abyste použili rozsah hodnot.
  • Jsou vaše parametry správné? Používáte data ze senzoru k nastavení parametrů? Vybrali jste možnost rozevíracího seznamu, kterou potřebujete?
  • Kontrolujete podmínky více než jednou? Zkuste do projektu přidat smyčku Forever, aby se podmínka při spuštění projektu opakovaně kontrolovala.
  • Zasekává se váš projekt? Máte správně nastavené podmínky? Pokud používáte vnořené smyčky, zkuste svůj projekt zjednodušit a izolovat individuální chování.
  • Ovlivňují senzor vaše okolní podmínky? Je příliš světlý nebo příliš tmavý? Jsou v cestě předměty nebo lidé? Zkuste projekt spustit na jiném místě, abyste zjistili, zda to pomůže.
  • Spouštíte nejnovější verzi svého projektu? Stáhli jste svůj aktualizovaný projekt do mozku? Ujistěte se, že jste projekt znovu stáhli pokaždé, když provedete změnu.
  • Detekujete správnou barvu? Hlásí snímač jinou barvu, než kterou máte ve svém projektu? Zkuste změnit parametr barvy nebo použít rozsah hodnot odstínu, abyste zjistili, zda to pomůže.
  • Detekujete objekt v zorném poli senzoru? Pamatujte, že zorné pole se pohybuje společně s pohybem robota.
  • Používáte čekací blok při kontrole stavu? Při kontrole stavu nezapomeňte v projektu použít nečekající bloky. V tomto článku se dozvíte více o čekání vs. blokech bez čekání ve VEXcode IQ.
  • Pokud kódujete v blocích, je celý váš balíček připojen k bloku {When started} klobouku? bloky poběží pouze tehdy, když jsou připojeny. Když přetáhnete bloky a spojíte je dohromady, můžete poslouchat zvuk kliknutí.

Když budete odpovídat na tyto otázky, ujistěte se, že ve svém projektu měníte jednu věc po druhé, otestujte ji a poté vyhodnoťte, zda byla tato změna účinná. Časté testování projektu vám může pomoci snadněji zjistit, jak váš kód souvisí s chováním robota.  Možná budete muset opakovat kroky v procesu odstraňování problémů několikrát, abyste problém vyřešili, a to je v pořádku. Každá iterace vám pomůže dozvědět se více o senzoru, který používáte, a jak jej kódovat ve VEXcode IQ.

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

Last Updated: