Πίνακας περιεχομένων:
- Βήμα 1: Επισκόπηση
- Βήμα 2: Κατασκευή έργου
- Βήμα 3: Οδηγίες κατασκευής/καλωδίωσης
- Βήμα 4: Κατανόηση του πλαισίου WebIOPi
- Βήμα 5: Εκτέλεση του έργου
Βίντεο: Ρομπότ απομακρυσμένης αναζήτησης και διάθεσης Leap Motion Controlled: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Ως μέρος της συμμετοχής μου για το Leap Motion #3D Jam, ήμουν ενθουσιασμένος που δημιούργησα αυτό το ασύρματο ρομπότ Search/Rescue ελεγχόμενης χειρονομίας βασισμένο στο Raspberry Pi. Αυτό το έργο καταδεικνύει και παρέχει ένα μινιμαλιστικό παράδειγμα του τρόπου με τον οποίο μπορούν να χρησιμοποιηθούν ασύρματες 3D χειρονομίες για τον έλεγχο και την αλληλεπίδραση με φυσικά πράγματα.
Δεδομένου ότι αυτό το έργο χρησιμοποιεί το δημοφιλές πλαίσιο WebIOPi IoT στο Raspberry Pi, μπορεί πολύ εύκολα να επεκταθεί ώστε να ελέγχει και να διασυνδέει τυπικά κάθε αισθητήρα/υλικό/ηλεκτρονικά που μπορεί να διασυνδεθεί με το Raspberry Pi.
Ορισμένα πιθανά σενάρια που φαντάζομαι ότι οι συνάδελφοι Makers μπορούν να χρησιμοποιήσουν αυτό το έργο ως βασικό τους πλαίσιο για να βασιστούν:
1. Ρομπότ απομάκρυνσης απομακρυσμένης χειρονομίας (χρησιμοποιώντας ίσως βραχίονα OWI κλπ)
2. Απομακρυσμένη χειρουργική επέμβαση από γιατρό
3. Διαδραστικά εκθέματα ή εκπαιδευτικό περιεχόμενο με ελεγχόμενη χειρονομία
4. Άπειρες άλλες δυνατότητες/ενσωματώσεις (περιορίζομαι από τη φαντασία μου:))
Βήμα 1: Επισκόπηση
Αυτό το έργο επιτρέπει σε έναν χρήστη να ελέγχει διαδραστικά ένα ρομπότ χρησιμοποιώντας τρισδιάστατες χειρονομίες μέσω μιας άλμας κίνησης που συνδέεται με έναν υπολογιστή.
Το Raspberry Pi στο Robot διαθέτει επίσης μια κάμερα USB που μεταδίδει ζωντανό βίντεο πίσω στο χρήστη, το οποίο μπορεί να δει σε ένα πρόγραμμα περιήγησης στο Web. Η βιβλιοθήκη LeapMotion JavaScript που είναι ενσωματωμένη σε αυτήν την Ιστοσελίδα επεξεργάζεται τις χειρονομίες και στέλνει σήματα ελέγχου πίσω στο Ρομπότ, το οποίο στη συνέχεια κινείται ανάλογα.
Το Raspberry Pi στο Robot έχει διαμορφωθεί ως Hotspot (λειτουργία AP) με τη βοήθεια του dongle USB WiFi που είναι συνδεδεμένο σε αυτό. Αυτό επιτρέπει στους υπολογιστές/συσκευές μας να συνδέονται απευθείας με το Raspberry Pi και να ελέγχουν μέσω μιας ιστοσελίδας. Το Raspberry Pi μπορεί επίσης να διαμορφωθεί για να λειτουργεί σε λειτουργία πελάτη, όπου συνδέεται ασύρματα με το AP του δρομολογητή WiFi στο οποίο είναι ήδη συνδεδεμένοι οι υπολογιστές/συσκευές.
Αυτό το έργο βασίζεται στο WebIOPi (https://webiopi.trouch.com/) που είναι ένα δημοφιλές πλαίσιο IoT για το Raspberry Pi. Χρησιμοποιώντας το πακέτο Weaved IoT Kit (ή μέσω προώθησης θύρας στο Router), αυτό το Robot μπορεί να ελεγχθεί από απόσταση ή/και να λάβει δεδομένα από οποιοδήποτε μέρος του κόσμου.
Τα ακόλουθα στοιχεία χρησιμοποιήθηκαν για την κατασκευή του έργου:
- Raspberry Pi B (100% προς τα εμπρός συμβατό με το Raspberry Pi B+)
- Κάμερα USB Logitech (ελάχιστα 1,3 Megapixel)
- L293D Motor Driver IC και Breakout Shield
- USB WiFi Dongle για Raspberry Pi
- USB Power Bank για Raspberry Pi
- Εξωτερική μπαταρία 4V/1.5A για οδήγηση των Robot Motors
Βήμα 2: Κατασκευή έργου
Εγκατάσταση WebIOPi, εγγραφή προσαρμοσμένου κώδικα και διαμόρφωση κάμερας Web:
Οι οδηγίες εγκατάστασης του WebIoPi, τα βασικά πλαίσια και πολλά παραδείγματα είναι διαθέσιμα στη σελίδα του έργου εδώ:
Προκειμένου οι λειτουργίες LeapMotion να ενσωματωθούν στην ιστοσελίδα να ενεργοποιήσουν ενέργειες GPIO στο Raspberry Pi, χρησιμοποιήσαμε μακροεντολές, λεπτομέρειες των οποίων βρίσκονται εδώ:
Έχω γράψει επίσης κάποιες σημειώσεις έναρξης για την παραπάνω διαδικασία που μπορείτε να βρείτε συνημμένες.
Εγκατάσταση και διαμόρφωση κάμερας Web
Χρησιμοποιούμε το MJPG-Streamer για να μεταδώσουμε τη ροή βίντεο από το Raspberry Pi πίσω στο πρόγραμμα περιήγησης μέσω της κάμερας Web USB που είναι συνδεδεμένη στο Pi. Ακολουθήστε τις οδηγίες εγκατάστασης και κατασκευής που αναφέρονται εδώ https://blog.miguelgrinberg.com/post/how-to-build-… για να δουλέψετε το MJPG-Streamer στο Raspberry Pi.
Διαμόρφωση του Raspberry Pi ως AP/Hotspot
Για να ρυθμίσετε το Raspberry Pi ως Hostpot, ακολουθήστε τις οδηγίες που παρέχονται εδώ: https://elinux.org/RPI-Wireless-Hotspot. Διαμόρφωσα τη στατική IP του Raspberry Pi ως 192.168.42.1, κάτι που πληκτρολογήσαμε στο πρόγραμμα περιήγησης μόλις το Pi ξεκινήσει σε λειτουργία AP.
Η υπηρεσία WebIOPi, MJPG-Streamer και WiFi hotspot έχει ρυθμιστεί ώστε να εκτελείται αυτόματα κατά την εκκίνηση και αυτό μας επιτρέπει να ανοίξουμε απευθείας ένα πρόγραμμα περιήγησης στο Web και να συνδεθούμε με το Robot μετά την εκκίνηση. Το αρχείο rc.local που διατίθεται στο repo χρησιμοποιείται για την εκτέλεση της κάμερας Web κατά την εκκίνηση.
Βήμα 3: Οδηγίες κατασκευής/καλωδίωσης
4 GPIO του Raspberry Pi και συγκεκριμένα GPIO 9, 11, 23 & 24 συνδέονται με το L293D Motor Driver IC, το οποίο κινεί τους κινητήρες ανάλογα, αφού λάβει αιτήματα μακροεντολών από την Ιστοσελίδα που εξυπηρετείται από το πλαίσιο Webiopi. Το dongle USB WiFi και η κάμερα USB Logitech συνδέονται με τις 2 θύρες USB που είναι διαθέσιμες στο Raspberry Pi. Μια τράπεζα 5V 4000 Mah Power παρέχει την κύρια ισχύ στο Pi. Μια μπαταρία 4V 1.5A Lead Acid χρησιμοποιείται για την οδήγηση των κινητήρων.
Σημείωση: Δεδομένου ότι το μέγιστο ρεύμα εξόδου της τράπεζας ισχύος που χρησιμοποίησα ήταν ένα ελάχιστα 1000 Mah, έπρεπε να χρησιμοποιήσω την εξωτερική μπαταρία μολύβδου οξέος για να οδηγήσω τους κινητήρες. Εάν διαθέτετε τράπεζα ισχύος που δίνει> = 2000Mah, μπορείτε να οδηγήσετε απευθείας τους κινητήρες από τη ράγα 5V στο Pi (δεν θα το συνιστούσα αυτό για κινητήρες που πεινούν)
Οι 3 βασικές υποενότητες του έργου LeapMotion Javascript API, WebIOPi και MJPG-Streamer και η βασική λειτουργία/ρύθμιση τους περιγράφονται συνοπτικά παρακάτω.
Βήμα 4: Κατανόηση του πλαισίου WebIOPi
Το frontend που εμφανίζεται στο πρόγραμμα περιήγησης είναι γραμμένο σε HTML (Όνομα αρχείου: index.html) & Javascript ενώ το backend που οδηγεί τα GPIOs είναι γραμμένο σε Python (Όνομα αρχείου: script.py). Λεπτομερείς σημειώσεις για τη δημιουργία ενός προσαρμοσμένου WebApp με βάση το πλαίσιο WebIOPi επισυνάπτονται ως σημειώσεις στο repo του Bitbucket.
Οι προσαρμοσμένες μακροεντολές που ορίζονται στο σενάριο Python μπορούν να ενεργοποιηθούν από το αρχείο HTML.
Π.χ.: webiopi (). CallMacro ("go_forward"); Αυτή είναι μια προσαρμοσμένη κλήση σε μια μακροεντολή go_forward που ορίζεται στο σενάριο Python και χειρίζεται τη διαδικασία οδήγησης και των δύο κινητήρων προς τα εμπρός.
Η ιεραρχία καταλόγου του τόπου αποθήκευσης των αρχείων στο Pi εμφανίζεται στην συνημμένη εικόνα.
Ο φάκελος Robot περιέχει αυτούς τους υποφακέλους:
- html: περιέχει index.html
- python: που περιέχει script.py
- mjpg-streamer-r63: περιέχει αρχεία δημιουργίας και εκτελέσιμα για την εκτέλεση της κάμερας Web
MJPG-Streamer: Η ζωντανή ροή βίντεο από την κάμερα USB εκτελείται στη θύρα 8080 του Pi από προεπιλογή. Για να δείτε χειροκίνητα τη ροή, μεταβείτε στο RASPBERRYPI_IP: 8080 στο πρόγραμμα περιήγησης μετά την ενεργοποίηση της κάμερας Web.
Κωδικός LeapMotion:
Αποσπάσματα κώδικα από τα παραδείγματα που παρέχονται στο SDK του LeapMotion ενσωματώθηκαν στο αρχείο index.html. Το αρχείο leap.js του LeapMotion πρέπει να προστεθεί στον φάκελο html στον κατάλογο έργου στο Raspberry Pi.
Η παράμετρος palmPosition που αποστέλλεται από το LeapMotion χρησιμοποιείται για να καθορίσει ποια μακροεντολή θα ενεργοποιηθεί στο Raspberry Pi.
Βήμα 5: Εκτέλεση του έργου
Απλώς ενεργοποιήστε το Raspberry Pi και περιμένετε περίπου ένα λεπτό. Θα δείτε ένα νέο hotpsot RaspberryPi να εμφανίζεται. Συνδεθείτε σε αυτό το hotspot και ανοίξτε αυτήν τη στατική διεύθυνση IP στο πρόγραμμα περιήγησης: 192.168.42.1:8000. Το 8000 είναι η προεπιλεγμένη θύρα του WebIOPi.
Το Raspberry Pi μπορεί επίσης να διαμορφωθεί ώστε να συνδέεται στο τοπικό δίκτυο WiFi ως in clien αντί να εμφανίζεται ως hotspot. Στη συνέχεια, θα πρέπει να προσδιορίσετε τη δυναμική IP που έχει εκχωρηθεί στο Raspberry Pi από το δρομολογητή και, στη συνέχεια, να την εμφανίσετε στο πρόγραμμα περιήγησης για να παίξετε με το Bot.
Μπορείτε να αφήσετε ένα σχόλιο εάν χρειάζεστε βοήθεια ή έχετε απορίες σχετικά με το έργο. Καλό Άλμα!
Έχουν επισυναφθεί ολόκληροι οι πηγαίοι κωδικοί. Μπορείτε να αφήσετε ένα σχόλιο εάν χρειάζεστε βοήθεια σε οποιοδήποτε μέρος του κτιρίου του έργου. Καλό Άλμα!
Συνιστάται:
Εικονικό παιχνίδι απόκρυψης και αναζήτησης: 3 βήματα
Virtual Hide-and-Seek Game: Τα εγγόνια μας λατρεύουν να παίζουν κρυφτό αλλά δεν έχουν πραγματικά πολλά καλά σημεία σε εσωτερικούς χώρους. Αποφάσισα να κάνω ένα εικονικό παιχνίδι κρυφτούλι, έτσι ώστε να μπορούν να διασκεδάζουν ακόμα. Στην έκδοσή μου, κάποιος θα κρύψει ένα στοιχείο με δέκτη RF και
Χρήση μικροελεγκτών για τη λειτουργία και την παρακολούθηση του συστήματος απομακρυσμένης άρδευσης: 4 βήματα
Χρήση μικροελεγκτών για τη λειτουργία και παρακολούθηση του συστήματος απομακρυσμένης άρδευσης: αγρότες και φορείς εκμετάλλευσης θερμοκηπίου για αυτόματο σύστημα άρδευσης χαμηλού κόστους. Σε αυτό το έργο, ενσωματώνουμε έναν ηλεκτρονικό αισθητήρα υγρασίας εδάφους με έναν μικροελεγκτή για να ποτίζουμε αυτόματα τα φυτά όταν το χώμα είναι πολύ στεγνό χωρίς ανθρώπινη παρέμβαση
Σύστημα παρακολούθησης και διανομής απομακρυσμένης ισχύος ηλιακής εγκατάστασης: 10 βήματα
Σύστημα παρακολούθησης και διανομής απομακρυσμένης ισχύος ενός ηλιακού σταθμού: Ο σκοπός αυτού του έργου είναι να παρακολουθεί και να διανέμει την ισχύ στα συστήματα ισχύος (συστήματα ηλιακής ενέργειας). Ο σχεδιασμός αυτού του συστήματος εξηγείται αφηρημένα ως εξής. Το σύστημα περιέχει πολλαπλά πλέγματα με περίπου 2 ηλιακούς συλλέκτες σε
Ρομπότ Arduino Με Απόσταση, Κατεύθυνση και Βαθμός Περιστροφής (Ανατολικά, Δυτικά, Βόρεια, Νότια) Ελεγχόμενος με Φωνή χρησιμοποιώντας Ενότητα Bluetooth και Αυτόνομη Κίνηση Ρομπότ .: 6 Βήματα
Ρομπότ Arduino Με Απόσταση, Κατεύθυνση και Βαθμός Περιστροφής (Ανατολικά, Δυτικά, Βόρεια, Νότια) Ελέγχεται με φωνή χρησιμοποιώντας μονάδα Bluetooth και αυτόνομη κίνηση ρομπότ .: Αυτό το οδηγό εξηγεί πώς να φτιάξετε το Arduino Robot που μπορεί να μετακινηθεί στην απαιτούμενη κατεύθυνση (Εμπρός, Πίσω) , Αριστερά, Δεξιά, Ανατολικά, Δυτικά, Βόρεια, Νότια) απαιτείται Απόσταση σε εκατοστά χρησιμοποιώντας φωνητική εντολή. Το ρομπότ μπορεί επίσης να μετακινηθεί αυτόνομα
Ρομπότ εξισορρόπησης / ρομπότ 3 τροχών / ρομπότ STEM: 8 βήματα
Ρομπότ εξισορρόπησης / ρομπότ 3 τροχών / ρομπότ STEM: Έχουμε δημιουργήσει ένα συνδυασμένο ρομπότ εξισορρόπησης και 3 τροχών για εκπαιδευτική χρήση σε σχολεία και εκπαιδευτικά προγράμματα μετά το σχολείο. Το ρομπότ βασίζεται σε ένα Arduino Uno, μια προσαρμοσμένη ασπίδα (παρέχονται όλες οι λεπτομέρειες κατασκευής), μια μπαταρία ιόντων λιθίου (όλα κατασκευασμένα