इस प्रोजेक्ट के बारे में

Genesis World एक सिमुलेशन प्लेटफ़ॉर्म है जो भौतिक AI विकास के लिए है, विशेष रूप से रोबोटिक्स और एम्बेडेड AI सीखने के लिए। यह एक एकीकृत मल्टी-फिजिक्स इंजन, Nyx नामक फोटोरियलिस्टिक रेंडरर, और Quadrants नामक एक क्रॉस-प्लेटफ़ॉर्म कंपाइलर को Pythonic सिमुलेशन इंटरफ़ेस के पीछे बंडल करता है। यह परियोजना पहले Genesis के रूप में जानी जाती थी, दिसंबर 2024 में एक शैक्षणिक प्रयास के रूप में शुरू हुई, और अब Genesis AI द्वारा समर्थित है। यह Apache 2.0 के तहत लाइसेंस प्राप्त है। प्लेटफ़ॉर्म चार परतों में संगठित है। सिमुलेशन इंटरफ़ेस उपयोगकर्ता-सामना वाला API प्रदान करता है: URDF, MJCF, OBJ, GLB और USD जैसे प्रारूपों के लिए एसेट पार्सिंग, एंटिटी एक्सेसर, कंट्रोलर, सेंसर, समानांतर और विषम वातावरण, और एक अंतर्निहित GUI। फिजिक्स परत एक एकीकृत मल्टी-फिजिक्स इंजन है जो कठोर पिंड गतिकी, FEM, MPM, कण विधियों (PBD और SPH), uipc बैकएंड, एक स्पष्ट कपलर, और SAP को एकीकृत करता है, ये सभी एक दृश्य और एक स्थिति साझा करते हैं। रेंडर परत तीन कैमरा-सेंसर रेंडरिंग पथ प्रदान करती है: Nyx, Luisa (एक DSL रे ट्रेसर), और Pyrender (एक रास्टराइज़र)। कंपाइलर परत, Quadrants, Python कर्नेल कोड को CUDA, AMD ROCm, Apple Metal, Vulkan, x86 और ARM64 में परिवर्तित करता है, और ऑटोडिफ, GPU ग्राफ़ और फास्टकैश मशीनरी ले जाता है। रिपॉजिटरी में चलाने योग्य डेमो की एक सूची है जो फिजिक्स, रेंडरिंग और सिमुलेशन इंटरफ़ेस अनुभागों में विभाजित है। फिजिक्स उदाहरण कठोर पिंड परिदृश्यों को शामिल करते हैं जैसे Franka क्यूब हेरफेर, टकराव टावर और संपर्क मैनिफोल्ड; विकृत और द्रव सॉल्वर जिनमें FEM बाधाएं, MPM ट्यूटोरियल, सैंड व्हील, SPH युग्मन, PBD तरल पदार्थ और कपड़ा, स्थिर द्रव धुआं, और IPC रोबोट कपड़ा टेलीऑपरेशन शामिल हैं; मल्टी-सॉल्वर युग्मन मामले जैसे कठोर पर कपड़ा, कठोर प्लस MPM अटैचमेंट, ड्रैगन काटना, वाटर व्हील और फ्लश क्यूब्स; और SAP युग्मन उदाहरण। रेंडरिंग उदाहरणों में एक एंटिटी का अनुसरण, एनिमेटेड कैमरे, और hello-world, संलग्न कैमरे, PBR सामग्री, प्रकाश प्रकार, 3D Gaussian splats, ऑब्जेक्ट पिकिंग और मल्टी-कैमरा मल्टी-एनवायरनमेंट सेटअप के लिए Nyx वॉकथ्रू शामिल हैं। सिमुलेशन इंटरफ़ेस उदाहरण रोबोट नियंत्रण, ImGui संयुक्त नियंत्रण, विषम वातावरण, डोमेन रैंडमाइज़ेशन, सेंसर जैसे गहराई कैमरे, IMU, लिडार, स्पर्श सैंडबॉक्स, संपर्क बल, सतह दूरी और तापमान ग्रिड, GUI डिबग ड्रॉइंग और मेश पॉइंट पिकिंग, माउस इंटरैक्शन, डिफरेंशियल IK कंट्रोलर, बैचेड IK, ड्रोन होवर प्रशिक्षण, और उन्नत वर्म और मसल ट्यूटोरियल शामिल हैं। स्थापना pip के माध्यम से genesis-world पैकेज के साथ होती है, जिसके लिए Python 3.10 से 3.14 से नीचे की आवश्यकता होती है, PyTorch स्थापित करने के बाद। एक विकास स्थापना क्लोन किए गए रिपॉजिटरी से pip install -e ".[dev]" का उपयोग करती है। वैकल्पिक एक्स्ट्रा में Linux या Windows x86 पर NVIDIA GPU के साथ IPC सॉल्वर के लिए pyuipc, और Nyx रेंडरर के लिए gs-nyx शामिल हैं। Quadrants स्वचालित रूप से बंडल किया जाता है। परियोजना uv-आधारित वर्कफ़्लो का भी दस्तावेज देती है जिसमें uv sync और CUDA, CPU और Apple Silicon के लिए प्लेटफ़ॉर्म-विशिष्ट PyTorch स्थापना कमांड हैं, साथ ही uv run के माध्यम से उदाहरण चलाना है। यह परियोजना योगदानों का स्वागत करती है जिसमें पुल रिक्वेस्ट, बग रिपोर्ट और प्रयोज्यता सुझाव शामिल हैं, और समर्थन के लिए उपयोगकर्ताओं को GitHub Issues और Discussions पर निर्देशित करती है। यह कई ओपन-सोर्स निर्भरताओं और संदर्भों को स्वीकार करती है, जिनमें Taichi (Quadrants फोर्क का मूल), libuipc, FluidLab, SPH_Taichi, Ten Minute Physics, PBF3D, MuJoCo, libccd, PyRender, LuisaCompute, LuisaRender, Madrona और Madrona-mjx शामिल हैं। दस्तावेज़ीकरण Genesis World, Quadrants और Nyx के लिए Read the Docs पर होस्ट किया गया है।