训练环境#
要运行训练,我们遵循标准的Isaac Lab工作流程。如果您是Isaac Lab的新手,我们建议您查看 此处的快速入门指南.
目前支持的任务如下:
Isaac-Cartpole-Direct-v0
Isaac-Cartpole-v0
Isaac-Cartpole-RGB-Camera-Direct-v0
Isaac-Cartpole-Depth-Camera-Direct-v0
Isaac-Ant-Direct-v0
Isaac-Ant-v0
Isaac-Humanoid-Direct-v0
Isaac-Humanoid-v0
Isaac-Velocity-Flat-Anymal-B-v0
Isaac-Velocity-Flat-Anymal-C-v0
Isaac-Velocity-Flat-Anymal-D-v0
Isaac-Velocity-Flat-Cassie-v0
Isaac-Velocity-Flat-G1-v0
Isaac-Velocity-Flat-G1-v1 (已测试 Sim-to-Real)
Isaac-Velocity-Flat-H1-v0
Isaac-Velocity-Flat-Unitree-A1-v0
Isaac-Velocity-Flat-Unitree-Go1-v0
Isaac-Velocity-Flat-Unitree-Go2-v0
Isaac-Reach-Franka-v0
Isaac-Reach-UR10-v0
Isaac-Repose-Cube-Allegro-Direct-v0
新的基于warp的实验性环境:
Isaac-Cartpole-Direct-Warp-v0
Isaac-Ant-Direct-Warp-v0
Isaac-Humanoid-Direct-Warp-v0
要启动环境并检查它是否按预期加载,可以尝试将zero actions发送到其执行器。可以按如下方式进行,其中 TASK_NAME 是您想要运行的任务名称, NUM_ENVS 是您想要创建的任务实例数。
./isaaclab.sh -p scripts/environments/zero_agent.py --task TASK_NAME --num_envs NUM_ENVS
对于128个实例的cartpole,看起来是这样的:
./isaaclab.sh -p scripts/environments/zero_agent.py --task Isaac-Cartpole-Direct-v0 --num_envs 128
要使用随机actions运行相同的环境,可以使用不同的脚本:
./isaaclab.sh -p scripts/environments/random_agent.py --task Isaac-Cartpole-Direct-v0 --num_envs 128
要训练环境,我们提供了与不同RL框架的hooks。有关更多信息,请参阅 强化学习脚本文档 。
以下是如何在几个不同的RL框架上运行训练的示例。请注意,我们明确将环境数量设置为4096,以从GPU并行化中获得更多好处。
默认情况下,环境将在无头模式下训练。如果需要可视化,请使用 --visualizer 并指定所需的可视化器。可用选项包括 newton 、 rerun 和 omniverse (需要安装Isaac Sim)。请注意,可以选择并启动多个可视化器。
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task Isaac-Cartpole-Direct-v0 --num_envs 4096
./isaaclab.sh -p scripts/reinforcement_learning/skrl/train.py --task Isaac-Cartpole-Direct-v0 --num_envs 4096
./isaaclab.sh -p scripts/reinforcement_learning/rl_games/train.py --task Isaac-Cartpole-Direct-v0 --num_envs 4096
一旦训练了策略,我们可以通过使用play脚本来可视化它。但首先,我们需要找到经过训练的策略的checkpoint。通常,这些存储在: logs/NAME_OF_RL_FRAMEWORK/TASK_NAME/DATE 下。
例如,对于我们的rsl_rl示例,可能是这样的: logs/rsl_rl/cartpole_direct/2025-08-21_15-45-30/model_299.pt
然后运行此策略,我们可以使用以下命令,请注意,我们减少了环境数量并添加了 --visualizer newton 选项,以便我们可以看到策略的实际效果!
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/play.py --task Isaac-Cartpole-Direct-v0 --num_envs 128 --visualizer newton --checkpoint logs/rsl_rl/cartpole_direct/2025-08-21_15-45-30/model_299.pt
相同的方法适用于所有其他框架。
请注意,并非所有环境都受到所有框架的支持。例如,一些运动环境只受到rsl_rl框架的支持。