Αντιμετώπιση προβλημάτων αισθητήρων IQ (2ης γενιάς)

Όταν το ρομπότ σας δεν συμπεριφέρεται όπως προβλέπεται κατά τη χρήση της ανατροφοδότησης από αισθητήρες, μπορείτε να ακολουθήσετε μια βήμα προς βήμα διαδικασία αντιμετώπισης προβλημάτων για να εντοπίσετε και να διορθώσετε τα προβλήματά σας. Αυτό το άρθρο θα εξηγήσει τα βήματα σε μια διαδικασία αντιμετώπισης προβλημάτων και θα παρέχει συμβουλές για τον τρόπο χρήσης αυτών των βημάτων. 

Τα βήματα αυτής της διαδικασίας είναι:

  1. Προσδιορίστε το πρόβλημα
  2. Έλεγχος υλικού
  3. Ελέγξτε το λογισμικό
  4. Ανάλυση και εφαρμογή δεδομένων

Προσδιορίστε το πρόβλημα

Το πρώτο βήμα για την αντιμετώπιση προβλημάτων με τον αισθητήρα σας είναι να εντοπίσετε ποιος αισθητήρας προκαλεί το πρόβλημα. Συγκρίνετε την παρατηρούμενη συμπεριφορά του ρομπότ με την προβλεπόμενη συμπεριφορά του. Προκαλείται η προβληματική συμπεριφορά από κάποιον αισθητήρα; Αν ναι, ποιος αισθητήρας; Εάν χρειάζεστε περισσότερες πληροφορίες για να προσδιορίσετε ποιος αισθητήρας μπορεί να είναι το πρόβλημα, διαβάστε το/τα παρακάτω άρθρο/άρθρα που σχετίζονται με τους αισθητήρες στο ρομπότ σας.

Αισθητήρες VEX IQ (2ης γενιάς):

Μόλις εντοπίσετε ποιος αισθητήρας προκαλεί την ανεπιθύμητη συμπεριφορά, μπορείτε να προχωρήσετε στη διαδικασία.


Έλεγχος υλικού

Το δεύτερο βήμα είναι να ελέγξετε το υλικό του ρομπότ για να βεβαιωθείτε ότι ο αισθητήρας μπορεί να λειτουργήσει όπως προβλέπεται. Κάθε μία από τις ακόλουθες παραμέτρους υλικού θα μπορούσε να επηρεάσει τη λειτουργικότητα του αισθητήρα σας.

Ελέγξτε την τοποθέτηση του αισθητήρα

Απλή κατασκευή Clawbot που οδηγεί σε ένα χωράφι. Το ρομπότ διαθέτει έναν ενσωματωμένο οπτικό αισθητήρα που είναι επισημασμένος και δείχνει προς έναν κόκκινο κύβο μπροστά του.

Ξεκινήστε εξετάζοντας πού βρίσκεται ο αισθητήρας στο ρομπότ σας. Μήπως ο αισθητήρας μπλοκάρεται από κάτι, όπως από κάποιο άλλο μέρος του ρομπότ σας; Βεβαιωθείτε ότι ο αισθητήρας διαθέτει τον απαραίτητο χώρο για να λειτουργήσει όπως προβλέπεται.

Όπως φαίνεται εδώ, ο οπτικός αισθητήρας έχει μια καθαρή οπτική επαφή με το αντικείμενο που προορίζεται να ανιχνεύσει.

Ελέγξτε τη σύνδεση του αισθητήρα

Η οθόνη εγκεφάλου εμφανίζεται στο μενού Συσκευές με επιλεγμένη μια συσκευή αφής LED.

Ελέγξτε τη λειτουργικότητα του αισθητήρα εξετάζοντας τα δεδομένα που αναφέρονται στην οθόνη συσκευών στον εγκέφαλο VEX IQ (2ης γενιάς). Αυτό μπορεί να σας βοηθήσει να επαληθεύσετε ότι ο αισθητήρας είναι συνδεδεμένος και λειτουργεί.

Για να αποκτήσετε πρόσβαση στην οθόνη συσκευών, ακολουθήστε τα βήματα σε αυτό το άρθρο.

Διάγραμμα ενός εγκεφάλου (2ης γενιάς) συνδεδεμένου με έναν αισθητήρα απόστασης (2ης γενιάς).

Μόλις ανοίξει η οθόνη συσκευών, ελέγξτε αν ο αισθητήρας αναφέρει δεδομένα.

Εάν όχι, βεβαιωθείτε ότι οι αισθητήρες σας είναι σωστά συνδεδεμένοι. Όταν συνδέετε αισθητήρες, θα πρέπει να ακούσετε ένα χαρακτηριστικό ήχο όταν η γλωττίδα ασφάλισης του αισθητήρα έχει ασφαλίσει πλήρως σε μια θύρα.

Μπορείτε επίσης να δοκιμάσετε να αντικαταστήσετε τον αισθητήρα που χρησιμοποιείτε με έναν άλλο για να δείτε αν αυτό θα λύσει το πρόβλημά σας.

Εάν αλλάξατε κάτι με την τοποθέτηση ή τη σύνδεση του αισθητήρα σας, δοκιμάστε ξανά το έργο σας για να δείτε εάν αυτό έλυσε το πρόβλημα. Εάν η τοποθέτηση και η σύνδεση του αισθητήρα σας δεν άλλαξαν, προχωρήστε στο επόμενο βήμα για να συνεχίσετε τη διαδικασία αντιμετώπισης προβλημάτων.


Έλεγχος Λογισμικού

Μόλις διαπιστώσετε ότι ο αισθητήρας έχει τοποθετηθεί και συνδεθεί με επιτυχία στο ρομπότ, μπορείτε στη συνέχεια να ανατρέξετε στο έργο VEXcode IQ. Η επανάληψη ενός έργου μπορεί να σας βοηθήσει να διασφαλίσετε ότι τα δεδομένα από τον αισθητήρα χρησιμοποιούνται αποτελεσματικά στο έργο σας. Οι ακόλουθες στρατηγικές μπορούν να σας βοηθήσουν στην κωδικοποίηση του αισθητήρα σας.

Εάν εφαρμόσετε οποιαδήποτε από αυτές τις στρατηγικές στο έργο VEXcode IQ, δοκιμάστε ξανά το έργο σας για να δείτε εάν αυτό έλυσε το πρόβλημα.

Έλεγχος Υλικολογισμικού και Διαμόρφωσης

Μενού συσκευών VEXcode IQ με μια μακρά λίστα συνδεδεμένων συσκευών. Αυτό το μενού μπορεί να χρησιμοποιηθεί για να βεβαιωθείτε ότι κάθε αισθητήρας είναι σωστά συνδεδεμένος και για να ελέγξετε τη συγκεκριμένη θύρα του στον εγκέφαλο.

Τώρα που είστε βέβαιοι ότι όλες οι συσκευές είναι σωστά συνδεδεμένες στον εγκέφαλο, ελέγξτε τη Διαμόρφωση Συσκευής στο VEXcode IQ.

Ελέγξτε για να βεβαιωθείτε ότι όλοι οι αισθητήρες υπάρχουν στη διαμόρφωση. Στη συνέχεια, ελέγξτε για να βεβαιωθείτε ότι το καθένα είναι συνδεδεμένο στη σωστή θύρα.

Αλλάξτε τυχόν λανθασμένες ρυθμίσεις παραμέτρων συσκευής.

Εκτελέστε ένα παράδειγμα έργου

Μενού VEXcode Blocks Example Projects με μια ποικιλία έργων σε διαφορετικές κατηγορίες για να διαλέξετε. Η κατηγορία Αισθητήρες επισημαίνεται.

Ανοίξτε ένα παράδειγμα έργου που χρησιμοποιεί τον αισθητήρα που αντιμετωπίζετε με τον οποίο αντιμετωπίζετε προβλήματα. Μπορείτε να επιλέξετε την κατηγορία «Αισθητήρας» για να φιλτράρετε παραδείγματα έργων.

Για περισσότερες πληροφορίες σχετικά με τα παραδείγματα έργων και προτύπων IQ Blocks, ανατρέξτε σε αυτό το άρθρο.

Για περισσότερες πληροφορίες σχετικά με τα παραδείγματα έργων και τα πρότυπα IQ Python, ανατρέξτε σε αυτό το άρθρο.

Για περισσότερες πληροφορίες σχετικά με τα παραδείγματα έργων και προτύπων IQ C++, ανατρέξτε σε αυτό το άρθρο.

VEXcode IQ με ένα Παράδειγμα Έργου που άνοιξε από την κατηγορία Αισθητήρες, συμπεριλαμβανομένης μιας στοίβας μπλοκ κώδικα και μιας σημείωσης με μια περιγραφή του έργου. Η σημείωση επισημαίνεται.

Μόλις ανοίξει, διαβάστε τη Σημείωση για να διαπιστώσετε εάν η λειτουργικότητα στο παράδειγμα έργου ευθυγραμμίζεται με αυτό που προσπαθείτε να κάνετε με τον αισθητήρα.

Στο παράδειγμα έργου που παρουσιάζεται εδώ, η σημείωση υποδεικνύει ότι ο Αισθητήρας Απόστασης χρησιμοποιείται για την ανίχνευση ενός αντικειμένου, έτσι ώστε το ρομπότ να μπορεί να σταματήσει να οδηγεί μόλις επιτευχθεί το αντικείμενο.

Εκτελέστε το παράδειγμα έργου και παρατηρήστε τη συμπεριφορά του ρομπότ. Στη συνέχεια, εξετάστε το έργο για να δείτε πώς χρησιμοποιούνται τα δεδομένα αισθητήρων προκειμένου να προκληθούν οι παρατηρούμενες συμπεριφορές. Ίσως θελήσετε να εκτελέσετε το παράδειγμα έργου πολλές φορές για να σας βοηθήσει με αυτό.

Ίσως θελήσετε να προσπαθήσετε να δημιουργήσετε το δικό σας απλοποιημένο έργο για να εφαρμόσετε όσα μάθατε από το παράδειγμα έργου στην εργασία σας.

Χρησιμοποιήστε άλλα εργαλεία VEXcode IQ

Υπάρχουν επίσης εργαλεία και στρατηγικές που μπορείτε να χρησιμοποιήσετε για να σας βοηθήσουν καθώς μαθαίνετε περισσότερα σχετικά με την κωδικοποίηση του αισθητήρα σας στο VEXcode IQ. Μπορείτε να μάθετε για τα μπλοκ ή τις εντολές στην Εργαλειοθήκη ξεχωριστά χρησιμοποιώντας τη Βοήθεια. Μπορείτε επίσης να δείτε δεδομένα αισθητήρων καθώς εκτελείται ένα έργο για να μάθετε περισσότερα σχετικά με το τι αναφέρει ο αισθητήρας.

VEXcode IQ με ανοιχτό το μενού Βοήθεια και επιλεγμένο το μπλοκ επικεφαλίδας Drive. Εμφανίζονται περιγραφές του μπλοκ και ο τρόπος χρήσης του, μαζί με εικόνες με παραδείγματα χρήσης.

Η Βοήθεια

Διαβάστε τη Βοήθεια για τα μπλοκ ή τις εντολές στο παράδειγμα έργου ή στο έργο σας για να μάθετε σχετικά με τα δεδομένα που χρησιμοποιούνται, ποιες τιμές θα αναφέρει η εντολή και παραδείγματα για το πώς να χρησιμοποιήσετε την εντολή σε ένα έργο.

Δείτε αυτό το άρθρο για να μάθετε περισσότερα σχετικά με την πρόσβαση στη Βοήθεια στα VEXcode IQ Blocks.

Δείτε αυτό το άρθρο για να μάθετε περισσότερα σχετικά με την πρόσβαση στη Βοήθεια στο VEXcode IQ Python.

Δείτε αυτό το άρθρο για να μάθετε περισσότερα σχετικά με την πρόσβαση στη Βοήθεια στο VEXcode IQ C++.

Εκτύπωση δεδομένων

Μπορείτε επίσης να εκτυπώσετε δεδομένα από τον αισθητήρα καθώς το έργο-παράδειγμα ή το έργο σας εκτελείται, για να κατανοήσετε καλύτερα τι αναφέρει ο αισθητήρας σε πραγματικό χρόνο. Αυτό μπορεί να σας βοηθήσει να προσδιορίσετε ποιες τιμές που αναφέρονται από τον αισθητήρα θα χρησιμοποιήσετε ως παραμέτρους στο έργο σας. 

Σημειώστε ότι σε ένα έργο Blocks, ένα ξεχωριστό {When started} hat block μπορεί να χρησιμοποιηθεί για να διατηρούνται όλες οι εντολές εκτύπωσης οργανωμένες στη δική τους στοίβα.

Μπλοκ VEXcode IQ
Το VEXcode IQ μπλοκάρει ένα έργο που χρησιμοποιεί ένα μπλοκ hat "Κατά την έναρξη" για την εκτύπωση δεδομένων αισθητήρα σε πραγματικό χρόνο ενώ το έργο εκτελείται. Το έργο έχει ένα μπλοκ "Όταν ξεκίνησε" ακολουθούμενο από 4 μπλοκ σε έναν βρόχο "Πάντα". Στον βρόχο, πρώτα υπάρχει ένα μπλοκ σχολίων που αναφέρει Εκτύπωση της τιμής κύλισης αδρανειακού αισθητήρα στον εγκέφαλο και, στη συνέχεια, μετάβαση στην επόμενη σειρά. Στη συνέχεια, ένα μπλοκ Print διαβάζει την εκτύπωση BrainΑδρανειακός προσανατολισμός του ρολού στο Brain και ορίζει τον κέρσορα στην επόμενη σειρά. Στη συνέχεια, ένα μπλοκ σχολίων αναγράφει την ένδειξη "Περιμένετε να εκτυπώσετε την τιμή" και, στη συνέχεια, επαναλάβετε τον βρόχο. Τέλος, ένα μπλοκ αναμονής διαβάζει αναμονή 0,1 δευτερολέπτων.
VEXcode IQ Python
ενώ (Αληθές):
brain.screen.set_font(FontType.MONO40)
brain.screen.print(brain_inertial.orientation(ROLL, DEGREES))
brain.screen.next_row()
αναμονή(0.1, ΔΕΥΤΕΡΟΛΕΠΤΑ)
VEXcode IQ C++
int main() 
{
while(true)
{
Brain.Screen.setFont(mono40);
Brain.Screen.print(BrainInertial.orientation(roll, degrees));
Brain.Screen.newLine();
wait(0.1, seconds);
} }

Η εκτύπωση στο IQ Brain είναι χρήσιμη όταν θέλετε να δείτε τις τιμές να αλλάζουν καθώς εκτελείται ένα έργο VEXcode IQ. Αυτό μπορεί να σας βοηθήσει να προσδιορίσετε ποιες τιμές που αναφέρονται από τον αισθητήρα θα χρησιμοποιήσετε ως παραμέτρους στο έργο σας. Αυτές οι εντολές εκτύπωσης μπορούν να ενσωματωθούν στο έργο VEXcode IQ που έχετε ήδη δημιουργήσει, ώστε να μπορείτε να βλέπετε τις τιμές του αισθητήρα να αλλάζουν σε συγκεκριμένες χρονικές στιγμές ενώ το ρομπότ κινείται. 

Αυτά τα παραπάνω παραδείγματα έργων δείχνουν πώς να εκτυπώσετε τιμές από τον Αδρανειακό Αισθητήρα στον Εγκέφαλο IQ. Τα σχόλια σε κάθε έργο εξηγούν τη ροή του έργου και τη χρήση κάθε εντολής.

Μπλοκ VEXcode IQ VEXcode IQ Python

Το VEXcode IQ μπλοκάρει ένα έργο που χρησιμοποιεί ένα μπλοκ hat "Κατά την έναρξη" για την εκτύπωση δεδομένων αισθητήρα σε πραγματικό χρόνο ενώ το έργο εκτελείται. Το έργο έχει ένα μπλοκ "Όταν ξεκίνησε" ακολουθούμενο από 4 μπλοκ σε έναν βρόχο "Πάντα". Στον βρόχο, πρώτα υπάρχει ένα μπλοκ σχολίων που αναφέρει Εκτύπωση της τιμής του αισθητήρα απόστασης στην Κονσόλα και, στη συνέχεια, μετάβαση στην επόμενη γραμμή. Στη συνέχεια, ένα μπλοκ Εκτύπωσης διαβάζει την απόσταση αντικειμένου εκτύπωσης Distance5 σε mm στην Κονσόλα και ορίζει τον κέρσορα στην επόμενη γραμμή. Στη συνέχεια, ένα μπλοκ σχολίων αναγράφει την ένδειξη "Περιμένετε να εκτυπώσετε την τιμή" και, στη συνέχεια, επαναλάβετε τον βρόχο. Τέλος, ένα μπλοκ αναμονής διαβάζει αναμονή 0,1 δευτερολέπτων.

ενώ (True):
print(distance_7.object_distance(MM))
wait(0.1, ΔΕΥΤΕΡΟΛΕΠΤΑ)
VEXcode IQ C++
int main() 
{
ενώ (αληθές)
{
printf(Distance7.objectDistance(mm));
printf("\n");
wait(0.1, δευτερόλεπτα);
} }

Η εκτύπωση στην Κονσόλα Εκτύπωσης στο VEXcode IQ συνιστάται όταν εκτελείτε ένα έργο VEXcode IQ όπου το ρομπότ ΔΕΝ κινείται. Το IQ Brain πρέπει να παραμείνει συνδεδεμένο στην πρίζα κατά την εκτέλεση του έργου, προκειμένου να εκτυπώσει στην Κονσόλα Εκτύπωσης. Αυτό είναι ωφέλιμο επειδή μπορείτε να διαβάσετε τις τιμές από το παράθυρο VEXcode IQ αντί να προσπαθείτε να διαβάσετε δεδομένα από την οθόνη Brain.

Αυτά τα παραδείγματα δείχνουν ένα έργο που εκτυπώνει δεδομένα από τον Αισθητήρα Απόστασης (2ης γενιάς) στην Κονσόλα στο VEXcode IQ. 

Για περισσότερες πληροφορίες σχετικά με τη χρήση της Κονσόλας Εκτύπωσης στα VEXcode IQ Blocks, ανατρέξτε σε αυτό το άρθρο.

Για περισσότερες πληροφορίες σχετικά με τη χρήση της Κονσόλας Εκτύπωσης στο VEXcode IQ Python, ανατρέξτε σε αυτό το άρθρο.


Ανάλυση και εφαρμογή δεδομένων

Στη συνέχεια, χρησιμοποιήστε όσα μάθατε στα προηγούμενα βήματα για να προσαρμόσετε το αρχικό σας έργο. Μπορείτε να συνεχίσετε να χρησιμοποιείτε εργαλεία όπως η Βοήθεια και η εκτύπωση δεδομένων για να μπορείτε να χρησιμοποιείτε τον αισθητήρα αποτελεσματικά για την επίτευξη του στόχου σας.

Μπορείτε επίσης να κάνετε ερωτήσεις σχετικά με το έργο σας για να σας βοηθήσουν να προχωρήσετε. Σκεφτείτε πράγματα όπως:

  • Χρησιμοποιείτε τιμή μεγαλύτερη από < ή μικρότερη από > στο έργο σας; Είναι το σύμβολο στραμμένο προς τη σωστή κατεύθυνση; Εάν χρησιμοποιείτε ίσο με = δοκιμάστε να το αντικαταστήσετε με ένα μεγαλύτερο ή μικρότερο από, για να χρησιμοποιήσετε ένα εύρος τιμών.
  • Είναι σωστές οι παράμετροί σας; Χρησιμοποιείτε τα δεδομένα από τον αισθητήρα για να ορίσετε τις παραμέτρους σας; Επιλέξατε την αναπτυσσόμενη επιλογή που χρειάζεστε;
  • Ελέγχετε τις συνθήκες περισσότερες από μία φορές; Δοκιμάστε να προσθέσετε έναν βρόχο Forever στο έργο σας, έτσι ώστε η συνθήκη να ελέγχεται επανειλημμένα κατά την εκτέλεση του έργου.
  • Μήπως το έργο σας κολλάει; Έχουν οριστεί σωστά οι όροι σας; Εάν χρησιμοποιείτε ένθετους βρόχους, δοκιμάστε να απλοποιήσετε το έργο σας για να απομονώσετε μεμονωμένες συμπεριφορές.
  • Επηρεάζουν οι περιβαλλοντικές συνθήκες τον αισθητήρα; Είναι πολύ φωτεινός ή πολύ σκοτεινός; Υπάρχουν αντικείμενα ή άνθρωποι που εμποδίζουν; Δοκιμάστε να εκτελέσετε το έργο σας σε διαφορετική τοποθεσία για να δείτε αν αυτό βοηθάει.
  • Χρησιμοποιείτε την πιο πρόσφατη έκδοση του έργου σας; Έχετε κατεβάσει το ενημερωμένο έργο σας στο Brain; Βεβαιωθείτε ότι κάνετε ξανά λήψη του έργου κάθε φορά που κάνετε μια αλλαγή.
  • Εντοπίζετε το σωστό χρώμα; Αναφέρει ο αισθητήρας διαφορετικό χρώμα από αυτό που έχετε στο έργο σας; Δοκιμάστε να αλλάξετε την παράμετρο χρώματος ή να χρησιμοποιήσετε ένα εύρος τιμών απόχρωσης, για να δείτε αν αυτό βοηθάει.
  • Εντοπίζετε κάποιο αντικείμενο εντός του οπτικού πεδίου του αισθητήρα; Να θυμάστε ότι το οπτικό πεδίο κινείται σε συνδυασμό με την κίνηση του ρομπότ.
  • Χρησιμοποιείτε μπλοκ αναμονής κατά τον έλεγχο μιας συνθήκης; Βεβαιωθείτε ότι χρησιμοποιείτε μπλοκ που δεν αναμένουν σε ένα έργο κατά τον έλεγχο μιας συνθήκης. Δείτε αυτό το άρθρο για να μάθετε περισσότερα σχετικά με τα μπλοκ αναμονής έναντι των μπλοκ χωρίς αναμονή στο VEXcode IQ.
  • Εάν γράφετε κώδικα σε μπλοκ, ολόκληρη η στοίβα σας είναι συνδεδεμένη με το μπλοκ hat {When started}; Τα μπλοκ θα εκτελούνται μόνο όταν είναι συνδεδεμένα. Μπορείτε να ακούσετε έναν ήχο κλικ όταν σύρετε μπλοκ και τα συνδέετε μεταξύ τους.

Καθώς απαντάτε σε αυτές τις ερωτήσεις, φροντίστε να αλλάζετε ένα πράγμα στο έργο σας κάθε φορά, να το δοκιμάζετε και στη συνέχεια να αξιολογείτε εάν αυτή η αλλαγή ήταν αποτελεσματική. Η συχνή δοκιμή του έργου σας μπορεί να σας βοηθήσει να δείτε πιο εύκολα πώς ο κώδικά σας συνδέεται με τις συμπεριφορές του ρομπότ.  Μπορεί να χρειαστεί να επαναλάβετε τα βήματα της διαδικασίας αντιμετώπισης προβλημάτων πολλές φορές για να λύσετε το πρόβλημά σας, και αυτό είναι εντάξει. Κάθε επανάληψη θα σας βοηθήσει να μάθετε περισσότερα σχετικά με τον αισθητήρα που χρησιμοποιείτε και πώς να τον κωδικοποιήσετε στο VEXcode IQ.

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

Last Updated: