Η χρήση του αισθητήρα απόστασης V5 στο ρομπότ σας κατά τη διάρκεια ενός αγώνα VEX Robotics Competition (VRC) μπορεί να επιτρέψει στο ρομπότ σας να σκοράρει περισσότερους πόντους χρησιμοποιώντας αυτόνομες κινήσεις.
Το παιχνίδι που χρησιμοποιείται ως παράδειγμα για αυτό το άρθρο είναι το παιχνίδι VRC 2021-2022, Tipping Point. Δείτε αυτήν τη σελίδα για περισσότερες πληροφορίες σχετικά με το παιχνίδι και τον τρόπο παιξίματός του. Για τους ορισμούς παιχνιδιών που χρησιμοποιούνται σε αυτό το άρθρο, μια επισκόπηση των κανόνων του παιχνιδιού και το σκοράρισμα ανατρέξτε στο Εγχειρίδιο Παιχνιδιού για το Tipping Point.
Ο αισθητήρας απόστασης V5
Ο αισθητήρας απόστασης V5 είναι ένας από τους ισχυρούς αισθητήρες V5 που έχουν σχεδιαστεί για πλήρη ενσωμάτωση με την πλατφόρμα ρομποτικής V5.
- Αυτός ο αισθητήρας χρησιμοποιεί έναν παλμό φωτός λέιζερ ασφαλούς για την τάξη για να μετρήσει την απόσταση από το μπροστινό μέρος του αισθητήρα έως ένα αντικείμενο.
- Ο αισθητήρας απόστασης V5 μπορεί να χρησιμοποιηθεί για την ανίχνευση ενός αντικειμένου και τον προσδιορισμό του σχετικού μεγέθους του αντικειμένου. Το κατά προσέγγιση μέγεθος ενός αντικειμένου αναφέρεται ως μικρό, μεσαίο ή μεγάλο.
- Ο αισθητήρας μπορεί επίσης να χρησιμοποιηθεί για τον υπολογισμό της ταχύτητας προσέγγισης ενός ρομπότ. Η ταχύτητα προσέγγισης μετρά την ταχύτητα του ρομπότ/αισθητήρα καθώς κινείται προς το αντικείμενο.
Για πιο λεπτομερείς πληροφορίες σχετικά με τον αισθητήρα απόστασης V5, τον τρόπο λειτουργίας του και τον τρόπο χρήσης του με το VEXcode V5, vδιαβάστε αυτό το άρθρο από τη Βιβλιοθήκη VEX.
Παράδειγμα αισθητήρα απόστασης V5
Ο στόχος αυτού του έργου είναι να ζητηθεί από το ρομπότ να σηκώσει και να μετακινήσει έναν κινητό στόχο χρησιμοποιώντας τον αισθητήρα απόστασης V5 για να ανιχνεύσει πόσο μακριά βρίσκεται ο στόχος.
Αυτό είναι το παράδειγμα κώδικα που θα καλυφθεί σε αυτό το άρθρο.
Θα καλυφθεί μια ανάλυση των συμπεριφορών στο παράδειγμα και ο τρόπος λήψης των παραμέτρων που χρησιμοποιούνται για την κωδικοποίηση του αισθητήρα απόστασης V5.
Μπορείτε να δημιουργήσετε το έργο σε VEXcode V5 καθώς ακολουθείτε το άρθρο ή μπορείτε απλώς να διαβάσετε το άρθρο για έμπνευση ως παράδειγμα για το πώς να συμπεριλάβετε τον Αισθητήρα Απόστασης V5 όταν κωδικοποιείτε το δικό σας προσαρμοσμένο ρομπότ.
Αυτό το βίντεο δείχνει τον παραπάνω κώδικα να εκτελείται και το ρομπότ να σηκώνει και να μετακινεί έναν Κινητό Στόχο.
Ακολουθεί η διαμόρφωση του ρομπότ που χρησιμοποιήθηκε στο VEXcode V5 για την προσθήκη του ρομπότ και του αισθητήρα απόστασης στη διαμόρφωση για αυτό το παράδειγμα, αν θέλετε να δοκιμάσετε το παράδειγμα μόνοι σας.
Ρομπότ που χρησιμοποιήθηκε για αυτό το παράδειγμα
Το ρομπότ που χρησιμοποιείται σε αυτό το παράδειγμα είναι το VRC Hero Bot 2021-2022, Moby. Ο σχεδιασμός του Moby δεν διαθέτει αισθητήρες, ο αισθητήρας απόστασης V5 προστέθηκε στο Moby για αυτό το παράδειγμα.
Για αυτό το παράδειγμα, ο αισθητήρας απόστασης V5 είναι τοποθετημένος κοντά στο κέντρο των πιρουνιών Moby's.
Για περισσότερες πληροφορίες σχετικά με τον Moby, δείτε αυτό το άρθρο από τη Βιβλιοθήκη VEX.
Δεν χρειάζεται να χρησιμοποιήσετε το Moby για να κωδικοποιήσετε τον αισθητήρα απόστασης V5 ή για να συμμετάσχετε στον φετινό διαγωνισμό. Μπορείτε να τοποθετήσετε τον αισθητήρα στο προσαρμοσμένο ρομπότ σας όπου κρίνετε κατάλληλο.
Σημείωση: Βεβαιωθείτε ότι δεν υπάρχει καμία κατασκευή στο ρομπότ μπροστά από το μικρό παράθυρο λέιζερ στην πρόσοψη του αισθητήρα. Πρέπει να υπάρχει μια καθαρή διαδρομή μπροστά από τον αισθητήρα μεταξύ του στόχου και του αισθητήρα.
Ανάλυση των συμπεριφορών για βαθμολόγηση
Για να σηκώσετε και να μετακινήσετε έναν Κινητό Στόχο χρησιμοποιώντας την ανατροφοδότηση από τον Αισθητήρα Απόστασης V5, πρώτα αναλύστε πώς πρέπει να κινείται το ρομπότ.
Αρχικά, το ρομπότ θα πρέπει να τοποθετηθεί ώστε να βλέπει προς τον Κινητό Στόχο.
Στη συνέχεια, το ρομπότ θα πρέπει να κινηθεί προς τα εμπρός μέχρι ο Αισθητήρας Απόστασης να ανιχνεύσει ότι ο Κινητός Στόχος βρίσκεται μέσα στις Πιρούνες και κοντά στον αισθητήρα.
Μόλις ο αισθητήρας ανιχνεύσει ότι ο Κινητός Στόχος βρίσκεται μέσα στα Πιρούνια ή κοντά στον αισθητήρα, το ρομπότ σταματά να οδηγεί και σηκώνει τα Πιρούνια για να σηκώσει τον Κινητό Στόχο.
Μόλις παραληφθεί ο Κινητός Στόχος, το ρομπότ θα στρίψει αριστερά κατά 90 μοίρες και θα κινηθεί προς τα εμπρός κατά 600 χιλιοστά (mm).
Στη συνέχεια, το ρομπότ θα κατεβάσει τα πιρούνια για να τοποθετήσει κάτω τον Κινητό Στόχο και θα κινηθεί με την όπισθεν μακριά από τον Κινητό Στόχο, ώστε να μην τον ανατρέψει κατά λάθος κατά την επόμενη κίνηση.
Κατανόηση παραμέτρων
Για να εκτελέσετε τις παραπάνω συμπεριφορές, είναι σημαντικό να κατανοήσετε πόσο μακριά βρίσκεται ο Κινητός Στόχος από τον Αισθητήρα Απόστασης V5.
Παράμετρος για την ανίχνευση του Κινητού Στόχου χρησιμοποιώντας τον Αισθητήρα Απόστασης V5
Για να μπορέσει το ρομπότ να κινηθεί προς τα εμπρός μέχρι ο αισθητήρας απόστασης να ανιχνεύσει ότι ο κινητός στόχος βρίσκεται μέσα στις περόνες και κοντά στον αισθητήρα, οι τιμές από τον αισθητήρα πρέπει να καταγραφούν από τον εγκέφαλο V5.
Τοποθετήστε τον Κινητό Στόχο ανάμεσα στα Πιρούνια του ρομπότ.
Στη συνέχεια, από την οθόνη του εγκεφάλου, επιλέξτε «Συσκευές» και στη συνέχεια το εικονίδιο για τον Αισθητήρα Απόστασης.
Η απόσταση σε χιλιοστά (mm) που βρίσκεται ο Κινητός Στόχος από τον αισθητήρα αναφέρεται στην οθόνη του Εγκεφάλου.
Αυτή είναι η τιμή που θα χρησιμοποιηθεί στο έργο κατά την παραλαβή του Κινητού Στόχου χρησιμοποιώντας τον Αισθητήρα Απόστασης.
Παράμετρος για την ανύψωση και το κατέβασμα των πιρουνιών
Τοποθετήστε ξανά το Κινητό Στόχο μέσα στα Πιρούνια.
Στη συνέχεια, από την οθόνη του Εγκεφάλου, επιλέξτε «Συσκευές» και στη συνέχεια το εικονίδιο για τον Κινητήρα 2. Ο κινητήρας 2 ελέγχει το αριστερό πιρούνι.
Σηκώστε χειροκίνητα τα πιρούνια μέχρι το κάτω μέρος του Κινητού Στόλου να μην εμποδίζει την ορατότητα του αισθητήρα απόστασης.
Όταν ανυψώνετε χειροκίνητα τα πιρούνια, βεβαιωθείτε ότι ανυψώνετε ταυτόχρονα κάθε πιρούνι στην αριστερή και τη δεξιά πλευρά του Moby, καθώς το καθένα ελέγχεται από τον δικό του κινητήρα.
Σημείωση: αποφύγετε σημεία σύνθλιψης όταν σηκώνετε χειροκίνητα τα πιρούνια.
Ο αριθμός των μοιρών που έχουν ανυψωθεί τα Πιρούνια αναφέρεται στην οθόνη του Εγκεφάλου.
Αυτή είναι η τιμή που θα χρησιμοποιηθεί στο έργο κατά την ανύψωση και την κατέβασμα των Πιρουνιών για την παραλαβή και τοποθέτηση του Κινητού Στόχου.
Χρήση μπλοκ τελεστών
Σε αυτό το έργο, το μπλοκ τελεστή <Less than> χρησιμοποιείται για τον κωδικοποίηση του αισθητήρα απόστασης.
Αυτό συμβαίνει επειδή καθώς ο αισθητήρας απόστασης πλησιάζει όλο και περισσότερο σε ένα αντικείμενο, η απόσταση σε χιλιοστά μεταξύ του αισθητήρα και αυτού του αντικειμένου μειώνεται.
Μπορούν να επιλεγούν τιμές κατωφλίου για να ενεργοποιηθούν συμπεριφορές του ρομπότ όταν η απόσταση είναι μικρότερη από ένα προκαθορισμένο ποσό.
Για παράδειγμα, όταν το ρομπότ κινείται προς τον Κινητό Στόχο, χρησιμοποιήστε το μπλοκ τελεστή <Less than> για να ενεργοποιήσετε τη συμπεριφορά του ρομπότ να σταματήσει όταν η απόσταση γίνει κατά μικρότερη από περίπου 139 χιλιοστά (mm).
Αν αυτή η τιμή άλλαζε σε 10 χιλιοστά (mm) για παράδειγμα, το ρομπότ θα προσέκρουε στον Κινητό Στόχο και ενδεχομένως θα προκαλούσε ζημιά στον εαυτό του, επειδή η απόσταση των 10 χιλιοστών (mm) από τον αισθητήρα δεν είναι αρκετή για να αποτρέψει τα πιρούνια του ρομπότ από το να αγγίξουν τον Κινητό Στόχο.