VEX V5 sensoru traucējummeklēš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 V5 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 novietojumu

V5 Clawbot konstrukcija brauc pa lauku. Robotam ir pievienots optiskais sensors, kas ir iezīmēts un norāda uz sarkanu Bakibolu 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 ir redzams ierīces informācijas izvēlnē, kurā ir visu smadzeņu viedportu un pievienoto ierīču saraksts. Ierīces informācijas izvēlnē optiskā sensora ikona ir iezīmēta, lai norādītu, ka to var atlasīt, lai atvērtu informācijas izvēlni.

Pārbaudiet sensora funkcionalitāti, apskatot VEX V5 Brain 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. Kad ir atvērts ierīču ekrāns, pārbaudiet, vai sensors ir redzams pareizajā porta vietā un ziņošanas datos. Šeit viedajā portā 11 tiek noteikts optiskais sensors.

V5 smadzenes ir attēlotas savienotas ar V5 akumulatoru un V5 viedmotora ierīci. Viedā motora kabelis ir pievienots vienam no smadzeņu viedajiem portiem.V5 smadzenes ar 3 vadu ierīci, kas pievienota vienam no tās 3 vadu portiem.

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

Pievienojot sensorus 3 vadu pieslēgvietai, kabelim jābūt pilnībā ievietotam pareizajā virzienā ar balto vadu, kas atrodas vistuvāk smadzeņu ekrānam. 

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 veiksmīgi novietots un pievienots robotam, varat pievērsties VEXcode V5 projektam. 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 V5 projektam, vēlreiz pārbaudiet projektu, lai redzētu, vai tas atrisināja problēmu.

Pārbaudiet programmaparatūru un konfigurāciju

VEXcode V5 ar pievienotām smadzenēm un atvērtu smadzeņu nolaižamo izvēlni, kas norāda, ka to var izmantot smadzeņu programmaparatūras pārbaudei. VEXos versija ir norādīta, un ir redzama tikai poga “Piespiedu atjaunināšana”.

Sāciet, pārliecinoties, ka jūsu V5 Brain programmaparatūra ir atjaunināta.

Skatiet šo rakstu, lai uzzinātu vairāk par programmaparatūras atjaunināšanu V5 Brain.

VEXcode V5 ierīču izvēlne ar garu pievienoto ierīču sarakstu. Šo izvēlni var izmantot, lai pārliecinātos, ka katrs sensors ir pareizi pievienots, un lai pārbaudītu tā konkrēto portu smadzenēs.

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

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 Blocks projektu piemēru izvēlne ar dažādiem projektiem dažādās kategorijās, no kurām 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.

Lai iegūtu plašāku informāciju par V5 bloku piemēru projektiem un veidnēm, skatiet šo rakstu.

Lai iegūtu papildinformāciju par V5 Python piemēru projektiem un veidnēm skatiet šo.

Lai iegūtu papildinformāciju par V5 C++ piemēru projektiem un veidnēm, skatiet šo rakstu.

VEXcode V5 ar piemēra projektu, kas atvērts no kategorijas Sensing, ieskaitot koda bloku kaudzi un piezīmi ar projekta aprakstu. Piezīme ir iezīmēta.

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 nospiestā bufera slēdža vai ierobežojuma slēdža stāvoklis tiks izdrukāts smadzeņu ekrānā. Šajā gadījumā True norāda, ka ir nospiests, un False norāda, ka nav nospiests. 

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 V5 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 V5. 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 V5 ar atvērtu palīdzības izvēlni un atlasītu bloku “Pressing Bumper”. Bloka apraksti un tā lietošanas veidi ir parādīti kopā ar attēlu piemēriem.

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 V5 blokos.

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

Skatiet šo rakstu, lai uzzinātu vairāk par piekļuvi palīdzībai VEXcode V5 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 V5 bloki
VEXcode V5 Blocks projekts, kas projekta darbības laikā izmanto Forever ciklu, lai izdrukātu sensoru datus uz smadzenēm. Projekta pirmajā daļā teikts: Kad tas ir sākts, Brain iestatiet fontu uz Mono Extra Large. Tālāk ir Forever cilpas bloks ar 5 blokiem tā iekšpusē. Cikla bloki nolasa visas rindas Brain, novieto kursoru uz 1. rindas 1. kolonnu Brain un pēc tam izdrukā Distance (mm): Brain. Pēc tam uz Brain izdrukājiet Distance19 objekta attālumu milimetros un novietojiet kursoru nākamajā rindā un pēc tam pagaidiet 0,5 sekundes.
VEXcode V5 Python
# Sākt projekta kodu

# Palielināt fonta lielumu lasāmībai Brain ekrānā
brain.screen.set_font(FontType.MONO40)

while True:
  # Katra cikla iterācija notīrīs ekrānu
  brain.screen.clear_screen()
    
  # Pēc ekrāna notīrīšanas iestatīt drukāšanas kursoru atpakaļ augšējā kreisajā stūrī
  brain.screen.set_cursor(1, 1)
  
  # Izdrukāt etiķeti un attāluma no objekta vērtību tajā pašā rindā
  brain.screen.print("Attālums (mm): ")
  brain.screen.print(distance_19.object_distance(MM))
  brain.screen.next_row()
  wait(0.5, SEKUNDES)
VEXcode V5 C++
int main() {

  // Palielināt fonta lielumu, lai uzlabotu lasāmību Brain ekrānā
  Brain.Screen.setFont(mono40);
  
  while (true) {
  
    // Katra cikla iterācija notīrīs ekrānu
    Brain.Screen.clearScreen();
    
    // Pēc ekrāna notīrīšanas iestatīt drukāšanas kursoru atpakaļ uz augšējo kreiso stūri
    Brain.Screen.setCursor(1, 1);
    
    // Izdrukāt etiķeti un attāluma no objekta vērtību tajā pašā rindā
    Brain.Screen.print("Attālums (mm): %.2f", Distance19.objectDistance(mm));
    Brain.Screen.newLine();
    wait(0.5, sekundes);
    
  }
  
}

Drukāšana uz V5 Brain ir noderīga, ja vēlaties redzēt vērtību izmaiņas VEXcode V5 projekta darbības laikā. 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 V5 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 attāluma sensora uz V5 smadzenēm. Komentāri katrā projektā izskaidro projekta gaitu un katras komandas izmantošanu.

VEXcode V5 bloki
VEXcode V5 Blocks projekts, kas projekta darbības laikā izmanto Forever ciklu, lai izdrukātu sensoru datus konsolē. Projekta pirmajā daļā teikts: Kad tas ir sākts, iestatiet Rotation15 pozīciju uz 0 grādiem. Tālāk ir Forever cilpas bloks ar 3 blokiem tā iekšpusē. Cikla bloki konsolē nolasa izvadi Position (degrees): (Pozīcijas stāvoklis (grādi):), konsolē izvadi Rotation15 pozīciju grādos un novieto kursoru uz nākamo rindu, un visbeidzot pagaida 0,5 sekundes.
VEXcode V5 Python
# Projekta koda sākums

# Atiestatīt rotācijas sensoru uz 0 projekta sākumā
rotation_15.set_position(0, DEGREES)

while True:
  # Izdrukāt etiķeti un attāluma no objekta vērtību tajā pašā rindā
  print("Position (degrees): ", end="")
  print(rotation_15.position(DEGREES))
  
  # Pagaidīt, lai izdrukātu vērtību, pēc tam atkārtot ciklu
  wait(0.5, SECONDS)
VEXcode V5 C++
int main() {

  // Projekta sākumā atiestata rotācijas sensoru uz 0
  Rotation15.setPosition(0.0, grādi);
  
  while(true) {
  
    // Izdrukā etiķeti un attāluma no objekta vērtību vienā rindā
    printf("Position (grādi): %.2f\n", Rotation15.position(grādi));
    
    // Pagaida, lai izdrukātu vērtību, pēc tam atkārto ciklu
    wait(0.5, sekundes);
    
  }
  
}

uz Print Console VEXcode V5 versijā ir ieteicama, ja tiek palaists VEXcode V5 projekts, kurā robots NEKUSTAS. Lai drukātu uz Print Console, projekta izpildes laikā V5 Brain jāpaliek pieslēgtam. Tas ir izdevīgi, jo jūs varat nolasīt vērtības no VEXcode V5 loga, nevis mēģināt nolasīt datus no Brain ekrāna.

Šajos piemēros parādīts projekts, kas drukā datus no rotācijas sensora uz konsoli VEXcode V5. 

Papildinformāciju par drukas konsoles izmantošanu VEXcode V5 blokos 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 V5.
  • 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 V5.

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

Last Updated: