Κωδικοποίηση του αισθητήρα απόστασης V5 χρησιμοποιώντας μαθηματικές ανισότητες

Η χρήση του αισθητήρα απόστασης V5 στο ρομπότ σας κατά τη διάρκεια ενός αγώνα VEX Robotics Competition (VRC) μπορεί να επιτρέψει στο ρομπότ σας να σκοράρει περισσότερους πόντους χρησιμοποιώντας αυτόνομες κινήσεις.

Το παιχνίδι που χρησιμοποιείται ως παράδειγμα για αυτό το άρθρο είναι το παιχνίδι VRC 2021-2022, Tipping Point. Δείτε αυτήν τη σελίδα για περισσότερες πληροφορίες σχετικά με το παιχνίδι και τον τρόπο παιξίματός του. Για τους ορισμούς παιχνιδιών που χρησιμοποιούνται σε αυτό το άρθρο, μια επισκόπηση των κανόνων του παιχνιδιού και το σκοράρισμα ανατρέξτε στο Εγχειρίδιο Παιχνιδιού για το Tipping Point.


Ο αισθητήρας απόστασης V5

Γωνιακή όψη του αισθητήρα απόστασης V5.

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

  • Αυτός ο αισθητήρας χρησιμοποιεί έναν παλμό φωτός λέιζερ ασφαλούς για την τάξη για να μετρήσει την απόσταση από το μπροστινό μέρος του αισθητήρα έως ένα αντικείμενο.
  • Ο αισθητήρας απόστασης V5 μπορεί να χρησιμοποιηθεί για την ανίχνευση ενός αντικειμένου και τον προσδιορισμό του σχετικού μεγέθους του αντικειμένου. Το κατά προσέγγιση μέγεθος ενός αντικειμένου αναφέρεται ως μικρό, μεσαίο ή μεγάλο.
  • Ο αισθητήρας μπορεί επίσης να χρησιμοποιηθεί για τον υπολογισμό της ταχύτητας προσέγγισης ενός ρομπότ. Η ταχύτητα προσέγγισης μετρά την ταχύτητα του ρομπότ/αισθητήρα καθώς κινείται προς το αντικείμενο.

Για πιο λεπτομερείς πληροφορίες σχετικά με τον αισθητήρα απόστασης V5, τον τρόπο λειτουργίας του και τον τρόπο χρήσης του με το VEXcode V5, vδιαβάστε αυτό το άρθρο από τη Βιβλιοθήκη VEX.


Παράδειγμα αισθητήρα απόστασης V5

Ο στόχος αυτού του έργου είναι να ζητηθεί από το ρομπότ να σηκώσει και να μετακινήσει έναν κινητό στόχο χρησιμοποιώντας τον αισθητήρα απόστασης V5 για να ανιχνεύσει πόσο μακριά βρίσκεται ο στόχος.

Το VEXcode V5 μπλοκάρει ένα έργο που κινείται προς τα εμπρός μέχρι να εντοπίσει έναν Κινητό Στόχο, να τον πιάσει και στη συνέχεια να τον μετακινήσει. Το έργο αναφέρει "Όταν ξεκίνησε", προχωρήστε, περιμένετε μέχρι η απόσταση του αντικειμένου DistanceCenter σε mm να γίνει μικρότερη από 139 και, στη συνέχεια, σταματήστε να οδηγείτε. Στη συνέχεια, περιστρέψτε τα ForkMotors προς τα πάνω κατά 600 μοίρες και μετά στρίψτε αριστερά για 90 μοίρες. Στη συνέχεια, οδηγήστε προς τα εμπρός για 600 mm, περιστρέψτε τους κινητήρες ForkMotors προς τα κάτω για 600 μοίρες και, στη συνέχεια, οδηγήστε προς τα πίσω για 300 mm.

Αυτό είναι το παράδειγμα κώδικα που θα καλυφθεί σε αυτό το άρθρο.

Θα καλυφθεί μια ανάλυση των συμπεριφορών στο παράδειγμα και ο τρόπος λήψης των παραμέτρων που χρησιμοποιούνται για την κωδικοποίηση του αισθητήρα απόστασης V5.

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

Αυτό το βίντεο δείχνει τον παραπάνω κώδικα να εκτελείται και το ρομπότ να σηκώνει και να μετακινεί έναν Κινητό Στόχο.

Ανοίγει το μενού Συσκευές VEXcode V5 για να εμφανιστεί η διαμόρφωση της συσκευής σε αυτό το παράδειγμα. Το μενού εμφανίζει πρώτα έναν αισθητήρα απόστασης με τίτλο DistanceCenter στη θύρα 19. Στη συνέχεια, υπάρχει ένα σύστημα μετάδοσης κίνησης με κινητήρες στις θύρες 1 και 10 και έναν αδρανειακό αισθητήρα στη θύρα 3. Τέλος, υπάρχει μια ομάδα κινητήρων με το όνομα ForkMotors στις θύρες 2 και 9.

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

Ρομπότ που χρησιμοποιήθηκε για αυτό το παράδειγμα

Άποψη του Moby Hero Bot από ψηλά και με επισημασμένο έναν πρόσθετο αισθητήρα απόστασης V5. Ο αισθητήρας απόστασης βρίσκεται πίσω και κάτω από το πιρούνι του ρομπότ, στραμμένος προς τα εμπρός.

Το ρομπότ που χρησιμοποιείται σε αυτό το παράδειγμα είναι το VRC Hero Bot 2021-2022, Moby. Ο σχεδιασμός του Moby δεν διαθέτει αισθητήρες, ο αισθητήρας απόστασης V5 προστέθηκε στο Moby για αυτό το παράδειγμα.

Για αυτό το παράδειγμα, ο αισθητήρας απόστασης V5 είναι τοποθετημένος κοντά στο κέντρο των πιρουνιών Moby's.

Για περισσότερες πληροφορίες σχετικά με τον Moby, δείτε αυτό το άρθρο από τη Βιβλιοθήκη VEX.

Δεν χρειάζεται να χρησιμοποιήσετε το Moby για να κωδικοποιήσετε τον αισθητήρα απόστασης V5 ή για να συμμετάσχετε στον φετινό διαγωνισμό. Μπορείτε να τοποθετήσετε τον αισθητήρα στο προσαρμοσμένο ρομπότ σας όπου κρίνετε κατάλληλο.

Σημείωση: Βεβαιωθείτε ότι δεν υπάρχει καμία κατασκευή στο ρομπότ μπροστά από το μικρό παράθυρο λέιζερ στην πρόσοψη του αισθητήρα. Πρέπει να υπάρχει μια καθαρή διαδρομή μπροστά από τον αισθητήρα μεταξύ του στόχου και του αισθητήρα.

Ανάλυση των συμπεριφορών για βαθμολόγηση

Για να σηκώσετε και να μετακινήσετε έναν Κινητό Στόχο χρησιμοποιώντας την ανατροφοδότηση από τον Αισθητήρα Απόστασης V5, πρώτα αναλύστε πώς πρέπει να κινείται το ρομπότ.

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

Αρχικά, το ρομπότ θα πρέπει να τοποθετηθεί ώστε να βλέπει προς τον Κινητό Στόχο.

Το ρομπότ Moby εμφανίζεται αφού κινείται προς τα εμπρός για να ανιχνεύσει τον Κινητό Στόχο. Ο Κινητός Στόχος βρίσκεται τώρα μέσα στους βραχίονες πιρουνιού του ρομπότ.

Στη συνέχεια, το ρομπότ θα πρέπει να κινηθεί προς τα εμπρός μέχρι ο Αισθητήρας Απόστασης να ανιχνεύσει ότι ο Κινητός Στόχος βρίσκεται μέσα στις Πιρούνες και κοντά στον αισθητήρα.

Το ρομπότ Moby εμφανίζεται αφού ανιχνεύει τον Κινητό Στόχο και σηκώνει τα χέρια του για να τον σηκώσει.

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

Ρομπότ Moby που φέρει τον Κινητό Στόχο και έχει στρίψει 90 μοίρες προς τα αριστερά.

Μόλις παραληφθεί ο Κινητός Στόχος, το ρομπότ θα στρίψει αριστερά κατά 90 μοίρες και θα κινηθεί προς τα εμπρός κατά 600 χιλιοστά (mm).

Ρομπότ Moby που έχει κατεβάσει το πιρούνι του για να τοποθετήσει τον Κινητό Στόχο και στη συνέχεια έχει κινηθεί προς τα πίσω.

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


Κατανόηση παραμέτρων

Για να εκτελέσετε τις παραπάνω συμπεριφορές, είναι σημαντικό να κατανοήσετε πόσο μακριά βρίσκεται ο Κινητός Στόχος από τον Αισθητήρα Απόστασης V5.

Παράμετρος για την ανίχνευση του Κινητού Στόχου χρησιμοποιώντας τον Αισθητήρα Απόστασης V5

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

Για να μπορέσει το ρομπότ να κινηθεί προς τα εμπρός μέχρι ο αισθητήρας απόστασης να ανιχνεύσει ότι ο κινητός στόχος βρίσκεται μέσα στις περόνες και κοντά στον αισθητήρα, οι τιμές από τον αισθητήρα πρέπει να καταγραφούν από τον εγκέφαλο V5.

Τοποθετήστε τον Κινητό Στόχο ανάμεσα στα Πιρούνια του ρομπότ.

Η οθόνη V5 Brain εμφανίζεται στο μενού Αρχική σελίδα με την επιλογή Συσκευές επισημασμένη.Η οθόνη Brain εμφανίζεται στο μενού Πληροφορίες συσκευής, το οποίο περιέχει μια λίστα με όλες τις έξυπνες θύρες του Brain και τις συνδεδεμένες συσκευές. Το εικονίδιο του αισθητήρα απόστασης στο μενού πληροφοριών συσκευής επισημαίνεται για να υποδείξει ότι μπορούν να επιλεγούν στοιχεία για να ανοίξουν τα μενού πληροφοριών τους.

Στη συνέχεια, από την οθόνη του εγκεφάλου, επιλέξτε «Συσκευές» και στη συνέχεια το εικονίδιο για τον Αισθητήρα Απόστασης.

Η οθόνη εγκεφάλου εμφανίζεται στο μενού Αισθητήρας απόστασης που παραθέτει τα δεδομένα του αισθητήρα. Το μενού αναφέρει δεδομένα για το μέγεθος, την ταχύτητα και την απόσταση ενός αντικειμένου. Το μενού περιλαμβάνει επίσης ένα διάγραμμα που απεικονίζει την απόσταση και πώς αυτή αλλάζει με την πάροδο του χρόνου. Σε αυτό το στιγμιότυπο οθόνης, το μέγεθος του αντικειμένου είναι μικρό, η ταχύτητά του είναι 0 μέτρα ανά δευτερόλεπτο και η απόστασή του είναι 139 mm.

Η απόσταση σε χιλιοστά (mm) που βρίσκεται ο Κινητός Στόχος από τον αισθητήρα αναφέρεται στην οθόνη του Εγκεφάλου.

Το ίδιο έργο VEXcode V5 Blocks από προηγούμενο που προχωρά προς τα εμπρός μέχρι να εντοπίσει έναν Κινητό Στόχο, να τον πιάσει και στη συνέχεια να τον μετακινήσει. Η τιμή με την οποία συγκρίνεται η απόσταση αντικειμένου του αισθητήρα απόστασης στο έργο είναι 139 και επισημαίνεται.

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

Παράμετρος για την ανύψωση και το κατέβασμα των πιρουνιών

Ρομπότ Moby σε ένα γήπεδο με ένα Κινητό Τερματικό Στόχο τοποθετημένο ανάμεσα στις διχάλες του.

Τοποθετήστε ξανά το Κινητό Στόχο μέσα στα Πιρούνια.

Η οθόνη Brain εμφανίζεται στο μενού Πληροφορίες συσκευής, το οποίο περιέχει μια λίστα με όλες τις έξυπνες θύρες του Brain και τις συνδεδεμένες συσκευές. Ένα εικονίδιο κινητήρα στο μενού Πληροφορίες συσκευής επισημαίνεται για να υποδείξει ότι μπορούν να επιλεγούν στοιχεία για να ανοίξουν τα μενού πληροφοριών τους.

Στη συνέχεια, από την οθόνη του Εγκεφάλου, επιλέξτε «Συσκευές» και στη συνέχεια το εικονίδιο για τον Κινητήρα 2. Ο κινητήρας 2 ελέγχει το αριστερό πιρούνι.

Ρομπότ Moby σε ένα γήπεδο με ένα Κινητό Τέρμα τοποθετημένο ανάμεσα στις υπερυψωμένες διχάλες του για να το σηκώνει.

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

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

Σημείωση: αποφύγετε σημεία σύνθλιψης όταν σηκώνετε χειροκίνητα τα πιρούνια.

Η οθόνη εγκεφάλου εμφανίζεται στο μενού Smart Motor που παραθέτει τα δεδομένα της συσκευής. Το μενού έχει μετρήσεις και γραφήματα που αναφέρουν τα δεδομένα της συσκευής. Σε αυτό το στιγμιότυπο οθόνης, η τιμή μοιρών του κινητήρα επισημαίνεται και είναι 604.

Ο αριθμός των μοιρών που έχουν ανυψωθεί τα Πιρούνια αναφέρεται στην οθόνη του Εγκεφάλου.

Το ίδιο έργο VEXcode V5 Blocks από προηγούμενο που προχωρά προς τα εμπρός μέχρι να εντοπίσει έναν Κινητό Στόχο, να τον πιάσει και στη συνέχεια να τον μετακινήσει. Ο αριθμός των μοιρών για τις οποίες περιστρέφεται η ομάδα Fork Motor στο έργο είναι 600 και επισημαίνεται.

Αυτή είναι η τιμή που θα χρησιμοποιηθεί στο έργο κατά την ανύψωση και την κατέβασμα των Πιρουνιών για την παραλαβή και τοποθέτηση του Κινητού Στόχου.

Χρήση μπλοκ τελεστών

VEXcode V5 Εμφανίζεται το μπλοκ τελεστή "Μικρότερο από". Αυτό το μπλοκ χρησιμοποιείται για τη σύγκριση δύο τιμών και την αναφορά εάν η πρώτη τιμή είναι χαμηλότερη από τη δεύτερη.

Σε αυτό το έργο, το μπλοκ τελεστή <Less than> χρησιμοποιείται για τον κωδικοποίηση του αισθητήρα απόστασης.

Η οθόνη εγκεφάλου εμφανίζεται στο μενού Αισθητήρας απόστασης που παραθέτει τα δεδομένα του αισθητήρα. Το μενού αναφέρει δεδομένα για το μέγεθος, την ταχύτητα και την απόσταση ενός αντικειμένου. Το μενού περιλαμβάνει επίσης ένα διάγραμμα που απεικονίζει την απόσταση και πώς αυτή αλλάζει με την πάροδο του χρόνου. Σε αυτό το στιγμιότυπο οθόνης, το μέγεθος του αντικειμένου είναι μικρό, η ταχύτητά του είναι 0 μέτρα ανά δευτερόλεπτο και η απόστασή του είναι 139 mm.

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

Το ίδιο έργο VEXcode V5 Blocks από προηγούμενο που προχωρά προς τα εμπρός μέχρι να εντοπίσει έναν Κινητό Στόχο, να τον πιάσει και στη συνέχεια να τον μετακινήσει. Η τιμή με την οποία συγκρίνεται η απόσταση αντικειμένου του αισθητήρα απόστασης στο έργο είναι 139 και επισημαίνεται.

Μπορούν να επιλεγούν τιμές κατωφλίου για να ενεργοποιηθούν συμπεριφορές του ρομπότ όταν η απόσταση είναι μικρότερη από ένα προκαθορισμένο ποσό.

Για παράδειγμα, όταν το ρομπότ κινείται προς τον Κινητό Στόχο, χρησιμοποιήστε το μπλοκ τελεστή <Less than> για να ενεργοποιήσετε τη συμπεριφορά του ρομπότ να σταματήσει όταν η απόσταση γίνει κατά μικρότερη από περίπου 139 χιλιοστά (mm).

Ρομπότ Moby σε ένα γήπεδο με Κινητό Στόχο μέσα στις διακλαδώσεις του. Η απόσταση από τον Αισθητήρα Απόστασης έως τον Κινητό Στόχο επισημαίνεται με ένα κόκκινο βέλος.

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

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

Last Updated: