更多示例#

本指南中的教程一次只讲一个概念。仓库还附带了一棵庞大的可运行示例脚本树,展示这些概念如何组合进真实场景:这是实用、端到端用法的最佳参考。你可以在 examples/ 中浏览,并运行任何看起来接近你正在构建内容的示例。

每个示例都是一个独立的脚本,可以直接从仓库根目录运行:python examples/tutorials/hello_genesis.py。它们共用同一套命令行约定,所以学会一个脚本的参数就等于学会全部:-v/--vis 打开查看器,-b/--num-envs 设置并行环境数量,-s/--steps 和 -t/--seconds 限定运行时长,-r/--record 保存视频,-o/--output-dir 重定向输出。脚本写出的任何内容都落在 out/ 下,路径以你启动脚本的目录为基准解析;训练脚本例外,它们把检查点保存在 logs/<exp-name>/ 下,供对应的评估脚本读回。

示例默认在 CPU 上运行,因此在任何机器上直接执行 python examples/... 都能用;能用 GPU 的示例接受 -g/--gpu 来选择启用。GPU 只有在并行环境数量超过大约五十个时才会快过 CPU,而很少有这样的示例。只能在 GPU 上运行的脚本(例如批量训练运行或批量渲染器)会在内部自行选择 GPU,并且不接受后端参数。

各目录按主题对示例分组:

  • tutorials/:本指南背后的脚本:第一个场景、可视化、控制、并行仿真、IK,以及软体和混合机器人演练。

  • rigid/:范围最广的一组:刚体控制、抓取、逆运动学、域随机化、地形、多 GPU 以及碰撞几何处理。

  • sensors/:IMU、接触与触觉、关节力矩、LiDAR、深度相机、表面距离以及温度传感。

  • deformable/:单独演示的 FEM 和 PBD 软体:一个弹性网格、一个顶点约束场景、一种液体,以及一次可微分 rollout。

  • fluid/:由射流驱动的基于网格的烟雾。

  • coupling/、sap_coupling/ 和 ipc/:刚体、布料、流体与可变形体之间的双向耦合,包括 SAP 和 IPC 接触求解器。

  • collision/:接触密集的堆叠场景,用来压测碰撞检测,以及按几何体过滤接触。

  • kinematic/:一个运动学实体,把它下达的位姿与跟随它的动力学机器人并排展示。

  • rendering/:渲染模式、移动相机与跟随实体的相机,以及渲染性能。

  • drone/:四旋翼飞行、PID 控制器、键盘遥操作,以及一个强化学习悬停任务。

  • locomotion/ 和 manipulation/:完整的 RL 流水线(Go2 行走、Franka 抓取),外加一个行为克隆示例。

  • usd/:导入 USD stage 和更大的手工编写场景。

  • viewer_plugin/:用鼠标交互和网格拾取扩展交互式查看器。

  • gui/:带播放控制、关节滑块、实体浏览器和自定义面板的 ImGui 覆盖层。

  • speed_benchmark/:吞吐量基准测试。