1 poin oleh GN⁺ 2024-04-12 | 1 komentar | Bagikan ke WhatsApp
  • OptiGap adalah sistem yang dikembangkan untuk mengetahui bagian mana yang menekuk pada soft robotics, di mana struktur yang fleksibel membuat sensor konvensional sulit dipasang
  • Celah udara yang dibuat di dalam pipa optik fleksibel mengubah jumlah transmisi cahaya sesuai tekukan, dan perbedaan ini dimanfaatkan sebagai pola sinyal berdasarkan posisi
  • Ide ini bermula dari eksperimen menempelkan filamen printer 3D TPU transparan 1,75mm pada pita ukur lalu menekukkannya, sambil memantau perubahan secara real-time dengan Raspberry Pi, VL53L0X, ZeroMQ, dan Python GUI
  • Awalnya digunakan 3 helai filamen TPU dan coupler serat optik 3:1, tetapi kemudian berkembang menjadi struktur yang lebih kecil dan sederhana berbasis serat optik PMMA 500 mikron, fotodioda, LED IR, dan STM32
  • Sistem akhirnya mengklasifikasikan posisi tekukan di STM32 dengan pengklasifikasi Naive Bayes dan pemfilteran dua tahap, lalu berlanjut ke integrasi EneGate, PCB kecil, verifikasi pada robot lunak nyata, hingga pekerjaan komersialisasi

Peran OptiGap

  • OptiGap adalah sistem untuk mengetahui bagian mana yang menekuk ketika sensor berbentuk seperti tali dibengkokkan
  • Fungsi ini termasuk deteksi lokasi tekukan, yaitu bend localization
  • Bidang penerapan utamanya adalah soft robotics
    • Karena soft robotics menangani struktur yang lentur atau lunak, sering kali sulit menggunakan sensor tradisional
  • Nama OptiGap adalah gabungan dari “optical” dan “gap”
    • Sistem ini membuat pola kode yang diperlukan untuk mendeteksi lokasi tekukan dengan celah udara di dalam pipa optik yang fleksibel

Eksperimen yang dimulai dari penemuan tak sengaja

  • Titik awalnya adalah eksperimen untuk memanfaatkan cara cahaya merambat melalui pipa optik, yaitu kabel optik, sebagai sensor pendeteksi tekukan
  • Saat bereksperimen dengan menempelkan filamen printer 3D TPU transparan 1,75mm pada pita ukur, ketika titik yang ditempeli isolasi listrik dibengkokkan, jumlah transmisi cahaya turun drastis
  • Muncul hipotesis bahwa residu lengket dari isolasi listrik meregangkan filamen, dan akibatnya transmisi cahaya berkurang
  • Setelah menempelkan potongan TPU yang lebih panjang pada pita ukur, perubahan transmisi optik diamati sambil membengkokkan beberapa titik
  • Untuk verifikasi real-time, dibuat sistem pengukuran dan visualisasi sederhana
    • Menulis driver Linux I2C untuk sensor ToF VL53L0X
    • Menjalankannya di Raspberry Pi dan mengirim data melalui soket ZeroMQ
    • Python GUI menerima data dari soket dan memvisualisasikan data transmisi cahaya secara real-time
  • Verifikasi ini menjadi momen penentu yang mengarah pada pengembangan OptiGap

Mengodekan informasi posisi dengan celah udara

  • Jika lokasi pelemahan cahaya bisa dikendalikan, informasi posisi tekukan dapat dikodekan di dalam sensor
  • Metode isolasi listrik tidak praktis, sehingga dibutuhkan struktur atenuasi yang lebih stabil dan konsisten
  • Solusinya adalah memotong filamen, lalu menyambungkannya kembali dengan selongsong silikon sambil menyisakan celah udara kecil di antaranya
  • Celah udara memanfaatkan perpindahan relatif atau rotasi antara dua permukaan ujung pipa optik
    • Jika satu permukaan pipa optik bergeser dari yang lain, rasio cahaya yang diteruskan melintasi celah akan berubah
    • Semakin besar sudut tekukan, semakin banyak cahaya yang keluar di celah
    • Intensitas sinyal optik yang berubah ini kemudian dihubungkan dengan pola yang sudah diketahui dan digunakan sebagai sinyal sensor

Beberapa celah udara dan Inverse Gray Code

  • Langkah berikutnya adalah membuat beberapa celah udara sepanjang satu pipa optik TPU dan mengukur pola atenuasi saat dibengkokkan
  • Intensitas cahaya menurun di setiap celah udara, dan penurunannya makin jelas ketika sudut tekukan membesar
  • Eksperimen ini mengarah pada hipotesis akhir bahwa pola celah udara dapat mengodekan lokasi tekukan, lalu posisi tersebut didekodekan oleh pengklasifikasi Naive Bayes pada mikrokontroler
  • Konsep OptiGap mirip dengan encoder linear absolut
    • Encoder linear membaca kode berdasarkan posisi untuk mengukur perpindahan linear
    • Encoder absolut mengeluarkan kode unik untuk setiap posisi guna mengidentifikasi perpindahan
  • OptiGap mengodekan posisi absolut dengan pola celah udara peka tekukan yang ditempatkan pada pipa optik paralel, dan bekerja seperti sensor serat optik tunggal
  • Pemilihan Inverse Gray Code

    • Encoder absolut umumnya menggunakan Gray code
    • Gray code adalah kode biner di mana dua nilai berurutan hanya berbeda satu bit
    • Pada OptiGap, nilai yang berurutan harus berbeda pada sebanyak mungkin bit agar lebih mudah dibedakan
    • Untuk memenuhi kebutuhan ini, digunakan Inverse Gray code
    • Inverse Gray code adalah kode biner di mana dua nilai berurutan berbeda pada maksimal n-1 bit
    • Filamen dipotong pada setiap posisi yang bernilai 1 dalam urutan kode untuk membentuk celah udara
    • Metode ini dapat diperluas ke jumlah bit berapa pun
    • Prototipe menggunakan 3 bit untuk merepresentasikan 8 posisi

Pembuatan prototipe dan miniaturisasi

  • Prototipe OptiGap pertama dibuat dari 3 helai filamen printer 3D TPU transparan dengan pola celah udara yang berbeda
  • Untuk menggabungkan cahaya dari 3 helai menjadi satu kabel serat optik, digunakan coupler serat optik 3:1 komersial
  • Prototipe ini adalah tahap akhir untuk memverifikasi hipotesis dan teori kerja OptiGap
  • Mengecilkan ukuran dengan serat optik PMMA

    • Prototipe awal besar dan memakan tempat karena ukuran filamen printer 3D
    • Serat optik plastik PMMA dievaluasi sebagai alternatif yang lebih kecil dan lentur
    • Produk serat optik PMMA tanpa jaket berukuran 500, 750, dan 1000 mikron dari Industrial Fiber Optics, Inc. diuji sebagai helai sensor
    • Ketiga jenis menunjukkan fleksibilitas yang memadai, dan secara keseluruhan serat optik 500 mikron paling cocok
  • Mengurangi kompleksitas transceiver optik

    • Alih-alih sensor ToF VL53L0X yang kompleks, digunakan konfigurasi fotodioda dan LED IR
    • Perubahan ini mengurangi kompleksitas sistem dan meningkatkan modularitas
    • Dibandingkan prototipe awal, kemampuan membaca data sensor dengan mikrokontroler juga menjadi peningkatan penting
    • Setelah itu dibuat sistem demo berbasis mikrokontroler STM32 serta konfigurasi fotodioda dan LED IR

Klasifikasi real-time yang berjalan di STM32

  • Pada tahap pengembangan akhir, pengklasifikasi Naive Bayes diintegrasikan ke mikrokontroler STM32 untuk mendekode lokasi tekukan dari data sensor
  • Ada tiga alasan memilih pengklasifikasi Naive Bayes
    • Lebih efisien daripada pernyataan if atau tabel lookup
    • Dapat menangani data baru atau data yang belum pernah dilihat sebelumnya
    • Berpotensi meningkatkan akurasi dengan mempertimbangkan hubungan antar berbagai variabel masukan
  • Pengklasifikasi ini adalah model probabilistik yang menerapkan teorema Bayes
    • Dalam sistem ini, kelas berarti lokasi tekukan
    • Sistem bekerja dengan menentukan kelas mana yang paling sesuai dengan nilai pengukuran
  • Implementasinya menggunakan Arm CMSIS-DSP library
  • Fitting data sensor

    • Untuk integrasi pengklasifikasi, data sensor dari tiap pola celah udara di-fit ke distribusi Gaussian
    • Python GUI dikembangkan untuk pelabelan dan fitting yang cepat
    • Digunakan GNB dari scikit-learn, yaitu Gaussian Naive Bayes
    • Setelah itu UI ditingkatkan agar memungkinkan fitting data yang lebih umum dan kompleks
    • Probabilitas tiap kelas kemudian dihitung dan disimpan sebagai header file untuk digunakan di mikrokontroler
  • Pemfilteran data sensor

    • Untuk meningkatkan akurasi pengklasifikasi, diterapkan pemfilteran dua tahap di STM32
    • Tahap pertama adalah filter moving average dasar
    • Tahap kedua adalah filter Kalman
    • Pemfilteran digunakan untuk mengurangi noise terhadap sinyal masukan

Demo, integrasi, dan langkah berikutnya

  • Demo OptiGap mencakup proses perakitan dan cara kerja sistem sensor akhir
  • Item demo terdiri dari perakitan berbasis filamen TPU, atenuasi cahaya melalui sensor OptiGap, fitting data sensor, klasifikasi segmen menggunakan serat optik PMMA dan filamen TPU, serta operasi di bawah air
  • OptiGap juga diintegrasikan ke sistem penggerak dan penginderaan modular bernama EneGate
  • Integrasi ini mencakup desain PCB kustom dan integrasi sistem, yang dibahas lebih rinci dalam paper yang dipublikasikan online
  • Versi PCB optik kecil untuk terhubung dengan PCB sistem EneGate juga dibuat sebagai prototipe
  • OptiGap juga telah diverifikasi pada sistem robot lunak nyata
    • Rincian lengkapnya akan dibahas dalam paper RoboSoft berjudul “Embedded Optical Waveguide Sensors for Dynamic Behavior Monitoring in Twisted-Beam Structures”
  • Riset ini juga berlanjut ke pekerjaan komersialisasi

1 komentar

 
GN⁺ 2024-04-12
Komentar Hacker News
  • Riset yang indah, dan dokumentasinya juga sangat teliti
    Awalnya saya mau menulis bahwa secara konsep ini sangat mirip dengan time-domain reflectometry, tetapi karena Cindy Harnett tampaknya adalah pembimbingnya, kemungkinan besar ia sudah tahu :)

    • Saya pernah sedikit melakukan analisis TDR saat menganalisis deteksi penggunaan CATV ilegal; dalam praktiknya, kami umumnya tahu tiap CPE berada di bagian mana dari infrastruktur serat optik, dan biaya mengumpulkan data timing DOCSIS dari perangkat-perangkat itu pada dasarnya mendekati nol
  • Benar-benar keren. Saya suka gagasan membuat material lebih sadar diri atau bisa diperiksa, terasa sangat seperti fiksi ilmiah
    Dalam riset sebelum pekerjaan saya sekarang, saya pernah mengerjakan sesuatu yang sedikit sekali bersinggungan dengan ini, jadi saya senang melihat ini naik ke halaman utama. Yang kami lakukan adalah mempelajari matriks transmisi serat optik dengan jaringan saraf bernilai kompleks. Di bidang optik, sebelumnya hal ini dilakukan dengan mempropagasikan persamaan Maxwell, tetapi kami, dengan struktur sangat sederhana di mana fisika nyatanya berujung pada satu perkalian matriks kompleks, melampaui performa mutakhir hingga beberapa orde besaran. Kaitan dengan riset ini adalah ketika serat optik dibengkokkan, matriks baru harus dipelajari ulang. Mungkin juga bisa mempelajari karakterisasi terparameterisasi, sehingga dengan beberapa pengukuran input/output kita dapat memodelkan bentuk spline serat optik. Namun kami tidak sampai sejauh itu
    Jika tertarik, makalahnya ada di sini
    Makalah berfokus CS: https://papers.nips.cc/paper_files/paper/2018/hash/148510031...
    Makalah berfokus fisika: https://www.nature.com/articles/s41467-019-10057-8

    • Apakah puntiran juga bisa dideteksi, bukan hanya pembengkokan?
  • Benar-benar luar biasa. Dengan sedikit penyempurnaan, tampaknya ini juga bisa diproduksi massal dengan akurasi sangat tinggi
    Aplikasinya juga banyak. Dengan kurva pengisi ruang, sepertinya bisa dibuat sensor 2D/3D yang memberi indra sentuh pada robot secara hemat biaya. Jika dililitkan pada sesuatu seperti tabung fleksibel, ini juga bisa dipakai untuk propriosepsi karena memiliki sensitivitas arah. Kemungkinan besar faktor lain yang memengaruhi celah udara, seperti perbedaan suhu, juga dapat dideteksi dan dilokalisasi

    • Ada sangat banyak aplikasi keren. Ini bisa dicoba untuk gaya berjalan kaki robot lunak, tetapi sulit membahas detailnya sebelum makalahnya diterbitkan akhir tahun ini
  • Bagian “berkat pembimbing yang hebat” adalah intinya. Itulah yang membedakan pengalaman menyedihkan dari pengalaman yang baik

  • Tulisan yang sangat bagus. Penjelasannya sangat jelas, dan penggunaan GIF serta materi visual untuk menunjukkan konsepnya tepat sekali
    Saya hanya seorang software engineer dengan pemahaman terbatas tentang bidang ini, tetapi saya menikmati membacanya dan banyak belajar. Kerja bagus, dan selamat atas gelar PhD-nya

  • Tidak persis sama, tetapi ini mengingatkan saya pada DAS yang memakai kabel serat optik untuk berbagai tugas penginderaan akustik. Pada dasarnya semacam alternatif untuk geofon/hidrofon
    Ada juga cukup banyak makalah tentang penggunaan serat optik bawah laut untuk berbagai pekerjaan pemantauan. Luna Innovations juga menggunakannya untuk aplikasi industri seperti penginderaan regangan, dan setahu saya Schlumberger punya beberapa paten penginderaan serat optik terkait streamer yang ditarik. Namun saya belum pernah melihatnya dipakai pada robot lunak

    • Saat pertama melakukan tinjauan pustaka, saya cukup kewalahan karena riset sebelumnya sangat banyak. Terutama sensor keluarga FBG
      Namun ide ini begitu sederhana secara fundamental sehingga orang-orang yang lebih pintar tampaknya justru umumnya melewatkannya
  • Ide yang benar-benar mengejutkan dan pekerjaan yang sangat bagus
    Tampaknya ada dead zone yang cukup besar pada data sensor; bukankah ini mudah diperbaiki dengan mengurangi jarak antarsensor?
    Apakah mendeteksi arah pembengkokan juga berguna? Sepertinya bisa dilakukan dengan membagi tabung seperti logo Mercedes, lalu memasukkan tiga set sensor di dalam satu tabung luar
    Apakah ada cara untuk mendeteksi pembengkokan di beberapa lokasi? Dalam konfigurasi saat ini, nilai-nilainya pada dasarnya seperti di-OR, sehingga bisa menghasilkan pembacaan yang salah. Saya penasaran apakah ada solusi yang bagus

    • Ide-ide yang bagus. Belum sepenuhnya diimplementasikan, tetapi karena tiap tekukan selalu memiliki atenuasi relatif yang sama di antara untaian, mendeteksi beberapa tekukan juga memungkinkan
      Pada akhirnya ini menjadi masalah mencocokkan delta relatif yang berubah dari satu pembacaan ke pembacaan berikutnya. Namun jebakannya adalah jika semua sendi banyak menekuk, pada titik tertentu cahaya tidak akan sampai ke ujung. Ada cara untuk menguranginya, tetapi komentar ini sudah terlalu panjang
  • Saya sedang mencari sensor yang dapat mendeteksi dengan akurat seberapa dekat dan seberapa cepat tongkat golf lewat di atas sensor, serta seperti apa busur ayunannya
    Idenya adalah membuat golf launch monitor yang tidak perlu memukul bola, sehingga bisa bermain golf simulasi di dalam ruangan. Semacam ikut bermain sambil menonton Masters di TV ruang tamu, tetapi tanpa menghancurkan TV dengan bola golf
    Saya penasaran apakah satu sensor ini atau beberapa sensor yang digabungkan cocok untuk itu

    • Ayah saya punya benda serupa yang dihubungkan ke komputer pada tahun 90-an
    • Risiko memukul sensor lalu menerbangkannya melintasi ruangan ke arah TV tampaknya terlalu besar
      Seperti disebutkan sebelumnya, saya rasa jauh lebih baik memakai kamera berkecepatan tinggi bersama teknologi ekstraksi rangka ala Kinect. Dengan PlayStation Eye dan teknologi open source yang sudah ada saja, sepertinya bisa dibuat di garasi
    • Produk itu sudah ada dan disebut Optishot. Dibanding sensor modern berbasis radar atau kamera, kinerjanya tidak terlalu baik
    • Sepertinya perlu satu atau dua sensor Hall dan kepala stik yang dipasangi magnet
  • Bukankah ini teknologi yang sama seperti pada Nintendo Power Glove pertama? https://www.youtube.com/watch?v=3g8JiGjRQNE
    Mereka memasukkan cahaya ke dalam tabung lalu mengukur cahaya itu untuk memicu input tombol. Jadi ketika jari atau tangan ditekuk, aksi terjadi. Pada generasi berikutnya mekanismenya diubah

    • Salah satu hal yang tampak baru di sini adalah dapat mendeteksi beberapa titik tekukan tanpa memerlukan satu serat optik untuk tiap titik tekukan
  • Saya tidak mengerti apa yang terjadi jika sensor ditekuk di dua lokasi atau lebih
    Di awal disebut sensor ToF, jadi saya mengira mereka melihat pantulan dari tekukan dan bahkan mengukur jaraknya, tetapi tampaknya bukan begitu. Jika sensor ditekuk di dua tempat, sepertinya yang didapat hanya jumlah atenuasi logaritmik dari kedua tekukan. Jika diasumsikan “kekuatan” tekukan mengubah atenuasi secara kontinu, maka untuk membedakan kombinasi dua tekukan sembarang, tampaknya diperlukan untaian sebanyak jumlah posisi celah
    Saya penasaran apakah saya salah membaca, atau memang dimaksudkan untuk kasus ketika diketahui hanya ada satu tekukan

    • Jika melihat paragraf “Visualization of the OptiGap Sensor System”, tampaknya pola jarak dari beberapa sensor memberikan tanda unik yang dapat diterjemahkan menjadi posisi akurat sepanjang sensor
      Menurut paragraf “Realtime Machine Learning on a Microcontroller”, mekanisme yang mengubah bentuk gelombang menjadi posisi nyata tampaknya berbasis model Bayesian