Ο αισθητήρας απόστασης στο ρομπότ εικονικής πραγματικότητας (VR) αναφέρει την απόσταση μεταξύ του ρομπότ εικονικής πραγματικότητας και του πλησιέστερου αντικειμένου. Ο αισθητήρας υπολογίζει την απόσταση χρησιμοποιώντας τον χρόνο που χρειάζεται το φως λέιζερ για να ανακλαστεί από ένα αντικείμενο και να επιστρέψει στον αισθητήρα.
Αισθητήρας απόστασης στο ρομπότ εικονικής πραγματικότητας
Ο αισθητήρας απόστασης είναι ένας αισθητήρας που αναφέρει την απόσταση μεταξύ του ρομπότ εικονικής πραγματικότητας και του πλησιέστερου στερεού αντικειμένου.
Ο αισθητήρας απόστασης χρησιμοποιεί λέιζερ κατηγορίας 1 παρόμοια με τα λέιζερ που χρησιμοποιούν τα σύγχρονα κινητά τηλέφωνα για την ανίχνευση κεφαλιού. Στέλνει έναν μικροσκοπικό παλμό ασφαλούς φωτός λέιζερ και στη συνέχεια χρησιμοποιεί τον χρόνο που χρειάζεται για να ανακλαστεί ο παλμός για να υπολογίσει την απόσταση των κοντινών αντικειμένων. Ο αισθητήρας υπολογίζει την απόσταση με βάση το χρόνο που χρειάστηκε ο παλμός λέιζερ για να κάνει το ταξίδι μετ' επιστροφής.
Εντολές VEXcode VR που χρησιμοποιούνται με τον αισθητήρα απόστασης
Οι εντολές που χρησιμοποιούνται με τον Αισθητήρα Απόστασης βρίσκονται στην κατηγορία Ανίχνευση.
get_distance Εντολή
Χρησιμοποιώντας την εντολή get_distance , ο Αισθητήρας Απόστασης μπορεί να αναφέρει την απόσταση του πλησιέστερου αντικειμένου σε χιλιοστά (mm) ή ίντσες. Η εντολή get_distanceαναφέρει αριθμητικές τιμές είτε σε χιλιοστά (mm) είτε σε ίντσες.
def main(): |
|
Για να εμφανίσετε τις τιμές του αισθητήρα απόστασης στην Κονσόλα παρακολούθησης, σύρετε ή πληκτρολογήστε την εντολή Monitor Sensor. Στη συνέχεια, ορίστε την παράμετρο στο αναγνωριστικό συμβολοσειράς για την τιμή αισθητήρα που θα εμφανίζεται. Σε αυτήν την περίπτωση, το αναγνωριστικό συμβολοσειράς θα είναι "distance.get_distance". |
Η απόσταση θα εμφανίζεται σε χιλιοστά (mm) και ίντσες στην Κονσόλα Οθόνης.
βρέθηκαν αντικείμενα Εντολή
Ο αισθητήρας απόστασης ανιχνεύει εάν υπάρχει κάποιο αντικείμενο μπροστά του χρησιμοποιώντας την εντολή Απόσταση που βρέθηκε αντικείμενο. Ο αισθητήρας απόστασης μπορεί να ανιχνεύσει ένα αντικείμενο ή μια επιφάνεια σε απόσταση 3000 mm (~118 ίντσες) από τον αισθητήρα. Η εντολή "Απόσταση που βρέθηκε" του αντικειμένου επιστρέφει μια λογική τιμή ως Σωστό ή Λάθος.
def main(): |
|
Η τιμή της εντολής found_object επιστρέφει μια Boolean τιμή και αναφέρει True όταν ο Αισθητήρας Απόστασης βρίσκεται κοντά σε ένα αντικείμενο και αναφέρει Fαλλιώς όταν δεν είναι αρκετά κοντά σε ένα αντικείμενο. Για να εμφανίσετε τις τιμές του αισθητήρα απόστασης στην Κονσόλα παρακολούθησης, σύρετε ή πληκτρολογήστε την εντολή Monitor Sensor. Στη συνέχεια, ορίστε την παράμετρο στο αναγνωριστικό συμβολοσειράς για την τιμή αισθητήρα που θα εμφανίζεται. Σε αυτήν την περίπτωση, το αναγνωριστικό συμβολοσειράς θα είναι "distance.found_object". |
Σωστό ή Λάθος θα αναφερθούν και θα εμφανιστούν στην Κονσόλα Παρακολούθησης.
Το λέιζερ επιτρέπει στον αισθητήρα να έχει πολύ στενό οπτικό πεδίο, επομένως η ανίχνευση γίνεται πάντα ακριβώς μπροστά από τον αισθητήρα.
Κοινές χρήσεις του αισθητήρα απόστασης
Ο αισθητήρας απόστασης μπορεί να ανιχνεύσει εάν υπάρχει κάποιο αντικείμενο μπροστά από το ρομπότ εικονικής πραγματικότητας. Αυτό μπορεί να χρησιμοποιηθεί για να αποφευχθεί ένα εμπόδιο.
Ο αισθητήρας απόστασης μπορεί να μετρήσει την απόσταση μεταξύ του μπροστινού μέρους του αισθητήρα απόστασης και του μπροστινού μέρους του αντικειμένου. Αυτό μπορεί να είναι χρήσιμο για να ολοκληρώσετε έναν λαβύρινθο χωρίς να χτυπάτε συνεχώς στους τοίχους ή για να αποφύγετε κάποιο αντικείμενο.
def main(): |
|
Για να χρησιμοποιήσετε το παραπάνω παράδειγμα, αντιγράψτε αυτόν τον κώδικα στο VEXcode VR και εκτελέστε το έργο στην παιδική χαρά Wall Maze. |
Παράδειγμα Έργου Αισθητήρα Απόστασης
Σε αυτό το παράδειγμα, το ρομπότ εικονικής πραγματικότητας θα κινηθεί προς τα εμπρός εάν ο αισθητήρας απόστασης εντοπίσει ένα αντικείμενο. Εάν δεν εντοπίσει κάποιο αντικείμενο, το ρομπότ εικονικής πραγματικότητας θα στρίψει δεξιά και θα συνεχίσει να ελέγχει για κάποιο αντικείμενο.
Σημείωση: Αυτό το παράδειγμα θα βρει το πρώτο κτίριο, αλλά χρειάζεται βελτιώσεις για να αποφευχθεί η πτώση του από το τραπέζι.
def main(): |
|
Για να χρησιμοποιήσετε το παραπάνω παράδειγμα, αντιγράψτε αυτόν τον κώδικα στο VEXcode VR και εκτελέστε το έργο στο Castle Crasher ή στο Dynamic Castle Crasher Playground. |