65 lines
1.7 KiB
Python
65 lines
1.7 KiB
Python
# Copyright (c) 2022-2025, The Isaac Lab Project Developers.
|
|
# All rights reserved.
|
|
#
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
"""
|
|
Script to print all the available environments in Isaac Lab.
|
|
|
|
The script iterates over all registered environments and stores the details in a table.
|
|
It prints the name of the environment, the entry point and the config file.
|
|
|
|
All the environments are registered in the `FLEXR_v0` extension. They start
|
|
with `Isaac` in their name.
|
|
"""
|
|
|
|
"""Launch Isaac Sim Simulator first."""
|
|
|
|
from isaaclab.app import AppLauncher
|
|
|
|
# launch omniverse app
|
|
app_launcher = AppLauncher(headless=True)
|
|
simulation_app = app_launcher.app
|
|
|
|
|
|
"""Rest everything follows."""
|
|
|
|
import gymnasium as gym
|
|
from prettytable import PrettyTable
|
|
|
|
import FLEXR_v0.tasks # noqa: F401
|
|
|
|
|
|
def main():
|
|
"""Print all environments registered in `FLEXR_v0` extension."""
|
|
# print all the available environments
|
|
table = PrettyTable(["S. No.", "Task Name", "Entry Point", "Config"])
|
|
table.title = "Available Environments in Isaac Lab"
|
|
# set alignment of table columns
|
|
table.align["Task Name"] = "l"
|
|
table.align["Entry Point"] = "l"
|
|
table.align["Config"] = "l"
|
|
|
|
# count of environments
|
|
index = 0
|
|
# acquire all Isaac environments names
|
|
for task_spec in gym.registry.values():
|
|
if "Template-" in task_spec.id:
|
|
# add details to table
|
|
table.add_row([index + 1, task_spec.id, task_spec.entry_point, task_spec.kwargs["env_cfg_entry_point"]])
|
|
# increment count
|
|
index += 1
|
|
|
|
print(table)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
try:
|
|
# run the main function
|
|
main()
|
|
except Exception as e:
|
|
raise e
|
|
finally:
|
|
# close the app
|
|
simulation_app.close()
|