मक्खी का एक वर्चुअल शरीर
दिमाग को एक शरीर की ज़रूरत होती है। रिसर्चर्स ने मक्खी के शरीर का बहुत बारीकी से फ़िज़िक्स सिमुलेशन बनाया है जो चल और उड़ सकता है, और इसे ट्रेंड न्यूरल नेटवर्क कंट्रोल करते हैं।
60 सेकंड में
मक्खी का एक वर्चुअल शरीर
दिमाग को एक शरीर की ज़रूरत होती है। रिसर्चर्स ने मक्खी के शरीर का बहुत बारीकी से फ़िज़िक्स सिमुलेशन बनाया है जो चल और उड़ सकता है, और इसे ट्रेंड न्यूरल नेटवर्क कंट्रोल करते हैं।
शरीर को कौन चलाता है?
- 1
सेंस करना (Sense)
सिम्युलेटर शरीर की पोज़ीशन, स्पीड और जोड़ों के ऐंगल की जानकारी देता है। - 2
फैसला लेना (Decide)
कंट्रोलर (यहाँ एक ट्रेंड न्यूरल नेटवर्क) जोड़ों या पंखों के लिए लगने वाली ताक़त तय करता है। - 3
हिलना-डुलना (Move)
फ़िज़िक्स इंजन शरीर को समय के एक छोटे से कदम (टाइम स्टेप) में आगे बढ़ाता है। - 4
दोहराना (Repeat)
यह लूप सिमुलेशन के हर सेकंड में कई बार चलता है।
वर्चुअल शरीर क्यों बनाएं?
| मकसद | वर्चुअल शरीर कैसे मदद करता है |
|---|---|
| मूवमेंट को समझना | पैर और पंख आपस में तालमेल कैसे बिठाते हैं, इससे जुड़े आइडिया को सुरक्षित और तेज़ी से टेस्ट करना |
| दिमाग और शरीर को जोड़ना | भविष्य में, वायरिंग से बने दिमाग के मॉडलों को शरीर के मॉडल से जोड़ा जा सकता है |
| रोबोटिक्स में मदद | कीड़े-मकोड़ों के चलने और उड़ने के तरीकों से छोटे रोबोट बनाने की प्रेरणा मिल सकती है |
| कम प्रयोग | कुछ सवालों को पहले सिमुलेशन में परखा जा सकता है, फिर असली मक्खियों पर टेस्ट किया जा सकता है |
एक छोटा कंट्रोलर जिसे आप समझ सकते हैं
# Toy physics: height h (metres), velocity v, gravity g. MADE-UP simple body.
g, dt = 9.81, 0.01
h, v = 1.0, 0.0
for step in range(100): # 100 steps of 0.01 s = 1 second
thrust = 0.0 # no controller yet
v += (thrust - g) * dt
h = max(0.0, h + v * dt)
print("Height after 1 s with no thrust:", round(h, 2), "m")और देखें और पढ़ें
लैब
एक ट्यून किया गया फ़ीडबैक कंट्रोलर जो एक खिलौना 1D उड़ने वाले शरीर को बिना गिरे या बहुत ऊपर जाए, टारगेट ऊंचाई पर मँडराता (hover करता) रखता है।
समस्या
यह आपके ब्राउज़र में चलता है। यह "शरीर" एक काल्पनिक खिलौना है: ऊंचाई के लिए एक संख्या, साथ में ग्रैविटी और ऊपर की ओर लगने वाला थ्रस्ट।
- स्टार्टर कोड चलाएं। ज़ीरो थ्रस्ट के साथ शरीर ज़मीन पर गिर जाता है।
controller(h, v, target)को पूरा करें ताकि यह ऊपर की ओर थ्रस्ट लौटाए। एक अच्छा आइडिया:g + KP * (target - h) - KD * v। पहला हिस्सा वज़न को संभालता है;KPटारगेट की तरफ़ धकेलता है;KDतेज़ रफ़्तार होने पर ब्रेक लगाता है।KPऔरKDके मान चुनें। कोशिश करें कि अंत में टारगेट से 0.1 मीटर के दायरे में रहें, और रास्ते में टारगेट से 30% से ज़्यादा ऊपर न जाएं।- टारगेट 1.0 और 2.0 आज़माएं। दो लाइनें लिखें: अगर
KPबहुत बड़ा हो औरKDज़ीरो हो, तो क्या होता है?
प्रैक्टिस लैब
कोड में बदलाव करें और इसे रन करें। Python आपके ब्राउज़र में चलता है — हमारे सर्वर पर कुछ नहीं भेजा जाता।
कोई आउटपुट नहीं। वैल्यूज़ देखने के लिए print(...) जोड़ें।
आपका काम तब पूरा होगा जब
कठिन सवाल
उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।
Q1आपका कंट्रोलर 1 मास (द्रव्यमान) वाले शरीर के लिए काम करता है। अगर असली शरीर दोगुना भारी हो तो क्या होगा, और कोई असली सिस्टम इसे कैसे संभालेगा?दिखाएं
उतना ही थ्रस्ट भारी शरीर को कम उठा पाएगा, इसलिए "वज़न संभालने" वाला हिस्सा कम पड़ जाएगा और शरीर टारगेट से नीचे रह जाएगा, या थ्रस्ट सीमित होने पर गिर जाएगा। असली कंट्रोलर इसे एक ऐसा टर्म जोड़कर ठीक करते हैं जो लगातार बनी रहने वाली गड़बड़ी को धीरे-धीरे ठीक करता है (एक इंटीग्रल टर्म), या मास का अंदाज़ा लगाकर, या फिर सीखे हुए कंट्रोलर्स के मामले में, शरीर के कई तरह के बदलावों पर ट्रेनिंग देकर ताकि नेटवर्क खुद को ढाल सके।
Q2रिसर्चर्स पूरी वर्चुअल मक्खी के लिए हाथ से बनाए नियमों के बजाय ट्रेंड न्यूरल नेटवर्क का इस्तेमाल क्यों करते हैं?दिखाएं
मक्खी के पूरे शरीर में कई जोड़ और पंख होते हैं जिन्हें एक साथ काम करना होता है, और सही ताक़तें एक साथ कई इनपुट पर निर्भर करती हैं। इस सब के लिए हाथ से नियम लिखना बहुत मुश्किल है। एक न्यूरल नेटवर्क डेटा से या सिमुलेशन में बार-बार कोशिश करके कंट्रोलर सीख सकता है। नुकसान बस यह है कि सीखे हुए कंट्रोलर को समझना ज़्यादा मुश्किल होता है।
अक्सर पूछे जाने वाले सवाल
क्या वर्चुअल मक्खी का दिमाग FlyWire कनेक्टोम है?
यहाँ बताए गए बॉडी सिमुलेशन में, नहीं। इन शरीरों को ट्रेंड आर्टिफ़िशियल न्यूरल नेटवर्क चलाते हैं। वायरिंग पर आधारित दिमाग के मॉडल को शरीर के मॉडल से जोड़ना एक ऐसा लक्ष्य है जिसकी बात कई वैज्ञानिक करते हैं, लेकिन यह एक अलग और ज़्यादा मुश्किल कदम है।
फ़िज़िक्स इंजन क्या होता है?
यह एक ऐसा सॉफ़्टवेयर है जो छोटे-छोटे कदमों में यह हिसाब लगाता है कि ग्रैविटी और छूने जैसी ताक़तों के असर में चीज़ें कैसे हिलती-डुलती हैं। गेम्स और रोबोट सिम्युलेटर भी इनका इस्तेमाल करते हैं।
सिर्फ़ असली मक्खी का ही इस्तेमाल क्यों न करें?
असली मक्खियों का इस्तेमाल किया जाता है, और वे बहुत ज़रूरी हैं। लेकिन सिमुलेशन ऐसी चीज़ें दे सकता है जो असली मक्खी नहीं दे सकती: आप हर ताक़त को देख सकते हैं, उसी पल को हूबहू दोबारा दोहरा सकते हैं, और ऐसे आइडिया आज़मा सकते हैं जो किसी ज़िंदा जीव पर मुमकिन नहीं होते।
पाठ का टेस्ट
5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।