Πίνακας περιεχομένων:

Πίσω όραση οχήματος: 9 βήματα (με εικόνες)
Πίσω όραση οχήματος: 9 βήματα (με εικόνες)

Βίντεο: Πίσω όραση οχήματος: 9 βήματα (με εικόνες)

Βίντεο: Πίσω όραση οχήματος: 9 βήματα (με εικόνες)
Βίντεο: ΣΟΚ: ΒΡΗΚΑ ΚΑΡΧΑΡΙΑ😱😱 2024, Νοέμβριος
Anonim
Image
Image

Γιατί κατασκευάζουμε Vehicle Rear Vision;

Η εφεδρική σύγκρουση ήταν ένα σημαντικό πρόβλημα, το Κέντρο Ελέγχου Νοσημάτων των ΗΠΑ ανέφερε ότι από το 2001-2003, εκτιμάται ότι 7, 475 παιδιά (2, 492 ετησίως) κάτω των 15 ετών νοσηλεύτηκαν για συμβάντα οπισθοδρόμησης αυτοκινήτων. Περίπου 300 θάνατοι ανά έτος προκύπτουν από εφεδρικές συγκρούσεις. Μέχρι το 2018 όλα τα αυτοκίνητα που πωλούνται στις Ηνωμένες Πολιτείες θα απαιτούν υποχρεωτική εφεδρική κάμερα.

Πώς λύνουμε το πρόβλημα;

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

Ο Walabot θα μπορεί να ανιχνεύσει την απόσταση του στόχου που βρίσκεται πιο κοντά στο όχημα.

Η κάμερα Intel RealSense R200 θα μας δώσει μια μεγαλύτερη λεπτομέρεια για αυτό που βλέπουμε, συμπεριλαμβανομένης της κατάστασης χαμηλού φωτισμού.

Το κιτ προγραμματιστή Intel Joule είναι αρκετά ισχυρό για να τρέξει κάμερες RealSense μαζί με το Walabot. Το Raspberry Pi δεν είναι αρκετά ισχυρό για να τρέξει μια RealSense 3D κάμερα, στην οποία μπορούμε να προσθέσουμε πολλές περισσότερες δυνατότητες στο μέλλον που μπορούν να βελτιώσουν τις λειτουργίες του αυτοκινήτου. Η ίδια έκδοση μπορεί να χρησιμοποιηθεί με το Pi με μια κανονική κάμερα USB, αλλά δεν θα είναι καλή για τη νύχτα.

Τηλέφωνο/tablet Android που χρησιμοποιείται για την εμφάνιση της εφεδρικής κάμερας, με σκοπό να μειώσει το κόστος μιας επιπλέον οθόνης. Η έκδοση iOS μπορεί να δημιουργηθεί κατόπιν αιτήματος.

Μέσα από αυτά τα στοιχεία, θα είμαστε σε θέση να δημιουργήσουμε ένα Rear End Vision που δείχνει στον χρήστη το πίσω μέρος του αυτοκινήτου.

Βήμα 1: Συγκεντρώστε τα Hardwares που χρειάζεστε

Εγκαταστήστε το Ubuntu στο Joule και τις απαραίτητες βιβλιοθήκες που χρειάζονται για να το εκτελέσετε
Εγκαταστήστε το Ubuntu στο Joule και τις απαραίτητες βιβλιοθήκες που χρειάζονται για να το εκτελέσετε
  1. Intel Joule
  2. Walabot Pro
  3. Κάμερα Intel R200 RealSense
  4. Τηλέφωνο/tablet Android που τρέχει 5.0 ή νεότερη έκδοση
  5. Προσαρμογέας αυτοκινήτου για έξοδο βύσματος και μετασχηματιστή AC 12VDC (αυτό είναι για επίδειξη για την ενεργοποίηση του Joule, η έκδοση παραγωγής θα περιέχει διαφορετικό μηχανισμό ισχύος)
  6. USB Hub για σύνδεση της κάμερας και Walabot (USB3 για κάμερα και USB2 για Walabot)
  7. DC σε AC Direct Plug-in Power Inverter
  8. Γενικός τρισδιάστατος εκτυπωτής για εκτύπωση του προσαρμοσμένου πλαισίου πινακίδας κυκλοφορίας

Βήμα 2: Εγκαταστήστε το Ubuntu στο Joule και τις απαραίτητες βιβλιοθήκες που χρειάζονται για να το εκτελέσετε

Αφού αποφασίσαμε να ακολουθήσουμε τη διαδρομή Linux, ακολουθήστε τον οδηγό https://developer.ubuntu.com/core/get-started/intel-joule για να εγκαταστήσετε το Ubuntu στο Joule. Το Ubuntu μας δίνει μεγάλη ευελιξία για να τρέξουμε ένα πραγματικό λειτουργικό σύστημα σε ένα τσιπ που βασίζεται στο IoT.

Βήμα 3: Μεταδώστε ροή στην κάμερα RealSense

Μεταδώστε ροή στην κάμερα RealSense
Μεταδώστε ροή στην κάμερα RealSense
Μεταδώστε ροή στην κάμερα RealSense
Μεταδώστε ροή στην κάμερα RealSense

Επειδή χρησιμοποιούμε τηλέφωνο/tablet Android για να εξοικονομήσουμε το κόστος του λογαριασμού υλικού, επίσης πιο προσιτό στους χρήστες, θα χρησιμοποιούμε βιβλιοθήκη κινήσεων για τη φιλοξενία της κάμερας παρόμοια με τις κάμερες ασφαλείας. Μόλις εγκατασταθεί το Ubuntu και συνδεθεί σε wifi, μπορούμε να ανοίξουμε το τερματικό και να χρησιμοποιήσουμε την ακόλουθη εντολή. Συνδέουμε πρώτα την κάμερα στο Joule μέσω θύρας USB3 και στη συνέχεια κάνουμε τα παρακάτω βήματα.

ένα. Εγκατάσταση κίνησης στο ubuntu:

sudo apt-get updatesudo apt-get install motion

σι. Αντιγραφή αρχείων διαμόρφωσης:

mkdir.motion sudo cp /etc/motion/motion.conf ~/.motion/motion.conf

ντο. Διαμορφώνοντας το αρχείο, για όσους είναι εξοικειωμένοι με το ubuntu μπορούν να εγκαταστήσουν το Sublime για ευκολότερη επεξεργασία κειμένου, διαφορετικά μπορούμε να το επεξεργαστούμε μέσα στη γραμμή εντολών.

sudo nano ~/.motion/motion.conf

ρε. Αφού συνδέσουμε την κάμερα R200, μπορούμε να αλλάξουμε τις ακόλουθες γραμμές σε κίνηση.conf

Αυτό γίνεται για να το θέσουμε σε λειτουργία παρασκηνίου:

# Ξεκινήστε σε λειτουργία δαίμονα (παρασκήνιο) και απελευθερώστε το τερματικό (προεπιλογή: απενεργοποιημένο)

Αυτό γίνεται για να χρησιμοποιήσετε την προβολή κάμερας RealSense Camera.

# Βιντεοσυσκευή που θα χρησιμοποιηθεί για λήψη (προεπιλογή /dev /video0) # για το FreeBSD προεπιλογή είναι /dev /bktr0 videodevice /dev /video2

Αλλάζοντας το πλάτος και το ύψος, το 1280 x 720 λειτούργησε πολύ για μένα, αλλά μπορείτε να παίξετε με τις διαστάσεις για να δείτε τι ταιριάζει στις ανάγκες σας.

# Πλάτος εικόνας (pixel). Έγκυρο εύρος: Εξαρτάται από την κάμερα, προεπιλογή: 352 πλάτος 1280 # heightψος εικόνας (pixel). Έγκυρο εύρος: Εξαρτάται από την κάμερα, προεπιλογή: 288 ύψος 720

Το έθεσα σε 30, όσο υψηλότερος ορίσετε τον αριθμό τόσο περισσότερη υπολογιστική ισχύ θα απαιτούσε. Μπορείτε να παίξετε για να δείτε ποιο είναι το σημείο αναφοράς για αυτό, αλλά το 30 έχει λειτουργήσει υπέροχα για μένα.

# Μέγιστος αριθμός καρέ που πρέπει να καταγράφονται ανά δευτερόλεπτο. # Έγκυρο εύρος: 2-100. Προεπιλογή: 100 (σχεδόν χωρίς όριο). ρυθμός καρέ 30

Δεδομένου ότι συνεχίζουμε να επιστρέφουμε πίσω στο αυτοκίνητο, μπορούμε να ορίσουμε μια ειδική θύρα, χρησιμοποιούμε 5001

################################################### ##########Διακομιστής ζωντανής ροής ###################################### ########################Ο διακομιστής mini-http ακούει αυτήν τη θύρα για αιτήματα (προεπιλογή: 0 = απενεργοποιημένο) stream_port 5001#Ποιότητα του jpeg (σε ποσοστό) παραγόμενες εικόνες (προεπιλογή: 50) stream_quality 50 # Πλαίσια εξόδου σε 1 fps όταν δεν ανιχνεύεται κίνηση και αυξήστε στο # ποσοστό που δίνει το stream_maxrate όταν ανιχνεύεται κίνηση (προεπιλογή: εκτός) stream_motion off # Μέγιστο ρυθμό καρέ για ροές ροής (προεπιλογή: 1) stream_maxrate 60 # Περιορισμός συνδέσεων ροής μόνο σε localhost (προεπιλογή: ενεργοποιημένο) stream_localhost off

Στη συνέχεια, μπορείτε να εκτελέσετε ifconfig και να καταλάβετε τη διεύθυνση IP και να εκτελέσετε στο τερματικό, η θύρα θα είναι 5001.

κίνηση

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

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

Εκκίνηση κίνησης για κάμερα

Το motion.conf επισυνάπτεται στην ενότητα κωδικού, μπορείτε να δείτε περισσότερες ρυθμίσεις εκεί.

Βήμα 4: Ρύθμιση του Walabot

Ρύθμιση Walabot
Ρύθμιση Walabot
Ρύθμιση Walabot
Ρύθμιση Walabot
Ρύθμιση Walabot
Ρύθμιση Walabot
Ρύθμιση Walabot
Ρύθμιση Walabot

Με τη φωτογραφική μηχανή στη θέση της, πρέπει ακόμα να εγκαταστήσουμε το walabot, αυτό μπορεί να ανιχνεύσει την απόσταση μεταξύ του οχήματος και του αντικειμένου πίσω, δίνοντας μια σαφή εικόνα για το πώς πρέπει

α, κατεβάστε το αρχείο deb από τη διεύθυνση

Ακολουθήστε τις οδηγίες από το https://api.walabot.com/_install.html#_linuxΕγκαταστήστε για να εγκαταστήσετε το API του Walabot ώστε να μπορεί να εισαχθεί σε έργα python.

Υπάρχει ένα λάθος στον ιστότοπο στο μέρος που εγκαθιστά το Walabot API https://walabot.com/api/_pythonapi.html#_installingwalabotapi όπου αναφέρει

python -m pip “/usr/share/walabot/python/WalabotAPI-1.0.21.tar.gz”

Αυτό θα έπρεπε να είναι

python -m pip install "/usr/share/walabot/python/WalabotAPI-1.0.21.tar.gz"

σι. συνδέστε το Walabot Pro μέσω USB 2, δεν μπόρεσα να λειτουργήσω το usb3, αλλά το usb2 λειτουργεί καλά συνδέοντας το linux. Δεδομένου ότι το Joule διαθέτει μόνο μία θύρα USB3, συνδέστε μια πρόσθετη θύρα USB2 για να φιλοξενήσει το Walabot Pro εδώ

ντο. Δοκιμάστε το έργο Walabot όπως το https://github.com/Walabot-Projects/Walabot-Senso… εκτελώντας την ακόλουθη εντολή στο φάκελο

python SensorTargets.py

Αυτό θα σας δώσει μια καλή δοκιμή για να δείτε εάν το Walabot λειτουργεί σωστά, καθώς και πώς να μετρήσετε την απόσταση σε πράγματα που θέλετε. Το παράδειγμα DistanceMeasure δεν ήταν πολύ συνεπές στη μέτρηση και το zPosCm φαίνεται να είναι εξαιρετικά ακριβές, οπότε αποφάσισα να χρησιμοποιήσω το zPosCM για την επίδειξη.

ρε. Πρέπει ακόμα να μεταφέρουμε τα δεδομένα στη συσκευή εμφάνισης, αφού το χρησιμοποιούμε στο android για να μειώσουμε το κόστος του υλικού, μπορούμε να χρησιμοποιήσουμε πρίζες. Χρησιμοποιούμε τον ακόλουθο κώδικα για να ρυθμίσουμε την υποδοχή και το udp σε python.

MYPORT = 5002 sys εισαγωγής, χρόνος από την εισαγωγή πρίζας * s = υποδοχή (AF_INET, SOCK_DGRAM) s.bind (('', 0)) s.setsockopt (SOL_SOCKET, SO_REUSEADDR, 1) s.setsockopt (SOL_SOCKET, SO_BROADCAST

Η ακόλουθη εντολή θα μεταδώσει δεδομένα κατά την ενημέρωση

s.sendto (str (στόχοι [0].zPosCm), ('255.255.255.255', MYPORT))

μι. Όταν γίνει αυτό, μπορούμε να το ρυθμίσουμε στην Εφαρμογή εκκίνησης

φά. Το Walabot είναι τώρα εγκατεστημένο και μεταφέρει δεδομένα μέσω UDP, ο πλήρης κώδικας python μπορεί να δει στην περιοχή συνημμένου κώδικα. Το παρακάτω στιγμιότυπο οθόνης είναι η εκτύπωση σε σχέση με το πώς πρέπει να μοιάζει όταν δεν υπάρχει περιοχή. Ο κωδικός επισυνάπτεται στην ενότητα κωδικού.

Βήμα 5: Δημιουργία Wifi Hotspot από το Joule

Δημιουργία Wifi Hotspot Από Joule
Δημιουργία Wifi Hotspot Από Joule

Δημιουργούμε το δικό μας wifi hotspot για συσκευές Android για τη μεταφορά δεδομένων μέσω. Χρησιμοποιώντας την ακόλουθη εντολή κατά την έναρξη θα το ρυθμίσετε αυτόματα. Αυτό χρησιμοποιείται για το Ubuntu 16.04 ή μεταγενέστερο, όπως αυτό χρησιμοποιείται. Θα συνδεθούμε αυτόματα μέσω της εφαρμογής Android στο επόμενο βήμα. Χρησιμοποιήστε αυτήν την εντολή στις εφαρμογές εκκίνησης.

nmcli συσκευή wifi hotspot ονοματεπώνυμο οχήματος-οπίσθια όραση ssid όχημα-ζώνη οπίσθιας όρασης bg κωδικός πρόσβασης safedriving

Μέσα στο αρχείο python του walabot, θα το ενημερώσουμε επίσης όπου θα στέλνουμε μήνυμα udp σε συσκευές που είναι συνδεδεμένες μέσω ιδιωτικού hotspot. Αυτό γίνεται για να διασφαλιστεί ότι δεν θα χαθεί κανένα πακέτο.

out = os.popen ('ipigh'). διαβάστε (). splitlines () για i, line in enumerate (out, start = 1): ip = line.split ('') [0] s.sendto (str (στόχοι [0].zPosCm), [ip, MYPORT])

Βήμα 6: Δημιουργία Android ως οθόνη εμφάνισης

Δημιουργία Android ως οθόνη εμφάνισης
Δημιουργία Android ως οθόνη εμφάνισης

Η εφαρμογή Android είναι κατασκευασμένη για την εμφάνιση της συσκευής, κυρίως επειδή μειώνει τον λογαριασμό υλικού, καθώς διαφορετικά μια ξεχωριστή οθόνη μπορεί να είναι τόσο ακριβή όσο και δύσκολη στην εγκατάσταση. Όσον αφορά αυτό το έργο, μπορούμε να χρησιμοποιήσουμε τηλέφωνο/tablet Android.

Το Android εστιάζει σε 3 μέρη που έχουμε κάνει νωρίτερα,

  • Σύνδεση στο wifi hotspot που δημιουργήθηκε μέσω συσκευής IoT (Intel Joule)
  • Μεταδώστε ροή στην κάμερα RealSense μέσω κίνησης μέσω wifi
  • Μέτρηση απόστασης από τον στόχο Walabot μέσω udp

Αφού ρυθμίσετε τα πάντα και εγκαταστήσετε την εφαρμογή Android (ανοιχτή πηγή εδώ), θα μπορείτε να δείτε την κάμερα να λειτουργεί μαζί με το walabot

Βήμα 7: Δοκιμάζοντας τα πάντα

Image
Image
Δοκιμάζοντας τα πάντα
Δοκιμάζοντας τα πάντα
Δοκιμάζοντας τα πάντα
Δοκιμάζοντας τα πάντα

Τώρα έχουμε ξεκινήσει τα πάντα, θα πρέπει να έχουμε μια βασική ρύθμιση όλων των εξαρτημάτων. Όταν ξεκινάμε την πλακέτα Joule, το hotspot θα πρέπει να ρυθμιστεί αυτόματα, η εφαρμογή κίνησης και walabot θα ξεκινήσει μαζί με αυτήν και όταν ενεργοποιήσουμε την εφαρμογή Android μας θα πρέπει να μπορούμε να κάνουμε ροή από την κάμερα. Αυτό σημαίνει ότι το πληκτρολόγιο/ποντίκι και η οθόνη δεν χρειάζονται πλέον για τη λειτουργία της συσκευής IoT. Εάν προκύψουν προβλήματα αυτήν τη στιγμή, όπως οι βιβλιοθήκες που δεν έχουν εγκατασταθεί σωστά, θα πρέπει να το διορθώσουμε πριν προχωρήσουμε στο επόμενο βήμα.

Η τρισδιάστατη εκτύπωση του περιβλήματος που μπορεί να κρατήσει την κάμερα είναι πολύ σημαντική.

Κατά την κατασκευή του υλικού, θα πρέπει να έχουμε το προσαρμοσμένο περίβλημα 3D εκτυπωμένο για την κάμερα. Δεδομένου ότι αυτό είναι ένα πρωτότυπο μπορεί να χαλαρώσει λίγο, αλλά όταν κατασκευάζουμε προσαρμοσμένη θήκη πινακίδων κυκλοφορίας, περιμένουμε όλα τα εξαρτήματα να βρίσκονται μέσα στη θήκη.

Βήμα 8: Δοκιμάζοντας ένα πραγματικό αυτοκίνητο

Image
Image
Δοκιμάζοντας σε ένα πραγματικό αυτοκίνητο
Δοκιμάζοντας σε ένα πραγματικό αυτοκίνητο
Δοκιμάζοντας σε ένα πραγματικό αυτοκίνητο
Δοκιμάζοντας σε ένα πραγματικό αυτοκίνητο

Τώρα που έχουμε κάνει τα πάντα να λειτουργούν, θα είμαστε σε θέση να τα δοκιμάσουμε σε ένα πραγματικό αυτοκίνητο. Δεδομένου ότι αυτό είναι ένα πρωτότυπο τα πράγματα μπορεί να είναι λίγο τραχιά, χρησιμοποιούμε κολλητική ταινία για μερικά από τα εξαρτήματα.

Για να ενεργοποιήσουμε το Joule IoT Kit, χρησιμοποιήσαμε DC In AC Direct Plug-in Power Inverter και στη συνέχεια απλώς περάσαμε μια μεγάλη πρίζα στο πορτμπαγκάζ.

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

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

Βήμα 9: Χρησιμοποιήστε το στον κόσμο

Χρησιμοποιήστε το στον κόσμο
Χρησιμοποιήστε το στον κόσμο

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

Μπορείτε να ελέγξετε το έργο από τη διεύθυνση

Συνιστάται: