Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 21 additions & 2 deletions scripts/environments/random_agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,12 @@
)
parser.add_argument("--num_envs", type=int, default=None, help="Number of environments to simulate.")
parser.add_argument("--task", type=str, default=None, help="Name of the task.")
parser.add_argument("--newton_visualizer", action="store_true", default=False, help="Enable Newton rendering.")
parser.add_argument(
"--visualize",
action="store_true",
default=False,
help="Launch visualizer(s). Uses visualizers defined in environment config, or defaults to Newton OpenGL if none configured.",
)
# append AppLauncher cli args
AppLauncher.add_app_launcher_args(parser)
# parse the arguments
Expand Down Expand Up @@ -52,8 +57,22 @@ def main():
device=args_cli.device,
num_envs=args_cli.num_envs,
use_fabric=not args_cli.disable_fabric,
newton_visualizer=args_cli.newton_visualizer,
)

# handle visualizer launch
if args_cli.visualize:
from isaaclab.sim.visualizers import NewtonVisualizerCfg

if env_cfg.sim.visualizers is None:
# No visualizers in config - use default Newton visualizer
env_cfg.sim.visualizers = NewtonVisualizerCfg(enabled=True)
else:
# Enable configured visualizer(s)
if isinstance(env_cfg.sim.visualizers, list):
for viz_cfg in env_cfg.sim.visualizers:
viz_cfg.enabled = True
else:
env_cfg.sim.visualizers.enabled = True
# create environment
env = gym.make(args_cli.task, cfg=env_cfg)

Expand Down
23 changes: 21 additions & 2 deletions scripts/environments/zero_agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,12 @@
)
parser.add_argument("--num_envs", type=int, default=None, help="Number of environments to simulate.")
parser.add_argument("--task", type=str, default=None, help="Name of the task.")
parser.add_argument("--newton_visualizer", action="store_true", default=False, help="Enable Newton rendering.")
parser.add_argument(
"--visualize",
action="store_true",
default=False,
help="Launch visualizer(s). Uses visualizers defined in environment config, or defaults to Newton OpenGL if none configured.",
)
# append AppLauncher cli args
AppLauncher.add_app_launcher_args(parser)
# parse the arguments
Expand Down Expand Up @@ -52,8 +57,22 @@ def main():
device=args_cli.device,
num_envs=args_cli.num_envs,
use_fabric=not args_cli.disable_fabric,
newton_visualizer=args_cli.newton_visualizer,
)

# handle visualizer launch
if args_cli.visualize:
from isaaclab.sim.visualizers import NewtonVisualizerCfg

if env_cfg.sim.visualizers is None:
# No visualizers in config - use default Newton visualizer
env_cfg.sim.visualizers = NewtonVisualizerCfg(enabled=True)
else:
# Enable configured visualizer(s)
if isinstance(env_cfg.sim.visualizers, list):
for viz_cfg in env_cfg.sim.visualizers:
viz_cfg.enabled = True
else:
env_cfg.sim.visualizers.enabled = True
# create environment
env = gym.make(args_cli.task, cfg=env_cfg)

Expand Down
23 changes: 21 additions & 2 deletions scripts/reinforcement_learning/rl_games/play.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,12 @@
help="When no checkpoint provided, use the last saved model. Otherwise use the best saved model.",
)
parser.add_argument("--real-time", action="store_true", default=False, help="Run in real-time, if possible.")
parser.add_argument("--newton_visualizer", action="store_true", default=False, help="Enable Newton rendering.")
parser.add_argument(
"--visualize",
action="store_true",
default=False,
help="Launch visualizer(s). Uses visualizers defined in environment config, or defaults to Newton OpenGL if none configured.",
)
# append AppLauncher cli args
AppLauncher.add_app_launcher_args(parser)
# parse the arguments
Expand Down Expand Up @@ -84,8 +89,22 @@ def main():
device=args_cli.device,
num_envs=args_cli.num_envs,
use_fabric=not args_cli.disable_fabric,
newton_visualizer=args_cli.newton_visualizer,
)

# handle visualizer launch
if args_cli.visualize:
from isaaclab.sim.visualizers import NewtonVisualizerCfg

if env_cfg.sim.visualizers is None:
# No visualizers in config - use default Newton visualizer
env_cfg.sim.visualizers = NewtonVisualizerCfg(enabled=True)
else:
# Enable configured visualizer(s)
if isinstance(env_cfg.sim.visualizers, list):
for viz_cfg in env_cfg.sim.visualizers:
viz_cfg.enabled = True
else:
env_cfg.sim.visualizers.enabled = True
agent_cfg = load_cfg_from_registry(args_cli.task, "rl_games_cfg_entry_point")

# specify directory for logging experiments
Expand Down
23 changes: 21 additions & 2 deletions scripts/reinforcement_learning/rl_games/train.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,12 @@
const=True,
help="if toggled, this experiment will be tracked with Weights and Biases",
)
parser.add_argument("--newton_visualizer", action="store_true", default=False, help="Enable Newton rendering.")
parser.add_argument(
"--visualize",
action="store_true",
default=False,
help="Launch visualizer(s). Uses visualizers defined in environment config, or defaults to Newton OpenGL if none configured.",
)
# append AppLauncher cli args
AppLauncher.add_app_launcher_args(parser)
# parse the arguments
Expand Down Expand Up @@ -90,7 +95,21 @@ def main(env_cfg: ManagerBasedRLEnvCfg | DirectRLEnvCfg, agent_cfg: dict):
# override configurations with non-hydra CLI arguments
env_cfg.scene.num_envs = args_cli.num_envs if args_cli.num_envs is not None else env_cfg.scene.num_envs
env_cfg.sim.device = args_cli.device if args_cli.device is not None else env_cfg.sim.device
env_cfg.sim.enable_newton_rendering = args_cli.newton_visualizer

# handle visualizer launch
if args_cli.visualize:
from isaaclab.sim.visualizers import NewtonVisualizerCfg

if env_cfg.sim.visualizers is None:
# No visualizers in config - use default Newton visualizer
env_cfg.sim.visualizers = NewtonVisualizerCfg(enabled=True)
else:
# Enable configured visualizer(s)
if isinstance(env_cfg.sim.visualizers, list):
for viz_cfg in env_cfg.sim.visualizers:
viz_cfg.enabled = True
else:
env_cfg.sim.visualizers.enabled = True

# randomly sample a seed if seed = -1
if args_cli.seed == -1:
Expand Down
37 changes: 30 additions & 7 deletions scripts/reinforcement_learning/rsl_rl/play.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,12 @@
help="Use the pre-trained checkpoint from Nucleus.",
)
parser.add_argument("--real-time", action="store_true", default=False, help="Run in real-time, if possible.")
parser.add_argument("--newton_visualizer", action="store_true", default=False, help="Enable Newton rendering.")
parser.add_argument(
"--visualize",
action="store_true",
default=False,
help="Launch visualizer(s). Uses visualizers defined in environment config, or defaults to Newton OpenGL if none configured.",
)
# append RSL-RL cli arguments
cli_args.add_rsl_rl_args(parser)
# append AppLauncher cli args
Expand Down Expand Up @@ -96,7 +101,21 @@ def main(env_cfg: ManagerBasedRLEnvCfg | DirectRLEnvCfg, agent_cfg: RslRlBaseRun
# note: certain randomizations occur in the environment initialization so we set the seed here
env_cfg.seed = agent_cfg.seed
env_cfg.sim.device = args_cli.device if args_cli.device is not None else env_cfg.sim.device
env_cfg.sim.enable_newton_rendering = args_cli.newton_visualizer

# handle visualizer launch
if args_cli.visualize:
from isaaclab.sim.visualizers import NewtonVisualizerCfg

if env_cfg.sim.visualizers is None:
# No visualizers in config - use default Newton visualizer
env_cfg.sim.visualizers = NewtonVisualizerCfg(enabled=True)
else:
# Enable configured visualizer(s)
if isinstance(env_cfg.sim.visualizers, list):
for viz_cfg in env_cfg.sim.visualizers:
viz_cfg.enabled = True
else:
env_cfg.sim.visualizers.enabled = True

# specify directory for logging experiments
log_root_path = os.path.join("logs", "rsl_rl", agent_cfg.experiment_name)
Expand All @@ -117,11 +136,15 @@ def main(env_cfg: ManagerBasedRLEnvCfg | DirectRLEnvCfg, agent_cfg: RslRlBaseRun
# set the log directory for the environment (works for all environment types)
env_cfg.log_dir = log_dir

# Set play mode for Newton viewer if using Newton visualizer
if args_cli.newton_visualizer:
# Set visualizer to play mode in Newton config
if hasattr(env_cfg.sim, "newton_cfg"):
env_cfg.sim.newton_cfg.visualizer_train_mode = False
# Set play mode for visualizers
if env_cfg.sim.visualizers is not None:
from isaaclab.sim.visualizers import NewtonVisualizerCfg

if isinstance(env_cfg.sim.visualizers, list):
for viz_cfg in env_cfg.sim.visualizers:
viz_cfg.train_mode = False
elif isinstance(env_cfg.sim.visualizers, NewtonVisualizerCfg):
env_cfg.sim.visualizers.train_mode = False
else:
# Create newton_cfg if it doesn't exist
from isaaclab.sim._impl.newton_manager_cfg import NewtonCfg
Expand Down
23 changes: 21 additions & 2 deletions scripts/reinforcement_learning/rsl_rl/train.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,12 @@
"--distributed", action="store_true", default=False, help="Run training with multiple GPUs or nodes."
)
parser.add_argument("--export_io_descriptors", action="store_true", default=False, help="Export IO descriptors.")
parser.add_argument("--newton_visualizer", action="store_true", default=False, help="Enable Newton rendering.")
parser.add_argument(
"--visualize",
action="store_true",
default=False,
help="Launch visualizer(s). Uses visualizers defined in environment config, or defaults to Newton OpenGL if none configured.",
)
# append RSL-RL cli arguments
cli_args.add_rsl_rl_args(parser)
# append AppLauncher cli args
Expand Down Expand Up @@ -119,7 +124,21 @@ def main(env_cfg: ManagerBasedRLEnvCfg | DirectRLEnvCfg, agent_cfg: RslRlBaseRun
# note: certain randomizations occur in the environment initialization so we set the seed here
env_cfg.seed = agent_cfg.seed
env_cfg.sim.device = args_cli.device if args_cli.device is not None else env_cfg.sim.device
env_cfg.sim.enable_newton_rendering = args_cli.newton_visualizer

# handle visualizer launch
if args_cli.visualize:
from isaaclab.sim.visualizers import NewtonVisualizerCfg

if env_cfg.sim.visualizers is None:
# No visualizers in config - use default Newton visualizer
env_cfg.sim.visualizers = NewtonVisualizerCfg(enabled=True)
else:
# Enable configured visualizer(s)
if isinstance(env_cfg.sim.visualizers, list):
for viz_cfg in env_cfg.sim.visualizers:
viz_cfg.enabled = True
else:
env_cfg.sim.visualizers.enabled = True

# multi-gpu training configuration
if args_cli.distributed:
Expand Down
23 changes: 21 additions & 2 deletions scripts/reinforcement_learning/sb3/play.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,12 @@
default=False,
help="Use a slower SB3 wrapper but keep all the extra training info.",
)
parser.add_argument("--newton_visualizer", action="store_true", default=False, help="Enable Newton rendering.")
parser.add_argument(
"--visualize",
action="store_true",
default=False,
help="Launch visualizer(s). Uses visualizers defined in environment config, or defaults to Newton OpenGL if none configured.",
)
# append AppLauncher cli args
AppLauncher.add_app_launcher_args(parser)
# parse the arguments
Expand Down Expand Up @@ -87,8 +92,22 @@ def main():
device=args_cli.device,
num_envs=args_cli.num_envs,
use_fabric=not args_cli.disable_fabric,
newton_visualizer=args_cli.newton_visualizer,
)

# handle visualizer launch
if args_cli.visualize:
from isaaclab.sim.visualizers import NewtonVisualizerCfg

if env_cfg.sim.visualizers is None:
# No visualizers in config - use default Newton visualizer
env_cfg.sim.visualizers = NewtonVisualizerCfg(enabled=True)
else:
# Enable configured visualizer(s)
if isinstance(env_cfg.sim.visualizers, list):
for viz_cfg in env_cfg.sim.visualizers:
viz_cfg.enabled = True
else:
env_cfg.sim.visualizers.enabled = True

task_name = args_cli.task.split(":")[-1]
train_task_name = task_name.replace("-Play", "")
Expand Down
23 changes: 21 additions & 2 deletions scripts/reinforcement_learning/sb3/train.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,12 @@
default=False,
help="Use a slower SB3 wrapper but keep all the extra training info.",
)
parser.add_argument("--newton_visualizer", action="store_true", default=False, help="Enable Newton rendering.")
parser.add_argument(
"--visualize",
action="store_true",
default=False,
help="Launch visualizer(s). Uses visualizers defined in environment config, or defaults to Newton OpenGL if none configured.",
)
# append AppLauncher cli args
AppLauncher.add_app_launcher_args(parser)
# parse the arguments
Expand Down Expand Up @@ -113,7 +118,21 @@ def main(env_cfg: ManagerBasedRLEnvCfg | DirectRLEnvCfg, agent_cfg: dict):
# note: certain randomizations occur in the environment initialization so we set the seed here
env_cfg.seed = agent_cfg["seed"]
env_cfg.sim.device = args_cli.device if args_cli.device is not None else env_cfg.sim.device
env_cfg.sim.enable_newton_rendering = args_cli.newton_visualizer

# handle visualizer launch
if args_cli.visualize:
from isaaclab.sim.visualizers import NewtonVisualizerCfg

if env_cfg.sim.visualizers is None:
# No visualizers in config - use default Newton visualizer
env_cfg.sim.visualizers = NewtonVisualizerCfg(enabled=True)
else:
# Enable configured visualizer(s)
if isinstance(env_cfg.sim.visualizers, list):
for viz_cfg in env_cfg.sim.visualizers:
viz_cfg.enabled = True
else:
env_cfg.sim.visualizers.enabled = True

# directory for logging into
run_info = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
Expand Down
23 changes: 21 additions & 2 deletions scripts/reinforcement_learning/skrl/play.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,12 @@
help="The RL algorithm used for training the skrl agent.",
)
parser.add_argument("--real-time", action="store_true", default=False, help="Run in real-time, if possible.")
parser.add_argument("--newton_visualizer", action="store_true", default=False, help="Enable Newton rendering.")
parser.add_argument(
"--visualize",
action="store_true",
default=False,
help="Launch visualizer(s). Uses visualizers defined in environment config, or defaults to Newton OpenGL if none configured.",
)

# append AppLauncher cli args
AppLauncher.add_app_launcher_args(parser)
Expand Down Expand Up @@ -116,8 +121,22 @@ def main():
device=args_cli.device,
num_envs=args_cli.num_envs,
use_fabric=not args_cli.disable_fabric,
newton_visualizer=args_cli.newton_visualizer,
)

# handle visualizer launch
if args_cli.visualize:
from isaaclab.sim.visualizers import NewtonVisualizerCfg

if env_cfg.sim.visualizers is None:
# No visualizers in config - use default Newton visualizer
env_cfg.sim.visualizers = NewtonVisualizerCfg(enabled=True)
else:
# Enable configured visualizer(s)
if isinstance(env_cfg.sim.visualizers, list):
for viz_cfg in env_cfg.sim.visualizers:
viz_cfg.enabled = True
else:
env_cfg.sim.visualizers.enabled = True
try:
experiment_cfg = load_cfg_from_registry(task_name, f"skrl_{algorithm}_cfg_entry_point")
except ValueError:
Expand Down
23 changes: 21 additions & 2 deletions scripts/reinforcement_learning/skrl/train.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,12 @@
choices=["AMP", "PPO", "IPPO", "MAPPO"],
help="The RL algorithm used for training the skrl agent.",
)
parser.add_argument("--newton_visualizer", action="store_true", default=False, help="Enable Newton rendering.")
parser.add_argument(
"--visualize",
action="store_true",
default=False,
help="Launch visualizer(s). Uses visualizers defined in environment config, or defaults to Newton OpenGL if none configured.",
)

# append AppLauncher cli args
AppLauncher.add_app_launcher_args(parser)
Expand Down Expand Up @@ -113,7 +118,21 @@ def main(env_cfg: ManagerBasedRLEnvCfg | DirectRLEnvCfg, agent_cfg: dict):
# override configurations with non-hydra CLI arguments
env_cfg.scene.num_envs = args_cli.num_envs if args_cli.num_envs is not None else env_cfg.scene.num_envs
env_cfg.sim.device = args_cli.device if args_cli.device is not None else env_cfg.sim.device
env_cfg.sim.enable_newton_rendering = args_cli.newton_visualizer

# handle visualizer launch
if args_cli.visualize:
from isaaclab.sim.visualizers import NewtonVisualizerCfg

if env_cfg.sim.visualizers is None:
# No visualizers in config - use default Newton visualizer
env_cfg.sim.visualizers = NewtonVisualizerCfg(enabled=True)
else:
# Enable configured visualizer(s)
if isinstance(env_cfg.sim.visualizers, list):
for viz_cfg in env_cfg.sim.visualizers:
viz_cfg.enabled = True
else:
env_cfg.sim.visualizers.enabled = True

# multi-gpu training config
if args_cli.distributed:
Expand Down
Loading
Loading