1 टिप्पणियां

 
GN⁺ 2024-10-27
Hacker News की राय
  • पहले भी robot arm में IMU जोड़ने का एक अलग तरीका देखा है। दो अलग-अलग तरह के sensors को मिलाने को sensor fusion कहा जाता है, और IMU व GPS को साथ इस्तेमाल करके उन पर Kalman filter लगाकर बहुत सटीक position values हासिल करना आम है
    इस video में खास तौर पर अच्छी बात यह है कि नए sensor को motor के अंदर लगाया गया, जिससे पूरा सिस्टम कहीं ज्यादा छोटा और rigid बन सका
    [1] https://en.wikipedia.org/wiki/Inertial_measurement_unit
    [2] https://en.wikipedia.org/wiki/Sensor_fusion
    [3] https://en.wikipedia.org/wiki/Kalman_filter

  • अगर आप ऐसा कुछ बनाना चाहते हैं, तो नया Raspberry Pi Pico 2 यहां इस्तेमाल किए गए chip से कई orders of magnitude ज्यादा performance देता है और कीमत लगभग आधी है
    अभी entry-level 32-bit ARM/RISC embedded device के तौर पर इसकी value-for-money बेहद मजबूत लगती है

    • errata 9 के मुताबिक, internal pulldown के बजाय external pulldown लगाना होगा—यह बात ध्यान में रखनी चाहिए
    • अब यह अपेक्षाकृत पुराना हो चुका है, लेकिन Teensy 4.1 से भी अभी शानदार performance मिलती है। कीमत करीब 30 डॉलर है, यानी थोड़ी महंगी, लेकिन यह Cortex M7 600MHz पर चलता है और I/O व protocols भी भरपूर देता है
    • अच्छा तो है, लेकिन फिर trade-off क्या है?
  • ज्यादा demanding कामों में “out of the box” accuracy बढ़ाने के लिए कुछ बड़े industrial robots secondary encoders भी इस्तेमाल करते हैं
    secondary joint feedback को robot structure और mechanical parts के kinematic model के साथ जोड़कर यह ज्यादा सटीक अनुमान लगाया जाता है कि असल robot tool endpoint कहां है
    https://electroimpact.com/Products/Robots/AchievingAccuracy

    • तो फिर primary encoder किस काम आता है?
  • robot को बार-बार बिल्कुल वही motion set दोहराते हुए देखकर backlash का अंदाजा नहीं लगाया जा सकता। ऐसा करने पर definition के हिसाब से hysteresis समस्या से बाहर हो जाता है

    • मुझे नहीं लगता कि वही motion है? दूसरी move तो उल्टी दिशा में जा रही है
  • अच्छा है, लेकिन क्या वह robot वास्तव में कोई काम कर रहा है?
    बिना load की स्थिति में ज्यादा backlash वाले system की positional accuracy बढ़ाने से कौन-सा useful application निकलेगा, इसकी कल्पना करना मेरे लिए मुश्किल है। शायद मेरी imagination ही कम हो
    आजकल एक trend है कि खराब hardware बनाओ या खरीदो, और software उसे ठीक कर देगा, लेकिन मैंने इसे बहुत सफल होते कम ही देखा है। Tesla द्वारा self-driving के लिए webcam इस्तेमाल करने का मामला, या Boeing द्वारा aircraft design करने के बाद defective attitude sensor इस्तेमाल करने का मामला याद आता है
    अगर robot ने कुछ उपयोगी काम किया होता तो यह कहीं ज्यादा impressive लगता, और मुझे शक है कि इसकी real-world applicability काफी सीमित होगी

    • Boeing वाला उदाहरण बहुत ज्यादा simplify किया हुआ लगता है। लक्ष्य Airbus से मुकाबला करने वाला efficient aircraft बनाना था, लेकिन नए type certification की cost और delay से बचना भी था
      इसके लिए उसी airframe पर बड़े engines लगाने पड़ते, और उसके कारण engines को ज्यादा आगे लगाना पड़ता, जिससे flight characteristics बदल गईं और retraining जरूरी हो गई। Retraining sales के लिए घातक थी, इसलिए पुराने 737 जैसा उड़ता हुआ दिखाने के लिए ऊपर से एक software system जोड़ दिया गया
      इससे pilots सिर्फ iPad training course के जरिए upgrade कर सकते थे। इस correction system को pilots को high angle of attack पर stall की समस्या महसूस न होने देने जैसा बनना था, इसलिए MCAS ने detected angle of attack के आधार पर nose down करने के लिए AoA sensor का इस्तेमाल किया
      AoA sensor मूल रूप से life-or-death direct core input के रूप में इस्तेमाल होने के लिए design नहीं किया गया था, और कभी-कभी jam या fail हो जाता था। MCAS ने उनमें से सिर्फ एक को input के रूप में इस्तेमाल किया। अगर MCAS गलत तरीके से तय करता कि nose down जरूरी है और pilot 737 training के मुताबिक response देता, तो वह उसकी आखिरी flight होती। वह aircraft crash हो जाता
      अंत में, Boeing ने इस भयानक plan के हर step पर ज्यादा पैसा कमाने के लिए लोगों की जान ली। मूल point से सहमत हूं, लेकिन Boeing लगभग सबसे खराब malicious design के करीब है, इसलिए उसे अलग category में रखना चाहिए
    • बिना load उठाए बेहद precision से move करने वाले robot applications में coordinate measuring machine जैसे robotic measurement systems शामिल हैं: https://en.wikipedia.org/wiki/Coordinate-measuring_machine
    • बाद के videos में servo को लंबी arm के end पर weight उठाते हुए दिखाया गया है
  • जिन लोगों ने ऐसे analog measuring instruments इस्तेमाल किए हैं, उनसे सवाल है। camera के reading zoom करके दिखाने से पहले needle एक पूरा चक्कर लगाती हुई दिखती है—क्या यह video सच में वही accuracy दिखा रहा है जिसका दावा करता है?

    • मैंने पूरा video नहीं देखा, लेकिन शायद उसने “x को 0.00 से 10.00 पर move” किया और gauge ने दिखाया कि final movement position वास्तव में 10.05 थी
      वह device जितना floppy है, उसे देखते हुए यह काफी impressive है
      हालांकि ऐसे gauges में negative direction movement मापने के लिए preload लगाकर उन्हें “positive” range में दबाकर रखना पड़ता है। ऐसा किया गया लगता तो है, लेकिन जब तक अभी और गहराई से analyze न करूं, 100% sure नहीं हो सकता
      साथ ही gauge खुद भी कुछ preload देता है, इसलिए हो सकता है उसने system की looseness काफी हद तक हटा दी हो और accuracy असल से बेहतर दिखी हो
    • सही है। end की sphere का एक fixed radius होता है, और जब वह sphere अपने radius जितनी धकेली जाती है, यानी contact point ठीक centerline पर आता है, तो indicator फिर से 0 दिखाता है
      अगर contact टूट गया हो, तो इसका मतलब लगभग यह है कि वह अपनी expected position से कम से कम 1mm हट चुका है
      आम तौर पर इन दोनों स्थितियों में से कौन-सी है यह बताने के लिए दूसरी needle होती है, लेकिन ऐसे device के usage context में अगर 1mm का deviation हो तो स्थिति बहुत clear हो जाती है, इसलिए शायद उसे जरूरी नहीं समझा गया
  • 100 डॉलर में खरीदा जा सकने वाला 3-axis robot, यानी 3D printer, 0.05mm की static accuracy कैसे देता है?
    यह control theory का नहीं, बल्कि mechanical structure और stepper motor का मामला है

    • यह gantry structure और arm structure के बीच का trade-off है
    • सही है, लेकिन वह robot arm नहीं है, इसलिए कम दिलचस्प है। Arm की लंबाई error को amplify करती है, इसलिए printer जैसी positional accuracy देने वाला “mechanical structure और stepper” आधारित arm बनाने के लिए motor कहीं ज़्यादा precise होनी चाहिए, या अगर reduction किया जाए तो industrial robot arm की तरह backlash बेहद कम होना चाहिए
    • मुझे जिज्ञासा है कि 0.05mm या उससे कम accuracy वाले x/y, और वैकल्पिक रूप से z system को reproduce करने का सबसे अच्छा तरीका क्या होगा। बेशक, speed sacrifice किए बिना
  • मैं हमेशा सोचता रहा हूं कि जब precision चाहिए होती है तो robots में pantograph का इस्तेमाल ज़्यादा क्यों नहीं किया जाता
    यह precise wood cutting या wood/metal engraving वगैरह में इस्तेमाल होने वाला तरीका है
    https://en.wikipedia.org/wiki/Pantograph
    https://youtu.be/s56J_Rnh_Co
    “बड़े” हिस्से को drive करके “छोटे” हिस्से को move कराया जाए तो high precision मिल सकती है

    • Feynman ने https://calteches.library.caltech.edu/1976/1/1960Bottom.pdf के pages 6–7 में pantograph और precision problem पर चर्चा की है। मैंने खुद इस पर गहराई से नहीं सोचा है
    • Pantograph आम तौर पर 2D में उपयोगी होता है, और अगर किसी robot को सिर्फ 2D ही चाहिए तो सीधे rails इस्तेमाल करना ज़्यादा accurate होता है
  • यह सचमुच शानदार encoder trick है। मुझे नहीं लगा था कि यह इतनी अच्छी होगी, लेकिन video में तो यह साफ़ तौर पर अच्छी दिखती है

    • यह video ज़्यादातर उसी दिशा में repeat करने पर मिलने वाली repeatability दिखाता है, absolute static accuracy नहीं। Individual motors का backlash compensate किया जा सकता है, लेकिन links की looseness या flex को compensate नहीं किया जा सकता
      यहां DC motor इस्तेमाल हो रही है। Modern 3-phase servomotor इस्तेमाल करने पर motor असल में क्या कर रही है, इसके बारे में ज़्यादा पता चल सकता है