Daftar Isi:

Penglihatan Belakang Kendaraan: 9 Langkah (dengan Gambar)
Penglihatan Belakang Kendaraan: 9 Langkah (dengan Gambar)

Video: Penglihatan Belakang Kendaraan: 9 Langkah (dengan Gambar)

Video: Penglihatan Belakang Kendaraan: 9 Langkah (dengan Gambar)
Video: Fokus Ke Mata Merah! @TheMagicMatt5 2024, November
Anonim
Image
Image

Mengapa kami membangun Vehicle Rear Vision?

Tabrakan mundur telah menjadi masalah utama, Pusat Pengendalian Penyakit A. S. melaporkan bahwa dari 2001-2003, diperkirakan 7.475 anak (2.492 per tahun) di bawah usia 15 dirawat karena insiden mundur mobil. Sekitar 300 kematian per tahun akibat tabrakan cadangan. Pada 2018 semua mobil yang dijual di Amerika Serikat akan membutuhkan kamera cadangan wajib.

Bagaimana kita memecahkan masalah?

Sebagian besar mobil di pasar saat ini masih tidak memiliki kamera cadangan, yang mencakup sekitar setengah dari mobil yang dijual di AS saat ini, dan lebih dari setengahnya di seluruh dunia. Kita bisa mengatasi masalah ini dengan memasang kamera di bagian belakang mobil, menggunakan ruang plat nomor.

Walabot akan bisa mendeteksi jarak target yang paling dekat dengan kendaraan.

Kamera Intel RealSense R200 akan memberi kita detail yang lebih besar tentang apa yang dilihat, termasuk situasi cahaya rendah.

Kit pengembang Intel Joule cukup kuat untuk menjalankan kamera RealSense bersama dengan Walabot. Raspberry Pi tidak cukup kuat untuk menjalankan kamera RealSense 3D, di mana kita dapat menambahkan lebih banyak fitur di masa depan yang dapat meningkatkan fungsionalitas mobil. Versi yang sama dapat digunakan dengan Pi dengan kamera USB normal, tetapi tidak akan bagus untuk malam hari.

Ponsel/tablet Android digunakan untuk menampilkan Kamera Cadangan, ini untuk mengurangi biaya layar tambahan. Versi iOS dapat dibuat berdasarkan permintaan.

Melalui komponen-komponen tersebut, kita akan dapat membangun Rear End Vision yang menunjukkan bagian belakang mobil kepada pengguna.

Langkah 1: Kumpulkan Perangkat Keras yang Anda Butuhkan

Instal Ubuntu di Joule dan Pustaka yang Diperlukan untuk Menjalankannya
Instal Ubuntu di Joule dan Pustaka yang Diperlukan untuk Menjalankannya
  1. Intel Joule
  2. Walabot Pro
  3. Kamera Intel R200 RealSense
  4. Ponsel/tablet Android yang menjalankan 5.0 atau lebih tinggi
  5. Adaptor mobil untuk keluaran steker dan Adaptor AC 12VDC (ini untuk demo untuk menyalakan Joule, versi produksi akan berisi mekanisme daya yang berbeda)
  6. USB Hub untuk menghubungkan kamera dan Walabot (USB3 untuk Kamera dan USB2 untuk Walabot)
  7. DC ke AC Langsung Plug-in Power Inverter
  8. Printer 3D generik untuk mencetak bingkai plat nomor yang dibuat khusus

Langkah 2: Instal Ubuntu di Joule dan Pustaka yang Diperlukan yang Diperlukan untuk Menjalankannya

Karena kami telah memutuskan untuk menggunakan rute Linux, ikuti panduan https://developer.ubuntu.com/core/get-started/intel-joule untuk menginstal Ubuntu di Joule. Ubuntu memberi kita fleksibilitas yang besar untuk menjalankan sistem operasi yang sebenarnya pada chip berbasis IoT.

Langkah 3: Streaming Kamera RealSense

Streaming Kamera RealSense
Streaming Kamera RealSense
Streaming Kamera RealSense
Streaming Kamera RealSense

Karena kami menggunakan ponsel/tablet Android untuk menghemat biaya tagihan material, juga lebih mudah diakses oleh pengguna, kami akan menggunakan perpustakaan gerak untuk meng-host kamera yang mirip dengan kamera keamanan. Setelah Ubuntu diinstal dan terhubung ke wifi, kita dapat membuka terminal dan menggunakan perintah berikut. Pertama kita sambungkan kamera ke Joule melalui port USB3 kemudian lakukan langkah berikut.

A. Menginstal gerakan di ubuntu:

sudo apt-get updatesudo apt-get install motion

B. Salin file konfigurasi:

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

C. Konfigurasi file, bagi yang sudah familiar dengan ubuntu bisa menginstall Sublime untuk mempermudah mengedit teks, jika tidak kita bisa mengeditnya di dalam command line.

sudo nano ~/.motion/motion.conf

D. Setelah mencolokkan kamera R200, kita dapat mengubah baris berikut di motion.conf

Ini untuk meletakkannya di mode latar belakang:

# Mulai dalam mode daemon (latar belakang) dan lepaskan terminal (default: mati) daemon aktif

Ini untuk menggunakan tampilan kamera RealSense Camera.

# Perangkat video yang akan digunakan untuk merekam (default /dev/video0) # untuk FreeBSD default adalah /dev/bktr0 videodevice /dev/video2

Mengubah lebar dan tinggi, 1280 x 720 bekerja sangat baik untuk saya, tetapi Anda dapat bermain-main dengan dimensi untuk melihat apa yang sesuai dengan kebutuhan Anda.

# Lebar gambar (piksel). Rentang valid: Tergantung kamera, default: 352 lebar 1280 # Tinggi gambar (piksel). Rentang valid: Tergantung kamera, default: 288 tinggi 720

Saya mengatur ini ke 30, semakin tinggi Anda mengatur angka, semakin banyak daya komputasi yang dibutuhkan. Anda dapat bermain-main untuk melihat apa tolok ukurnya, tetapi 30 telah bekerja dengan baik untuk saya.

# Jumlah bingkai maksimum yang akan diambil per detik. # Rentang yang valid: 2-100. Default: 100 (hampir tidak ada batas). kecepatan bingkai 30

Karena kami selalu melakukan streaming ke belakang mobil, kami dapat mengatur port khusus, kami menggunakan 5001

############################################################# ######### # Server Streaming Langsung ################################################ ####################### # Server mini-http mendengarkan port ini untuk permintaan (default: 0 = dinonaktifkan) stream_port 5001 # Kualitas jpeg (dalam persen) gambar yang dihasilkan (default: 50) stream_quality 50 # Output frame pada 1 fps saat tidak ada gerakan yang terdeteksi dan tingkatkan ke tingkat # yang diberikan oleh stream_maxrate saat gerakan terdeteksi (default: off) stream_motion mati # Framerate maksimum untuk streaming streaming (default: 1) stream_maxrate 60 # Batasi koneksi streaming hanya ke localhost (default: aktif) stream_localhost mati

Anda kemudian dapat menjalankan ifconfig dan mencari tahu alamat ip dan menjalankannya di terminal, portnya adalah 5001.

gerakan

Jika tidak ada kesalahan, mudah untuk memeriksa kamera dari komputer Anda menggunakan ip, perbaiki kesalahan seperti masalah izin jika ada.

Setelah ini berjalan, kita dapat menambahkan ini ke aplikasi startup di Ubuntu.

Startup gerak untuk kamera

motion.conf sedang dilampirkan di bagian kode, Anda dapat melihat lebih banyak pengaturan di sana.

Langkah 4: Siapkan Walabot

Siapkan Walabot
Siapkan Walabot
Siapkan Walabot
Siapkan Walabot
Siapkan Walabot
Siapkan Walabot
Siapkan Walabot
Siapkan Walabot

Dengan kamera di tempat, kita masih perlu mengatur walabot, ini dapat mendeteksi jarak antara kendaraan ke objek di belakang, memberikan visi yang jelas tentang bagaimana seharusnya kita

a, unduh file deb dari

Ikuti instruksi dari https://api.walabot.com/_install.html#_linuxInstall untuk menginstal Walabot API sehingga dapat diimpor ke proyek python.

Ada kesalahan pada situs web di bagian pemasangan Walabot API https://walabot.com/api/_pythonapi.html#_installingwalabotapi yang menyatakan

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

Itu seharusnya

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

B. sambungkan Walabot Pro melalui USB 2, saya tidak dapat membuat usb3 berfungsi tetapi usb2 berfungsi dengan baik saat menyambungkan ke linux. Karena Joule hanya memiliki satu port USB3, sambungkan port USB2 tambahan untuk mengakomodasi Walabot Pro di sini

C. Uji proyek Walabot seperti https://github.com/Walabot-Projects/Walabot-Senso… dengan menjalankan perintah berikut di folder

python SensorTargets.py

Ini akan memberi Anda tes yang baik untuk melihat apakah Walabot berjalan dengan benar, serta bagaimana mengukur jarak pada hal-hal yang Anda inginkan. Contoh DistanceMeasure tidak terlalu konsisten pada pengukuran, dan zPosCm tampaknya sangat akurat, jadi saya memutuskan untuk menggunakan zPosCM untuk demo.

D. Kami masih perlu meneruskan data ke perangkat tampilan, karena kami menjalankan ini di android untuk mengurangi biaya bahan, kami dapat menggunakan soket. Kami menggunakan kode berikut untuk mengatur soket dan udp dengan python.

MYPORT = 5002 sistem impor, waktu dari impor soket * s = socket(AF_INET, SOCK_DGRAM) s.bind(('', 0)) s.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)

Perintah berikut akan menyiarkan data pada pembaruan

s.sendto(str(targets[0].zPosCm), ('255.255.255.255', MYPORT))

e. Ketika ini selesai, kita dapat mengaturnya di Aplikasi Startup

F. Walabot sekarang sudah setup dan mentransfer data melalui UDP, kode python lengkap dapat dilihat di area lampiran kode. Tangkapan layar di bawah ini adalah hasil cetak dari apa yang seharusnya terlihat ketika tidak ada area. Kode dilampirkan di bagian kode.

Langkah 5: Membuat Wifi Hotspot Dari Joule

Membuat Wifi Hotspot Dari Joule
Membuat Wifi Hotspot Dari Joule

Kami membuat hotspot wifi kami sendiri untuk perangkat android untuk mentransfer data. Menggunakan perintah berikut di awal akan secara otomatis mengaturnya. Ini sedang digunakan untuk Ubuntu 16.04 atau lebih baru, karena ini sedang digunakan. Kami akan secara otomatis menghubungkan ini melalui aplikasi Android di langkah berikutnya. Gunakan perintah ini di Startup Applications.

perangkat nmcli hotspot wifi con-name kendaraan-penglihatan belakang ssid kendaraan-penglihatan belakang band bg password safedriving

Di dalam file python walabot, kami juga akan memperbaruinya di mana kami akan mengirim pesan udp ke perangkat yang terhubung melalui hotspot pribadi. Hal ini untuk memastikan tidak ada paket yang hilang.

out = os.popen('ip neigh').read().splitlines()untuk i, baris di enumerate(out, start=1): ip = line.split(' ')[0] s.sendto(str (target[0].zPosCm), (ip, MYPORT))

Langkah 6: Membangun Android Sebagai Layar Tampilan

Membangun Android Sebagai Layar Tampilan
Membangun Android Sebagai Layar Tampilan

Aplikasi Android dibuat untuk menampilkan perangkat, terutama karena aplikasi ini mengurangi tagihan material karena jika tidak, layar terpisah bisa mahal dan sulit dipasang. Adapun untuk proyek ini kita dapat menggunakan ponsel/tablet Android.

Android berfokus pada 3 bagian yang telah kita lakukan sebelumnya,

  • Hubungkan ke hotspot wifi yang dibuat melalui perangkat IoT (Intel Joule)
  • Streaming Kamera RealSense melalui gerakan melalui wifi
  • Mengukur jarak dari target Walabot melalui udp

Setelah mengatur semuanya dan menginstal aplikasi Android (sumber terbuka di sini), Anda akan dapat melihat kamera bekerja bersama dengan walabot

Langkah 7: Menguji Semuanya

Image
Image
Menguji Segalanya
Menguji Segalanya
Menguji Segalanya
Menguji Segalanya

Sekarang kita menjalankan semuanya, kita harus memiliki pengaturan dasar dari semua komponen yang terpasang. Ketika kita memulai papan Joule, hotspot harus secara otomatis disetel, aplikasi gerak dan walabot akan dimulai bersamanya, dan ketika kita menghidupkan aplikasi android kita, kita harus dapat melakukan streaming dari kamera. Ini berarti keyboard/mouse dan monitor tidak lagi diperlukan agar perangkat IoT dapat berfungsi. Jika ada masalah yang terjadi saat ini seperti perpustakaan tidak terpasang dengan benar, kita harus memperbaikinya sebelum melanjutkan ke langkah berikutnya.

Pencetakan 3D casing yang dapat menampung kamera sangat penting.

Dalam membangun Perangkat Keras, kita harus menyiapkan casing cetak 3D khusus untuk kamera. Karena ini adalah prototipe, ini bisa menjadi sedikit longgar, tetapi ketika kami membuat dudukan plat nomor khusus, kami mengharapkan semua komponen berada di dalam dudukan.

Langkah 8: Menguji Mobil Asli

Image
Image
Menguji Mobil Asli
Menguji Mobil Asli
Menguji Mobil Asli
Menguji Mobil Asli

Sekarang setelah kami membuat semuanya berfungsi, kami akan dapat mengujinya di mobil sungguhan. Karena ini adalah prototipe, hal-hal dapat menjadi sedikit kasar, kami menggunakan selotip untuk beberapa komponen.

Untuk menyalakan Joule IoT Kit, kami menggunakan DC ke AC Direct Plug-in Power Inverter, lalu cukup jalankan stopkontak panjang ke bagasi.

Kami akan memiliki bagian depan dan bagian belakang. Ini hanya prototipe sekarang, versi berikutnya akan mengintegrasikan chip di dalam dudukan plat nomor.

Dan untuk bagian depan, kita bisa menggunakan dudukan telepon atau hanya lakban Tablet Android.

Langkah 9: Gunakan di Dunia

Gunakan di Dunia
Gunakan di Dunia

Dengan menggunakan alat ini, kita dapat membackup mobil dengan aman ke mobil lain dan dapat memantau pejalan kaki. Anda dapat menonton video demo di awal. Tujuan proyek ini adalah untuk mendorong praktik mengemudi yang lebih aman.

Anda dapat memeriksa proyek dari

Direkomendasikan: