- [2024-12-25] Ajout d’un docker incluant la prise en charge du moteur de rendu par ray-tracing.
- [2024-12-24] Ajout de directives pour contribuer à Genesis.
- Qu'est-ce que Genesis ?
- Caractéristiques clés
- Installation Rapide
- Docker
- Documentation
- Contribuer à Genesis
- Support
- License et Remerciements
- Articles Associés
- Citation
Genesis est une plateforme physique conçue pour des applications générales en Robotique/ IA embarquée/IA physique. Elle combine plusieurs fonctionnalités :
- Un moteur physique universel, reconstruit depuis zéro, capable de simuler une large gamme de matériaux et de phénomènes physiques.
- Une plateforme de simulation robotique légère, ultra-rapide,pythonic, et conviviale.
- Un puissant et rapide système de rendu photo-réaliste.
- Un moteur de génération de données qui transforme des descriptions en langage naturel en divers types de données.
Genesis vise à :
- Réduire les barrières à l'utilisation des simulations physiques, rendant la recherche en robotique accessible à tous. Voir notre déclaration de mission.
- Unifier divers solveurs physiques dans un cadre unique pour recréer le monde physique avec la plus haute fidélité.
- Automatiser la génération de données, réduisant l'effort humain et permettant à l'écosystème de données de fonctionner de manière autonome.
Page du projet : https://genesis-embodied-ai.github.io/
- Vitesse : Plus de 43 millions d'IPS lors de la simulation d'un bras robotique Franka avec une seule RTX 4090 (430 000 fois plus rapide que le temps réel).
- Multi-plateforme : Fonctionne sur Linux, macOS, Windows, et prend en charge plusieurs backends de calcul (CPU, GPU Nvidia/AMD, Apple Metal).
- Intégration de divers solveurs physiques : Corps rigides, MPM, SPH, FEM, PBD, Fluides stables.
- Large éventail de modèles de matériaux : Simulation et couplage de corps rigides, liquides, gaz, objets déformables, objets à coque mince et matériaux granulaires.
- Compatibilité avec divers robots : Bras robotiques, robots à pattes, drones, robots mous, et support pour charger
MJCF (.xml)
,URDF
,.obj
,.glb
,.ply
,.stl
, et plus encore. - Rendu photo-réaliste : Rendu natif basé sur le lancer de rayons.
- Différentiabilité : Genesis est conçu pour être entièrement différentiable. Actuellement, notre solveur MPM et Tool Solver prennent en charge la différentiabilité, avec d'autres solveurs prévus dans les prochaines versions (à commencer par le solveur de corps rigides et articulés).
- Simulation tactile basée sur la physique : Simulation de capteur tactile différentiable en cours de développement (prévue pour la version 0.3.0).
- Facilité d'utilisation : Conçu pour être simple, avec une installation intuitive et des API conviviales.
Genesis est disponible via PyPI :
pip install genesis-world # Nécessite Python >=3.9;
Vous devez également installer PyTorch en suivant les instructions officielles.
Pour la dernière version, clonez le dépôt et installez localement :
git clone https://github.com/Genesis-Embodied-AI/Genesis.git
cd Genesis
pip install -e .
Si vous souhaitez utiliser Genesis avec Docker, vous pouvez d'abord construire l'image Docker comme suit :
docker build -t genesis -f docker/Dockerfile docker
Ensuite, vous pouvez exécuter les exemples à l'intérieur de l'image Docker (montés sur /workspace/examples
) :
xhost +local:root # Autoriser le conteneur à accéder à l'affichage
docker run --gpus all --rm -it \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix/:/tmp/.X11-unix \
-v $PWD:/workspace \
genesis
Une documentation complète est disponible en Anglais et en Chinois. Cela inclut des étapes d'installation détaillées, des tutoriels et des références API.
Le projet Genesis est un effort ouvert et collaboratif. Nous accueillons toutes les formes de contributions de la communauté, notamment :
- Pull requests pour de nouvelles fonctionnalités ou des corrections de bugs.
- Rapports de bugs via GitHub Issues.
- Suggestions pour améliorer la convivialité de Genesis.
Consultez notre guide de contribution pour plus de détails.
- Signalez des bugs ou demandez des fonctionnalités via GitHub Issues.
- Participez aux discussions ou posez des questions sur GitHub Discussions.
Le code source de Genesis est sous licence Apache 2.0.
Le développement de Genesis a été rendu possible grâce à ces projets open-source :
- Taichi : Backend de calcul multiplateforme haute performance. Merci à l'équipe de Taichi pour leur support technique !
- FluidLab : Implémentation de référence du solveur MPM.
- SPH_Taichi : Implémentation de référence du solveur SPH.
- Ten Minute Physics et PBF3D : Implémentations de référence des solveurs PBD.
- MuJoCo : Référence pour la dynamique des corps rigides.
- libccd : Référence pour la détection des collisions.
- PyRender : Rendu basé sur la rasterisation.
- LuisaCompute et LuisaRender : DSL de ray-tracing.
Genesis est un projet à grande échelle qui intègre des technologies de pointe issues de divers travaux de recherche existants et en cours dans un seul système. Voici une liste non exhaustive de toutes les publications qui ont contribué au projet Genesis d'une manière ou d'une autre :
- Xian, Zhou, et al. "Fluidlab: A differentiable environment for benchmarking complex fluid manipulation." arXiv preprint arXiv:2303.02346 (2023).
- Xu, Zhenjia, et al. "Roboninja: Learning an adaptive cutting policy for multi-material objects." arXiv preprint arXiv:2302.11553 (2023).
- Wang, Yufei, et al. "Robogen: Towards unleashing infinite data for automated robot learning via generative simulation." arXiv preprint arXiv:2311.01455 (2023).
- Wang, Tsun-Hsuan, et al. "Softzoo: A soft robot co-design benchmark for locomotion in diverse environments." arXiv preprint arXiv:2303.09555 (2023).
- Wang, Tsun-Hsuan Johnson, et al. "Diffusebot: Breeding soft robots with physics-augmented generative diffusion models." Advances in Neural Information Processing Systems 36 (2023): 44398-44423.
- Katara, Pushkal, Zhou Xian, and Katerina Fragkiadaki. "Gen2sim: Scaling up robot learning in simulation with generative models." 2024 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2024.
- Si, Zilin, et al. "DiffTactile: A Physics-based Differentiable Tactile Simulator for Contact-rich Robotic Manipulation." arXiv preprint arXiv:2403.08716 (2024).
- Wang, Yian, et al. "Thin-Shell Object Manipulations With Differentiable Physics Simulations." arXiv preprint arXiv:2404.00451 (2024).
- Lin, Chunru, et al. "UBSoft: A Simulation Platform for Robotic Skill Learning in Unbounded Soft Environments." arXiv preprint arXiv:2411.12711 (2024).
- Zhou, Wenyang, et al. "EMDM: Efficient motion diffusion model for fast and high-quality motion generation." European Conference on Computer Vision. Springer, Cham, 2025.
- Qiao, Yi-Ling, Junbang Liang, Vladlen Koltun, and Ming C. Lin. "Scalable differentiable physics for learning and control." International Conference on Machine Learning. PMLR, 2020.
- Qiao, Yi-Ling, Junbang Liang, Vladlen Koltun, and Ming C. Lin. "Efficient differentiable simulation of articulated bodies." In International Conference on Machine Learning, PMLR, 2021.
- Qiao, Yi-Ling, Junbang Liang, Vladlen Koltun, and Ming Lin. "Differentiable simulation of soft multi-body systems." Advances in Neural Information Processing Systems 34 (2021).
- Wan, Weilin, et al. "Tlcontrol: Trajectory and language control for human motion synthesis." arXiv preprint arXiv:2311.17135 (2023).
- Wang, Yian, et al. "Architect: Generating Vivid and Interactive 3D Scenes with Hierarchical 2D Inpainting." arXiv preprint arXiv:2411.09823 (2024).
- Zheng, Shaokun, et al. "LuisaRender: A high-performance rendering framework with layered and unified interfaces on stream architectures." ACM Transactions on Graphics (TOG) 41.6 (2022): 1-19.
- Fan, Yingruo, et al. "Faceformer: Speech-driven 3d facial animation with transformers." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022.
- Wu, Sichun, Kazi Injamamul Haque, and Zerrin Yumak. "ProbTalk3D: Non-Deterministic Emotion Controllable Speech-Driven 3D Facial Animation Synthesis Using VQ-VAE." Proceedings of the 17th ACM SIGGRAPH Conference on Motion, Interaction, and Games. 2024.
- Dou, Zhiyang, et al. "C· ase: Learning conditional adversarial skill embeddings for physics-based characters." SIGGRAPH Asia 2023 Conference Papers. 2023.
... et bien d'autres travaux en cours.
Si vous utilisez Genesis dans vos recherches, veuillez envisager de citer :
@software{Genesis,
author = {Genesis Authors},
title = {Genesis: A Universal and Generative Physics Engine for Robotics and Beyond},
month = {December},
year = {2024},
url = {https://github.com/Genesis-Embodied-AI/Genesis}
}