我们的论文《DISCOVERSE: Efficient Robot Simulation in Complex High-Fidelity Environments》已被IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) 2025接收。
- 克隆仓库
# 安装Git LFS (如果尚未安装)
## Linux
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
## macos 使用 Homebrew
brew install git-lfs
git clone https://github.com/TATP-233/DISCOVERSE.git
cd DISCOVERSE- 选择安装方式
conda create -n discoverse python=3.10 # >=3.8即可
conda activate discoverse
pip install -e .
## 自动检测并下载所需的子模块
python scripts/setup_submodules.py
## 验证安装
python scripts/check_installation.pypip install -e . # 仅核心功能包含: MuJoCo、OpenCV、NumPy等基础依赖
pip install -e ".[lidar,visualization]"- 包含: Taichi GPU加速、LiDAR仿真、可视化工具
- 功能: 高性能LiDAR仿真,基于Taichi GPU加速
- 依赖:
taichi>=1.6.0 - 适用: 移动机器人SLAM、激光雷达传感器仿真、点云处理
pip install -e ".[act_full]"- 包含: ACT算法、数据收集工具、可视化
- 功能: 模仿学习、机器人技能训练、策略优化
- 依赖:
torch,einops,h5py,transformers,wandb - 算法:其他算法可选 [diffusion-policy] 和 [rdt]
pip install -e ".[gaussian-rendering]"- 包含: 3D高斯散射、PyTorch
- 功能: 逼真的3D场景渲染,支持实时光照
- 依赖:
torch>=2.0.0,torchvision>=0.14.0,plyfile,PyGlm - 适用: 高保真视觉仿真、3D场景重建、Real2Sim流程
| 模块 | 安装命令 | 功能 | 适用场景 |
|---|---|---|---|
| 基础 | pip install -e . |
核心仿真功能 | 学习、基础开发 |
| 激光雷达 | .[lidar] |
高性能LiDAR仿真 | SLAM、导航研究 |
| 渲染 | .[gaussian-rendering] |
3D高斯散射渲染 | 视觉仿真、Real2Sim |
| GUI | .[xml-editor] |
可视化场景编辑 | 场景设计、模型调试 |
| ACT | .[act] |
模仿学习算法 | 机器人技能学习 |
| 扩散策略 | .[diffusion-policy] |
扩散模型策略 | 复杂策略学习 |
| RDT | .[rdt] |
大模型策略 | 通用机器人技能 |
| 硬件集成 | .[hardware] |
RealSense+ROS | 真实机器人控制 |
我们提供了docker安装方式。
# 设置软件源
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
# 更新并安装
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit nvidia-docker2
# 重启Docker服务
sudo systemctl restart docker-
下载预构建Docker镜像
百度网盘:https://pan.baidu.com/s/1mLC3Hz-m78Y6qFhurwb8VQ?pwd=xmp9
目前更新至v1.8.6,下载.tar文件之后,使用docker load指令加载docker image
将下面的
discoverse_tag.tar替换为实际下载的镜像tar文件名。docker load < discoverse_tag.tar -
或者从
Dockerfile构建git clone https://github.com/TATP-233/DISCOVERSE.git cd DISCOVERSE python scripts/setup_submodules.py --module gaussian-rendering docker build -f discoverse/docker/Dockerfile -t discoverse:latest .
Dockerfile.vnc是支持 VNC 远程访问的配置版本。它在discoverse/docker/Dockerfile的基础上添加了 VNC 服务器支持,允许你通过 VNC 客户端远程访问容器的图形界面。这对于远程开发或在没有本地显示服务器的环境中特别有用。如果需要,将docker build -f discoverse/docker/Dockerfile -t discoverse:latest .改为docker build -f discoverse/docker/Dockerfile.vnc -t discoverse:latest .
# 使用GPU支持运行
docker run -dit --rm --name discoverse \
--gpus all \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
discoverse:latest
# 注意:把`latest`修改成实际的docker image tag (例如v1.8.6)。
# 设置可视化窗口权限
xhost +local:docker
# 进入容器终端
docker exec -it discoverse bash
# 测试运行
python3 examples/active_slam/camera_view.py
用于高保真 3DGS 渲染功能。若无高保真渲染需求或已通过 Docker 安装,可跳过本节。
从NVIDIA官网安装CUDA 11.8+,根据自己的显卡驱动选择对应的cuda版本。
# 安装gaussian splatting依赖
pip install -e ".[gaussian-rendering]"
# 构建diff-gaussian-rasterization
cd submodules/diff-gaussian-rasterization/
# 应用补丁
sed -i 's/(p_view.z <= 0.2f)/(p_view.z <= 0.01f)/' cuda_rasterizer/auxiliary.h
sed -i '361s/D += depths\[collected_id\[j\]\] \* alpha \* T;/if (depths[collected_id[j]] < 50.0f)\n D += depths[collected_id[j]] * alpha * T;/' cuda_rasterizer/forward.cu
# 安装
cd ../..
pip install submodules/diff-gaussian-rasterization当您首次运行需要 PLY 模型的仿真时,模型将自动从 Hugging Face 下载。使用 hf auth login 登录 Hugging Face。
模型存储在 models/3dgs 目录:
models/
├── meshes/ # 网格几何
├── textures/ # 材质纹理
├── 3dgs/ # 高斯散射模型(自动下载)
│ ├── hinge/ # 铰链模型
│ ├── manipulator/ # 机械臂模型
│ ├── mobile_chassis/ # 移动底盘
│ ├── objaverse/ # Objaverse对象
│ ├── object/ # 其他对象
│ ├── rm2_car/ # RM2小车
│ ├── scene/ # 场景模型
│ └── skyrover/ # Skyrover模型
├── mjcf/ # MuJoCo场景描述
└── urdf/ # 机器人描述
国内用户自动使用 HF-Mirror 镜像加速下载。
使用SuperSplat在线查看和编辑3DGS模型 - 只需拖放.ply文件。
DISCOVERSE具有全面的Real2Sim管道,用于创建真实环境的数字孪生。详细说明请访问我们的Real2Sim仓库。
# 启动Airbot Play / MMK2
python discoverse/robots_env/airbot_play_base.py
python discoverse/robots_env/mmk2_base.py
# 运行操作任务(自动数据生成)
python examples/tasks_airbot_play/place_coffeecup.py
python examples/tasks_mmk2/kiwi_pick.py
# 触觉手 Leap Hand
python examples/robots/leap_hand_env.py
# 逆运动学
python examples/mocap_ik/mocap_ik_manipulator.py # 可选 [--robot airbot_play --mjcf mjcf/task_environments/stack_block.xml]
python examples/mocap_ik/mocap_ik_mmk2.py # 可选 [--mjcf mjcf/tasks_mmk2/pan_pick.xml]sim2real.mp4
- '-h, --help' - 打印帮助信息
- '-m MJCF, --mjcf MJCF' - 输入MJCF文件的路径(可选)。如未指定,则使用默认的robot_airbot_play.xml
- '-r ROBOT, --robot ROBOT' - 输入机器人模型名称, 可选{airbot_play, airbot_play_force, arx_l5, arx_x5, iiwa14, panda, piper, rm65, ur5e, xarm7}
- '-t TASK, --task TASK' - 输入任务名称, 可选{block_bridge_place, close_laptop, cover_cup, open_drawer, peg_in_hole, pick_jujube, place_block, place_coffeecup, place_jujube, place_jujube_coffeecup, place_kiwi_fruit, push_mouse, stack_block}
- '-y' - 在macOS上跳过mjpython提示,直接尝试启动查看器
- '--mouse-3d' - 启用3D鼠标进行机械臂控制(需要3D鼠标硬件支持)
- '--hide-mocap' - 隐藏运动捕捉目标
- '--record' - 启用记录功能
- '--record-frequency RECORD_FREQUENCY' - 设置记录频率(单位:Hz)
- '--camera-names [CAMERA_NAMES]' - 指定需要渲染的相机名称列表(可选)
- '--inference' - 启用推理模式
- '--infer-hz INFER_HZ' - 推理频率
- '--plot' - 开启画图
# 机器人模型为arx_l5,任务场景为block_bridge_place
python3 examples/mocap_ik/mocap_ik_manipulator.py -r arx_l5 -t block_bridge_place- 'h' - 显示帮助菜单
- 'F5' - 重新加载MJCF场景
- 'r' - 重置仿真状态
- '['/'']' - 切换相机视角
- 'Esc' - 切换自由相机模式
- 'p' - 打印机器人状态信息
- 'Ctrl+g' - 切换高斯渲染(需安装 gaussian-splatting 并设置 cfg.use_gaussian_renderer = True)
- 'Ctrl+d' - 切换深度可视化
DISCOVERSE提供数据收集、训练和推理的完整工作流:
- ACT
- Diffusion Policy
- RDT
- 自定义算法通过可扩展框架
- 2025.01.13:🎉 DISCOVERSE开源发布
- 2025.01.16:🐳 添加Docker支持
- 2025.01.14:🏁 S2R2025竞赛启动
- 2025.02.17:📈 集成Diffusion Policy基线
- 2025.02.19:📡 添加点云传感器支持
有关安装和运行时问题,请参考我们详细的**故障排除指南**。
DISCOVERSE在MIT许可证下发布。详细信息请参见许可证文件。
如果您发现DISCOVERSE对您的研究有帮助,请考虑引用我们的工作:
@article{jia2025discoverse,
title={DISCOVERSE: Efficient Robot Simulation in Complex High-Fidelity Environments},
author={Yufei Jia and Guangyu Wang and Yuhang Dong and Junzhe Wu and Yupei Zeng and Haonan Lin and Zifan Wang and Haizhou Ge and Weibin Gu and Chuxuan Li and Ziming Wang and Yunjie Cheng and Wei Sui and Ruqi Huang and Guyue Zhou},
journal={arXiv preprint arXiv:2507.21981},
year={2025},
url={https://arxiv.org/abs/2507.21981}
}
