tic toc
The Backstory
Kära alla!
sudah lumayan lama ga nulis blog. Soalnya entah kenapa rasanya males banget nulis, ketika bisa nulis dan sharing cepet di sosmed. Bahan yang mau ditulis sih sebenarnya banyak banget, spontant nongol tapi gara-gara ga ditulis, spontan juga hilangnya. Walo setelah dipikir-pikir, udah lumayan effort juga dahulu bikin ini blog yang niatnya untuk catat cerita hidup pas S2 jauh-jauh di Swedia, jadi ya sayang kalau ga dibudidayakan hoho. Okeh, jadi ini mau cerita tentang pengalaman cari thesis bareng company gitu yang akhirnya ngebawa saya kerja di perusahaan otomotif (sementara, tp well siapa tahu nanti). Halfway to one of my dreams, kerja di dunia otomotif.
Jadi, bulan Desember 2015, berakhirlah semester reguler terakhir. Reguler karena isinya kuliah, lab, dan juga proyek. Dan ini menandakan berakhirnya juga semua ujian-ujian tulis dan presentasi proyek. Sekarang saatnya thesis yang bisa sampai 6 bulan ngerjainnya. Intinya sih setelah dirasa-rasa thesis harus seru soalnya gimana ga, ngapain juga susah-susah belajar kalau ga seneng ngerjainnya gara-gara ga seru? Lagian udah bosen ama kuliah-kuliah. Jadi seru yang dalam artian serius dan fun, karena ya ga mau lagi kebablasan dulu kayak jaman tugas akhir S1 yang entah kenapa malah dapetnya fluid dynamics. Jadi, akhirnya setelah timbang-timbang beberapa kuliah terakhir yang disuka dan kira-kira, topik apa yang lagi panas di Swedia dan juga sekitarnya, dapetlah area diseputar Autonomous Driving (AD).
Volvo Cars yang markas besarnya di Torslanda, 20 menit dari pusat kota Gothenburg lagi getol-getolnya ama program baru mereka yang namanya Drive Me. Mereka berencana rilis 100 kendaraan AD di tahun 2020 yang akan diterjunkan di Gothenburg dan kota-kota sekitarnya. Tentu, dengan tambahan fitur self-driving yang harus tested, safety critical, verified dan validated. Drive Me juga merupakan tempat tujuan berbagai macam engineers di Chalmers buat ngerjain thesis, dari Mechanical Engineering, Electrical Engineering, Complex-Adaptive Systems, Neural Network, Applied Math & Physics, etc. Saya disini salah satunya.
Desember 18, dua hari sebelum liburan Natal yang panjang di Swedia, saya dan rekan seperjuangan, David Bennehag kita lagi siap-siap presentasi proyek kita tentang Vehicle State Estimator for 3-DoF Vehicle (Volvo XC60) using Extended Kalman Filter. Selesai presentasi, kita diceramahi ama dua supervisor Mauro dan Olla tentang program Drive Me itu dan You guys should apply for an exjobb there!. Lalu, yang semulanya kita udah excited buat liburan Natal, jadinya malah sibuk update CV dan cari judul thesis yang ditawarkan di Teknologjobben.se. Dari sekian banyak judul dari berbagai macam companies, e.g. Volvo Cars, Volvo Trucks, SAAB, ABB, Bombardier, Ericsson dan lainnya, akhirnya kita nemuin satu topik tentang Indoor Global Positioning using Multiple Sensors dan ditawarkan oleh Volvo Cars. Kita rasa ini yang ada hubungannya ama proyek kita yang baru kelar dan akhirnya daftarlah kita!
Besoknya, kita dapat email langsung dari Volvo Cars dan langsung minta untuk technical interview keesokan paginya. So, without any hesitation AT ALL we said yes dan sibuk buka-buka materi apapun yang relevan buat interview.
Di tanggal 20, kita interview pagi jam 8:00 CET. Ga tanggung-tanggung, ada 3 orang dari Volvo yang gonta-ganti tanyain tentang almost everything. Sepertinya mereka juga udah mode liburan jadi santai, cuman paling ga jadi kebayang kalo kerja ama mereka situasinya bakal kayak gimana. But in the end, it was quite good interview, meski kita uda mencoba sebaik mungkin, ada beberapa pertanyaan yang kita ga bisa jawab. Dan sorenya mereka nelpon lagi ngasih kabar bahwa kita diterima buat ngerjain thesis di Volvo Cars!
Pandora Box
Arghhh…Sebulan udah lamanya ga kerasa ngerjain thesis bareng Volvo Cars. Kita udah dapet sketsa problem buat thesis, konteks dan juga approach yang mereka minati untuk kita pake. Next step adalah mencari dosen pembimbing. Well, jurusan gue sedikit aneh emang, MPCSN atau Master Programme in Computer Systems and Networks, tapi memperbolehkan kita untuk cari thesis apapun selama kita bisa. Thesis ini, dimana permasalahan ada di domain sinyal dan sistem, membuat kita agak kelabakan cari supervisor sih kalau boleh jujur. Walau akhirnya Volvo ngasih kita saran buat kontak salah satu Lead Professor di Computer Vision lab, Professor Fredrik Kahl.
Awal Februari, kita ketemu dengan Fredrik, barengan bersama Jonathan dari Volvo buat brainstorming tentang berbagai macam penyelesaian masalah yang kita hadapi. Inti dari permasalahan dimulai ketika GPS tidak lagi reliabel untuk dijadikan positioning device di keadaan tertentu, misal didalam tunnel. Alhasil, trajektori kendaraan ketika berada di dalam tunnel, murni hanya merupakan estimasi dari perubahan state kendaraan, e.g. kecepatan, akselerasi, steering angle, etc. Semestinya bad estimation harus di drop ketika filter menunjukkan pengukuran (menggunakan GPS) menghasilkan covariance matrix yang lebih bagus. Jadi filter disini adalah semacam algoritma yang akan menentukan mana yang bisa lebih dipercaya, estimasi atau pengukuran. State estimation paling umum yang digunakan adalah Kalman Filter. Tetapi, ketika GPS tidak lagi reliabel, murni kita hanya bisa menghitung estimasi dari model kendaraan, karena ketika di dalam tunnel, sinyal GPS lebih banyak menghasilkan noise dengan covariance yang terlalu besar.
Well, ada beberapa metode yang telah diterapkan untuk mengatasi problem ini. Salah satunya adalah menggunakan GPS point repeater di dalam tunnel, yang diletakkan setiap beberapa checkpoint sepanjang jalan. Metode ini efektif sehingga kendaraan masih bisa menggunakan GPS, tetapi tidak efisien dan menghabiskan banyak biaya, terutama jika tunnel sangat panjang. Metode yang lain adalah menggunakan dead reckoning dan biasanya digunakan untuk komputasi offline. Jadi menggunakan dua kendaraan yang masuk ke tunnel dari dua arah yang berbeda. Seiiring makin jauhnya kedua kendaraan tersebut masuk ke dalam tunnel, semakin tinggi pula error dari estimasi trajektori kendaraan (drifted). Ketika dua trajektori tersebut bertemu, dengan teknik bernama bundle adjust, drift bisa dikurangi dan trayektori dari kedua kendaraan akan dideteksi lebih akurat. Kelemahan dari dead reckoning, selain offline, tetapi juga tidak efisien ketika rute di dalam tunnel berkelok kelok, karena drift akan jauh lebih susah untuk dikoreksi.
Akhirnya, di akhir meeting, kita sepakat untuk menggunakan monocular perspective camera untuk dijadikan mainan utama kita. Domain permasalahan dipersempit menjadi solving camera pose using multiple image sequences inside tunnel. Jadi dengan diberikan hasil rekaman video dari kamera yang dipasang di kendaraan, dengan diketahui posisi terakhir kamera relatif ke unit GPS sebelum masuk tunnel, dengan menggunakan teknik bernama Visual Odometry, kita bisa mencari pose dari kamera dengan membandingkan pergeseran piksel tiap framenya.
Paling tidak sekarang The Pandora Box is here, time to digest it and defeat it.
Outrun the ticking clock
(April project)