Ο αισθητήρας απόστασης στο ρομπότ εικονικής πραγματικότητας (VR) αναφέρει την απόσταση μεταξύ του ρομπότ εικονικής πραγματικότητας και του πλησιέστερου αντικειμένου. Ο αισθητήρας υπολογίζει την απόσταση χρησιμοποιώντας τον χρόνο που χρειάζεται το φως λέιζερ για να ανακλαστεί από ένα αντικείμενο και να επιστρέψει στον αισθητήρα.
Αισθητήρας απόστασης στο ρομπότ εικονικής πραγματικότητας
Ο αισθητήρας απόστασης είναι ένας αισθητήρας που αναφέρει την απόσταση μεταξύ του ρομπότ εικονικής πραγματικότητας και του πλησιέστερου στερεού αντικειμένου.
Ο αισθητήρας απόστασης χρησιμοποιεί τις ίδιες αρχές με τις συσκευές σόναρ για τη μέτρηση του ήχου. Στέλνει έναν μικροσκοπικό παλμό φωτός λέιζερ με τον πομπό του στη μία πλευρά του αισθητήρα και στη συνέχεια πολλαπλασιάζει τον χρόνο που χρειάζεται το φως για να ανακλαστεί πίσω στον δέκτη στην άλλη πλευρά του αισθητήρα. Ο αισθητήρας υπολογίζει την απόσταση με βάση το χρόνο που χρειάστηκε ο παλμός για να κάνει την διαδρομή μετ' επιστροφής. Στη συνέχεια, ο αισθητήρας απόστασης αναφέρει στο ρομπότ εικονικής πραγματικότητας πόσο μακριά βρίσκεται το πλησιέστερο αντικείμενο.
Το πλάτος της εμβέλειας όρασης των αισθητήρων απόστασης αλλάζει καθώς κοιτάζει πιο μακριά από το μπροστινό μέρος του ρομπότ εικονικής πραγματικότητας:
- Ο αισθητήρας μπορεί να ανιχνεύσει αντικείμενα εντός οπτικού πεδίου 10 μοιρών όταν αναζητά αντικείμενα σε απόσταση μικρότερη από 1000 χιλιοστά (~ 39 ίντσες).
- Ο αισθητήρας μπορεί να ανιχνεύσει αντικείμενα εντός οπτικού πεδίου 5 μοιρών όταν αναζητά αντικείμενα σε απόσταση μεταξύ 1000 χιλιοστών (~ 39 ίντσες) και 2000 χιλιοστών (~ 78 ίντσες).
- Ο αισθητήρας μπορεί να ανιχνεύσει αντικείμενα εντός οπτικού πεδίου 2 μοιρών όταν αναζητά αντικείμενα σε απόσταση μεγαλύτερη από 2000 χιλιοστά (~ 78 ίντσες).
Κοινές χρήσεις του αισθητήρα απόστασης
Ο αισθητήρας απόστασης μπορεί να ανιχνεύσει εάν υπάρχει κάποιο αντικείμενο μπροστά από το ρομπότ εικονικής πραγματικότητας. Αυτό μπορεί να χρησιμοποιηθεί για να αποφευχθεί ένα εμπόδιο.
| Μπλοκ VR VEXcode | Παιδική χαρά Wall Maze | |
| VEXcode VR Python | ||
def main(): |
||
|
Ο αισθητήρας απόστασης μπορεί να μετρήσει την απόσταση μεταξύ του μπροστινού μέρους του αισθητήρα απόστασης και του μπροστινού μέρους του αντικειμένου. Αυτό μπορεί να είναι χρήσιμο για να ολοκληρώσετε έναν λαβύρινθο χωρίς να χτυπάτε συνεχώς στους τοίχους ή για να αποφύγετε κάποιο αντικείμενο. |
||
| Μπλοκ VR VEXcode | Παιδική Χαρά Dynamic Castle Crasher | |
|
|
||
| VEXcode VR Python | ||
def main(): |
||
|
Σε αυτό το παράδειγμα, το ρομπότ εικονικής πραγματικότητας θα κινηθεί προς τα εμπρός εάν ο αισθητήρας απόστασης εντοπίσει ένα αντικείμενο. Εάν δεν εντοπίσει κάποιο αντικείμενο, το ρομπότ εικονικής πραγματικότητας θα στρίψει δεξιά και θα συνεχίσει να ελέγχει για κάποιο αντικείμενο. Σημείωση: Αυτό το παράδειγμα θα βρει το πρώτο κτίριο, αλλά χρειάζεται βελτιώσεις για να αποφευχθεί η πτώση του από το τραπέζι. |
||
Χρήση του αισθητήρα απόστασης με μπλοκ VR VEXcode
Τα μπλοκ που χρησιμοποιούνται με τον Αισθητήρα Απόστασης βρίσκονται στην κατηγορία Ανίχνευση.
<Απόσταση από το αντικείμενο που βρέθηκε> Τεμάχιο
Ο αισθητήρας απόστασης ανιχνεύει εάν υπάρχει κάποιο αντικείμενο μπροστά του χρησιμοποιώντας το μπλοκ <Απόσταση που βρέθηκε αντικείμενο>. Ο αισθητήρας απόστασης μπορεί να ανιχνεύσει ένα αντικείμενο ή μια επιφάνεια σε απόσταση 3000 mm (~118 ίντσες) από τον αισθητήρα.
Το μπλοκ <Απόσταση που βρέθηκε στο αντικείμενο>είναι ένα μπλοκ Boolean που επιστρέφει μια συνθήκη ως true ή false και χωράει μέσα σε οποιαδήποτε μπλοκ με εξαγωνικά (εξάπλευρα) κενά για άλλα μπλοκ.
Για περισσότερες πληροφορίες σχετικά με τα boolean μπλοκ, δείτε αυτό το άρθρο.
Η τιμή του μπλοκ <Distance found object> είναι ένα Boolean μπλοκ που αναφέρει true όταν ο αισθητήρας απόστασης βρίσκεται κοντά σε ένα αντικείμενο και αναφέρει false όταν δεν είναι αρκετά κοντά σε ένα αντικείμενο.
Σωστό ή Λάθος θα αναφερθούν και θα εμφανιστούν στην Κονσόλα Παρακολούθησης.
Για να μάθετε περισσότερα σχετικά με την Κονσόλα Οθόνης, δείτε αυτό το άρθρο.
(Απόσταση από) Τετράγωνο
Χρησιμοποιώντας το μπλοκ (Απόσταση από), ο Αισθητήρας Απόστασης μπορεί να αναφέρει την απόσταση του πλησιέστερου αντικειμένου σε χιλιοστά (mm) ή ίντσες.
Το μπλοκ (Απόσταση από) αναφέρει αριθμητικές τιμές και χωράει μέσα σε οποιαδήποτε μπλοκ με οβάλ κενά.
Για περισσότερες πληροφορίες σχετικά με τα μπλοκ αναφοράς, δείτε αυτό το άρθρο.
Η τιμή του μπλοκ (Απόσταση από) σε μονάδες χιλιοστών (mm) ή ιντσών μπορεί να εμφανιστεί στην Κονσόλα Οθόνης στο VEXcode VR.
Για να μάθετε περισσότερα σχετικά με την Κονσόλα Οθόνης, δείτε αυτό το άρθρο.
Χρήση του αισθητήρα απόστασης στο VEXcode VR Python
Για να ξεκινήσετε τον προγραμματισμό του Αισθητήρα Απόστασης με Python, θα χρειαστεί πρώτα να ανοίξετε ένα έργο κειμένου, το VEXcode VR. Για περισσότερες πληροφορίες, δείτε αυτό το άρθρο.
Στη συνέχεια, εντοπίστε την κατηγορία Sensing στην Εργαλειοθήκη και βρείτε τις εντολές found_object and get_distance. Αυτές είναι συναρτήσεις που αναφέρουν μια λογική τιμή ή μια αριθμητική τιμή σχετικά με τον αισθητήρα.
Για να προσθέσετε την εντολή στο έργο σας, μπορείτε να σύρετε την εντολή από την Εργαλειοθήκη ή να πληκτρολογήσετε την εντολή στον χώρο εργασίας χρησιμοποιώντας τη συνάρτηση Αυτόματης συμπλήρωσης.
Για να μάθετε περισσότερα σχετικά με την Αυτόματη συμπλήρωση στο VEXcode VR με Python, ανατρέξτε σε αυτό το άρθρο.
def main(): |
|
Ένας βρόχος while μπορεί να χρησιμοποιηθεί με αισθητήρες στο ρομπότ σας όταν θέλετε το ρομπότ σας να κάνει κάτι όπως να οδηγεί μέχρι ο αισθητήρας απόστασης να απέχει 50 mm ή λιγότερο από έναν τοίχο και στη συνέχεια να σταματήσει ή να στρίψει. Σε αυτό το έργο, το ρομπότ θα κινείται προς τα εμπρός ενώ ο αισθητήρας απόστασης αναφέρει τιμή μεγαλύτερη από 50 mm και θα σταματά να κινείται όταν ο αισθητήρας απόστασης βρίσκεται σε απόσταση μικρότερη από 50 mm από έναν τοίχο. |
def main(): |
|
Η τιμή των εντολώνget_distance καιfound_object μπορεί να εμφανιστεί στην Κονσόλα Παρακολούθησης στο VEXcode VR. Για να μάθετε περισσότερα σχετικά με τη χρήση της Κονσόλας Παρακολούθησης στο VEXcode VR Python, ανατρέξτε σε αυτό το άρθρο. |