Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Real-time Perencanaan Gerak Untuk Mobil Otonom dalam Berbagai Situasi, Di Bawah Simulasi Lingkungan Perkotaan

Mobil otonom canggih memiliki arti revolusioner bagi industri otomotif. Sementara semakin banyak perusahaan telah mulai membangun mobil otonom mereka sendiri, belum ada yang membawa mobil otonom praktis ke pasar. Salah satu masalah utama mobil mereka adalah kurangnya sistem perencanaan gerak real-time aktif yang andal untuk lingkungan perkotaan. Sistem perencanaan gerak waktu nyata membuat mobil dapat berkendara dengan aman dan stabil di bawah lingkungan perkotaan. Tujuan akhir dari proyek ini adalah untuk merancang dan menerapkan sistem perencanaan gerak real-time yang andal untuk mengurangi tingkat kecelakaan di mobil otonom daripada pengemudi manusia. Sistem perencanaan gerak waktu nyata mencakup pemeliharaan lajur, penghindaran rintangan, penghindaran mobil bergerak, kontrol jelajah adaptif, dan fungsi penghindaran kecelakaan. Dalam penelitian tersebut, kendaraan EGO akan dibangun dan dilengkapi dengan unit pengolah citra, LIDAR, dan dua sensor ultrasonik untuk mendeteksi lingkungan. Data lingkungan ini memungkinkan untuk menerapkan program kontrol penuh dalam sistem perencanaan gerak waktu nyata. Program kontrol akan diimplementasikan dan diuji dalam kendaraan EGO yang diperkecil dengan lingkungan perkotaan yang diperkecil. Proyek ini telah dibagi menjadi tiga fase:membangun kendaraan EGO, mengimplementasikan program kontrol sistem perencanaan gerak waktu nyata, dan meningkatkan program kontrol dengan menguji di bawah lingkungan perkotaan yang diperkecil. Pada fase pertama, setiap kendaraan EGO akan dibangun oleh kit sasis kendaraan EGO, Raspberry Pi, LIDAR, dua sensor ultrasonik, baterai, dan papan daya. Pada fase kedua, program kontrol dari sistem perencanaan gerak waktu nyata akan diimplementasikan di bawah program pemeliharaan jalur di Raspberry Pi. Python merupakan bahasa program yang akan digunakan untuk mengimplementasikan program. Pemeliharaan lajur, penghindaran rintangan, penghindaran mobil bergerak, fungsi kendali jelajah adaptif akan dibangun dalam program kendali ini. Pada fase terakhir, pekerjaan pengujian dan perbaikan akan selesai. Uji reliabilitas akan dirancang dan dipenuhi. Semakin banyak pengambilan data dari pengujian, semakin stabil sistem perencanaan gerak waktu nyata yang dapat diimplementasikan. Akhirnya, satu sistem perencanaan gerak yang andal akan dibangun, yang akan digunakan di

kendaraan EGO skala normal untuk mengurangi tingkat kecelakaan secara signifikan di bawah lingkungan perkotaan.

Pengantar

Sudah ada banyak mobil otonom level 3 yang diproduksi di pasar, yang memungkinkan pengemudi untuk sepenuhnya lepas tangan, tidak memperhatikan, dengan membiarkan komputer mengambil alih tugas mengemudi. Namun, konsumen memiliki akses terbatas untuk menggunakan fungsi-fungsi tersebut karena masalah keamanan saat mengendarai mobil otonom level 3 mereka karena mobil level 3 tidak dapat sepenuhnya mengambil alih pekerjaan mengemudi dari manusia. Dengan demikian, sebagian besar negara menganggap mobil level 3 tidak sepenuhnya aman dan dapat diandalkan. Meskipun mobil level 3 secara teknis bisa otonom, komputer belum matang dalam menangani keadaan darurat. Mobil otonom tingkat yang lebih tinggi (level 4) diperlukan untuk membebaskan pengemudi secara fisik dan bahkan psikologis. Dengan demikian, untuk membangun mobil otonom level 4 dan menyediakannya ke pasar adalah prioritas penelitian. Untuk membuat hal ini praktis dalam kehidupan sehari-hari, ada banyak sistem yang perlu dilengkapi, dan salah satunya adalah sistem perencanaan gerak real-time. Ini akan menerima sinyal yang diproses dari unit pemrosesan gambar, LIDAR, dan sensor ultrasonik untuk mencapai banyak fungsi yang berguna untuk mobil level 4. Seperti, fungsi penghindaran rintangan yang andal, dll. Namun yang menjadi masalah adalah sebagian besar dari fungsi-fungsi tersebut untuk dipasang di dalam mobil masih merupakan fungsi pasif dan hanya didesain untuk jalan raya. Singkatnya, dalam penelitian ini diperlukan untuk merancang sistem perencanaan gerak real-time yang lebih cerdas dan dapat diandalkan untuk lingkungan perkotaan. Penelitian ini akan didasarkan pada lingkungan perkotaan yang diperkecil dengan kendaraan EGO yang diperkecil untuk merancang dan menguji algoritme dalam sistem perencanaan gerak waktu nyata. Logika kontrol mobil dan algoritme yang andal adalah poin kunci untuk merancang sistem perencanaan gerak real-time yang cerdas dan andal untuk lingkungan perkotaan. Pada fase pertama proyek, tim perangkat keras akan membangun kendaraan EGO dengan perangkat keras yang dibeli. Setiap kendaraan EGO akan dibangun dengan kit sasis kendaraan, Raspberry Pi, LIDAR, dua sensor ultrasonik, baterai, dan papan daya. Fase kedua proyek sistem perencanaan gerak waktu nyata akan dimulai setelah persiapan perangkat keras selesai. Tim kontrol akan menggunakan kode yang dibuat dari tim pemrosesan gambar untuk membangun algoritma penjagaan jalur terlebih dahulu. Sistem perencanaan gerak kendaraan secara real-time akan dibangun setelah algoritma penjagaan lajur dibangun. Dalam sistem perencanaan gerak real-time, LIDAR akan digunakan sebagai sensor utama kendaraan. Metode yang sesuai akan ditemukan, yang akan memungkinkan LIDAR digunakan untuk mendeteksi rintangan dan mengirim sinyal yang dapat digunakan kembali untuk pemrograman selanjutnya. Ada tiga fungsi utama yang akan dibangun dalam proyek sistem perencanaan gerak real-time. Fungsi pertama adalah penghindaran rintangan, yang dapat membiarkan kekuatan kendaraan EGO berhenti di depan rintangan. Fungsi kedua adalah penghindaran mobil bergerak, yang memungkinkan kendaraan EGO berpindah jalur untuk menghindari kecelakaan mobil dan kembali ke jalur semula. Fungsi terakhir adalah adaptif cruise control, yang memungkinkan kendaraan EGO untuk menyesuaikan kecepatannya sendiri untuk menjaga jarak aman dari mobil depan. Berdasarkan ketiga fungsi tersebut, akan terbentuk fungsi dasar penghindaran kecelakaan pada sistem perencanaan gerak secara real-time. Pada fase terakhir proyek, sistem perencanaan gerak waktu nyata yang dibangun akan

menerapkan dan menguji kendaraan EGO di bawah lingkungan perkotaan yang diperkecil. Beberapa tes akan dirancang untuk menguji keandalan sistem perencanaan gerakan waktu nyata dan merangkum peningkatan masa depan dari sistem perencanaan gerakan waktu nyata.

Perangkat Keras

Kendaraan EGO yang diperkecil pada gambar 1 digunakan sebagai objek uji dalam proyek ini. Robot-robot ini dibuat berdasarkan kit sasis robot dengan motor DC. Kit sasis robot dengan motor DC menghadirkan kerangka yang dapat digunakan dan sistem penggerak untuk kendaraan EGO. Berdasarkan ekspansibilitasnya, komponen lain dapat ditambahkan pada sasis, yang meliputi Raspberry Pi, sirkuit motor, LIDAR, dua sensor ultrasonik, dan bank baterai. Raspberry Pi telah dipilih sebagai platform komputasi untuk proyek ini karena merupakan platform yang matang, dan kode Python dapat diimplementasikan di dalamnya. Sirkuit motor digunakan untuk mendistribusikan jumlah daya yang sesuai ke motor DC dan membuat robot bergerak, dengan instruksi dari logika kontrol. LIDAR digunakan sebagai sensor utama untuk sistem perencanaan gerakan waktu nyata ini karena mereka dapat membawa kemampuan pendeteksian rintangan (jauh dari 15cm) ke kendaraan EGO yang diperkecil ini, dan kemampuan pendeteksian rintangan adalah kemampuan dasar yang paling penting untuk waktu nyata ini. sistem perencanaan gerak pada proyek ini. Sensor ultrasonik memungkinkan kendaraan EGO memiliki kemampuan untuk mendeteksi objek yang lebih dekat di bawah jarak 15 cm yang tidak dapat dideteksi oleh LIDAR. Bank baterai digunakan sebagai sumber daya untuk kendaraan EGO ini, dan dapat membawa daya ke Raspberry Pi, LIDAR, dan motor. Detail Diagram Blok koneksi perangkat keras ditunjukkan di bawah ini pada gambar 2.

Sasis kendaraan EGO yang diperkecil:

Adafruit (PID 3244) Mini 3-Layer Round Robot Chassis Kit – 2WD dengan Motor DC yang ditunjukkan pada gambar 3 digunakan sebagai chassis untuk proyek ini. Perluasan sasis memungkinkan komponen dapat ditambahkan di atasnya. Selain itu, kit sasis mencakup dua motor dan roda, yang berarti juga mencakup satu sistem tenaga dalam kit ini. Sistem tenaga ini membuat tim perangkat keras dapat dengan mudah membangun kendaraan EGO tanpa waktu ekstra untuk menemukan sistem tenaga yang cocok untuk sasis robot.

Raspberry Pi:

Ada beberapa model Raspberry Pi yang dapat digunakan untuk proyek ini, dan Raspberry Pi 3B+ yang ditunjukkan pada gambar 4 telah dipilih untuk digunakan dalam proyek ini. Alasan utama memilih Raspberry Pi 3B+ adalah, ia memiliki daya komputasi yang cukup untuk proyek ini. Selain itu, ia memiliki Wi-Fi internal, dan efisiensi transmisi Wi-Fi lebih cepat daripada model sebelumnya. Selain itu, Raspberry Pi 3B+ hanya membutuhkan input sumber daya 5V/1.5A dan di pasaran, ada banyak bank baterai yang dapat dipilih untuk memenuhi kebutuhan daya ini. Ini juga alasan yang sama mengapa Raspberry Pi 4 belum dipilih. Raspberry Pi 4 membutuhkan input sumber daya 9V/2A, dan di pasaran, baterai yang memiliki output 9V/2A mahal dan langka. Tidak hanya itu, Raspberry Pi 4 juga memiliki harga yang lebih mahal dari Raspberry Pi 3B+, bahkan kedua model ini memiliki daya komputasi yang hampir sama. Pin GPIO pada Raspberry Pi akan digunakan sebagai pin input untuk menerima sinyal dari LIDAR, dua buah sensor ultrasonik; juga, pin GPIO akan menjadi pin keluaran untuk mengirim sinyal ke driver motor.

Sirkuit Pengemudi Motor (Papan Daya):

Driver motor DRV8833 yang ditunjukkan pada gambar 3 telah dipilih untuk proyek ini. Pengemudi motor dapat mendistribusikan daya ke motor dan menerima perintah kontrol dari Raspberry pi. Ada empat pin input (AIN1,2; BIN1,2), empat pin output (AOUT1,2; BOUT1,2), satu pin ground (GND), satu pin SLP, dan satu pin VM digunakan dalam proyek ini (gambar 5). Pin output digunakan untuk mendistribusikan daya ke dua motor ini dan mengontrol kedua motor ini agar kendaraan EGO dapat bergerak. Pin input digunakan untuk menerima sinyal kontrol dari pin GPIO pada Raspberry Pi dan membiarkan kedua motor ini berputar sesuai kebutuhan operator. Pin VM akan menerima daya dari pin bank baterai '+' yang dikenal sebagai VCC. Pin SLP akan terhubung dengan pin VM yang merupakan pin enable untuk driver motor. Hubungkan ke VCC untuk mengaktifkannya atau pin tinggi GPIO untuk kontrol. Pin GND akan menghubungkan pin bank baterai '-' dan pin ground Raspberry Pi. Gambar 6 menunjukkan detail sambungan power board dalam bentuk Block Diagram.

Papan PCB akan menjadi platform bagi pengemudi motor untuk membuat papan daya. Driver motor dapat dicolokkan dan dilepas dengan mudah di sirkuit papan PCB ini. Ini menghindari untuk langsung menyolder driver motor pada papan PCB. Karena kemajuan untuk memperbaiki driver motor yang disolder pada papan PCB lebih sulit daripada memperbaiki papan PCB dengan sirkuit ini, prosedur ini memungkinkan anggota tim proyek untuk menghindari menyolder driver motor langsung pada papan PCB. (gambar 7 dan gambar 8)

LIDAR:

LIDAR pada gambar 9 telah dipilih untuk proyek ini. Lingkungan sekitar dapat dideteksi oleh LIDAR untuk menghasilkan data jarak dan sudut, berdasarkan ini, kendaraan EGO akan memiliki kemampuan deteksi, dan penghindaran rintangan, penghindaran mobil bergerak, fungsi kontrol adaptif dapat dibangun dalam sistem perencanaan gerak waktu nyata. LIDAR memiliki satu port micro-USB yang dapat langsung terhubung ke Raspberry Pi, biarkan Raspberry Pi membaca data dari LIDAR. Selain itu, LIDAR akan menerima daya dari Raspberry Pi melalui port USB yang sama.

Baterai:

Ukuran bank baterai adalah masalah utama dari proyek ini. Karena kendaraan EGO memiliki ruang terbatas untuk menempatkan baterai, baterai ramping lebih memilih untuk dipilih. Baterai bank harus memiliki kapasitas daya minimal 10000mAh untuk memastikan dua motor, dua Raspberry Pi, satu LIDAR dapat bekerja dengan baik pada setiap kendaraan EGO. Ukuran baterai juga harus sesuai dengan ukuran kendaraan EGO mungkin. Dengan demikian, Pengisi Daya Portabel Anker Power Core 13000 yang ditunjukkan pada gambar 10 dipilih untuk proyek ini karena tidak hanya sesuai dengan ukuran kendaraan EGO, tetapi juga memiliki kapasitas daya 13000mAh.

Sensor Ultrasonik:

Sensor ultrasonik pada gambar 11 digunakan untuk mendeteksi jarak dekat karena jarak deteksi minimum untuk LIDAR adalah 15 cm, halangan lain yang lebih dekat dari 15cm tidak dapat dideteksi oleh LIDAR. Sensor ultrasonik dapat mendeteksi jarak dekat bahkan di bawah 5cm. Jadi, ada dua sensor ultrasonik yang dipasang di sisi kiri dan kanan kendaraan EGO untuk mendeteksi mobil di jalur mundur. Pin VCC terhubung ke pin 2 atau pin 4 yang merupakan pin VCC Raspberry Pi, dan GND terhubung ke pin ground Raspberry Pi

Perangkat Lunak

Dalam proyek ini, kendaraan EGO perlu dikendalikan secara nirkabel. Untuk memungkinkan, monitor dan shell di Raspberry Pi harus terhubung secara nirkabel ke PC/Mac lokal. Untuk mencapai hal ini, perintah shell nirkabel dan perangkat lunak koneksi VNC [7] perlu digunakan. Selain itu, dalam proyek ini, Python 3 dipilih sebagai bahasa pemrograman karena matang dan mudah digunakan. Ada banyak paket pada python yang dapat digunakan pada proyek ini, misalnya python memiliki paket LIDAR [6] yang dapat digunakan untuk mengontrol LIDAR yang digunakan dalam proyek ini. Paket LIDAR hanya dapat diimplementasikan pada lingkungan Python 3. Semua perangkat lunak akan berjalan di sistem operasi Raspbian di Raspberry Pi.

Hubungkan Shell di Raspberry Pi dengan PC/MAC lokal:


Kendaraan EGO perlu dikontrol secara nirkabel, dan shell di Raspberry Pi harus terhubung ke shell PC/MAC lokal. Untuk menghubungkan shell perintah berikut harus dimasukkan:
Pertama, masukkan perintah 'sudo raspi-config' di Pi shell untuk mengaktifkan server ssh di Pi. Selanjutnya, masukkan perintah 'ifconfig' di Pi shell, alamat IP '192.168.xxx.xxx' akan ditemukan mengikuti perintah ini. Di shell PC/MAC lokal, masukkan perintah 'ssh [email protected]' untuk menghubungkan shell Pi. Nama pengguna default Raspberry Pi adalah 'pi', dan kata sandi default Raspberry Pi adalah 'raspberry' harus dimasukkan. Terakhir, shell Raspberry Pi dapat dikontrol oleh shell PC/MAC lokal.

Versi Python:


Di papan versi Raspberry Pi 3B+, Python 2 adalah lingkungan program default, namun paket LIDAR hanya dapat digunakan di bawah lingkungan Python3. Perintah berikut akan digunakan untuk mengatur Python 3 sebagai lingkungan program default di shell:

Pertama-tama masukkan 'sudo rm /usr/bin/python' untuk menghapus tautan Python default dari default sistem

tautan. Selanjutnya, masukkan 'sudo

-s /usr/bin/python3.X

perintah untuk menetapkan kembali yang baru

tautan python default ke versi Python perlu digunakan. Dalam perintah ini, 'X' berarti Python3

versi yang sudah diinstal. Setelah ini, masukkan 'Python' untuk memeriksa ulang versi default Python.

Paket LIDAR:

Paket LIDAR perlu diinstal agar sinyal dari LIDAR dapat diprogram. Di bawah lingkungan Python3, di jendela shell, masukkan perintah berikut untuk menginstal paket LIDAR:Masukkan 'sudo pip3 install LIDAR' untuk menginstal paket LIDAR.

Koneksi VNC:

Server VNC dan program koneksi VNC telah dipilih untuk digunakan dalam proyek ini, agar PC/MAC lokal memiliki kemampuan untuk memantau Raspberry Pi secara Nirkabel. Untuk mengaktifkan server VNC dan menginstal VNC connect, perintah berikut harus dimasukkan:
Pertama, masukkan perintah 'sudo raspi-config' untuk masuk ke menu pengaturan Raspberry Pi. Selanjutnya, masukkan perintah 'vncserver' untuk mengaktifkan server VNC di Raspberry Pi (setelah me-reboot Pi, pengaturan ini perlu diaktifkan kembali). Kemudian, unduh dan instal koneksi VNC di PC/MAC lokal. Setelah itu, masukkan alamat IP Raspberry Pi yang ditemukan sebelumnya di bilah alamat koneksi VNC. Masukkan username dan password Raspberry Pi yang sudah disebutkan di bagian shell. Terakhir, PC/MAC lokal dapat memantau Raspberry Pi secara nirkabel.

Metodologi

Fase1:

Kendaraan EGO akan dirakit oleh Raspberry Pi, power board, LIDAR, dua sensor ultrasonik dan bank baterai. Setelah perakitan, perangkat lunak termasuk python, paket LIDAR, koneksi VNC, dan koneksi shell akan diinstal dan diatur dengan tepat. Cara untuk mentransfer LIDAR dari data mentah yang dapat dibaca ke data deteksi yang dapat digunakan untuk pemrograman fase berikutnya akan ditemukan. Kendaraan EGO akan disiapkan setelah tiga langkah sebelumnya, dan siap untuk pemrograman dan pengujian.

Fase2:

Tiga skenario untuk menguji fungsi penghindaran rintangan, fungsi penghindaran mobil bergerak, dan fungsi kendali jelajah adaptif akan dirancang. Mengikuti tiga skenario, logika kontrol dari tiga fungsi akan dirancang, dan tiga diagram alur dari tiga logika kontrol akan dibuat sketsa. Setelah diagram alur dibuat, beberapa kali revisi diagram alur harus dilanjutkan, sampai logika kontrol secara logis teliti. Kemudian, program dan algoritma dari tiga fungsi yang terpisah akan diprogram melalui diagram alir. Kendaraan EGO akan siap untuk menguji tiga fungsi di fase terakhir.

Fase3:

Kelompok pertama pengujian yang andal akan dilakukan di bawah tiga skenario yang dirancang dengan tiga fungsi terpisah. Masalah dan perbaikan di masa depan akan ditemukan dengan tes ini. Selanjutnya, mengikuti masalah yang ditemukan ini dan perbaikan di masa depan, logika kontrol, program tiga fungsi, algoritma, dan perangkat keras akan ditingkatkan; masalah akan diperbaiki. Tiga fungsi terpisah akan digabungkan dengan program pemeliharaan lajur sebagai satu sistem perencanaan gerak waktu nyata yang berfungsi penuh untuk proyek ini. Kelompok kedua tes yang andal akan dilakukan di bawah tiga skenario yang dirancang dengan fungsi yang sudah digabungkan ini. Setelah dua kelompok pengujian yang andal selesai, versi final dari sistem perencanaan gerak real-time dari proyek ini akan selesai.

LIDAR

Ada empat jenis data yang dapat dibaca dari LIDAR, dan hanya dua jenis data yang akan digunakan dalam proyek ini, yaitu sudut dan jarak. Pengukuran sudut dalam satuan derajat [0,360), dan pengukuran jarak akan lebih besar dari 15cm (jarak lain lebih rendah dari 15cm, nilai 0 akan dikirim kembali). Kendala yang dihadapi hanya data jarak dan sudut yang dapat dibaca dari LIDAR, namun bagaimana data tersebut dapat digunakan dalam pendeteksian halangan? Solusinya adalah dengan membagi rentang deteksi LIDAR menjadi 4 bagian dan mendeteksi nilai jarak rintangan untuk membuat keputusan untuk mengontrol langkah gerak kendaraan selanjutnya. Seperti yang ditunjukkan pada gambar 12, 315 derajat hingga 45 derajat adalah bagian depan, dan 135 derajat hingga 225 derajat adalah bagian belakang. Karena Lidar hanya bisa mendeteksi objek lebih jauh dari 15cm, maka untuk saat ini hanya dua bagian yang digunakan. Untuk bagian kiri dan kanan, sensor ultrasonik dapat menangani tugas pendeteksian untuk kedua bagian ini.

Ini adalah grafik yang menunjukkan cara kerja dua bagian deteksi ini di jalan:

Seperti yang ditunjukkan gambar 13, kendaraan EGO berjalan di jalur kanan, dan Mobil B berjalan di jalur mundur. Lingkaran hijau di sekitar kendaraan EGO adalah jangkauan deteksi yang valid yang disebutkan sebelumnya. Rentang deteksi akan dibagi empat bagian, dan jarak deteksi lebih besar dari 15cm. Saat diuji, bagian deteksi maju ini tidak akan terpengaruh oleh mobil B, kecuali jika mobil B melewati garis putus-putus di antara dua jalur.

Perumusan Masalah

Penghindaran Rintangan:

Ada tiga skenario yang dipertimbangkan. Skenario pertama adalah untuk menguji fungsi penghindaran rintangan yang ditunjukkan pada gambar 14. Ada satu rintangan di tengah jalan, dan kendaraan EGO bergerak mendekatinya, dan mobil B berjalan mundur di jalur lain tepat di samping kendaraan EGO . Kendaraan EGO tidak dapat berpindah jalur untuk menghindari kecelakaan karena akan menabrak mobil B. Satu-satunya pilihan yang tersisa untuk mobil A adalah berhenti total di depan rintangan yang dihadapi.

Penghindaran Mobil Bergerak (Skenario Penghindaran Rintangan Lain):

Skenario kedua dirancang berdasarkan skenario penghindaran rintangan lain dan dinamai sebagai fungsi penghindaran mobil bergerak pada gambar 15. Mobil B berjalan ke arah yang salah, dan pada jalur yang sama dari kendaraan EGO. Kali ini, tidak ada mobil atau rintangan di jalur lain, sehingga kendaraan EGO dapat memilih untuk mengubah jalur untuk menghindari mobil B, dan setelah menghindari mobil B, kendaraan EGO dapat kembali ke jalur yang benar.

Skenario terakhir dirancang untuk menguji fungsi cruise control adaptif pada gambar 16. Mobil B bergerak maju, kendaraan EGO perlu menjaga jarak aman dari mobil B untuk menghindari kecelakaan. Kendaraan EGO akan menyesuaikan kecepatannya sendiri untuk menjaga jarak aman.

Kontrol Pelayaran Adaptif:

Logika Kontrol

Definisi Variabel:

Logika Kontrol Penghindaran Rintangan:

Pada logika kontrol penghindaran rintangan ditunjukkan pada gambar 17, jika pendeteksian jarak berada pada jarak terjauh, mobil akan tetap maju. Jika deteksi jarak berada dalam jarak bahaya, dan deteksi sudut menunjukkan hambatan berada di bagian deteksi maju. Kemudian, kendaraan EGO akan mendeteksi jalur mundur, dan jika ada hambatan atau mobil di jalur mundur, kendaraan EGO akan berhenti total.

Logika Kontrol Penghindaran Mobil Bergerak:

Dalam logika kendali penghindaran mobil bergerak ditunjukkan pada gambar 18, jika pendeteksian jarak berada pada jarak terjauh, mobil akan tetap maju. Jika deteksi jarak berada dalam jarak bahaya, dan deteksi sudut menunjukkan hambatan berada di bagian deteksi maju. Kemudian, kendaraan EGO akan mendeteksi jalur mundur, dan jika tidak ada hambatan atau mobil di jalur mundur terdeteksi oleh sensor ultrasonik, kendaraan EGO akan beralih ke jalur mundur untuk menghindari mobil ke arah yang salah. Setelah tidak ada halangan atau mobil di jalur semula, maka kendaraan EGO akan kembali ke jalur semula.

Logika Kontrol Fungsi Kontrol Pelayaran Adaptif:

Dalam skenario fungsi cruise control adaptif, ada dua masalah yang akan dihadapi, salah satunya adalah kendaraan EGO bergerak terlalu cepat, yang lainnya adalah kendaraan EGO bergerak terlalu lambat. Pada gambar 19 adalah logika kontrol penuh dari fungsi kontrol jelajah adaptif.

Logika Kontrol Gabungan:

Berikut adalah diagram alur logika kontrol untuk logika kontrol gabungan dari tiga logika kontrol sebelumnya:

Dalam logika gabungan, pemeliharaan jalur, dan program cruise control adaptif tidak akan diubah. Namun, fungsi penghindaran rintangan dan fungsi penghindaran mobil bergerak akan digabungkan sebagai satu fungsi. Sebelumnya, fungsi penghindaran rintangan hanya dapat membuat mobil berhenti sepenuhnya oleh rintangan di tengah jalan, tetapi apa langkah selanjutnya dari pujian kontrol? Fungsi ini dapat digabungkan dengan fungsi penghindaran mobil bergerak yang dapat melewati mobil yang datang dan berpindah jalur. Dalam fungsi penghindaran rintangan, mobil dapat menggunakan sensor ultrasonik dan LIDAR untuk mendeteksi lingkungan, untuk memeriksa apakah ada mobil lain di jalur lain, setelah berhenti sepenuhnya di depan rintangan. Jika tidak ada mobil atau rintangan di jalur mundur, maka mobil dapat melewati rintangan tersebut, dan melanjutkan perjalanannya.

Hasil

Hasil Sebelumnya:

Kendaraan EGO berhasil dirakit dengan perangkat keras yang telah dipilih untuk digunakan. Tim penjaga jalur berhasil menerapkan program pemeliharaan jalur yang dapat digunakan berdasarkan hasil kerja tim pengolah citra yang akan menggunakan sinyal dari kamera. Data mentah LIDAR ditransfer secara tepat ke data yang dapat digunakan dengan metode pemrograman yang disebutkan sebelumnya. Sistem perencanaan gerak waktu nyata dengan penghindaran rintangan, penghindaran mobil bergerak, dan fungsi kendali jelajah adaptif telah dibangun sebagai tiga program kendali terpisah berdasarkan program penjagaan lajur. Pengujian sebelumnya didasarkan pada tiga program kontrol terpisah ini untuk menguji stabilitas, karena menggabungkannya bersama-sama untuk menguji stabilitas lebih sulit daripada mengujinya secara terpisah. Fungsi penghindaran rintangan bekerja dengan baik, kendaraan EGO dapat memaksa berhenti di depan rintangan yang telah ditentukan. Namun, kendaraan EGO terlalu berat dengan dua papan Raspberry Pi dan satu  LIDAR, terkadang kendaraan EGO

akan terbalik karena bobotnya yang berat. Dalam fungsi penghindaran mobil bergerak, logika pergantian jalur bekerja dengan baik, namun rute penghindarannya tidak persis seperti yang diharapkan. Dua sensor ultrasonik harus ditambahkan pada kendaraan EGO, agar kendaraan EGO dapat mendeteksi objek lebih dekat dari 15cm terutama rintangan di sisi kiri dan kanan. Pada fungsi cruise control adaptif, program distance adjust control bekerja, namun selama proses penyesuaian jarak, kecepatan kendaraan EGO tidak stabil seperti yang diharapkan. Alasannya adalah logika kontrol dari cruise control adaptif hanya membiarkan mobil mempercepat dan memperlambat dalam jumlah kecepatan yang sama. Algoritme penyesuaian jarak yang lebih cerdas harus ditambahkan dalam logika kontrol fungsi kendali jelajah adaptif.

Hasil yang Diharapkan:

Setelah hasil tes dari tes sebelumnya, beberapa perbaikan telah diterapkan pada program kontrol dan kendaraan EGO. Pertama, berat dan tinggi kendaraan EGO telah dikurangi untuk mengurangi risiko terguling. Selanjutnya, dua sensor ultrasonik dan program pengiring telah ditambahkan dalam program kontrol penghindaran mobil bergerak, yang membuat kendaraan EGO memiliki kemampuan deteksi yang lebih tepat untuk jarak objek sisi kiri dan kanan ke kendaraan EGO. Kemudian, satu algoritma penyesuaian jarak yang lebih cerdas telah ditambahkan di bagian cruise control adaptif. Berbeda dari logika kontrol sebelumnya, satu algoritma percepatan dan perlambatan telah ditambahkan, kendaraan EGO dapat mempercepat dan memperlambat dalam satu persen dari kecepatan saat ini atau lima persen dari kecepatan saat ini sesuai permintaan. Terakhir, ketiga fungsi tersebut akan digabungkan dengan program lanekeeping sebagai versi final dari sistem perencanaan gerak real-time dalam proyek ini.

Untuk perbaikan pertama, berat dan tinggi kendaraan EGO telah dikurangi, mereka akan secara signifikan mengurangi risiko terbalik. Pengurangan berat kendaraan EGO akan mengurangi gaya inersia kendaraan EGO selama proses force stop. Menurut hukum gerak kedua Newton, gaya inersia sama dengan waktu percepatan terhadap massa benda. Karena, pada tingkat percepatan yang sama seperti sebelumnya, untuk mengurangi massa (berat) kendaraan EGO akan secara signifikan mengurangi gaya inersia yang ditanggung oleh kendaraan EGO. Ini akan mengurangi risiko flip down selama proses force stop secara langsung. Selain itu, pengurangan ketinggian akan mengurangi posisi pusat gravitasi

kendaraan EGO, yang juga akan mengurangi risiko flip down. Sebelumnya, ada papan Raspberry Pi lain di bagian atas kendaraan EGO, untuk melepasnya akan mengurangi posisi pusat gravitasi kendaraan EGO. Alasannya sederhana, posisi pusat gravitasi kendaraan EGO mempengaruhi kestabilannya. Semakin rendah posisi center of gravity, semakin stabil EGO kendaraan tersebut. Dengan demikian, perbaikan pertama akan berhasil mengurangi risiko flip down selama proses fungsi penghindaran objek diterapkan.
Untuk peningkatan kedua, dua sensor ultrasonik telah ditambahkan pada kendaraan EGO untuk mendeteksi sisi kiri dan kanan -jarak objek samping ke kendaraan EGO. Pada pengujian sebelumnya, kendaraan EGO tidak dapat mendeteksi jarak objek sisi kiri dan kanan ke kendaraan EGO karena LIDAR tidak dapat mendeteksi objek yang lebih dekat dari 15cm ke kendaraan EGO. Setelah dua sensor ultrasonik ditambahkan pada kendaraan EGO dan logika kontrol fungsi penghindaran mobil bergerak, kendaraan EGO dapat berkendara di rute yang jauh lebih tepat saat berpindah ke jalur mundur dan kembali ke jalur semula. Sebelumnya, LIDAR hanya peralatan pendeteksi lingkungan yang dapat digunakan untuk fungsi penghindaran mobil bergerak, rute penghindaran mobil bergerak telah diatur sebelumnya. Kendaraan EGO dapat melaju mengikuti rute yang telah ditentukan setelah ada benda (mobil) di depannya. Inilah alasan mengapa rute penghindaran tidak bisa tepat sebelum perbaikan. Setelah perbaikan, kendaraan EGO akan mendeteksi jarak objek sisi kiri dan kanan ke kendaraan EGO. Kendaraan EGO akan memulai proses penghindaran untuk mengubah jalur begitu ada objek di depannya yang terdeteksi oleh LIDAR, kemudian sensor ultrasonik akan mulai mendeteksi jarak objek dua sisi. Setelah sensor ultrasonik mendeteksi tidak ada objek di bawah 10cm ke kendaraan EGO, maka kendaraan EGO dapat memulai proses drive back untuk kembali ke jalur semula. Singkatnya, perbaikan kedua membuat kendaraan EGO akan memiliki rute yang lebih tepat selama proses penghindaran mobil bergerak.
Untuk perbaikan terakhir, satu algoritma penyesuaian jarak yang lebih cerdas akan ditambahkan. Algoritme ini akan membuat proses percepatan dan perlambatan kendaraan EGO lebih lancar dari sebelumnya, karena pengaturan kecepatan bukan lagi nilai tetap, itu akan menjadi nilai dinamis. Dalam pengujian sebelumnya, karena algoritme tidak cukup cerdas, mobil hanya dapat mempercepat dan memperlambat nilai kecepatan tetap yang telah ditetapkan. Proses cruise control adaptif tidak akan cukup mulus, dan kendaraan EGO terlihat seperti kabel selama proses penyesuaian jarak ke mobil depan. Setelah algoritma yang lebih cerdas ditambahkan dalam program kontrol adaptif cruise control, kendaraan EGO dapat mempercepat dan memperlambat dalam satu persen dari kecepatan saat ini atau lima persen dari kecepatan saat ini, prosesnya akan lebih lancar dari sebelumnya. Pasalnya, kecepatan akan didasarkan pada kecepatan saat ini untuk menyesuaikan secara dinamis, dan kendaraan EGO akan mempercepat dan memperlambat dengan lebih mulus karena kecepatannya terus menerus dan memiliki sedikit fluktuasi. Singkatnya, peningkatan terakhir akan membuat kendaraan EGO mengemudi lebih mulus selama proses penyesuaian jarak di bawah fungsi kendali jelajah adaptif.

Setelah tiga perbaikan dalam tiga program kontrol terpisah dari tiga fungsi dalam sistem perencanaan gerak waktu nyata, ketiga program kontrol terpisah ini akan digabungkan dengan program pemeliharaan lajur untuk menghasilkan sistem perencanaan gerak waktu nyata akhir. Karena ketiga program kontrol terpisah ini akan bekerja dengan baik diikuti oleh peningkatan ini, program pemeliharaan jalur akan dengan mudah digabungkan dengannya. Setelah program lanekeeping ditambahkan, kendaraan EGO akan melaju tepat di lane dan menghindari melewati garis. Ini akan membuat kendaraan EGO mengemudi lebih stabil dari sebelumnya di bawah lingkungan perkotaan yang diperkecil.

Peningkatan di Masa Depan

Banyak aspek perbaikan ke depan yang bisa dibayangkan dari proyek ini. Pertama, fungsi perencanaan gerak waktu nyata tidak cukup. In the future, there are many ways to combine and improve these three functions makes the EGO vehicle have more and more functions, to generate a real-time motion planning system in fully functional. Secondly, the algorithm of lane keeping, adaptive cruise control, and moving car avoidance are not smart enough. There exists more advance algorithm for these three functions need to be found. For example, even the distance detection algorithm in adaptive cruise control already has been improved, however, there is still have possibility to improve the algorithm. Currently, the speed adjustment is based on five percent

of current speed or one percent of current speed, however, the speed adjustment is not dynamically. If there is an algorithm of memory for saving current speed or speed calculation based on distance and time can be added, then, the adaptive cruise control will be prefect. Also, multiple EGO vehicle driving on the same scaled-down urban environment, and EGO vehicle communication system need to be added in the real-time motion planning system to manage the traffic. In short, there will be a lot of aspects in the real-time motion planning system need to be improved in the future work.

Kesimpulan

Hardware and software are assembled and set appropriately in this project. The LIDAR raw data are appropriately transfer to usable data by the previous mentioned method for programing. Three different scenarios have been designed for testing obstacle avoidance function, moving car avoidance function, and adaptive cruise function. The control logic based on obstacle avoidance scenario, moving car avoidance scenario, and adaptive cruise control scenario have been designed and programmed. If the test results as expect, the real-time motion planning system has been implemented and works perfect in these three scenarios. However, the current real-time motion planning system is not perfect yet, it needs more works and more times to improve it. These three functions are the most basic function in real-time motion planning system. The final goal is to make this EGO vehicle has accident avoidance function; however, these three functions cannot let the EGO vehicle has the fully functional accident avoidance function. Apply permutations and combinations of these three basic functions will generate more possibility, which will bring a lot of different new functions in the real-time motion planning system.

Acknowledgements

First and foremost, I would like to show my deepest gratitude to my research advisor, Dr. Lisa Fiorentini, who has provided me with valuable guidance in every stage of the project and writing of this thesis. Without her instruction, kindness and patience, I could not have completed my thesis. I shall extend my thanks to my mom for all her encouragement and mental help. The work of last two semesters exhausted me, since I have onerous courses, individual research, and written work for applying graduate school. Without her encouragement and mental help, I cannot stick to now. Finally, I would like to thank all my friends, for their encouragement and support.

Reference

  1. Aqib, “What is Raspberry pi? Getting Started with Raspberry Pi 3,” Electronics Hobbyists, 18-Jan-2019. [Online]. Available:https://electronicshobbyists.com/tutorial-1-what-is-raspberry-pi-getting-started-with- raspberry-pi-3/. [Accessed:25-Apr-2020].
  2. Adafruit Industries, “Mini 3-Layer Round Robot Chassis Kit – 2WD with DC Motors,” adafruit industries blog RSS. [Online]. Available:https://www.adafruit.com/product/3244. [Accessed:25-Apr-2020].
  3. Adafruit Industries, “Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board,” adafruit industries blog RSS. [Online]. Available:https://www.adafruit.com/product/3297. [Accessed:25-Apr-2020].
  4. T. Huang, “RPLIDAR-A1 360°Laser Range Scanner _ Domestic Laser Range Scanner,” SLAMTEC. [Online]. Available:https://www.slamtec.com/en/Lidar/A1. [Accessed:25-Apr-2020].
  5. “PowerCore 13000,” Anker. [Online]. Available:https://www.anker.com/store/powercore- 13000/A1215011. [Accessed:25-Apr-2020].
  6. “Welcome to lidar’s documentation! ¶,” Welcome to lidar’s documentation! – lidar documentation. [Online]. Available:https://lidar.readthedocs.io/en/latest/. [Accessed:25-Apr-2020].
  7. “RealVNC,” Download VNC Viewer for macOS | VNC® Connect. [Online]. Available:https://www.realvnc.com/en/connect/download/viewer/macos/. [Accessed:25-Apr-2020].
  8. Adafruit Industries, “HC-SR04 Ultrasonic Sonar Distance Sensor 2 x 10K resistors,” adafruit industries blog RSS. [Online]. Available:https://www.adafruit.com/product/3942. [Accessed:25-Apr-2020].

Proses manufaktur

  1. Computer Vision sebagai Sensor Gerak untuk SmartThings
  2. Sistem Sensor Gerak Inframerah DIY untuk Raspberry Pi
  3. AI Pengemudi Otomatis untuk Pengumpul Sampah Mobil Keledai
  4. Perencanaan Pemeliharaan:Apa untungnya bagi Anda?
  5. Mempersiapkan masa depan yang mandiri
  6. Beberapa Penggunaan untuk Platform Cart
  7. Sistem Pelacakan Gerak 3D untuk Teknologi Otonom
  8. Teknologi Sensor Otonom untuk Umpan Balik Waktu Nyata Tentang Pendinginan dan Pemanasan
  9. Rak Gigi Heliks untuk Gerakan Linier
  10. Bagaimana memilih turbocharger untuk mobil Anda?