IQ (2-osios kartos) jutiklių trikčių šalinimas

Kai naudojant jutiklio grįžtamąjį ryšį robotas elgiasi ne taip, kaip numatyta, galite atlikti nuoseklią trikčių šalinimo procedūrą, kad surastumėte ir išspręstumėte problemas. Šiame straipsnyje bus paaiškinti trikčių šalinimo proceso veiksmai ir pateikti patarimai, kaip atlikti šiuos veiksmus. 

Šio proceso žingsniai yra šie:

  1. Nustatykite problemą
  2. Patikrinkite aparatūrą
  3. Patikrinkite programinę įrangą
  4. Analizuoti ir pritaikyti duomenis

Nustatykite problemą

Pirmasis jutiklio trikčių šalinimo veiksmas yra nustatyti, kuris jutiklis sukelia problemą. Palyginkite pastebėtą roboto elgesį su numatomu roboto elgesiu. Ar probleminį elgesį sukelia jutiklis? Jei taip, koks jutiklis? Jei jums reikia daugiau informacijos, kad nustatytumėte, kuris jutiklis gali būti problema, perskaitykite toliau pateiktą (-us) straipsnį (-ius), susijusį (-us) apie jūsų roboto jutiklius.

VEX IQ (2 kartos) jutikliai:

Kai nustatysite, kuris jutiklis sukelia nenumatytą elgesį, galite tęsti procesą.


Patikrinkite aparatūrą

Antras žingsnis – patikrinti roboto aparatinę įrangą, kad įsitikintumėte, jog jutiklis gali veikti taip, kaip numatyta. Kiekvienas iš šių techninės įrangos aspektų gali turėti įtakos jutiklio funkcionalumui.

Patikrinkite jutiklio vietą

pasted_image_0__1_.png

Pradėkite žiūrėdami, kur jūsų robote yra jutiklis. Ar jutiklį blokuoja kažkas, pavyzdžiui, kita jūsų roboto dalis? Įsitikinkite, kad jutiklis turi pakankamai vietos, kad veiktų kaip numatyta.

Kaip parodyta čia, optinis jutiklis turi aiškią objekto, kurį jis turi aptikti, matymo liniją.

Patikrinkite jutiklio jungtį

palietė.png

Išbandykite jutiklio funkcionalumą žiūrėdami į VEX IQ (2-osios kartos) smegenų prietaisų ekrane pateiktus duomenis. Tai gali padėti patikrinti, ar jutiklis prijungtas ir veikia.

Norėdami pasiekti įrenginių ekraną, atlikite šiame straipsnyje nurodytus veiksmus.

pasted_image_0.png

Kai atidaromas įrenginių ekranas, pažiūrėkite, ar jutiklis praneša duomenis.

Jei ne, įsitikinkite, kad jutikliai tinkamai prijungti. Prijungdami jutiklius, turėtumėte išgirsti spragtelėjimą, kai jutiklio fiksavimo ąselė visiškai užsifiksuoja prievade.

Taip pat galite pabandyti pakeisti naudojamą jutiklį kitu, kad sužinotumėte, ar tai išsprendžia problemą.

Jei ką nors pakeitėte jutiklio vieta arba jutiklio jungtis, dar kartą išbandykite projektą, kad sužinotumėte, ar tai išsprendė problemą. Jei jutiklio vieta ir jungtis nepasikeitė, pereikite prie kito veiksmo ir tęskite trikčių šalinimo procesą.


Patikrinkite programinę įrangą

Kai nustatysite, kad jutiklis uždėtas ir sėkmingai prijungtas prie roboto, toliau galite žiūrėti į VEXcode IQ projektą. Projekto kartojimas gali padėti užtikrinti, kad jutiklio duomenys būtų efektyviai naudojami jūsų projekte. Šios strategijos gali padėti koduoti jutiklį.

Jei savo VEXcode IQ projektui taikote kurią nors iš šių strategijų, dar kartą išbandykite projektą, kad pamatytumėte, ar tai išsprendė problemą.

Patikrinkite programinę-aparatinę įrangą ir konfigūraciją

Screen_Shot_2023-04-05_at_3.38.05_PM.png

Dabar, kai esate tikri, kad visi įrenginiai tinkamai prijungti prie smegenų, patikrinkite įrenginio konfigūraciją VEXcode IQ.

Patikrinkite, ar visi jutikliai yra konfigūracijoje. Tada patikrinkite, ar kiekvienas iš jų prijungtas prie tinkamo prievado.

Pakeiskite visas neteisingas įrenginio konfigūracijas.

Vykdykite pavyzdinį projektą

image2.png

Atidarykite pavyzdinį projektą, kuriame naudojamas jutiklis, kurio triktis šalina. Norėdami filtruoti projektų pavyzdžius, galite pasirinkti kategoriją „Sensing“.

Norėdami gauti daugiau informacijos apie IQ blokų pavyzdžių projektus ir šablonus, žr. šį straipsnį.

Daugiau informacijos apie IQ Python pavyzdinius projektus ir šablonus rasite šiame straipsnyje.

Daugiau informacijos apie IQ C++ pavyzdinius projektus ir šablonus rasite šiame straipsnyje.

image7.png

Atidarę perskaitykite pastabą, kad nustatytumėte, ar pavyzdinio projekto funkcijos atitinka tai, ką bandote daryti su jutikliu.

Čia parodytame projekto pavyzdyje pastaba nurodo, kad atstumo jutiklis naudojamas objektui aptikti, kad robotas galėtų nustoti važiuoti, kai tik bus pasiektas objektas.

Vykdykite pavyzdinį projektą ir stebėkite roboto elgesį. Tada pažiūrėkite į projektą, kad pamatytumėte, kaip jutiklio duomenys naudojami stebimam elgesiui sukelti. Galbūt norėsite pavyzdinį projektą paleisti kelis kartus, kad tai padėtų.

Galbūt norėsite pabandyti sukurti savo supaprastintą projektą, kad pritaikytumėte tai, ko išmokote iš pavyzdinio projekto, atlikdami savo užduotį.

Naudokite kitus VEXcode IQ įrankius

Taip pat yra įrankių ir strategijų, kurias galite naudoti, kad sužinotumėte daugiau apie jutiklio kodavimą VEXcode IQ. Naudodami žinyną galite sužinoti apie blokus ar komandas atskirai įrankių dėžėje. Taip pat galite peržiūrėti jutiklio duomenis, kai vykdomas projektas, kad sužinotumėte daugiau apie tai, ką jutiklis praneša.

Ekrano kopija_2023-04-19_at_2.21.05_PM.png

Pagalba

Perskaitykite blokų arba komandų žinyną pavyzdiniame projekte arba savo projekte, kad sužinotumėte apie naudojamus duomenis, kokias reikšmes komanda pateiks ir pavyzdžius, kaip naudoti komandą projekte.

Peržiūrėkite šį straipsnį, kad sužinotumėte daugiau apie VEXcode IQ Blocks pagalbos prieigą.

Peržiūrėkite šį straipsnį, kad sužinotumėte daugiau apie prieigą prie pagalbos VEXcode IQ Python.

Peržiūrėkite šį straipsnį, kad sužinotumėte daugiau apie VEXcode IQ C++ pagalbos prieigą.

Duomenų spausdinimas

Taip pat galite spausdinti duomenis iš jutiklio, kai vykdomas pavyzdinis projektas arba jūsų projektas, kad galėtumėte geriau suprasti, ką jutiklis praneša realiuoju laiku. Tai gali padėti nustatyti, kokias praneštas jutiklio vertes naudoti kaip parametrus jūsų projekte. 

Atkreipkite dėmesį, kad projekte „Blocks“ galima naudoti atskirą {When started} skrybėlių bloką, kad visos spausdinimo komandos būtų išdėstytos savo krūvoje.

VEXcode IQ blokai
spausdinti į smegenis.png
VEXcode IQ Python
while (Tiesa):
brain.screen.set_font(FontType.MONO40)
brain.screen.print(brain_inercial.orientation(ROLL, DEGREES))
brain.screen.ext_row()
laukti(0,1, SECONDS)
VEXcode IQ C++
int main() 
{
while(true)
{
Brain.Screen.setFont(mono40);
Brain.Screen.print(Smegenų inercinė.orientacija(ritinys, laipsniai));
Brain.Screen.newLine();
laukti (0,1 sekundės);
} }

Spausdinimas į IQ Brain yra naudingas, kai norite matyti, kad vertės keičiasi, kai vykdomas VEXcode IQ projektas. Tai gali padėti nustatyti, kokias praneštas jutiklio vertes naudoti kaip parametrus jūsų projekte. Šios spausdinimo komandos gali būti įtrauktos į jūsų jau sukurtą VEXcode IQ projektą, kad galėtumėte matyti jutiklių vertes, kurios keičiasi tam tikru metu, kol robotas juda. 

Šie pavyzdiniai projektai rodo, kaip spausdinti reikšmes iš inercinio jutiklio į IQ smegenis. Kiekvieno projekto komentaruose paaiškinama projekto eiga ir kiekvienos komandos naudojimas.

VEXcode IQ blokai VEXcode IQ Python

spausdinimo atstumas.png

while (Tiesa):
spausdinti(atstumas_7.objekto_atstumas(MM))
laukti(0,1, SECONDS)
VEXcode IQ C++
int main() 
{
while (true)
{
printf(Distance7.objectDistance(mm));
printf("\n");
laukti (0,1 sekundės);
} }

Spausdinimas naudojant „Print Console VEXcode IQ yra rekomenduojamas, kai vykdote VEXcode IQ projektą, kuriame robotas NEJUDA. IQ Brain turi likti įjungtas projekto vykdymo metu, kad būtų galima spausdinti į Print Console. Tai naudinga, nes galite skaityti reikšmes iš VEXcode IQ lango, o ne bandyti skaityti duomenis iš smegenų ekrano.

Šiuose pavyzdžiuose parodytas projektas, spausdinantis duomenis iš atstumo jutiklio (2-osios kartos) į konsolę VEXcode IQ. 

Daugiau informacijos apie Print Console naudojimą VEXcode IQ Blocks rasite šiame straipsnyje.

Daugiau informacijos apie spausdinimo konsolės naudojimą VEXcode IQ Python rasite šiame straipsnyje.


Analizuoti ir pritaikyti duomenis

Tada naudokite tai, ką išmokote atlikdami ankstesnius veiksmus, norėdami pakoreguoti savo pradinį projektą. Galite ir toliau naudoti įrankius, pvz., Žinyną ir spausdinti duomenis, kad galėtumėte efektyviai naudoti jutiklį savo tikslui pasiekti.

Taip pat galite užduoti klausimų apie savo projektą, kad padėtumėte judėti į priekį. Pagalvokite apie tokius dalykus kaip:

  • Ar savo projekte naudojate didesnį nei < ar mažiau nei > ? Ar simbolis nukreiptas teisinga kryptimi? Jei naudojate lygią =, pabandykite jį pakeisti didesniu nei arba mažesniu nei, kad galėtumėte naudoti reikšmių diapazoną.
  • Ar jūsų parametrai teisingi? Ar parametrams nustatyti naudojate jutiklio duomenis? Ar pasirinkote jums reikalingą išskleidžiamąjį parinktį?
  • Ar tikrinate sąlygas daugiau nei vieną kartą? Pabandykite prie projekto pridėti Forever kilpą, kad paleidžiant projektą būtų pakartotinai tikrinama sąlyga.
  • Ar jūsų projektas stringa? Ar jūsų sąlygos nustatytos teisingai? Jei naudojate įdėtas kilpas, pabandykite supaprastinti projektą, kad atskirtumėte individualų elgesį.
  • Ar jūsų aplinkos sąlygos turi įtakos jutikliui? Ar jis per šviesus ar per tamsus? Ar kelyje yra daiktų ar žmonių? Pabandykite vykdyti savo projektą kitoje vietoje, kad sužinotumėte, ar tai padeda.
  • Ar naudojate naujausią projekto versiją? Ar atsisiuntėte atnaujintą projektą į smegenis? Būtinai iš naujo atsisiųskite projektą kiekvieną kartą, kai atliekate pakeitimą.
  • Ar nustatote tinkamą spalvą? Ar jutiklio spalva skiriasi nuo tos, kurią turite savo projekte? Pabandykite pakeisti spalvos parametrą arba naudoti atspalvių verčių diapazoną, kad sužinotumėte, ar tai padeda.
  • Ar jutiklio matymo lauke aptinkate objektą? Atminkite, kad matymo laukas juda kartu su roboto judėjimu.
  • Ar tikrindami būseną naudojate laukimo bloką? Tikrindami, ar yra sąlyga, projekte naudokite nelaukiančius blokus. Peržiūrėkite šį straipsnį, kad sužinotumėte daugiau apie laukimo ir nelaukimo blokus VEXcode IQ.
  • Jei koduojate blokais, ar visas jūsų krūvas yra prijungtas prie {When started} skrybėlių bloko? Blokai veiks tik tada, kai jie bus prijungti. Galite klausytis spragtelėjimo, kai vilkite blokus ir juos sujungsite.

Atsakydami į šiuos klausimus, būtinai pakeiskite vieną dalyką savo projekte vienu metu, išbandykite, tada įvertinkite, ar tas pakeitimas buvo veiksmingas. Reguliarus projekto testavimas gali padėti lengviau suprasti, kaip jūsų kodas yra susijęs su roboto elgesiu.  Gali tekti kelis kartus pakartoti trikčių šalinimo proceso veiksmus, kad išspręstumėte problemą, ir tai yra gerai. Kiekviena iteracija padės sužinoti daugiau apie naudojamą jutiklį ir kaip jį užkoduoti naudojant VEXcode IQ.

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

Last Updated: