När din robot inte beter sig som avsett när den använder sensoråterkoppling kan du följa en steg-för-steg-felsökningsprocedur för att hitta och åtgärda dina problem. Den här artikeln förklarar stegen i en felsökningsprocess och ger tips om hur du använder dessa steg.
Stegen i denna process är:
- Identifiera problemet
- Kontrollera hårdvaran
- Kontrollera programvaran
- Analysera och tillämpa data
Identifiera problemet
Det första steget i felsökning av din sensor är att identifiera vilken sensor som orsakar problemet. Jämför det observerade robotbeteendet med det avsedda robotbeteendet. Orsakas det problematiska beteendet av en sensor? Om så är fallet, vilken sensor? Om du behöver mer information för att avgöra vilken sensor som kan vara problemet, läs artiklarna nedan som rör sensorerna på din robot.
VEX IQ (2:a generationen) Sensorer:
- Förstå tröghetssensordata från VEX IQ (2:a generationen) hjärnan
- Använda IQ-avståndssensorn (2:a generationen)
- Använda IQ optisk sensor
- Använda VEX IQ-stötfångarbrytaren
- Använda VEX IQ Touch LED
När du har identifierat vilken sensor som orsakar det oavsiktliga beteendet kan du gå vidare i processen.
Kontrollera hårdvaran
Det andra steget är att kontrollera hårdvaran på roboten för att vara säker på att sensorn kan fungera som avsett. Var och en av följande hårdvaruöverväganden kan påverka sensorns funktionalitet.
Kontrollera sensorplaceringen
Börja med att titta på var sensorn är placerad på din robot. Blockeras sensorn av något, till exempel av en annan del av din robot? Se till att sensorn har tillräckligt med utrymme för att fungera som avsett.
Som visas här har den optiska sensorn en tydlig siktlinje till det objekt den är avsedd att detektera.
Kontrollera sensoranslutningen
Testa sensorns funktionalitet genom att titta på data som rapporteras på enhetsskärmen på VEX IQ (2:a generationen) Brain. Detta kan hjälpa dig att bekräfta att sensorn är inkopplad och fungerar.
För att komma åt skärmen Enheter, följ stegen i den här artikeln.
När enhetsskärmen är öppen, se om sensorn rapporterar data.
Om inte, se till att dina sensorer är korrekt inkopplade. När du ansluter sensorer bör du höra ett snäpp när sensorns låsflik är helt inlåst i en port.
Du kan också prova att byta ut sensorn du använder mot en annan för att se om det löser problemet.
Om du ändrade något med sensorplaceringen eller sensoranslutningen, testa projektet igen för att se om det löste problemet. Om din sensorplacering och anslutning inte ändrades, gå vidare till nästa steg för att fortsätta felsökningsprocessen.
Kontrollera programvaran
När du har identifierat att sensorn är korrekt placerad och ansluten till roboten kan du titta på VEXcode IQ-projektet härnäst. Att iterera i ett projekt kan hjälpa dig att säkerställa att data från sensorn används effektivt i ditt projekt. Följande strategier kan hjälpa dig med kodningen av din sensor.
Om du tillämpar någon av dessa strategier på ditt VEXcode IQ-projekt, testa projektet igen för att se om detta löste problemet.
Kontrollera firmware och konfiguration
Börja med att se till att din IQ Brains firmware är uppdaterad.
Nu när du är säker på att alla enheter är korrekt anslutna till Brain, kontrollera enhetskonfigurationen i VEXcode IQ.
Kontrollera att alla sensorer finns i konfigurationen. Kontrollera sedan att var och en är ansluten till rätt port.
Ändra eventuella felaktiga enhetskonfigurationer.
Kör ett exempelprojekt
Öppna ett exempelprojekt som använder den sensor du felsöker. Du kan välja kategorin "Avkänning" för att filtrera exempelprojekt.
För mer information om exempelprojekt och mallar för IQ Blocks, se den här artikeln.
För mer information om IQ Python-exempelprojekt och mallar, se den här artikeln.
För mer information om IQ C++ exempelprojekt och mallar, se den här artikeln.
När den är öppen, läs anmärkningen för att avgöra om funktionaliteten i exempelprojektet överensstämmer med vad du försöker göra med sensorn.
I exempelprojektet som visas här indikerar anteckningen att avståndssensorn används för att detektera ett objekt så att roboten kan sluta köra när objektet nås.
Kör exempelprojektet och observera robotens beteende. Titta sedan på projektet för att se hur sensordata används för att orsaka de observerade beteendena. Du kanske vill köra exempelprojektet flera gånger för att underlätta detta.
Du kanske vill försöka skapa ditt eget förenklade projekt för att tillämpa det du har lärt dig från exempelprojektet på din uppgift.
Använd andra VEXcode IQ-verktyg
Det finns också verktyg och strategier som du kan använda för att hjälpa dig när du lär dig mer om att koda din sensor i VEXcode IQ. Du kan lära dig mer om blocken eller kommandona i verktygslådan individuellt genom att använda hjälpen. Du kan också visa sensordata medan ett projekt körs för att lära dig mer om vad sensorn rapporterar.
Hjälpen
Läs hjälpen för blocken eller kommandona i exempelprojektet, eller i ditt projekt, för att lära dig mer om de data som används, vilka värden kommandot rapporterar och exempel på hur du använder kommandot i ett projekt.
Läs den här artikeln för att lära dig mer om hur du får åtkomst till hjälp i VEXcode IQ Blocks.
Läs den här artikeln för att lära dig mer om hur du får åtkomst till hjälp i VEXcode IQ Python.
Läs den här artikeln för att lära dig mer om hur du får åtkomst till hjälp i VEXcode IQ C++.
Utskriftsdata
Du kan också skriva ut data från sensorn medan exempelprojektet eller ditt projekt körs, för att bättre förstå vad sensorn rapporterar i realtid. Detta kan hjälpa dig att avgöra vilka rapporterade värden från sensorn som ska användas som parametrar i ditt projekt.
Observera att i ett Blocks-projekt kan ett separat {When started} hat-block användas för att hålla alla utskriftskommandon organiserade i en egen stack.
| VEXcode IQ-block |
|---|
| VEXcode IQ Python |
medan (True): |
| VEXcode IQ C++ |
int main() |
|
Utskrift till IQ Brain är praktiskt när du vill se värdena ändras medan ett VEXcode IQ-projekt körs. Detta kan hjälpa dig att avgöra vilka rapporterade värden från sensorn som ska användas som parametrar i ditt projekt. Dessa utskriftskommandon kan byggas in i VEXcode IQ-projektet som du redan har skapat så att du kan se sensorvärdena ändras vid specifika tidpunkter medan roboten rör sig. Dessa exempelprojekt ovan visar hur man skriver ut värden från tröghetssensorn till IQ-hjärnan. Kommentarerna i varje projekt förklarar projektets flöde och användningen av varje kommando. |
| VEXcode IQ-block | VEXcode IQ Python | |
|---|---|---|
|
|
medan (Sant): |
|
| VEXcode IQ C++ | ||
int main() |
||
|
Utskrift till utskriftskonsolen i VEXcode IQ rekommenderas när du kör ett VEXcode IQ-projekt där roboten INTE rör sig. IQ Brain måste förbli inkopplad under projektets gång för att kunna skriva ut till utskriftskonsolen. Detta är fördelaktigt eftersom du kan läsa värdena från VEXcode IQ-fönstret istället för att försöka läsa data från hjärnskärmen. Dessa exempel visar ett projekt som skriver ut data från avståndssensorn (2:a generationen) till konsolen i VEXcode IQ. För mer information om hur du använder Print Console i VEXcode IQ Blocks, se den här artikeln. För mer information om hur du använder utskriftskonsolen i VEXcode IQ Python, se den här artikeln. |
||
Analysera och tillämpa data
Använd sedan det du har lärt dig i föregående steg för att justera ditt ursprungliga projekt. Du kan fortsätta använda verktyg som hjälpen och utskriftsdata för att använda sensorn effektivt och uppnå ditt mål.
Du kan också ställa frågor om ditt projekt för att hjälpa dig att gå vidare. Tänk på saker som:
- Använder du större än < eller mindre än > i ditt projekt? Är symbolen vänd åt rätt håll? Om du använder lika med =, försök att ersätta det med större än eller mindre än för att använda ett värdeintervall.
- Är dina parametrar korrekta? Använder du data från sensorn för att ställa in dina parametrar? Valde du det rullgardinsmenyalternativ du behöver?
- Kontrollerar du villkoren mer än en gång? Försök att lägga till en Forever-loop i ditt projekt, så att villkoret kontrolleras upprepade gånger när projektet körs.
- Kör ditt projekt fast? Är dina villkor korrekt inställda? Om du använder kapslade loopar kan du försöka förenkla ditt projekt för att isolera enskilda beteenden.
- Påverkar dina miljöförhållanden sensorn? Är det för ljust eller för mörkt? Finns det föremål eller människor i vägen? Försök att köra projektet på en annan plats för att se om det hjälper.
- Kör du den senaste versionen av ditt projekt? Har du laddat ner ditt uppdaterade projekt till Brain? Se till att ladda ner projektet igen varje gång du gör en ändring.
- Upptäcker du rätt färg? Rapporterar sensorn en annan färg än den du har i ditt projekt? Försök att ändra färgparametern, eller använda ett intervall av nyansvärden, för att se om det hjälper.
- Upptäcker du ett objekt inom sensorns synfält? Kom ihåg att synfältet rör sig i takt med robotens rörelse.
- Använder du ett vänteblock när du kontrollerar ett villkor? Se till att använda block som inte är vänteblock i ett projekt när du kontrollerar ett villkor. Läs den här artikeln för att lära dig mer om vänteblock kontra icke-vänteblock i VEXcode IQ.
- Om du kodar i block, är hela din stack kopplad till {When started} hatt-blocket? Block körs bara när de är sammankopplade. Du kan lyssna efter ett klickljud när du drar block och kopplar ihop dem.
När du besvarar dessa frågor, se till att ändra en sak i ditt projekt i taget, testa det och utvärdera sedan om förändringen var effektiv. Att testa ditt projekt ofta kan hjälpa dig att lättare se hur din kod är kopplad till robotens beteenden. Du kan behöva upprepa stegen i felsökningsprocessen flera gånger för att lösa problemet, och det är okej. Varje iteration hjälper dig att lära dig mer om sensorn du använder och hur du kodar den i VEXcode IQ.