1 पॉइंट द्वारा GN⁺ 2024-04-12 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • OptiGap एक ऐसा सिस्टम है जिसे soft robotics में, जहाँ लचीली संरचना के कारण पारंपरिक sensors लगाना मुश्किल होता है, यह पता लगाने के लिए विकसित किया गया कि sensor किस बिंदु पर मुड़ा है
  • एक flexible optical pipe के अंदर बनाए गए air gap bending के अनुसार light transmission की मात्रा बदलते हैं, और इस अंतर को स्थान-वार signal pattern के रूप में उपयोग किया जाता है
  • विचार की शुरुआत transparent 1.75mm TPU 3D printer filament को measuring tape पर चिपकाकर मोड़ने के प्रयोग से हुई, और Raspberry Pi·VL53L0X·ZeroMQ·Python GUI से real-time बदलाव देखे गए
  • शुरुआत में 3 TPU filament strands और 3:1 optical fiber coupler का इस्तेमाल हुआ, लेकिन बाद में 500-micron PMMA optical fiber और photodiode·IR LED·STM32 आधारित छोटे और सरल ढांचे में विकसित हुआ
  • अंतिम सिस्टम STM32 पर Naive Bayes classifier और 2-stage filtering से bending position classify करता है, और EneGate integration·छोटे PCB·वास्तविक soft robot validation·commercialization तक आगे बढ़ा

OptiGap की भूमिका

  • OptiGap रस्सी जैसे sensor के मुड़ने पर कौन-सा बिंदु मुड़ा है यह पता लगाने वाला system है
  • यह function bending position detection, यानी bend localization के अंतर्गत आता है
  • इसका मुख्य application area soft robotics है
    • Soft robotics flexible या नरम structures से जुड़ी होती है, इसलिए कई मामलों में traditional sensors इस्तेमाल करना मुश्किल होता है
  • OptiGap नाम “optical” और “gap” के मेल से बना है
    • flexible optical pipe के अंदर air gaps के जरिए bending position detection के लिए आवश्यक code pattern बनाया जाता है

आकस्मिक खोज से शुरू हुआ प्रयोग

  • शुरुआत एक ऐसे प्रयोग से हुई जिसमें optical pipe, यानी optical cable के जरिए light transmission के तरीके को bending detection sensor के रूप में उपयोग करने की कोशिश की जा रही थी
  • transparent 1.75mm TPU 3D printer filament को measuring tape पर चिपकाकर प्रयोग करते समय, electrical tape लगे बिंदु को मोड़ने पर light transmission बहुत घट गया
  • यह hypothesis बनाया गया कि electrical tape का चिपचिपा residue filament को stretch करता है, और उसके परिणामस्वरूप light transmission कम हो जाता है
  • TPU का लंबा टुकड़ा measuring tape पर चिपकाने के बाद कई points को मोड़ते हुए optical transmission में बदलाव देखा गया
  • real-time validation के लिए एक साधारण measurement और visualization system बनाया गया
    • VL53L0X ToF sensor के लिए Linux I2C driver लिखा गया
    • इसे Raspberry Pi पर चलाया गया और data ZeroMQ socket से भेजा गया
    • Python GUI ने socket से data लेकर real-time optical transmission data visualize किया
  • यही validation OptiGap development की निर्णायक घटना बना

air gaps से position information encode करना

  • यदि यह नियंत्रित किया जा सके कि light किस position पर कमजोर हो, तो sensor के अंदर मुड़ी हुई position की जानकारी encode की जा सकती है
  • electrical tape वाला तरीका practical नहीं था, इसलिए अधिक stable और consistent attenuation structure की जरूरत थी
  • समाधान यह था कि filament को काटकर silicone sleeve से फिर जोड़ा जाए और उनके बीच छोटा air gap छोड़ा जाए
  • air gap दो optical pipe end faces की relative movement या rotation का उपयोग करता है
    • अगर एक optical pipe face दूसरे से misalign हो जाए, तो gap पार करके transmit होने वाली light का ratio बदल जाता है
    • bending angle बढ़ने पर gap से बाहर निकलने वाली light बढ़ जाती है
    • इस तरह बदली हुई optical signal intensity को ज्ञात patterns से जोड़कर sensor signal के रूप में इस्तेमाल किया जाता है

कई air gaps और Inverse Gray Code

  • अगला चरण एक TPU optical pipe के साथ कई air gaps बनाकर, मोड़ने पर बनने वाले attenuation patterns को मापना था
  • हर air gap पर optical intensity घटी, और bending angle बढ़ने पर कमी और स्पष्ट हुई
  • यह प्रयोग इस अंतिम hypothesis तक ले गया कि air gap patterns से bending position encode की जा सकती है और microcontroller के Naive Bayes classifier से position decode की जा सकती है
  • OptiGap की concept absolute linear encoder जैसी है
    • linear encoder position-wise code पढ़कर linear movement मापता है
    • absolute encoder हर position के लिए unique code output करके displacement identify करता है
  • OptiGap parallel optical pipes में रखे गए bend-sensitive air gap patterns से absolute position encode करता है और single optical-fiber sensor की तरह काम करता है
  • Inverse Gray Code का चयन

    • absolute encoders आम तौर पर Gray code का उपयोग करते हैं
    • Gray code एक binary code है जिसमें लगातार दो values केवल एक bit में अलग होती हैं
    • OptiGap में लगातार values को यथासंभव अधिक bits में अलग होना चाहिए ताकि distinction आसान हो
    • इस जरूरत के अनुसार Inverse Gray code का उपयोग किया गया
    • Inverse Gray code एक binary code है जिसमें लगातार दो values अधिकतम n-1 bits में अलग होती हैं
    • code sequence में जहाँ 1 होता है, वहाँ filament काटकर air gap बनाया जाता है
    • यह तरीका किसी भी bit count तक extend किया जा सकता है
    • prototype ने 3-bit से 8 positions व्यक्त कीं

prototype निर्माण और miniaturization

  • पहला OptiGap prototype अलग-अलग air gap patterns वाले transparent TPU 3D printer filament के 3 strands से बनाया गया
  • 3 strands की light को एक optical fiber cable में combine करने के लिए commercial 3:1 optical fiber coupler का उपयोग किया गया
  • यह prototype OptiGap की hypothesis और working theory को validate करने का अंतिम चरण था
  • PMMA optical fiber से size घटाना

    • शुरुआती prototype 3D printer filament के आकार के कारण बड़ा और bulky था
    • PMMA plastic optical fiber को छोटे और अधिक flexible alternative के रूप में evaluate किया गया
    • Industrial Fiber Optics, Inc. के jacket-less PMMA optical fiber 500·750·1000-micron products को sensor strands के रूप में test किया गया
    • तीनों types ने पर्याप्त flexibility दिखाई, और कुल मिलाकर 500-micron optical fiber सबसे उपयुक्त रहा
  • optical transceiver complexity घटाना

    • complex VL53L0X ToF sensor के बजाय photodiode और IR LED configuration का उपयोग किया गया
    • इस बदलाव से system complexity कम हुई और modularity बढ़ी
    • sensor data को microcontroller से पढ़ा जा सकना भी शुरुआती prototype की तुलना में एक महत्वपूर्ण improvement था
    • बाद में STM32 microcontroller और photodiode·IR LED configuration पर आधारित demo system बनाया गया

STM32 पर चलने वाला real-time classification

  • अंतिम development stage में STM32 microcontroller में Naive Bayes classifier integrate किया गया ताकि sensor data से bending position decode की जा सके
  • Naive Bayes classifier चुनने के तीन कारण थे
    • यह if statements या lookup tables से अधिक efficient है
    • यह नए data या पहले न देखे गए data को process कर सकता है
    • यह कई input variables के बीच संबंधों को ध्यान में रखकर accuracy बढ़ा सकता है
  • classifier Bayes theorem लागू करने वाला probabilistic model है
    • इस system में class का अर्थ bending position है
    • यह इस तरह काम करता है कि measured value किस class से संबंधित है, यह तय करता है
  • implementation में Arm CMSIS-DSP library का उपयोग किया गया
  • sensor data fitting

    • classifier integration के लिए हर air gap pattern के sensor data को Gaussian distribution में fit किया गया
    • तेज labeling और fitting के लिए Python GUI develop किया गया
    • scikit-learn के GNB, यानी Gaussian Naive Bayes, का उपयोग किया गया
    • बाद में अधिक general और complex data fitting संभव करने के लिए UI बेहतर किया गया
    • हर class की probabilities calculate होने के बाद microcontroller में उपयोग के लिए header file के रूप में save की गईं
  • sensor data filtering

    • classifier accuracy बढ़ाने के लिए STM32 पर 2-stage filtering implement की गई
    • पहला stage basic moving average filter है
    • दूसरा stage Kalman filter है
    • filtering का उपयोग input signal की तुलना में noise कम करने के लिए किया गया

demo, integration, और अगले चरण

  • OptiGap demo में assembly process और final sensor system का operation शामिल है
  • demo items में TPU filament-based assembly, OptiGap sensor के जरिए light attenuation, sensor data fitting, PMMA optical fiber और TPU filament का उपयोग करके segment classification, और underwater operation शामिल हैं
  • OptiGap को EneGate नाम के modular actuation और sensing system में भी integrate किया गया
  • इस integration में custom PCB design और system integration शामिल हैं, और details online available thesis में दी गई हैं
  • EneGate system के PCB से connect करने के लिए छोटा optical PCB version भी prototype के रूप में बनाया गया
  • वास्तविक soft robot system में भी OptiGap को validate किया गया
    • पूरी details RoboSoft paper “Embedded Optical Waveguide Sensors for Dynamic Behavior Monitoring in Twisted-Beam Structures” में cover की जाएंगी
  • यह research commercialization work तक भी आगे बढ़ रही है

1 टिप्पणियां

 
GN⁺ 2024-04-12
Hacker News पर राय
  • बेहतरीन शोध है और documentation भी बहुत बारीक है
    पहले मैं लिखने वाला था कि conceptually यह time-domain reflectometry से बहुत मिलता-जुलता है, लेकिन लगता है Cindy Harnett advisor हैं, तो शायद उन्हें पहले से पता होगा :)

    • CATV के unauthorized use detection analysis पर काम करते हुए मैंने TDR analysis थोड़ा किया था, और असल में हमें आम तौर पर पता होता था कि हर CPE fiber-optic setup में कहाँ है, और उन devices से DOCSIS timing data इकट्ठा करने की लागत लगभग शून्य थी
  • सच में शानदार। materials को और ज्यादा self-aware या inspectable बनाने का विचार अच्छा है, और काफी sci-fi जैसा लगता है
    अपनी मौजूदा नौकरी से पहले के research में मैंने भी इससे बहुत हल्का-सा जुड़ा काम किया था, इसलिए इसे main पर देखना और भी अच्छा लगा। हमारा काम complex-valued neural networks से optical fiber का transmission matrix सीखना था। optics में पहले यह Maxwell equations propagate करके किया जाता था, लेकिन हमने ऐसी बहुत simple structure से, जहाँ actual physics एक single complex matrix multiplication में सिमट जाती है, state of the art को कई orders of magnitude से पीछे छोड़ दिया। इस research से connection यह है कि fiber मुड़ने पर नया matrix फिर से सीखना पड़ता है। input/output measurements की कुछ readings लेकर fiber के spline shape को model करने के लिए parameterized characterization सीखना भी संभव हो सकता है। हालांकि हम वहाँ तक नहीं पहुँच पाए
    रुचि हो तो paper यहाँ है
    CS-केंद्रित paper: https://papers.nips.cc/paper_files/paper/2018/hash/148510031...
    physics-केंद्रित paper: https://www.nature.com/articles/s41467-019-10057-8

    • bending के बजाय twisting भी detect कर सकता है क्या?
  • वाकई बेहतरीन। थोड़ी refinement के बाद बहुत high accuracy के साथ mass production भी संभव लगता है
    applications भी बहुत हैं। space-filling curve इस्तेमाल करके robots को cost-effective तरीके से tactile sensing देने वाले 2D/3D sensors बनाए जा सकते हैं। अगर इसे flexible tube जैसी किसी चीज़ पर लपेटा जाए तो direction sensitivity के साथ proprioception में भी काम आ सकता है। temperature differences जैसी हवा के gap को प्रभावित करने वाली दूसरी चीज़ों को भी detect और locate कर पाना काफी संभव लगता है

    • शानदार applications सच में बहुत हैं। इसे soft robot leg की gait में आज़माया जा सकता था, लेकिन paper इस साल के अंत में publish होने तक details बताना मुश्किल है
  • “एक बेहतरीन advisor की वजह से” वाला हिस्सा ही key है। खराब experience और अच्छे experience के बीच फर्क ठीक वहीं होता है

  • बढ़िया लेख है। explanation बहुत clear है, और concept दिखाने के लिए GIFs और visuals का इस्तेमाल बिल्कुल सही था
    मैं इस field की सीमित समझ वाला सिर्फ एक software engineer हूँ, लेकिन पढ़ते हुए बहुत मजा आया और काफी सीखा। अच्छा काम, और PhD के लिए बधाई

  • बिल्कुल वही नहीं, लेकिन DAS याद आया, जिसमें कई acoustic sensing tasks के लिए fiber optic cable इस्तेमाल होती है। मूल रूप से यह geophone/hydrophone का alternative जैसा तरीका है
    submarine fibers को अलग-अलग monitoring tasks में इस्तेमाल करने पर भी कई papers थे। Luna Innovations इसे strain sensing जैसे industrial applications में इस्तेमाल करती है, और जहाँ तक मुझे पता है Schlumberger के पास towed streamer से जुड़े fiber optic sensing patents भी कई हैं। हालांकि soft robots में इसका इस्तेमाल मैंने नहीं देखा

    • literature review शुरू करते समय existing research की मात्रा देखकर काफी दबाव महसूस हुआ था। खासकर FBG-based sensors के मामले में
      लेकिन यह idea इतना fundamentally simple है कि लगता है ज्यादा smart लोगों ने इसे आम तौर पर नज़रअंदाज़ कर दिया
  • सच में कमाल का idea और बेहतरीन काम
    sensor data में dead zone काफी बड़ा दिखता है; क्या sensors के बीच की दूरी घटाकर इसे आसानी से ठीक नहीं किया जा सकता?
    bending की direction detect करना भी useful होगा क्या? Mercedes logo की तरह tube को divide करके, एक बाहरी tube के अंदर sensors के 3 sets रखे जाएँ तो शायद संभव हो
    कई जगहों पर bending detect करने का तरीका भी होगा क्या? मौजूदा setup में values को practically OR करने जैसा लगता है, इसलिए गलत readings आ सकती हैं। कोई अच्छा solution होगा, यह जानने की उत्सुकता है

    • अच्छे ideas हैं। अभी पूरी तरह implement नहीं किया है, लेकिन हर bend हमेशा strands के बीच वही relative attenuation रखता है, इसलिए multiple bends detect करना भी संभव है
      आखिर में यह एक reading से अगली reading तक बदले relative delta को match करने की problem बन जाती है। हालांकि एक catch है: अगर सभी joints बहुत ज्यादा मुड़ जाएँ तो किसी point पर light अंत तक नहीं पहुँचेगी। इसे mitigate करने के तरीके भी हैं, लेकिन comment पहले ही बहुत लंबा हो गया है
  • मैं ऐसा sensor ढूँढ रहा था जो detect कर सके कि golf club sensor के ऊपर से गुजरते समय कितना पास है, कितना तेज है, और swing arc कैसा है
    idea यह था कि ऐसा golf launch monitor बनाया जाए जिसमें ball मारने की जरूरत न हो, ताकि indoors simulation golf खेला जा सके। यानी living room में TV पर Masters देखते हुए साथ-साथ खेलना, लेकिन golf ball से TV तोड़े बिना
    सोच रहा हूँ कि ऐसा एक sensor या कई sensors को bundle करके इस्तेमाल करना suitable होगा या नहीं

    • मेरे पिता के पास 90s में computer से connect होने वाली ऐसी ही चीज़ थी
    • sensor पर चोट लगाकर उसके कमरे के पार TV में जा लगने का risk बहुत बड़ा लगता है
      जैसा ऊपर कहा, high-speed camera और Kinect-style skeleton extraction technology को साथ इस्तेमाल करना कहीं बेहतर होगा। PlayStation Eye और existing open source technology से ही garage में बनाया जा सकता है
    • ऐसा product पहले से मौजूद है और इसे Optishot कहते हैं। नए radar या camera-based sensors की तुलना में यह खास अच्छा काम नहीं करता
    • लगता है एक-दो Hall sensors और magnet लगा हुआ club head चाहिए होगा
  • क्या यह पहले Nintendo Power Glove में इस्तेमाल हुई technology जैसी ही नहीं है? https://www.youtube.com/watch?v=3g8JiGjRQNE
    tube में light डाली जाती थी और उस light को measure करके key inputs trigger किए जाते थे। इसलिए fingers या hand bend करने पर action होता था। बाद की generations में mechanism बदल दिया गया

    • यहाँ जो एक नई बात लगती है वह यह है कि हर bend point के लिए अलग optical fiber की जरूरत पड़े बिना भी कई bend points detect किए जा सकते हैं
  • मुझे समझ नहीं आ रहा कि sensor दो या ज्यादा locations पर bend हो तो क्या होता है
    शुरुआत में ToF sensor का जिक्र था, इसलिए लगा कि bend से आने वाले reflection को देखकर उसकी distance भी measure की जाती है, लेकिन वास्तव में ऐसा नहीं लगता। अगर sensor को दो जगह bend करें, तो ऐसा दिखता है कि दोनों bends से बने log attenuation का sum ही मिलता है। अगर मान लें कि bend की “strength” attenuation को continuously बदलती है, तो arbitrary दो-bend combinations को अलग पहचानने के लिए gap positions की संख्या जितने strands चाहिए होंगे
    सोच रहा हूँ कि मैंने गलत पढ़ा है, या यह उन cases के लिए intended है जहाँ पता हो कि सिर्फ एक bend है

    • “Visualization of the OptiGap Sensor System” section देखें तो लगता है कि कई sensors के spacing patterns sensor की length पर exact location में translate हो सकने वाली unique signature देते हैं
      “Realtime Machine Learning on a Microcontroller” section के अनुसार, waveform को actual location में translate करने वाला mechanism Bayesian model पर आधारित लगता है