Simulasi, Senario, dan Memandu Sendiri - Cara AutoDrive SAE

Kemas kini: 20 Mei 2021
Simulasi, Senario, dan Memandu Sendiri - Cara AutoDrive SAE

Pengenalan

Cabaran SAE AutoDrive adalah pertandingan reka bentuk rakan sekerja selama 4 tahun, dengan 8 pasukan dari AS dan Kanada mengambil bahagian. Matlamat teknikal peringkat tinggi untuk Tahun 3 pertandingan ini adalah menavigasi kursus pemanduan bandar dalam mod pemanduan automatik seperti yang dijelaskan oleh SAE Level 4

MathWorks mencabar pasukan untuk menggunakan simulasi

Simulasi adalah alat yang sangat berguna untuk pembangunan kenderaan autonomi. Pengujian berasaskan model dapat membantu pengembangan algoritma, pengujian tahap unit dan sistem, dan ujian senario kes tepi. Dunia sebenar sensor data dapat dirakam dan dimainkan semula ke dalam sistem untuk menyesuaikan algoritma gabungan. Lingkungan simulasi dapat dibuat untuk memodelkan lingkungan dunia nyata dan dapat digunakan untuk menguji berbagai algoritma dan posisi sensor. Algoritma dan kedudukan sensor terbaik yang memenuhi keperluan pasukan dapat dipilih berdasarkan hasil prestasi.

Setiap tahun MathWorks mencabar pasukan untuk menggunakan Simulasi melalui Cabaran Simulasi. Blog ini akan merangkumi pemenang tempat pertama dan ke-1 Cabaran 2 (University of Toronto dan Kettering University), reka bentuk sistem mereka, dan bagaimana mereka menggunakan alat MathWorks untuk membantu mencapai objektif pertandingan secara keseluruhan. Pasukan dinilai berdasarkan bagaimana mereka menggunakan alat untuk melakukan:

  • Ujian persepsi gelung terbuka - mensintesis data untuk ujian gelung terbuka, menilai kebenaran algoritma
  • Ujian kawalan gelung tertutup - mensintesis senario gelung tertutup, menilai prestasi algoritma kawalan
  • Penjanaan kod algoritma kawalan - menghasilkan kod untuk algoritma, menyatukan kod yang dihasilkan ke dalam kenderaan
  • Inovasi menggunakan alat MathWorks – teknik/teknologi berbeza dengan 3 kategori di atas

Universiti Toronto

Pasukan pelajar dari University of Toronto, aUToronto, berjaya mendapat tempat pertama dalam cabaran ini.

Ujian persepsi gelung terbuka

Langkah pertama pasukan ini adalah mensintesis data untuk ujian persepsi gelung terbuka. Mereka memilih untuk menguji algoritma penyatuan sensor mereka. Untuk mensintesis data sintetik untuk ujian, mereka menggunakan (DSD). Aplikasi ini membolehkan anda merancang senario pemanduan sintetik untuk menguji pemanduan autonomi anda. Pasukan ini menggunakan radar dan 3 kamera dalam algoritma penyatuan sensor, yang dikonfigurasikan seperti yang ditunjukkan pada Gambar 1.

Gambar 1: Lokasi Sensor Pasukan (© aUToronto)

Mereka memodelkan sensor kamera - bersama dengan posisi, orientasi, dan konfigurasi mereka - dalam aplikasi DSD untuk mensintesis data sensor untuk dimasukkan ke dalam algoritma gabungan sensor mereka. DSD mensimulasikan output kamera setelah algoritma pemprosesan gambar dan penglihatan komputer pasukan, dan menambahkan bunyi dan outlier pada data.

Blok Skenario Pembaca digunakan untuk membaca maklumat senario yang dibuat menggunakan DSD. Pose pelakon dihantar sebagai input kepada beberapa generator pengesanan. Pengesanan untuk pelbagai sensor ini kemudian dikemas sebagai susunan pesanan ROS (Robot Operating System) bersaiz berubah dan dihantar sebagai pesanan ROS khusus ke topik ROS tertentu (Gambar 2).

Gambar 2: Model Simulink untuk ujian gelung terbuka (© aUToronto)

Pasukan membandingkan output dari tracker objek mereka ke nilai kebenaran kenderaan. Metrik RMSE (Root Mean Square Error) digunakan untuk penilaian prestasi.

Ujian kawalan gelung tertutup

Fokus utama pasukan adalah untuk menguji perancang yang diubah suai mereka untuk keupayaan baru seperti mengarahkan semula ke zon pembinaan dan mengatasi halangan. Perancang dirancang semula untuk menggunakan struktur kisi di mana tepi dipangkas dari peta untuk mencari jalan di sekitar objek yang diperlukan (Gambar 3). DSD sekali lagi digunakan untuk membuat senario. Halangan dan lampu isyarat juga ditambahkan ke dalam senario.

Gambar 3: Struktur kisi untuk mencari jalan (© aUToronto)

Pasukan itu memodelkan penerbit lampu isyarat menggunakan Stateflow (Gambar 4). Apabila kenderaan ego berada di luar jarak (> 50m) lampu isyarat, keadaan tidak diketahui akan diterbitkan. Apabila ego berada dalam jangkauan, mesej lampu merah diterbitkan. Mesej ditukar ke lampu hijau setelah ego berhenti selama 5 saat.

Gambar 4: Stateflow to model controller (© aUToronto)

Nod ROS pengawal, perancang, dan model kenderaan dilancarkan. Sekiranya halangan berada dalam jarak 50m dari kenderaan ego, posisinya dikirim sebagai pesan ROS ke model Simulink (Gambar 5).

Gambar 5: Logik untuk menghantar mesej kedudukan (© aUToronto)

Penjanaan kod algoritma kawalan

Pasukan menjana kod untuk algoritma pengendalian tanda berhenti (Rajah 6). Simulink Coder telah digunakan untuk menukar Stateflow kepada kod C++. Kendiri modul telah dijana menggunakan fungsi pembungkusan kod. Modul yang dihasilkan kemudiannya digabungkan ke dalam pangkalan kod pasukan.

Gambar 6: Aliran Keadaan logik kawalan cahaya berhenti (© aUToronto)

Inovasi menggunakan alat MathWorks - Penentukuran kamera Lidar

Untuk menafsirkan objek secara tepat dalam pemandangan dengan input dari lidar dan sensor kamera, perlu menyatukan output sensor bersamaan. Oleh itu, pasukan melakukan transformasi antara Lidar dan kamera pasukan untuk memproyeksikan titik Lidar ke gambar atau sebaliknya untuk pelakuran sensor. Daripada menggunakan pengukuran tangan dan kamera berputar sehingga unjuran kelihatan baik, pasukan menggunakan alat penentukuran Lidar Camera yang baru dibangunkan dari kotak alat pemprosesan Lidar. Alat ini menganggarkan matriks transformasi tegar yang menetapkan korespondensi antara titik dalam satah lidar 3-D dan piksel dalam satah gambar

Mereka membina papan penentukuran yang lebih besar kerana yang sekarang terlalu kecil untuk alat ini. Alat penentukuran Kamera digunakan untuk mendapatkan matriks intrinsik untuk kamera mereka. Sudut papan centang dijumpai di setiap gambar, dan data Lidar. Matriks transformasi tegar antara Lidar dan kamera ditemui. Proses ini menghasilkan transformasi yang dapat digunakan untuk memproyeksikan data titik titik ke gambar atau sebaliknya. Langkah-langkah ini ditunjukkan dalam Rajah 7.

Gambar 7: (a) Matriks intrinsik kamera (b) sudut papan semak (c) Matriks transformasi Lidar ke kamera (© aUToronto)

Universiti Kettering

pasukan pelajar dari Universiti Kettering, memenangi tempat ke-2 dalam cabaran ini.

Ujian persepsi gelung terbuka

Pasukan ini menggunakan Unreal Engine untuk membuat pelbagai senario. Sebuah kamera ditambahkan ke kenderaan ego di Unreal menggunakan blok kamera 3D simulasi. Model Simulink digunakan untuk melakukan pengesanan jalur menggunakan gambar yang tidak nyata (Gambar 8). Kotak biru menunjukkan fungsi pengesanan lorong dan kuning menunjukkan output pada setiap langkah. Angka output ini ditunjukkan dalam Rajah 9.

Gambar 8: Model Simulink untuk ujian gelung terbuka (© Kettering University)

Gambar 9: Output pengesanan lorong (© Kettering University)

Ujian kawalan gelung tertutup

Reka bentuk sistem pasukan terdiri daripada 2 mesin keadaan - longitudinal dan lateral. Mesin-mesin keadaan ini, ditunjukkan dalam gambar, digunakan untuk memodelkan logika pemilihan pengawal berdasarkan sensor dan data pengambilan keputusan. Mereka dihubungkan dan digunakan untuk mengaktifkan dan menginisialisasi subsistem pengawal.

Gambar 10: Mesin negara (© Universiti Kettering)

Simulasi pengawal gabungan, dengan model Simulink pada Gambar 11, dilakukan untuk mengesahkan kerja semua pengawal pasukan. Input untuk pengawal ini disediakan menggunakan slider dan alat pengukur.

Gambar 11: Model Simulink untuk ujian gelung tertutup (© Kettering University)

Subsistem pengawal mesin keadaan membujur merangkumi pengawal kelajuan membujur dan Brek Kecemasan Automatik (AEB). Negara ditentukan oleh dinamika kenderaan membujur seperti mempercepat, pelayaran, perlambatan, berhenti, dan taman.

Subsistem pengawal mesin keadaan lateral termasuk pengawal Lane Keep Assist (LKA), Lane Change, dan Turn. Keadaan ditentukan berdasarkan dinamik kenderaan lateral (Gambar 12). Pengawal laju, perubahan lorong, dan pengawal LKA dibincangkan di bawah.

Rajah 12: Nyatakan pengawal lateral (© Kettering University)

Pengawal membujur

Rajah 13 menunjukkan model Simulink yang digunakan untuk memodelkan pengawal membujur. Ia terdiri daripada PID berdasarkan halaju. Kadar rujukan dan tork output terhad untuk berada dalam had pecutan persaingan dan kejutan. Input sistem diinisialisasi dan diedit dengan slider dan ruang lingkup digunakan untuk melihat data. Rajah 14 menunjukkan sasaran dan output kelajuan membujur sebenar.

Gambar 13: Model Simulink pengawal membujur (© Kettering University)

Gambar 14: Perbandingan kelajuan membujur (© Kettering University)

Pengawal pertukaran lorong

Pengawal Lane Change pasukan menggunakan MPC adaptif (Model Predictive Control). Jalur rujukan dihasilkan menggunakan fungsi parametrik, dengan input perubahan jalur seperti kelajuan kenderaan dan lebar lorong. Keluaran ke pengawal adalah rujukan kedudukan lateral dan Yaw. Model 3DOF (Degree of Freedom) digunakan untuk mensimulasikan badan kenderaan. Rajah 15 menunjukkan model Simulink yang digunakan untuk simulasi. Gambar 16 menunjukkan output dari simulasi dengan rujukan dan jalur perubahan jalur simulasi, bersama dengan jalur yang diperoleh setelah ujian di dalam kenderaan.

Gambar 15: Model Simulink pengawal perubahan lorong (© Kettering University)

Gambar 16: Perbandingan laluan perubahan jalur (© Universiti Kettering)

Model kenderaan

Pasukan ini membangunkan dan mengesahkan model kenderaan 3DOF single dan dual track. Pengesahan awal dilakukan dengan menggunakan model basikal linier. Pengesahan akhir dilakukan dengan data ujian fizikal. Gambar menunjukkan output perbandingan pecutan lateral dengan pengesahan awal dan akhir, tanpa dan dengan data ujian.

Gambar 17: (a) Perbandingan pecutan lateral (b) Perbandingan dengan data ujian (© Kettering University)

Inovasi menggunakan alat MathWorks - Bandar nyata

Pasukan ini menggunakan Unreal untuk ujian gelung tertutup semua pengawal mereka. Mereka mencipta bandar Unreal dengan pergerakan pejalan kaki dan lampu isyarat yang terkawal. Pelakon yang dapat disesuaikan dibuat dan maklumatnya seperti nama pelakon, jenis pelakon, perincian pelakon, perincian animasi, dan tag, disimpan untuk akses cepat. Peta lampu isyarat juga dibuat bersama dengan lokasi lampu berlabel Gambar 18.

Gambar 18: Peta lampu isyarat yang tidak nyata (© Kettering University)

Rajah 19 menunjukkan struktur komunikasi sistem Simulink-Unreal. Pengambilan keputusan untuk pemandangan Unreal, yang terdiri dari posisi kendaraan, pergerakan pejalan kaki, status lampu isyarat dll dilakukan dengan menggunakan Stateflow dan dikirim sebagai input kepada pengawal (Gambar 20).

Gambar 19: Struktur komunikasi sistem Simulink Unreal (© Kettering University)

Gambar 20: Aliran Negeri untuk pengambilan keputusan pemandangan Unreal (© Kettering University)

Kesimpulannya, pasukan pelajar dari University of Toronto dan Kettering University dapat memanfaatkan MATLAB dan Simulink untuk merancang, membina, menguji, dan menilai algoritma gabungan, penjejakan, dan navigasi untuk datang selangkah lebih dekat untuk membina kenderaan autonomi SAE tahap 4 di simulasi. Mereka mengarang senario yang rumit dengan lampu isyarat dan pelbagai pelakon dalam lingkungan simulasi yang berbeza, mengintegrasikan lingkungan dengan Simulink, dan menggunakan dan menguji algoritma pilihan mereka pada senario ini. Algoritma persepsi gelung terbuka dan gelung tertutup dimodelkan dan diuji menggunakan Simulink, dan kod dihasilkan untuk sistem ini. Pasukan juga merancang dan menguji pelbagai algoritma pengawal menggunakan Simulink dan Stateflow. Alat MathWorks digunakan secara inovatif dan meluas oleh kedua-dua pasukan kejuaraan ini.