প্রকল্প সম্পর্কে

Genesis World হলো একটি সিমুলেশন প্ল্যাটফর্ম যা ফিজিক্যাল এআই উন্নয়নের লক্ষ্যে তৈরি, বিশেষত রোবোটিক্স এবং এমবডিড এআই শেখার জন্য। এটি একটি ইউনিফাইড মাল্টি-ফিজিক্স ইঞ্জিন, Nyx নামক একটি ফটোরিয়ালিস্টিক রেন্ডারার এবং Quadrants নামক একটি ক্রস-প্ল্যাটফর্ম কম্পাইলারকে একটি পাইথনিক সিমুলেশন ইন্টারফেসের পিছনে একত্রিত করে। প্রকল্পটি আগে Genesis নামে পরিচিত ছিল, ২০২৪ সালের ডিসেম্বরে একটি একাডেমিক উদ্যোগ হিসেবে শুরু হয়েছিল এবং এখন Genesis AI দ্বারা সমর্থিত। এটি Apache 2.0 লাইসেন্সের অধীনে লাইসেন্সকৃত। প্ল্যাটফর্মটি চারটি স্তরে সংগঠিত। Simulation Interface ব্যবহারকারী-মুখী API প্রদান করে: URDF, MJCF, OBJ, GLB এবং USD-এর মতো ফরম্যাটের জন্য অ্যাসেট পার্সিং, এন্টিটি অ্যাক্সেসর, কন্ট্রোলার, সেন্সর, সমান্তরাল এবং ভিন্নধর্মী পরিবেশ এবং একটি বিল্ট-ইন GUI। Physics স্তরটি একটি ইউনিফাইড মাল্টি-ফিজিক্স ইঞ্জিন যা রিজিড বডি ডাইনামিক্স, FEM, MPM, পার্টিকেল পদ্ধতি (PBD এবং SPH), uipc ব্যাকএন্ড, একটি এক্সপ্লিসিট কাপলার এবং SAP-কে একীভূত করে, সবগুলো একটি দৃশ্য এবং একটি অবস্থা ভাগ করে। Render স্তরটি তিনটি ক্যামেরা-সেন্সর রেন্ডারিং পথ প্রদান করে: Nyx, Luisa (একটি DSL রে ট্রেসার) এবং Pyrender (একটি রাস্টারাইজার)। Compiler স্তর, Quadrants, Python কার্নেল কোডকে CUDA, AMD ROCm, Apple Metal, Vulkan, x86 এবং ARM64-এ নামিয়ে আনে এবং অটোডিফ, GPU গ্রাফ এবং fastcache মেশিনারি বহন করে। রিপোজিটরিতে চলমান ডেমোগুলির একটি ক্যাটালগ রয়েছে যা Physics, Rendering এবং Simulation Interface বিভাগে গ্রুপ করা। Physics উদাহরণগুলির মধ্যে রয়েছে রিজিড বডি দৃশ্য যেমন Franka কিউব ম্যানিপুলেশন, কোলিশন টাওয়ার এবং কন্ট্যাক্ট ম্যানিফোল্ড; ডিফরমেবল এবং ফ্লুইড সলভার যেমন FEM কনস্ট্রেইন্ট, MPM টিউটোরিয়াল, স্যান্ড হুইল, SPH কাপলিং, PBD লিকুইড এবং ক্লথ, স্থিতিশীল ফ্লুইড স্মোক এবং IPC রোবট ক্লথ টেলিঅপারেশন; মাল্টি-সলভার কাপলিং কেস যেমন ক্লথ অন রিজিড, রিজিড প্লাস MPM অ্যাটাচমেন্ট, ড্রাগন কাটা, ওয়াটার হুইল এবং ফ্লাশ কিউব; এবং SAP কাপলিং উদাহরণ। Rendering উদাহরণগুলির মধ্যে রয়েছে একটি এন্টিটি অনুসরণ করা, অ্যানিমেটেড ক্যামেরা এবং hello-world, অ্যাটাচড ক্যামেরা, PBR ম্যাটেরিয়াল, লাইট টাইপ, 3D গাউসিয়ান স্প্ল্যাট, অবজেক্ট পিকিং এবং মাল্টি-ক্যামেরা মাল্টি-এনভায়রনমেন্ট সেটআপের জন্য Nyx ওয়াকথ্রু। Simulation Interface উদাহরণগুলির মধ্যে রয়েছে রোবট কন্ট্রোল, ImGui জয়েন্ট কন্ট্রোল, ভিন্নধর্মী পরিবেশ, ডোমেইন র্যান্ডমাইজেশন, ডেপথ ক্যামেরা, IMU, লিডার, ট্যাকটাইল স্যান্ডবক্স, কন্ট্যাক্ট ফোর্স, সারফেস দূরত্ব এবং তাপমাত্রা গ্রিডের মতো সেন্সর, GUI ডিবাগ ড্রয়িং এবং মেশ পয়েন্ট পিকিং, মাউস ইন্টারঅ্যাকশন, ডিফারেনশিয়াল IK কন্ট্রোলার, ব্যাচড IK, ড্রোন হোভার ট্রেনিং এবং উন্নত ওয়ার্ম এবং মাসল টিউটোরিয়াল। ইনস্টলেশন pip-এর মাধ্যমে genesis-world প্যাকেজ দিয়ে করা হয়, যার জন্য PyTorch ইনস্টল করার পর Python 3.10 থেকে 3.14-এর নিচে প্রয়োজন। একটি ডেভেলপমেন্ট ইনস্টল ক্লোন করা রিপোজিটরি থেকে 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-এ হোস্ট করা হয়েছে।