IQ (2. paaudzes) sensoru problēmu novēršana

Ja jūsu robots nedarbojas, kā paredzēts, izmantojot sensoru atgriezenisko saiti, varat veikt soli pa solim problēmu novēršanas procedūru, lai atrastu un novērstu problēmas. Šajā rakstā ir izskaidrotas problēmu novēršanas procesa darbības un sniegti padomi par šo darbību veikšanu. 

Šī procesa soļi ir:

  1. Identificējiet problēmu
  2. Pārbaudiet aparatūru
  3. Pārbaudiet programmatūru
  4. Analizējiet un pielietojiet datus

Identificējiet problēmu

Pirmais solis sensora traucējummeklēšanā ir noteikt, kurš sensors rada problēmu. Salīdziniet novēroto robota uzvedību ar paredzēto robota uzvedību. Vai problemātisko uzvedību izraisa sensors? Ja jā, kurš sensors? Ja jums nepieciešama papildu informācija, lai noteiktu, kurš sensors varētu būt problēma, izlasiet tālāk esošo(-os) rakstu(-us), kas attiecas uz jūsu robota sensoriem.

VEX IQ (2. paaudzes) sensori:

Kad esat identificējis, kurš sensors izraisa neparedzētu darbību, varat turpināt procesu.


Pārbaudiet aparatūru

Otrais solis ir pārbaudīt robota aparatūru, lai pārliecinātos, ka sensors var darboties, kā paredzēts. Katrs no tālāk minētajiem aparatūras apsvērumiem var ietekmēt sensora funkcionalitāti.

Pārbaudiet sensora izvietojumu

Vienkārša Clawbot konstrukcija, braucot uz lauka. Robotam ir pievienots optiskais sensors, kas ir izcelts un vērsts uz sarkano kubu tā priekšā.

Sāciet, apskatot, kur jūsu robotā atrodas sensors. Vai sensoru kaut kas bloķē, piemēram, kāda cita jūsu robota daļa? Nodrošiniet, lai sensoram būtu pietiekami daudz vietas, lai tas darbotos kā paredzēts.

Kā parādīts šeit, optiskajam sensoram ir skaidra redzamības līnija uz objektu, kas tam paredzēts.

Pārbaudiet sensora savienojumu

Smadzeņu ekrāns tiek parādīts izvēlnē Devices ar atlasītu Touch LED ierīci.

Pārbaudiet sensora funkcionalitāti, aplūkojot VEX IQ (2. paaudzes) smadzeņu ierīču ekrānā sniegtos datus. Tas var palīdzēt pārbaudīt, vai sensors ir pievienots un darbojas.

Lai piekļūtu ierīču ekrānam, šajā rakstā norādītās darbības.

Diagramma ar (2. paaudzes) smadzenēm, kas savienotas ar (2. paaudzes) attāluma sensoru.

Kad ir atvērts ierīču ekrāns, pārbaudiet, vai sensors ziņo par datiem.

Ja nē, pārliecinieties, vai sensori ir pareizi pievienoti. Pievienojot sensorus, jums vajadzētu dzirdēt šķiņķi, kad sensora bloķēšanas cilne ir pilnībā nofiksēta portā.

Varat arī mēģināt nomainīt izmantoto sensoru ar citu, lai redzētu, vai tas atrisina jūsu problēmu.

Ja kaut ko mainījāt ar sensora izvietojumu vai sensora savienojumu, vēlreiz pārbaudiet projektu, lai redzētu, vai tas atrisināja problēmu. Ja sensora izvietojums un savienojums nemainījās, pārejiet uz nākamo darbību, lai turpinātu problēmu novēršanas procesu.


Pārbaudiet programmatūru

Kad esat noskaidrojis, ka sensors ir uzlikts un veiksmīgi savienots ar robotu, tālāk varat apskatīt VEXcode IQ projektu. Projekta atkārtošana var palīdzēt nodrošināt, ka sensora dati tiek efektīvi izmantoti jūsu projektā. Tālāk norādītās stratēģijas var palīdzēt kodēt sensoru.

Ja lietojat kādu no šīm stratēģijām savam VEXcode IQ projektam, vēlreiz pārbaudiet projektu, lai redzētu, vai tas atrisināja problēmu.

Pārbaudiet programmaparatūru un konfigurāciju

VEXcode IQ ierīču izvēlne ar garu pievienoto ierīču sarakstu. Šo izvēlni var izmantot, lai pārliecinātos, vai katrs sensors ir pareizi pievienots, un pārbaudītu tā īpašo pieslēgvietu smadzenēs.

Tagad, kad esat pārliecināts, ka visas ierīces ir pareizi savienotas ar Brain, pārbaudiet ierīces konfigurāciju VEXcode IQ.

Pārbaudiet, vai konfigurācijā ir visi sensori. Pēc tam pārbaudiet, vai katrs no tiem ir pievienots pareizajam portam.

Mainiet visas nepareizās ierīces konfigurācijas.

Palaidiet piemēru projektu

VEXcode bloku projektu piemēru izvēlne ar dažādiem projektiem dažādās kategorijās, no kuriem izvēlēties. Kategorija Sensing ir iezīmēta.

Atveriet paraugprojektu, kurā tiek izmantots sensors, kuru meklējat. Varat atlasīt kategoriju “Sensing”, lai filtrētu projektu piemērus.

Papildinformāciju par IQ bloku piemēru projektiem un veidnēm šajā rakstā.

Papildinformāciju par IQ Python piemēru projektiem un veidnēm šajā rakstā.

Papildinformāciju par IQ C++ piemēru projektiem un veidnēm šajā rakstā.

VEXcode IQ ar paraugprojektu, kas atvērts no kategorijas Sensing, tostarp koda bloku kaudze un piezīme ar projekta aprakstu. Piezīme ir izcelta.

Kad tas ir atvērts, izlasiet piezīmi, lai noteiktu, vai projekta parauga funkcionalitāte atbilst tam, ko mēģināt darīt ar sensoru.

Šeit parādītajā projekta paraugā piezīme norāda, ka attāluma sensors tiek izmantots objekta noteikšanai, lai robots varētu pārtraukt braukšanu, tiklīdz objekts ir sasniegts.

Palaidiet piemēru projektu un novērojiet robota uzvedību. Pēc tam apskatiet projektu, lai redzētu, kā sensoru dati tiek izmantoti, lai izraisītu novēroto uzvedību. Varat palaist piemēra projektu vairākas reizes, lai palīdzētu ar to.

Varat mēģināt izveidot savu vienkāršotu projektu, lai piemērā apgūto pielietotu savā uzdevumā.

Izmantojiet citus VEXcode IQ rīkus

Ir arī rīki un stratēģijas, ko varat izmantot, lai palīdzētu jums uzzināt vairāk par sensora kodēšanu VEXcode IQ. Jūs varat uzzināt par blokiem vai komandām rīklodziņā atsevišķi, izmantojot palīdzību. Varat arī skatīt sensora datus projekta darbības laikā, lai uzzinātu vairāk par to, ko sensors ziņo.

VEXcode IQ ar atvērtu palīdzības izvēlni un atlasītu Drive virsrakstu bloku. Bloka un tā izmantošanas apraksti ir parādīti kopā ar izmantošanas piemēru attēliem.

Palīdzība

Izlasiet palīdzību par blokiem vai komandām paraugprojektā vai savā projektā, lai uzzinātu par izmantotajiem datiem, par to, par kādām vērtībām komanda ziņos, un par piemēriem, kā izmantot komandu projektā.

Skatiet šo rakstu, lai uzzinātu vairāk par piekļuvi palīdzībai VEXcode IQ Blocks.

Skatiet šo rakstu, lai uzzinātu vairāk par piekļuvi palīdzībai VEXcode IQ Python.

Skatiet šo rakstu, lai uzzinātu vairāk par piekļuvi palīdzībai VEXcode IQ C++.

Datu drukāšana

Varat arī izdrukāt datus no sensora paraugprojekta vai projekta darbības laikā, lai palīdzētu labāk saprast, ko sensors ziņo reāllaikā. Tas var palīdzēt noteikt, kuras sensora ziņotās vērtības izmantot kā parametrus jūsu projektā. 

Ņemiet vērā, ka Blocks projektā var izmantot atsevišķu {When started} cepuru bloku, lai visas drukāšanas komandas būtu sakārtotas savā kaudzē.

VEXcode IQ bloki
VEXcode IQ bloķē projektu, kurā tiek izmantots “Kad sākts” cepures bloks, lai drukātu sensora datus tiešraidē, kamēr projekts darbojas. Projektam ir bloks Kad sākās, kam seko 4 bloki Forever cilpā. Ciklā vispirms ir komentāru bloks, kurā ir rakstīts Drukāt inerces sensora ruļļa vērtību smadzenēs, un pēc tam pārejiet uz nākamo rindu. Pēc tam drukas bloks nolasa Brain inerciālo ruļļa orientāciju uz Brain un iestata kursoru uz nākamo rindu. Pēc tam komentāru blokā tiek rakstīts Uzgaidiet, lai izdrukātu vērtību, un pēc tam atkārtojiet cilpu. Visbeidzot, gaidīšanas blokā tiek rakstīts pagaidiet 0,1 sekunde.
VEXcode IQ Python
while (True):
brain.screen.set_font(FontType.MONO40)
brain.screen.print(brain_inercial.orientation(ROLL, DEGREES))
brain.screen.next_row()
gaid (0,1, SEKUNDES)
VEXcode IQ C++
int main() 
{
while(true)
{
Brain.Screen.setFont(mono40);
Brain.Screen.print(BrainInercial.orientation(roll, grādi));
Brain.Screen.newLine();
gaidīt(0,1, sekundes);
} }

Drukāšana uz IQ Brain ir noderīga, ja vēlaties redzēt, ka vērtības mainās, kad darbojas VEXcode IQ projekts. Tas var palīdzēt noteikt, kuras sensora ziņotās vērtības izmantot kā parametrus jūsu projektā. Šīs drukāšanas komandas var iebūvēt VEXcode IQ projektā, kuru jau esat izveidojis, lai jūs varētu redzēt sensoru vērtību izmaiņas noteiktā laikā, kamēr robots pārvietojas. 

Šie iepriekš minētie projektu piemēri parāda, kā drukāt vērtības no inerciālā sensora uz IQ smadzenēm. Komentāri katrā projektā izskaidro projekta gaitu un katras komandas izmantošanu.

VEXcode IQ bloki VEXcode IQ Python

VEXcode IQ bloķē projektu, kurā tiek izmantots “Kad sākts” cepures bloks, lai drukātu sensora datus tiešraidē, kamēr projekts darbojas. Projektam ir bloks Kad sākās, kam seko 4 bloki Forever cilpā. Ciklā vispirms ir komentāru bloks, kas lasa konsolē drukāt attāluma sensora vērtību un pēc tam pārejiet uz nākamo rindu. Pēc tam drukas bloks konsolē nolasa print Distance5 objekta attālumu milimetros un iestata kursoru uz nākamo rindu. Pēc tam komentāru blokā tiek rakstīts Uzgaidiet, lai izdrukātu vērtību, un pēc tam atkārtojiet cilpu. Visbeidzot, gaidīšanas blokā tiek rakstīts pagaidiet 0,1 sekunde.

while (True):
print(attālums_7.objekta_attālums(MM))
gaida(0,1, SEKUNDES)
VEXcode IQ C++
int main() 
{
while (true)
{
printf(Distance7.objectDistance(mm));
printf("\n");
gaidīt(0,1, sekundes);
} }

Drukāšana uz Print Console VEXcode IQ ir ieteicama, ja palaižat VEXcode IQ projektu, kurā robots NEpārvietojas. Lai drukātu uz Print Console, IQ Brain projekta izpildes laikā jāpaliek pieslēgtam. Tas ir izdevīgi, jo jūs varat nolasīt vērtības no VEXcode IQ loga, nevis mēģināt nolasīt datus no Brain ekrāna.

Šajos piemēros parādīts projekts, kas drukā datus no attāluma sensora (2. paaudzes) uz konsoli VEXcode IQ. 

Papildinformāciju par Print Console izmantošanu VEXcode IQ blokos skatiet šajā rakstā.

Papildinformāciju par drukas konsoles izmantošanu programmā VEXcode IQ Python skatiet šajā rakstā.


Analizējiet un lietojiet datus

Pēc tam izmantojiet iepriekšējās darbībās apgūto, lai pielāgotu sākotnējo projektu. Varat turpināt izmantot tādus rīkus kā palīdzība un datu drukāšana, lai efektīvi izmantotu sensoru sava mērķa sasniegšanai.

Varat arī uzdot jautājumus par savu projektu, lai palīdzētu jums virzīties uz priekšu. Padomājiet par tādām lietām kā:

  • Vai savā projektā izmantojat lielāku par < vai mazāku par > ? Vai simbols ir vērsts pareizajā virzienā? Ja izmantojat vienāds ar =, mēģiniet to aizstāt ar lielāku par vai mazāku par, lai izmantotu vērtību diapazonu.
  • Vai jūsu parametri ir pareizi? Vai parametru iestatīšanai izmantojat datus no sensora? Vai izvēlējāties vajadzīgo nolaižamo opciju?
  • Vai jūs pārbaudāt nosacījumus vairāk nekā vienu reizi? Mēģiniet savam projektam pievienot Forever cilpu, lai, palaižot projektu, stāvoklis tiktu atkārtoti pārbaudīts.
  • Vai jūsu projekts iestrēgst? Vai jūsu nosacījumi ir pareizi iestatīti? Ja izmantojat ligzdotas cilpas, mēģiniet vienkāršot projektu, lai izolētu individuālās darbības.
  • Vai jūsu vides apstākļi ietekmē sensoru? Vai tas ir pārāk gaišs vai pārāk tumšs? Vai ceļā ir priekšmeti vai cilvēki? Mēģiniet palaist projektu citā vietā, lai redzētu, vai tas palīdz.
  • Vai izmantojat sava projekta jaunāko versiju? Vai esat lejupielādējis savu atjaunināto projektu programmā Brain? Katru reizi, kad veicat izmaiņas, noteikti atkārtoti lejupielādējiet projektu.
  • Vai jūs nosakāt pareizo krāsu? Vai sensora krāsa atšķiras no tā, kas ir jūsu projektā? Mēģiniet mainīt krāsu parametru vai izmantot dažādu nokrāsu vērtību diapazonu, lai redzētu, vai tas palīdz.
  • Vai sensora redzes laukā atrodat objektu? Atcerieties, ka redzes lauks kustas kopā ar robota kustību.
  • Vai, pārbaudot nosacījumu, izmantojat gaidīšanas bloku? Pārbaudot nosacījumu, projektā noteikti izmantojiet negaidošus blokus. Skatiet šo rakstu, lai uzzinātu vairāk par gaidīšanas un negaidīšanas blokiem VEXcode IQ.
  • Ja jūs kodējat blokos, vai visa jūsu kaudze ir pievienota {When started} cepures blokam?  Bloki darbosies tikai tad, kad tie būs savienoti. Velkot blokus un savienojot tos kopā, varat klausīties klikšķi.

Atbildot uz šiem jautājumiem, noteikti mainiet vienu lietu savā projektā, pārbaudiet to un pēc tam novērtējiet, vai šīs izmaiņas bija efektīvas. Bieža projekta testēšana var palīdzēt jums vieglāk redzēt, kā jūsu kods ir saistīts ar robota uzvedību.  Lai atrisinātu problēmu, iespējams, problēmu novēršanas procesa darbības būs jāatkārto vairākas reizes, un tas ir pareizi. Katra iterācija palīdzēs jums uzzināt vairāk par izmantoto sensoru un to, kā to kodēt VEXcode IQ.

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

Last Updated: