├── .aws ├── mirror-buildspec.yml ├── postmerge-ci-buildspec.yml └── premerge-ci-buildspec.yml ├── .dockerignore ├── .flake8 ├── .gitattributes ├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug.md │ ├── proposal.md │ └── question.md ├── LICENSE_HEADER.txt ├── LICENSE_HEADER_MIMIC.txt ├── PULL_REQUEST_TEMPLATE.md ├── stale.yml └── workflows │ ├── docs.yaml │ ├── gh-pages-zhcn.yml │ ├── pre-commit.yaml │ └── sync-and-translate.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .vscode ├── .gitignore ├── extensions.json ├── tasks.json └── tools │ ├── launch.template.json │ ├── settings.template.json │ └── setup_vscode.py ├── CONTRIBUTING.md ├── CONTRIBUTORS.md ├── LICENSE ├── LICENSE-mimic ├── README.md ├── SECURITY.md ├── VERSION ├── apps ├── isaaclab.python.headless.kit ├── isaaclab.python.headless.rendering.kit ├── isaaclab.python.kit ├── isaaclab.python.rendering.kit ├── isaaclab.python.xr.openxr.headless.kit ├── isaaclab.python.xr.openxr.kit └── rendering_modes │ ├── balanced.kit │ ├── performance.kit │ ├── quality.kit │ └── xr.kit ├── docker ├── .env.base ├── .env.cloudxr-runtime ├── .env.ros2 ├── .ros │ ├── cyclonedds.xml │ └── fastdds.xml ├── Dockerfile.base ├── Dockerfile.ros2 ├── cluster │ ├── .env.cluster │ ├── cluster_interface.sh │ ├── run_singularity.sh │ ├── submit_job_pbs.sh │ └── submit_job_slurm.sh ├── container.py ├── container.sh ├── docker-compose.cloudxr-runtime.patch.yaml ├── docker-compose.yaml ├── test │ └── test_docker.py ├── utils │ ├── __init__.py │ ├── container_interface.py │ ├── state_file.py │ └── x11_utils.py └── x11.yaml ├── docs ├── Makefile ├── README.md ├── _redirect │ └── index.html ├── _templates │ └── versioning.html ├── conf.py ├── index.rst ├── licenses │ ├── assets │ │ ├── anymal_b-license.txt │ │ ├── anymal_c-license.txt │ │ ├── franka-license.txt │ │ ├── kinova-license.txt │ │ ├── robotiq-license.txt │ │ └── unitree-license.txt │ └── dependencies │ │ ├── Farama-Notifications-license.txt │ │ ├── GitPython-license.txt │ │ ├── InquirerPy-license.txt │ │ ├── absl-py-license.txt │ │ ├── accessible-pygments-license.txt │ │ ├── alabaster-license.txt │ │ ├── antlr4_python3_runtime-license.txt │ │ ├── anyio-license.txt │ │ ├── anytree-license.txt │ │ ├── assimp-license.txt │ │ ├── asttokens-license.txt │ │ ├── autodocsumm-license.txt │ │ ├── babel-license.txt │ │ ├── beautifulsoup4-license.txt │ │ ├── black-license.txt │ │ ├── boost-license.txt │ │ ├── botocore-license.txt │ │ ├── certifi-license.txt │ │ ├── charset-normalizer-license.txt │ │ ├── click-license.txt │ │ ├── cloudpickle-license.txt │ │ ├── cmeel-license.txt │ │ ├── codespell-license.txt │ │ ├── colorama-license.txt │ │ ├── comm-license.txt │ │ ├── console-bridge-license.txt │ │ ├── contourpy-license.txt │ │ ├── cycler-license.txt │ │ ├── decorator-license.txt │ │ ├── dex-retargeting-license.txt │ │ ├── docker-pycreds-license.txt │ │ ├── egl_probe-license.txt │ │ ├── eigenpy-license.txt │ │ ├── einops-license.txt │ │ ├── executing-license.txt │ │ ├── filelock-license.txt │ │ ├── flake8-license.txt │ │ ├── flatdict-license.txt │ │ ├── fonttools-license.txt │ │ ├── fsspec-license.txt │ │ ├── gitdb-license.txt │ │ ├── grpcio-license.txt │ │ ├── gym-license.txt │ │ ├── gym-notices-license.txt │ │ ├── gymnasium-license.txt │ │ ├── h5py-license.txt │ │ ├── hidapi-license.txt │ │ ├── hpp-fcl-license.txt │ │ ├── huggingface-hub-license.txt │ │ ├── hydra-license.txt │ │ ├── idna-license.txt │ │ ├── imageio-license.txt │ │ ├── imageio_ffmpeg-license.txt │ │ ├── imagesize-license.txt │ │ ├── iniconfig-license.txt │ │ ├── ipython-license.txt │ │ ├── ipywidgets-license.txt │ │ ├── isaacsim-license.txt │ │ ├── isort-license.txt │ │ ├── jinja2-license.txt │ │ ├── jmespath-license.txt │ │ ├── joblib-license.txt │ │ ├── junitparser-license.txt │ │ ├── jupyterlab_widgets-license.txt │ │ ├── kiwisolver-license.txt │ │ ├── latexcodec-license.txt │ │ ├── legged-gym-license.txt │ │ ├── loop-rate-limiters-license.txt │ │ ├── markdown-it-py-license.txt │ │ ├── markdown-license.txt │ │ ├── markupsafe-license.txt │ │ ├── matplotlib-inline-license.txt │ │ ├── matplotlib-license.txt │ │ ├── mdit-py-plugins-license.txt │ │ ├── mdurl-license.txt │ │ ├── moviepy-license.txt │ │ ├── mpmath-license.txt │ │ ├── myst-parser-license.txt │ │ ├── networkx-license.txt │ │ ├── nlopt-license.txt │ │ ├── numpy-license.txt │ │ ├── octomap-license.txt │ │ ├── omegaconf-license.txt │ │ ├── onnx-license.txt │ │ ├── open3d-license.txt │ │ ├── opencv-python-license.txt │ │ ├── packaging-license.txt │ │ ├── pandas-license.txt │ │ ├── pathtools-license.txt │ │ ├── pexpect-license.txt │ │ ├── pillow-license.txt │ │ ├── pin-license.txt │ │ ├── pin-pink-license.txt │ │ ├── pluggy-license.txt │ │ ├── pre-commit-hooks-license.txt │ │ ├── pre-commit-license.txt │ │ ├── prettytable-license.txt │ │ ├── proglog-license.txt │ │ ├── protobuf-license.txt │ │ ├── psutil-license.txt │ │ ├── ptyprocess-license.txt │ │ ├── pure_eval-license.txt │ │ ├── pybtex-docutils-license.txt │ │ ├── pydata-sphinx-theme-license.txt │ │ ├── pyglet-license.txt │ │ ├── pygrep-hooks-license.txt │ │ ├── pyparsing-license.txt │ │ ├── pyperclip-license.txt │ │ ├── pyright-license.txt │ │ ├── pytest-license.txt │ │ ├── pytest-mock-license.txt │ │ ├── python-dateutil-license.txt │ │ ├── python-dotenv-license.txt │ │ ├── pytorch3d-license.txt │ │ ├── pytransform3d-license.txt │ │ ├── pytz-license.txt │ │ ├── pyupgrade-license.txt │ │ ├── pyyaml-license.txt │ │ ├── qhull-license.txt │ │ ├── qpsolvers-license.txt │ │ ├── quadprog-license.txt │ │ ├── ray-license.txt │ │ ├── regex-license.txt │ │ ├── requests-license.txt │ │ ├── rich-license.txt │ │ ├── rl_games-license.txt │ │ ├── robomimc-license.txt │ │ ├── rsl_rl-license.txt │ │ ├── safetensors-license.txt │ │ ├── scikit-learn-license.txt │ │ ├── sentry-sdk-license.txt │ │ ├── setproctitle-license.txt │ │ ├── setuptools-license.txt │ │ ├── shortuuid-license.txt │ │ ├── six-license.txt │ │ ├── skrl-license.txt │ │ ├── smmap-license.txt │ │ ├── sniffio-license.txt │ │ ├── snowballstemmer-license.txt │ │ ├── soupsieve-license.txt │ │ ├── sphinx-book-theme-license.txt │ │ ├── sphinx-copybutton-license.txt │ │ ├── sphinx-design-license.txt │ │ ├── sphinx-icon-license.txt │ │ ├── sphinx-license.txt │ │ ├── sphinx-multiversion-license.txt │ │ ├── sphinx-tabs-license.txt │ │ ├── sphinxcontrib-applehelp-license.txt │ │ ├── sphinxcontrib-bibtex-license.txt │ │ ├── sphinxcontrib-devhelp-license.txt │ │ ├── sphinxcontrib-htmlhelp-license.txt │ │ ├── sphinxcontrib-jsmath-license.txt │ │ ├── sphinxcontrib-qthelp-license.txt │ │ ├── sphinxcontrib-serializinghtml-license.txt │ │ ├── sphinxemoji-license.txt │ │ ├── stable-baselines3-license.txt │ │ ├── stack-data-license.txt │ │ ├── sympy-license.txt │ │ ├── tensorboard-license.txt │ │ ├── tensorboardx-license.txt │ │ ├── tensordict-license.txt │ │ ├── termcolor-license.txt │ │ ├── threadpoolctl-license.txt │ │ ├── tinyxml-license.txt │ │ ├── tokenizers-license.txt │ │ ├── toml-license.txt │ │ ├── torch-license.txt │ │ ├── torchvision-license.txt │ │ ├── tqdm-license.txt │ │ ├── traitlets-license.txt │ │ ├── transformers-license.txt │ │ ├── trimesh-license.txt │ │ ├── triton-license.txt │ │ ├── typing-extensions-license.txt │ │ ├── tzdata-license.txt │ │ ├── urdfdom-license.txt │ │ ├── urllib3-license.txt │ │ ├── walk-these-ways-license.txt │ │ ├── wandb-license.txt │ │ ├── warp-license.txt │ │ ├── werkzeug-license.txt │ │ ├── widgetsnbextension-license.txt │ │ └── zlib-license.txt ├── locale │ └── zh_CN │ │ └── LC_MESSAGES │ │ ├── index.po │ │ └── source │ │ ├── api │ │ ├── index.po │ │ ├── lab │ │ │ ├── isaaclab.actuators.po │ │ │ ├── isaaclab.app.po │ │ │ ├── isaaclab.assets.po │ │ │ ├── isaaclab.controllers.po │ │ │ ├── isaaclab.devices.po │ │ │ ├── isaaclab.envs.mdp.po │ │ │ ├── isaaclab.envs.po │ │ │ ├── isaaclab.envs.ui.po │ │ │ ├── isaaclab.managers.po │ │ │ ├── isaaclab.markers.po │ │ │ ├── isaaclab.scene.po │ │ │ ├── isaaclab.sensors.patterns.po │ │ │ ├── isaaclab.sensors.po │ │ │ ├── isaaclab.sim.converters.po │ │ │ ├── isaaclab.sim.po │ │ │ ├── isaaclab.sim.schemas.po │ │ │ ├── isaaclab.sim.spawners.po │ │ │ ├── isaaclab.terrains.po │ │ │ └── isaaclab.utils.po │ │ ├── lab_mimic │ │ │ ├── isaaclab_mimic.datagen.po │ │ │ └── isaaclab_mimic.envs.po │ │ ├── lab_rl │ │ │ └── isaaclab_rl.po │ │ └── lab_tasks │ │ │ └── isaaclab_tasks.utils.po │ │ ├── deployment │ │ ├── cluster.po │ │ ├── docker.po │ │ ├── index.po │ │ └── run_docker_example.po │ │ ├── features │ │ ├── hydra.po │ │ ├── multi_gpu.po │ │ ├── ray.po │ │ └── reproducibility.po │ │ ├── how-to │ │ ├── add_own_library.po │ │ ├── cloudxr_teleoperation.po │ │ ├── configure_rendering.po │ │ ├── draw_markers.po │ │ ├── estimate_how_many_cameras_can_run.po │ │ ├── import_new_asset.po │ │ ├── index.po │ │ ├── make_fixed_prim.po │ │ ├── master_omniverse.po │ │ ├── multi_asset_spawning.po │ │ ├── record_animation.po │ │ ├── record_video.po │ │ ├── save_camera_output.po │ │ ├── simulation_performance.po │ │ ├── wrap_rl_env.po │ │ └── write_articulation_cfg.po │ │ ├── migration │ │ ├── migrating_from_isaacgymenvs.po │ │ ├── migrating_from_omniisaacgymenvs.po │ │ └── migrating_from_orbit.po │ │ ├── overview │ │ ├── core-concepts │ │ │ ├── actuators.po │ │ │ ├── index.po │ │ │ ├── motion_generators.po │ │ │ ├── sensors │ │ │ │ ├── camera.po │ │ │ │ ├── contact_sensor.po │ │ │ │ ├── frame_transformer.po │ │ │ │ ├── imu.po │ │ │ │ ├── index.po │ │ │ │ └── ray_caster.po │ │ │ └── task_workflows.po │ │ ├── developer-guide │ │ │ ├── development.po │ │ │ ├── index.po │ │ │ ├── repo_structure.po │ │ │ ├── template.po │ │ │ └── vs_code.po │ │ ├── environments.po │ │ ├── reinforcement-learning │ │ │ ├── index.po │ │ │ ├── performance_benchmarks.po │ │ │ ├── rl_existing_scripts.po │ │ │ ├── rl_frameworks.po │ │ │ └── training_guide.po │ │ ├── showroom.po │ │ ├── simple_agents.po │ │ └── teleop_imitation.po │ │ ├── policy_deployment │ │ ├── 00_hover │ │ │ └── hover_policy.po │ │ └── index.po │ │ ├── refs │ │ ├── additional_resources.po │ │ ├── bibliography.po │ │ ├── changelog.po │ │ ├── contributing.po │ │ ├── issues.po │ │ ├── license.po │ │ ├── migration.po │ │ ├── migration_2022_to_2023.po │ │ ├── reference_architecture │ │ │ └── index.po │ │ ├── release_notes.po │ │ └── troubleshooting.po │ │ ├── setup │ │ ├── ecosystem.po │ │ ├── faq.po │ │ ├── install.po │ │ ├── installation │ │ │ ├── asset_caching.po │ │ │ ├── binaries_installation.po │ │ │ ├── cloud_installation.po │ │ │ ├── index.po │ │ │ ├── isaaclab_pip_installation.po │ │ │ └── pip_installation.po │ │ ├── oneclick_installation.po │ │ ├── quickstart.po │ │ ├── translation.po │ │ └── wechat.po │ │ └── tutorials │ │ ├── 00_sim │ │ ├── create_empty.po │ │ ├── launch_app.po │ │ └── spawn_prims.po │ │ ├── 01_assets │ │ ├── add_new_robot.po │ │ ├── run_articulation.po │ │ ├── run_deformable_object.po │ │ └── run_rigid_object.po │ │ ├── 02_scene │ │ └── create_scene.po │ │ ├── 03_envs │ │ ├── create_direct_rl_env.po │ │ ├── create_manager_base_env.po │ │ ├── create_manager_rl_env.po │ │ ├── modify_direct_rl_env.po │ │ ├── policy_inference_in_usd.po │ │ ├── register_rl_env_gym.po │ │ └── run_rl_training.po │ │ ├── 04_sensors │ │ └── add_sensors_on_robot.po │ │ ├── 05_controllers │ │ ├── run_diff_ik.po │ │ └── run_osc.po │ │ └── index.po ├── make.bat ├── po_translator.py ├── requirements.txt └── source │ ├── _static │ ├── NVIDIA-logo-black.png │ ├── NVIDIA-logo-white.png │ ├── actuator-group │ │ ├── actuator-dark.svg │ │ └── actuator-light.svg │ ├── benchmarks │ │ ├── cartpole.jpg │ │ ├── cartpole_camera.jpg │ │ ├── g1_rough.jpg │ │ └── shadow.jpg │ ├── css │ │ └── custom.css │ ├── demos │ │ ├── arms.jpg │ │ ├── deformables.jpg │ │ ├── h1_locomotion.jpg │ │ ├── hands.jpg │ │ ├── markers.jpg │ │ ├── multi_asset.jpg │ │ ├── procedural_terrain.jpg │ │ ├── quadrupeds.jpg │ │ ├── renderer_rtx_realtime.jpg │ │ └── start_ar.jpg │ ├── favicon.ico │ ├── how-to │ │ ├── howto_rendering_example_balanced.jpg │ │ ├── howto_rendering_example_performance.jpg │ │ └── howto_rendering_example_quality.jpg │ ├── isaaclab.jpg │ ├── multi-gpu-rl │ │ ├── a3c-dark.svg │ │ └── a3c-light.svg │ ├── overview │ │ ├── overview_sensors_contact_visualization.jpg │ │ └── sensors │ │ │ ├── camera_depth.jpg │ │ │ ├── camera_instance.jpg │ │ │ ├── camera_instanceID.jpg │ │ │ ├── camera_normals.jpg │ │ │ ├── camera_rgb.jpg │ │ │ ├── camera_semantic.jpg │ │ │ ├── contact_diagram.jpg │ │ │ ├── frame_transformer.jpg │ │ │ ├── frame_transformer_visualizer.jpg │ │ │ ├── imu_diagram.jpg │ │ │ ├── imu_visualizer.jpg │ │ │ ├── raycaster_patterns.jpg │ │ │ └── raycaster_visualizer.jpg │ ├── policy_deployment │ │ └── 00_hover │ │ │ ├── hover_stable_wave.png │ │ │ └── hover_training_robots.png │ ├── reference-architecture │ │ ├── deployment-dark.svg │ │ ├── deployment-light.svg │ │ ├── isaac-lab-ra-dark.svg │ │ ├── isaac-lab-ra-light.svg │ │ ├── multi-gpu-training-dark.svg │ │ ├── multi-gpu-training-light.svg │ │ ├── single-gpu-training-dark.svg │ │ └── single-gpu-training-light.svg │ ├── refs.bib │ ├── setup │ │ ├── asset_caching.jpg │ │ ├── cloudxr_ar_panel.jpg │ │ ├── cloudxr_avp_connect_ui.jpg │ │ ├── cloudxr_avp_teleop_ui.jpg │ │ ├── cloudxr_bimanual_teleop.gif │ │ ├── cloudxr_viewport.jpg │ │ ├── ecosystem-dark.jpg │ │ ├── ecosystem-light.jpg │ │ ├── isaac_ants_example.jpg │ │ ├── shadow_hands_example.jpg │ │ └── verify_install.jpg │ ├── task-workflows │ │ ├── direct-based-dark.svg │ │ ├── direct-based-light.svg │ │ ├── manager-based-dark.svg │ │ └── manager-based-light.svg │ ├── tasks.jpg │ ├── tasks │ │ ├── automate │ │ │ ├── 00004.jpg │ │ │ └── 01053_disassembly.jpg │ │ ├── classic │ │ │ ├── ant.jpg │ │ │ ├── cart_double_pendulum.jpg │ │ │ ├── cartpole.jpg │ │ │ └── humanoid.jpg │ │ ├── factory │ │ │ ├── gear_mesh.jpg │ │ │ ├── nut_thread.jpg │ │ │ └── peg_insert.jpg │ │ ├── future_plans │ │ │ ├── deformable │ │ │ │ ├── drop.jpg │ │ │ │ ├── flag.jpg │ │ │ │ ├── fluid_pour.jpg │ │ │ │ ├── fluid_transport.jpg │ │ │ │ ├── pick.jpg │ │ │ │ ├── place.jpg │ │ │ │ ├── rope.jpg │ │ │ │ ├── shirt-basket.jpg │ │ │ │ ├── shirt.jpg │ │ │ │ ├── stacking.jpg │ │ │ │ ├── sweater.jpg │ │ │ │ ├── tower_of_hanoi.jpg │ │ │ │ └── vest.jpg │ │ │ └── rigid │ │ │ │ ├── beat-the-buzz.jpg │ │ │ │ ├── cabinet.jpg │ │ │ │ ├── hockey.jpg │ │ │ │ ├── jenga.jpg │ │ │ │ ├── lift.jpg │ │ │ │ ├── locomotion.jpg │ │ │ │ ├── mobile_cabinet.jpg │ │ │ │ ├── mobile_reach.jpg │ │ │ │ ├── nut-bolt.jpg │ │ │ │ ├── peg-in-hole.jpg │ │ │ │ ├── pyramid.jpg │ │ │ │ ├── reach.jpg │ │ │ │ └── shadow.jpg │ │ ├── locomotion │ │ │ ├── a1_flat.jpg │ │ │ ├── a1_rough.jpg │ │ │ ├── anymal_b_flat.jpg │ │ │ ├── anymal_b_rough.jpg │ │ │ ├── anymal_c_flat.jpg │ │ │ ├── anymal_c_rough.jpg │ │ │ ├── anymal_d_flat.jpg │ │ │ ├── anymal_d_rough.jpg │ │ │ ├── g1_flat.jpg │ │ │ ├── g1_rough.jpg │ │ │ ├── go1_flat.jpg │ │ │ ├── go1_rough.jpg │ │ │ ├── go2_flat.jpg │ │ │ ├── go2_rough.jpg │ │ │ ├── h1_flat.jpg │ │ │ ├── h1_rough.jpg │ │ │ └── spot_flat.jpg │ │ ├── manipulation │ │ │ ├── allegro_cube.jpg │ │ │ ├── franka_lift.jpg │ │ │ ├── franka_open_drawer.jpg │ │ │ ├── franka_reach.jpg │ │ │ ├── franka_stack.jpg │ │ │ ├── gr-1_pick_place.gif │ │ │ ├── gr-1_pick_place.jpg │ │ │ ├── gr-1_pick_place_annotation.jpg │ │ │ ├── shadow_cube.jpg │ │ │ ├── shadow_hand_over.jpg │ │ │ └── ur10_reach.jpg │ │ ├── navigation │ │ │ └── anymal_c_nav.jpg │ │ └── others │ │ │ ├── humanoid_amp.jpg │ │ │ └── quadcopter.jpg │ ├── terrains │ │ ├── height_field │ │ │ ├── discrete_obstacles_terrain.jpg │ │ │ ├── discrete_obstacles_terrain_choice.jpg │ │ │ ├── discrete_obstacles_terrain_fixed.jpg │ │ │ ├── inverted_pyramid_sloped_terrain.jpg │ │ │ ├── inverted_pyramid_stairs_terrain.jpg │ │ │ ├── pyramid_sloped_terrain.jpg │ │ │ ├── pyramid_stairs_terrain.jpg │ │ │ ├── random_uniform_terrain.jpg │ │ │ ├── stepping_stones_terrain.jpg │ │ │ └── wave_terrain.jpg │ │ └── trimesh │ │ │ ├── box_terrain.jpg │ │ │ ├── box_terrain_with_two_boxes.jpg │ │ │ ├── flat_terrain.jpg │ │ │ ├── floating_ring_terrain.jpg │ │ │ ├── gap_terrain.jpg │ │ │ ├── inverted_pyramid_stairs_terrain.jpg │ │ │ ├── inverted_pyramid_stairs_terrain_with_holes.jpg │ │ │ ├── pit_terrain.jpg │ │ │ ├── pit_terrain_with_two_levels.jpg │ │ │ ├── pyramid_stairs_terrain.jpg │ │ │ ├── pyramid_stairs_terrain_with_holes.jpg │ │ │ ├── rails_terrain.jpg │ │ │ ├── random_grid_terrain.jpg │ │ │ ├── random_grid_terrain_with_holes.jpg │ │ │ ├── repeated_objects_box_terrain.jpg │ │ │ ├── repeated_objects_cylinder_terrain.jpg │ │ │ ├── repeated_objects_pyramid_terrain.jpg │ │ │ └── star_terrain.jpg │ ├── thanks.png │ ├── tutorials │ │ ├── tutorial_add_new_robot_result.jpg │ │ ├── tutorial_add_sensors.jpg │ │ ├── tutorial_convert_mesh.jpg │ │ ├── tutorial_convert_mjcf.jpg │ │ ├── tutorial_convert_urdf.jpg │ │ ├── tutorial_create_direct_workflow.jpg │ │ ├── tutorial_create_empty.jpg │ │ ├── tutorial_create_manager_base.jpg │ │ ├── tutorial_create_manager_rl_env.jpg │ │ ├── tutorial_creating_a_scene.jpg │ │ ├── tutorial_launch_app.jpg │ │ ├── tutorial_modify_direct_rl_env.jpg │ │ ├── tutorial_operational_space_controller.jpg │ │ ├── tutorial_policy_inference_in_usd.jpg │ │ ├── tutorial_register_environment.jpg │ │ ├── tutorial_run_articulation.jpg │ │ ├── tutorial_run_deformable_object.jpg │ │ ├── tutorial_run_rigid_object.jpg │ │ ├── tutorial_spawn_prims.jpg │ │ └── tutorial_task_space_controller.jpg │ ├── vscode_tasks.png │ └── wechat-jjdttx.png │ ├── api │ ├── index.rst │ ├── lab │ │ ├── isaaclab.actuators.rst │ │ ├── isaaclab.app.rst │ │ ├── isaaclab.assets.rst │ │ ├── isaaclab.controllers.rst │ │ ├── isaaclab.devices.rst │ │ ├── isaaclab.envs.mdp.rst │ │ ├── isaaclab.envs.rst │ │ ├── isaaclab.envs.ui.rst │ │ ├── isaaclab.managers.rst │ │ ├── isaaclab.markers.rst │ │ ├── isaaclab.scene.rst │ │ ├── isaaclab.sensors.patterns.rst │ │ ├── isaaclab.sensors.rst │ │ ├── isaaclab.sim.converters.rst │ │ ├── isaaclab.sim.rst │ │ ├── isaaclab.sim.schemas.rst │ │ ├── isaaclab.sim.spawners.rst │ │ ├── isaaclab.terrains.rst │ │ └── isaaclab.utils.rst │ ├── lab_mimic │ │ ├── isaaclab_mimic.datagen.rst │ │ └── isaaclab_mimic.envs.rst │ ├── lab_rl │ │ └── isaaclab_rl.rst │ └── lab_tasks │ │ └── isaaclab_tasks.utils.rst │ ├── deployment │ ├── cluster.rst │ ├── docker.rst │ ├── index.rst │ └── run_docker_example.rst │ ├── features │ ├── hydra.rst │ ├── multi_gpu.rst │ ├── ray.rst │ └── reproducibility.rst │ ├── how-to │ ├── add_own_library.rst │ ├── cloudxr_teleoperation.rst │ ├── configure_rendering.rst │ ├── draw_markers.rst │ ├── estimate_how_many_cameras_can_run.rst │ ├── import_new_asset.rst │ ├── index.rst │ ├── make_fixed_prim.rst │ ├── master_omniverse.rst │ ├── multi_asset_spawning.rst │ ├── record_animation.rst │ ├── record_video.rst │ ├── save_camera_output.rst │ ├── simulation_performance.rst │ ├── wrap_rl_env.rst │ └── write_articulation_cfg.rst │ ├── migration │ ├── migrating_from_isaacgymenvs.rst │ ├── migrating_from_omniisaacgymenvs.rst │ └── migrating_from_orbit.rst │ ├── overview │ ├── core-concepts │ │ ├── actuators.rst │ │ ├── index.rst │ │ ├── motion_generators.rst │ │ ├── sensors │ │ │ ├── camera.rst │ │ │ ├── contact_sensor.rst │ │ │ ├── frame_transformer.rst │ │ │ ├── imu.rst │ │ │ ├── index.rst │ │ │ └── ray_caster.rst │ │ └── task_workflows.rst │ ├── developer-guide │ │ ├── development.rst │ │ ├── index.rst │ │ ├── repo_structure.rst │ │ ├── template.rst │ │ └── vs_code.rst │ ├── environments.rst │ ├── reinforcement-learning │ │ ├── index.rst │ │ ├── performance_benchmarks.rst │ │ ├── rl_existing_scripts.rst │ │ ├── rl_frameworks.rst │ │ └── training_guide.rst │ ├── showroom.rst │ ├── simple_agents.rst │ └── teleop_imitation.rst │ ├── policy_deployment │ ├── 00_hover │ │ └── hover_policy.rst │ └── index.rst │ ├── refs │ ├── additional_resources.rst │ ├── bibliography.rst │ ├── changelog.rst │ ├── contributing.rst │ ├── issues.rst │ ├── license.rst │ ├── migration.rst │ ├── reference_architecture │ │ └── index.rst │ ├── release_notes.rst │ ├── snippets │ │ └── tutorial_modify_direct_rl_env.py │ └── troubleshooting.rst │ ├── setup │ ├── ecosystem.rst │ ├── installation │ │ ├── asset_caching.rst │ │ ├── binaries_installation.rst │ │ ├── cloud_installation.rst │ │ ├── index.rst │ │ ├── isaaclab_pip_installation.rst │ │ └── pip_installation.rst │ ├── oneclick_installation.rst │ ├── quickstart.rst │ ├── translation.rst │ └── wechat.rst │ └── tutorials │ ├── 00_sim │ ├── create_empty.rst │ ├── launch_app.rst │ └── spawn_prims.rst │ ├── 01_assets │ ├── add_new_robot.rst │ ├── run_articulation.rst │ ├── run_deformable_object.rst │ └── run_rigid_object.rst │ ├── 02_scene │ └── create_scene.rst │ ├── 03_envs │ ├── create_direct_rl_env.rst │ ├── create_manager_base_env.rst │ ├── create_manager_rl_env.rst │ ├── modify_direct_rl_env.rst │ ├── policy_inference_in_usd.rst │ ├── register_rl_env_gym.rst │ └── run_rl_training.rst │ ├── 04_sensors │ └── add_sensors_on_robot.rst │ ├── 05_controllers │ ├── run_diff_ik.rst │ └── run_osc.rst │ └── index.rst ├── environment.yml ├── install.py ├── isaaclab.bat ├── isaaclab.sh ├── pyproject.toml ├── scripts ├── benchmarks │ ├── benchmark_cameras.py │ ├── benchmark_load_robot.py │ ├── benchmark_non_rl.py │ ├── benchmark_rlgames.py │ ├── benchmark_rsl_rl.py │ └── utils.py ├── demos │ ├── arms.py │ ├── bipeds.py │ ├── deformables.py │ ├── h1_locomotion.py │ ├── hands.py │ ├── markers.py │ ├── multi_asset.py │ ├── procedural_terrain.py │ ├── quadcopter.py │ ├── quadrupeds.py │ └── sensors │ │ ├── cameras.py │ │ ├── contact_sensor.py │ │ ├── frame_transformer_sensor.py │ │ ├── imu_sensor.py │ │ └── raycaster_sensor.py ├── environments │ ├── list_envs.py │ ├── random_agent.py │ ├── state_machine │ │ ├── lift_cube_sm.py │ │ ├── lift_teddy_bear.py │ │ └── open_cabinet_sm.py │ ├── teleoperation │ │ └── teleop_se3_agent.py │ └── zero_agent.py ├── imitation_learning │ ├── isaaclab_mimic │ │ ├── annotate_demos.py │ │ ├── consolidated_demo.py │ │ └── generate_dataset.py │ └── robomimic │ │ ├── play.py │ │ └── train.py ├── reinforcement_learning │ ├── ray │ │ ├── cluster_configs │ │ │ ├── Dockerfile │ │ │ └── google_cloud │ │ │ │ └── kuberay.yaml.jinja │ │ ├── grok_cluster_with_kubectl.py │ │ ├── hyperparameter_tuning │ │ │ ├── vision_cartpole_cfg.py │ │ │ └── vision_cfg.py │ │ ├── launch.py │ │ ├── mlflow_to_local_tensorboard.py │ │ ├── submit_job.py │ │ ├── tuner.py │ │ ├── util.py │ │ └── wrap_resources.py │ ├── rl_games │ │ ├── play.py │ │ └── train.py │ ├── rsl_rl │ │ ├── cli_args.py │ │ ├── play.py │ │ └── train.py │ ├── sb3 │ │ ├── play.py │ │ └── train.py │ └── skrl │ │ ├── play.py │ │ └── train.py ├── tools │ ├── blender_obj.py │ ├── check_instanceable.py │ ├── convert_instanceable.py │ ├── convert_mesh.py │ ├── convert_mjcf.py │ ├── convert_urdf.py │ ├── merge_hdf5_datasets.py │ ├── pretrained_checkpoint.py │ ├── process_meshes_to_obj.py │ ├── record_demos.py │ └── replay_demos.py └── tutorials │ ├── 00_sim │ ├── create_empty.py │ ├── launch_app.py │ ├── log_time.py │ ├── set_rendering_mode.py │ └── spawn_prims.py │ ├── 01_assets │ ├── add_new_robot.py │ ├── run_articulation.py │ ├── run_deformable_object.py │ └── run_rigid_object.py │ ├── 02_scene │ └── create_scene.py │ ├── 03_envs │ ├── create_cartpole_base_env.py │ ├── create_cube_base_env.py │ ├── create_quadruped_base_env.py │ ├── policy_inference_in_usd.py │ └── run_cartpole_rl_env.py │ ├── 04_sensors │ ├── add_sensors_on_robot.py │ ├── run_frame_transformer.py │ ├── run_ray_caster.py │ ├── run_ray_caster_camera.py │ └── run_usd_camera.py │ └── 05_controllers │ ├── run_diff_ik.py │ └── run_osc.py ├── source ├── isaaclab │ ├── config │ │ └── extension.toml │ ├── docs │ │ ├── CHANGELOG.rst │ │ └── README.md │ ├── isaaclab │ │ ├── __init__.py │ │ ├── actuators │ │ │ ├── __init__.py │ │ │ ├── actuator_base.py │ │ │ ├── actuator_cfg.py │ │ │ ├── actuator_net.py │ │ │ └── actuator_pd.py │ │ ├── app │ │ │ ├── __init__.py │ │ │ └── app_launcher.py │ │ ├── assets │ │ │ ├── __init__.py │ │ │ ├── articulation │ │ │ │ ├── __init__.py │ │ │ │ ├── articulation.py │ │ │ │ ├── articulation_cfg.py │ │ │ │ └── articulation_data.py │ │ │ ├── asset_base.py │ │ │ ├── asset_base_cfg.py │ │ │ ├── deformable_object │ │ │ │ ├── __init__.py │ │ │ │ ├── deformable_object.py │ │ │ │ ├── deformable_object_cfg.py │ │ │ │ └── deformable_object_data.py │ │ │ ├── rigid_object │ │ │ │ ├── __init__.py │ │ │ │ ├── rigid_object.py │ │ │ │ ├── rigid_object_cfg.py │ │ │ │ └── rigid_object_data.py │ │ │ └── rigid_object_collection │ │ │ │ ├── __init__.py │ │ │ │ ├── rigid_object_collection.py │ │ │ │ ├── rigid_object_collection_cfg.py │ │ │ │ └── rigid_object_collection_data.py │ │ ├── controllers │ │ │ ├── __init__.py │ │ │ ├── config │ │ │ │ ├── __init__.py │ │ │ │ ├── data │ │ │ │ │ └── lula_franka_gen.urdf │ │ │ │ └── rmp_flow.py │ │ │ ├── differential_ik.py │ │ │ ├── differential_ik_cfg.py │ │ │ ├── joint_impedance.py │ │ │ ├── operational_space.py │ │ │ ├── operational_space_cfg.py │ │ │ ├── pink_ik.py │ │ │ ├── pink_ik_cfg.py │ │ │ ├── rmp_flow.py │ │ │ └── utils.py │ │ ├── devices │ │ │ ├── __init__.py │ │ │ ├── device_base.py │ │ │ ├── gamepad │ │ │ │ ├── __init__.py │ │ │ │ ├── se2_gamepad.py │ │ │ │ └── se3_gamepad.py │ │ │ ├── keyboard │ │ │ │ ├── __init__.py │ │ │ │ ├── se2_keyboard.py │ │ │ │ └── se3_keyboard.py │ │ │ ├── openxr │ │ │ │ ├── __init__.py │ │ │ │ ├── common.py │ │ │ │ ├── openxr_device.py │ │ │ │ ├── retargeters │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── dex │ │ │ │ │ │ └── dex_retargeter.py │ │ │ │ │ ├── humanoid │ │ │ │ │ │ └── fourier │ │ │ │ │ │ │ ├── data │ │ │ │ │ │ │ └── configs │ │ │ │ │ │ │ │ └── dex-retargeting │ │ │ │ │ │ │ │ ├── fourier_hand_left_dexpilot.yml │ │ │ │ │ │ │ │ └── fourier_hand_right_dexpilot.yml │ │ │ │ │ │ │ ├── gr1_t2_dex_retargeting_utils.py │ │ │ │ │ │ │ └── gr1t2_retargeter.py │ │ │ │ │ └── manipulator │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── gripper_retargeter.py │ │ │ │ │ │ ├── se3_abs_retargeter.py │ │ │ │ │ │ └── se3_rel_retargeter.py │ │ │ │ └── xr_cfg.py │ │ │ ├── retargeter_base.py │ │ │ └── spacemouse │ │ │ │ ├── __init__.py │ │ │ │ ├── se2_spacemouse.py │ │ │ │ ├── se3_spacemouse.py │ │ │ │ └── utils.py │ │ ├── envs │ │ │ ├── __init__.py │ │ │ ├── common.py │ │ │ ├── direct_marl_env.py │ │ │ ├── direct_marl_env_cfg.py │ │ │ ├── direct_rl_env.py │ │ │ ├── direct_rl_env_cfg.py │ │ │ ├── manager_based_env.py │ │ │ ├── manager_based_env_cfg.py │ │ │ ├── manager_based_rl_env.py │ │ │ ├── manager_based_rl_env_cfg.py │ │ │ ├── manager_based_rl_mimic_env.py │ │ │ ├── mdp │ │ │ │ ├── __init__.py │ │ │ │ ├── actions │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── actions_cfg.py │ │ │ │ │ ├── binary_joint_actions.py │ │ │ │ │ ├── joint_actions.py │ │ │ │ │ ├── joint_actions_to_limits.py │ │ │ │ │ ├── non_holonomic_actions.py │ │ │ │ │ ├── pink_actions_cfg.py │ │ │ │ │ ├── pink_task_space_actions.py │ │ │ │ │ └── task_space_actions.py │ │ │ │ ├── commands │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── commands_cfg.py │ │ │ │ │ ├── null_command.py │ │ │ │ │ ├── pose_2d_command.py │ │ │ │ │ ├── pose_command.py │ │ │ │ │ └── velocity_command.py │ │ │ │ ├── curriculums.py │ │ │ │ ├── events.py │ │ │ │ ├── observations.py │ │ │ │ ├── recorders │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── recorders.py │ │ │ │ │ └── recorders_cfg.py │ │ │ │ ├── rewards.py │ │ │ │ └── terminations.py │ │ │ ├── mimic_env_cfg.py │ │ │ ├── ui │ │ │ │ ├── __init__.py │ │ │ │ ├── base_env_window.py │ │ │ │ ├── empty_window.py │ │ │ │ ├── manager_based_rl_env_window.py │ │ │ │ └── viewport_camera_controller.py │ │ │ └── utils │ │ │ │ ├── __init__.py │ │ │ │ ├── marl.py │ │ │ │ └── spaces.py │ │ ├── managers │ │ │ ├── __init__.py │ │ │ ├── action_manager.py │ │ │ ├── command_manager.py │ │ │ ├── curriculum_manager.py │ │ │ ├── event_manager.py │ │ │ ├── manager_base.py │ │ │ ├── manager_term_cfg.py │ │ │ ├── observation_manager.py │ │ │ ├── recorder_manager.py │ │ │ ├── reward_manager.py │ │ │ ├── scene_entity_cfg.py │ │ │ └── termination_manager.py │ │ ├── markers │ │ │ ├── __init__.py │ │ │ ├── config │ │ │ │ └── __init__.py │ │ │ └── visualization_markers.py │ │ ├── scene │ │ │ ├── __init__.py │ │ │ ├── interactive_scene.py │ │ │ └── interactive_scene_cfg.py │ │ ├── sensors │ │ │ ├── __init__.py │ │ │ ├── camera │ │ │ │ ├── __init__.py │ │ │ │ ├── camera.py │ │ │ │ ├── camera_cfg.py │ │ │ │ ├── camera_data.py │ │ │ │ ├── tiled_camera.py │ │ │ │ ├── tiled_camera_cfg.py │ │ │ │ └── utils.py │ │ │ ├── contact_sensor │ │ │ │ ├── __init__.py │ │ │ │ ├── contact_sensor.py │ │ │ │ ├── contact_sensor_cfg.py │ │ │ │ └── contact_sensor_data.py │ │ │ ├── frame_transformer │ │ │ │ ├── __init__.py │ │ │ │ ├── frame_transformer.py │ │ │ │ ├── frame_transformer_cfg.py │ │ │ │ └── frame_transformer_data.py │ │ │ ├── imu │ │ │ │ ├── __init__.py │ │ │ │ ├── imu.py │ │ │ │ ├── imu_cfg.py │ │ │ │ └── imu_data.py │ │ │ ├── ray_caster │ │ │ │ ├── __init__.py │ │ │ │ ├── patterns │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── patterns.py │ │ │ │ │ └── patterns_cfg.py │ │ │ │ ├── ray_caster.py │ │ │ │ ├── ray_caster_camera.py │ │ │ │ ├── ray_caster_camera_cfg.py │ │ │ │ ├── ray_caster_cfg.py │ │ │ │ └── ray_caster_data.py │ │ │ ├── sensor_base.py │ │ │ └── sensor_base_cfg.py │ │ ├── sim │ │ │ ├── __init__.py │ │ │ ├── converters │ │ │ │ ├── __init__.py │ │ │ │ ├── asset_converter_base.py │ │ │ │ ├── asset_converter_base_cfg.py │ │ │ │ ├── mesh_converter.py │ │ │ │ ├── mesh_converter_cfg.py │ │ │ │ ├── mjcf_converter.py │ │ │ │ ├── mjcf_converter_cfg.py │ │ │ │ ├── urdf_converter.py │ │ │ │ └── urdf_converter_cfg.py │ │ │ ├── schemas │ │ │ │ ├── __init__.py │ │ │ │ ├── schemas.py │ │ │ │ └── schemas_cfg.py │ │ │ ├── simulation_cfg.py │ │ │ ├── simulation_context.py │ │ │ ├── spawners │ │ │ │ ├── __init__.py │ │ │ │ ├── from_files │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── from_files.py │ │ │ │ │ └── from_files_cfg.py │ │ │ │ ├── lights │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── lights.py │ │ │ │ │ └── lights_cfg.py │ │ │ │ ├── materials │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── physics_materials.py │ │ │ │ │ ├── physics_materials_cfg.py │ │ │ │ │ ├── visual_materials.py │ │ │ │ │ └── visual_materials_cfg.py │ │ │ │ ├── meshes │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── meshes.py │ │ │ │ │ └── meshes_cfg.py │ │ │ │ ├── sensors │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── sensors.py │ │ │ │ │ └── sensors_cfg.py │ │ │ │ ├── shapes │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── shapes.py │ │ │ │ │ └── shapes_cfg.py │ │ │ │ ├── spawner_cfg.py │ │ │ │ └── wrappers │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── wrappers.py │ │ │ │ │ └── wrappers_cfg.py │ │ │ └── utils.py │ │ ├── terrains │ │ │ ├── __init__.py │ │ │ ├── config │ │ │ │ ├── __init__.py │ │ │ │ └── rough.py │ │ │ ├── height_field │ │ │ │ ├── __init__.py │ │ │ │ ├── hf_terrains.py │ │ │ │ ├── hf_terrains_cfg.py │ │ │ │ └── utils.py │ │ │ ├── terrain_generator.py │ │ │ ├── terrain_generator_cfg.py │ │ │ ├── terrain_importer.py │ │ │ ├── terrain_importer_cfg.py │ │ │ ├── trimesh │ │ │ │ ├── __init__.py │ │ │ │ ├── mesh_terrains.py │ │ │ │ ├── mesh_terrains_cfg.py │ │ │ │ └── utils.py │ │ │ └── utils.py │ │ ├── ui │ │ │ ├── widgets │ │ │ │ ├── __init__.py │ │ │ │ ├── image_plot.py │ │ │ │ ├── line_plot.py │ │ │ │ ├── manager_live_visualizer.py │ │ │ │ ├── ui_visualizer_base.py │ │ │ │ └── ui_widget_wrapper.py │ │ │ └── xr_widgets │ │ │ │ ├── __init__.py │ │ │ │ └── instruction_widget.py │ │ └── utils │ │ │ ├── __init__.py │ │ │ ├── array.py │ │ │ ├── assets.py │ │ │ ├── buffers │ │ │ ├── __init__.py │ │ │ ├── circular_buffer.py │ │ │ ├── delay_buffer.py │ │ │ └── timestamped_buffer.py │ │ │ ├── configclass.py │ │ │ ├── datasets │ │ │ ├── __init__.py │ │ │ ├── dataset_file_handler_base.py │ │ │ ├── episode_data.py │ │ │ └── hdf5_dataset_file_handler.py │ │ │ ├── dict.py │ │ │ ├── interpolation │ │ │ ├── __init__.py │ │ │ └── linear_interpolation.py │ │ │ ├── io │ │ │ ├── __init__.py │ │ │ ├── pkl.py │ │ │ └── yaml.py │ │ │ ├── math.py │ │ │ ├── modifiers │ │ │ ├── __init__.py │ │ │ ├── modifier.py │ │ │ ├── modifier_base.py │ │ │ └── modifier_cfg.py │ │ │ ├── noise │ │ │ ├── __init__.py │ │ │ ├── noise_cfg.py │ │ │ └── noise_model.py │ │ │ ├── pretrained_checkpoint.py │ │ │ ├── sensors.py │ │ │ ├── string.py │ │ │ ├── timer.py │ │ │ ├── types.py │ │ │ └── warp │ │ │ ├── __init__.py │ │ │ ├── kernels.py │ │ │ └── ops.py │ ├── pyproject.toml │ ├── setup.py │ └── test │ │ ├── app │ │ ├── test_argparser_launch.py │ │ ├── test_env_var_launch.py │ │ └── test_kwarg_launch.py │ │ ├── assets │ │ ├── check_external_force.py │ │ ├── check_fixed_base_assets.py │ │ ├── check_ridgeback_franka.py │ │ ├── test_articulation.py │ │ ├── test_deformable_object.py │ │ ├── test_rigid_object.py │ │ └── test_rigid_object_collection.py │ │ ├── controllers │ │ ├── test_differential_ik.py │ │ ├── test_operational_space.py │ │ └── test_pink_ik.py │ │ ├── deps │ │ ├── isaacsim │ │ │ ├── check_camera.py │ │ │ ├── check_floating_base_made_fixed.py │ │ │ ├── check_legged_robot_clone.py │ │ │ ├── check_ref_count.py │ │ │ └── check_rep_texture_randomizer.py │ │ ├── test_scipy.py │ │ └── test_torch.py │ │ ├── devices │ │ ├── check_keyboard.py │ │ └── test_oxr_device.py │ │ ├── envs │ │ ├── check_manager_based_env_anymal_locomotion.py │ │ ├── check_manager_based_env_floating_cube.py │ │ ├── test_action_state_recorder_term.py │ │ ├── test_direct_marl_env.py │ │ ├── test_env_rendering_logic.py │ │ ├── test_manager_based_env.py │ │ ├── test_manager_based_rl_env_ui.py │ │ ├── test_null_command_term.py │ │ ├── test_scale_randomization.py │ │ ├── test_spaces_utils.py │ │ └── test_texture_randomization.py │ │ ├── managers │ │ ├── test_event_manager.py │ │ ├── test_observation_manager.py │ │ ├── test_recorder_manager.py │ │ └── test_reward_manager.py │ │ ├── markers │ │ ├── check_markers_visibility.py │ │ └── test_visualization_markers.py │ │ ├── performance │ │ ├── test_kit_startup_performance.py │ │ └── test_robot_load_performance.py │ │ ├── scene │ │ ├── check_interactive_scene.py │ │ └── test_interactive_scene.py │ │ ├── sensors │ │ ├── check_contact_sensor.py │ │ ├── check_imu_sensor.py │ │ ├── check_ray_caster.py │ │ ├── test_camera.py │ │ ├── test_contact_sensor.py │ │ ├── test_frame_transformer.py │ │ ├── test_imu.py │ │ ├── test_multi_tiled_camera.py │ │ ├── test_outdated_sensor.py │ │ ├── test_ray_caster_camera.py │ │ ├── test_tiled_camera.py │ │ ├── test_tiled_camera_env.py │ │ └── urdfs │ │ │ └── simple_2_link.urdf │ │ ├── sim │ │ ├── check_meshes.py │ │ ├── test_build_simulation_context_headless.py │ │ ├── test_build_simulation_context_nonheadless.py │ │ ├── test_mesh_converter.py │ │ ├── test_mjcf_converter.py │ │ ├── test_schemas.py │ │ ├── test_simulation_context.py │ │ ├── test_simulation_render_config.py │ │ ├── test_spawn_from_files.py │ │ ├── test_spawn_lights.py │ │ ├── test_spawn_materials.py │ │ ├── test_spawn_meshes.py │ │ ├── test_spawn_sensors.py │ │ ├── test_spawn_shapes.py │ │ ├── test_spawn_wrappers.py │ │ ├── test_urdf_converter.py │ │ └── test_utils.py │ │ ├── terrains │ │ ├── check_height_field_subterrains.py │ │ ├── check_mesh_subterrains.py │ │ ├── check_terrain_importer.py │ │ ├── test_terrain_generator.py │ │ └── test_terrain_importer.py │ │ └── utils │ │ ├── test_assets.py │ │ ├── test_circular_buffer.py │ │ ├── test_configclass.py │ │ ├── test_delay_buffer.py │ │ ├── test_dict.py │ │ ├── test_episode_data.py │ │ ├── test_hdf5_dataset_file_handler.py │ │ ├── test_math.py │ │ ├── test_modifiers.py │ │ ├── test_noise.py │ │ ├── test_string.py │ │ └── test_timer.py ├── isaaclab_assets │ ├── config │ │ └── extension.toml │ ├── data │ │ └── .gitkeep │ ├── docs │ │ ├── CHANGELOG.rst │ │ └── README.md │ ├── isaaclab_assets │ │ ├── __init__.py │ │ ├── robots │ │ │ ├── __init__.py │ │ │ ├── allegro.py │ │ │ ├── ant.py │ │ │ ├── anymal.py │ │ │ ├── cart_double_pendulum.py │ │ │ ├── cartpole.py │ │ │ ├── cassie.py │ │ │ ├── fourier.py │ │ │ ├── franka.py │ │ │ ├── humanoid.py │ │ │ ├── humanoid_28.py │ │ │ ├── kinova.py │ │ │ ├── quadcopter.py │ │ │ ├── ridgeback_franka.py │ │ │ ├── sawyer.py │ │ │ ├── shadow_hand.py │ │ │ ├── spot.py │ │ │ ├── unitree.py │ │ │ └── universal_robots.py │ │ └── sensors │ │ │ ├── __init__.py │ │ │ └── velodyne.py │ ├── pyproject.toml │ ├── setup.py │ └── test │ │ └── test_valid_configs.py ├── isaaclab_mimic │ ├── config │ │ └── extension.toml │ ├── docs │ │ └── CHANGELOG.rst │ ├── isaaclab_mimic │ │ ├── __init__.py │ │ ├── datagen │ │ │ ├── __init__.py │ │ │ ├── data_generator.py │ │ │ ├── datagen_info.py │ │ │ ├── datagen_info_pool.py │ │ │ ├── generation.py │ │ │ ├── selection_strategy.py │ │ │ ├── utils.py │ │ │ └── waypoint.py │ │ ├── envs │ │ │ ├── __init__.py │ │ │ ├── franka_stack_ik_abs_mimic_env.py │ │ │ ├── franka_stack_ik_abs_mimic_env_cfg.py │ │ │ ├── franka_stack_ik_rel_blueprint_mimic_env_cfg.py │ │ │ ├── franka_stack_ik_rel_mimic_env.py │ │ │ ├── franka_stack_ik_rel_mimic_env_cfg.py │ │ │ ├── franka_stack_ik_rel_visuomotor_mimic_env_cfg.py │ │ │ └── pinocchio_envs │ │ │ │ ├── __init__.py │ │ │ │ ├── pickplace_gr1t2_mimic_env.py │ │ │ │ └── pickplace_gr1t2_mimic_env_cfg.py │ │ └── ui │ │ │ └── instruction_display.py │ ├── pyproject.toml │ ├── setup.py │ └── test │ │ ├── test_generate_dataset.py │ │ └── test_selection_strategy.py ├── isaaclab_rl │ ├── config │ │ └── extension.toml │ ├── docs │ │ └── CHANGELOG.rst │ ├── isaaclab_rl │ │ ├── __init__.py │ │ ├── rl_games.py │ │ ├── rsl_rl │ │ │ ├── __init__.py │ │ │ ├── distillation_cfg.py │ │ │ ├── exporter.py │ │ │ ├── rl_cfg.py │ │ │ ├── rnd_cfg.py │ │ │ ├── symmetry_cfg.py │ │ │ └── vecenv_wrapper.py │ │ ├── sb3.py │ │ └── skrl.py │ ├── pyproject.toml │ ├── setup.py │ └── test │ │ ├── test_rl_games_wrapper.py │ │ ├── test_rsl_rl_wrapper.py │ │ ├── test_sb3_wrapper.py │ │ └── test_skrl_wrapper.py └── isaaclab_tasks │ ├── config │ └── extension.toml │ ├── docs │ ├── CHANGELOG.rst │ └── README.md │ ├── isaaclab_tasks │ ├── __init__.py │ ├── direct │ │ ├── __init__.py │ │ ├── allegro_hand │ │ │ ├── __init__.py │ │ │ ├── agents │ │ │ │ ├── __init__.py │ │ │ │ ├── rl_games_ppo_cfg.yaml │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ └── skrl_ppo_cfg.yaml │ │ │ └── allegro_hand_env_cfg.py │ │ ├── ant │ │ │ ├── __init__.py │ │ │ ├── agents │ │ │ │ ├── __init__.py │ │ │ │ ├── rl_games_ppo_cfg.yaml │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ └── skrl_ppo_cfg.yaml │ │ │ └── ant_env.py │ │ ├── anymal_c │ │ │ ├── __init__.py │ │ │ ├── agents │ │ │ │ ├── __init__.py │ │ │ │ ├── rl_games_flat_ppo_cfg.yaml │ │ │ │ ├── rl_games_rough_ppo_cfg.yaml │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ ├── skrl_flat_ppo_cfg.yaml │ │ │ │ └── skrl_rough_ppo_cfg.yaml │ │ │ ├── anymal_c_env.py │ │ │ └── anymal_c_env_cfg.py │ │ ├── automate │ │ │ ├── __init__.py │ │ │ ├── agents │ │ │ │ ├── __init__.py │ │ │ │ └── rl_games_ppo_cfg.yaml │ │ │ ├── assembly_env.py │ │ │ ├── assembly_env_cfg.py │ │ │ ├── assembly_tasks_cfg.py │ │ │ ├── automate_algo_utils.py │ │ │ ├── automate_log_utils.py │ │ │ ├── disassembly_env.py │ │ │ ├── disassembly_env_cfg.py │ │ │ ├── disassembly_tasks_cfg.py │ │ │ ├── factory_control.py │ │ │ ├── industreal_algo_utils.py │ │ │ ├── run_disassembly_w_id.py │ │ │ ├── run_w_id.py │ │ │ └── soft_dtw_cuda.py │ │ ├── cart_double_pendulum │ │ │ ├── __init__.py │ │ │ ├── agents │ │ │ │ ├── __init__.py │ │ │ │ ├── rl_games_ppo_cfg.yaml │ │ │ │ ├── skrl_ippo_cfg.yaml │ │ │ │ ├── skrl_mappo_cfg.yaml │ │ │ │ └── skrl_ppo_cfg.yaml │ │ │ └── cart_double_pendulum_env.py │ │ ├── cartpole │ │ │ ├── __init__.py │ │ │ ├── agents │ │ │ │ ├── __init__.py │ │ │ │ ├── rl_games_camera_ppo_cfg.yaml │ │ │ │ ├── rl_games_ppo_cfg.yaml │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ ├── sb3_ppo_cfg.yaml │ │ │ │ ├── skrl_camera_ppo_cfg.yaml │ │ │ │ └── skrl_ppo_cfg.yaml │ │ │ ├── cartpole_camera_env.py │ │ │ └── cartpole_env.py │ │ ├── cartpole_showcase │ │ │ ├── __init__.py │ │ │ ├── cartpole │ │ │ │ ├── __init__.py │ │ │ │ ├── agents │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── skrl_box_box_ppo_cfg.yaml │ │ │ │ │ ├── skrl_box_discrete_ppo_cfg.yaml │ │ │ │ │ ├── skrl_box_multidiscrete_ppo_cfg.yaml │ │ │ │ │ ├── skrl_dict_box_ppo_cfg.yaml │ │ │ │ │ ├── skrl_dict_discrete_ppo_cfg.yaml │ │ │ │ │ ├── skrl_dict_multidiscrete_ppo_cfg.yaml │ │ │ │ │ ├── skrl_discrete_box_ppo_cfg.yaml │ │ │ │ │ ├── skrl_discrete_discrete_ppo_cfg.yaml │ │ │ │ │ ├── skrl_discrete_multidiscrete_ppo_cfg.yaml │ │ │ │ │ ├── skrl_multidiscrete_box_ppo_cfg.yaml │ │ │ │ │ ├── skrl_multidiscrete_discrete_ppo_cfg.yaml │ │ │ │ │ ├── skrl_multidiscrete_multidiscrete_ppo_cfg.yaml │ │ │ │ │ ├── skrl_tuple_box_ppo_cfg.yaml │ │ │ │ │ ├── skrl_tuple_discrete_ppo_cfg.yaml │ │ │ │ │ └── skrl_tuple_multidiscrete_ppo_cfg.yaml │ │ │ │ ├── cartpole_env.py │ │ │ │ └── cartpole_env_cfg.py │ │ │ └── cartpole_camera │ │ │ │ ├── __init__.py │ │ │ │ ├── agents │ │ │ │ ├── __init__.py │ │ │ │ ├── skrl_box_box_ppo_cfg.yaml │ │ │ │ ├── skrl_box_discrete_ppo_cfg.yaml │ │ │ │ ├── skrl_box_multidiscrete_ppo_cfg.yaml │ │ │ │ ├── skrl_dict_box_ppo_cfg.yaml │ │ │ │ ├── skrl_dict_discrete_ppo_cfg.yaml │ │ │ │ ├── skrl_dict_multidiscrete_ppo_cfg.yaml │ │ │ │ ├── skrl_tuple_box_ppo_cfg.yaml │ │ │ │ ├── skrl_tuple_discrete_ppo_cfg.yaml │ │ │ │ └── skrl_tuple_multidiscrete_ppo_cfg.yaml │ │ │ │ ├── cartpole_camera_env.py │ │ │ │ └── cartpole_camera_env_cfg.py │ │ ├── factory │ │ │ ├── __init__.py │ │ │ ├── agents │ │ │ │ ├── __init__.py │ │ │ │ └── rl_games_ppo_cfg.yaml │ │ │ ├── factory_control.py │ │ │ ├── factory_env.py │ │ │ ├── factory_env_cfg.py │ │ │ └── factory_tasks_cfg.py │ │ ├── franka_cabinet │ │ │ ├── __init__.py │ │ │ ├── agents │ │ │ │ ├── __init__.py │ │ │ │ ├── rl_games_ppo_cfg.yaml │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ └── skrl_ppo_cfg.yaml │ │ │ └── franka_cabinet_env.py │ │ ├── humanoid │ │ │ ├── __init__.py │ │ │ ├── agents │ │ │ │ ├── __init__.py │ │ │ │ ├── rl_games_ppo_cfg.yaml │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ └── skrl_ppo_cfg.yaml │ │ │ └── humanoid_env.py │ │ ├── humanoid_amp │ │ │ ├── __init__.py │ │ │ ├── agents │ │ │ │ ├── __init__.py │ │ │ │ ├── skrl_dance_amp_cfg.yaml │ │ │ │ ├── skrl_run_amp_cfg.yaml │ │ │ │ └── skrl_walk_amp_cfg.yaml │ │ │ ├── humanoid_amp_env.py │ │ │ ├── humanoid_amp_env_cfg.py │ │ │ └── motions │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── humanoid_dance.npz │ │ │ │ ├── humanoid_run.npz │ │ │ │ ├── humanoid_walk.npz │ │ │ │ ├── motion_loader.py │ │ │ │ └── motion_viewer.py │ │ ├── inhand_manipulation │ │ │ ├── __init__.py │ │ │ └── inhand_manipulation_env.py │ │ ├── locomotion │ │ │ ├── __init__.py │ │ │ └── locomotion_env.py │ │ ├── quadcopter │ │ │ ├── __init__.py │ │ │ ├── agents │ │ │ │ ├── __init__.py │ │ │ │ ├── rl_games_ppo_cfg.yaml │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ └── skrl_ppo_cfg.yaml │ │ │ └── quadcopter_env.py │ │ ├── shadow_hand │ │ │ ├── __init__.py │ │ │ ├── agents │ │ │ │ ├── __init__.py │ │ │ │ ├── rl_games_ppo_cfg.yaml │ │ │ │ ├── rl_games_ppo_ff_cfg.yaml │ │ │ │ ├── rl_games_ppo_lstm_cfg.yaml │ │ │ │ ├── rl_games_ppo_vision_cfg.yaml │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ ├── skrl_ff_ppo_cfg.yaml │ │ │ │ └── skrl_ppo_cfg.yaml │ │ │ ├── feature_extractor.py │ │ │ ├── shadow_hand_env_cfg.py │ │ │ └── shadow_hand_vision_env.py │ │ └── shadow_hand_over │ │ │ ├── __init__.py │ │ │ ├── agents │ │ │ ├── __init__.py │ │ │ ├── rl_games_ppo_cfg.yaml │ │ │ ├── skrl_ippo_cfg.yaml │ │ │ ├── skrl_mappo_cfg.yaml │ │ │ └── skrl_ppo_cfg.yaml │ │ │ ├── shadow_hand_over_env.py │ │ │ └── shadow_hand_over_env_cfg.py │ ├── manager_based │ │ ├── __init__.py │ │ ├── classic │ │ │ ├── __init__.py │ │ │ ├── ant │ │ │ │ ├── __init__.py │ │ │ │ ├── agents │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── rl_games_ppo_cfg.yaml │ │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ │ ├── sb3_ppo_cfg.yaml │ │ │ │ │ └── skrl_ppo_cfg.yaml │ │ │ │ └── ant_env_cfg.py │ │ │ ├── cartpole │ │ │ │ ├── __init__.py │ │ │ │ ├── agents │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── rl_games_camera_ppo_cfg.yaml │ │ │ │ │ ├── rl_games_feature_ppo_cfg.yaml │ │ │ │ │ ├── rl_games_ppo_cfg.yaml │ │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ │ ├── sb3_ppo_cfg.yaml │ │ │ │ │ └── skrl_ppo_cfg.yaml │ │ │ │ ├── cartpole_camera_env_cfg.py │ │ │ │ ├── cartpole_env_cfg.py │ │ │ │ └── mdp │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── rewards.py │ │ │ └── humanoid │ │ │ │ ├── __init__.py │ │ │ │ ├── agents │ │ │ │ ├── __init__.py │ │ │ │ ├── rl_games_ppo_cfg.yaml │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ ├── sb3_ppo_cfg.yaml │ │ │ │ └── skrl_ppo_cfg.yaml │ │ │ │ ├── humanoid_env_cfg.py │ │ │ │ └── mdp │ │ │ │ ├── __init__.py │ │ │ │ ├── observations.py │ │ │ │ └── rewards.py │ │ ├── locomotion │ │ │ ├── __init__.py │ │ │ └── velocity │ │ │ │ ├── __init__.py │ │ │ │ ├── config │ │ │ │ ├── __init__.py │ │ │ │ ├── a1 │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── agents │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ │ │ ├── skrl_flat_ppo_cfg.yaml │ │ │ │ │ │ └── skrl_rough_ppo_cfg.yaml │ │ │ │ │ ├── flat_env_cfg.py │ │ │ │ │ └── rough_env_cfg.py │ │ │ │ ├── anymal_b │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── agents │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ │ │ ├── skrl_flat_ppo_cfg.yaml │ │ │ │ │ │ └── skrl_rough_ppo_cfg.yaml │ │ │ │ │ ├── flat_env_cfg.py │ │ │ │ │ └── rough_env_cfg.py │ │ │ │ ├── anymal_c │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── agents │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── rl_games_flat_ppo_cfg.yaml │ │ │ │ │ │ ├── rl_games_rough_ppo_cfg.yaml │ │ │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ │ │ ├── skrl_flat_ppo_cfg.yaml │ │ │ │ │ │ └── skrl_rough_ppo_cfg.yaml │ │ │ │ │ ├── flat_env_cfg.py │ │ │ │ │ └── rough_env_cfg.py │ │ │ │ ├── anymal_d │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── agents │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ │ │ ├── skrl_flat_ppo_cfg.yaml │ │ │ │ │ │ └── skrl_rough_ppo_cfg.yaml │ │ │ │ │ ├── flat_env_cfg.py │ │ │ │ │ └── rough_env_cfg.py │ │ │ │ ├── cassie │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── agents │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ │ │ ├── skrl_flat_ppo_cfg.yaml │ │ │ │ │ │ └── skrl_rough_ppo_cfg.yaml │ │ │ │ │ ├── flat_env_cfg.py │ │ │ │ │ └── rough_env_cfg.py │ │ │ │ ├── g1 │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── agents │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ │ │ ├── skrl_flat_ppo_cfg.yaml │ │ │ │ │ │ └── skrl_rough_ppo_cfg.yaml │ │ │ │ │ ├── flat_env_cfg.py │ │ │ │ │ └── rough_env_cfg.py │ │ │ │ ├── go1 │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── agents │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ │ │ ├── skrl_flat_ppo_cfg.yaml │ │ │ │ │ │ └── skrl_rough_ppo_cfg.yaml │ │ │ │ │ ├── flat_env_cfg.py │ │ │ │ │ └── rough_env_cfg.py │ │ │ │ ├── go2 │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── agents │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ │ │ ├── skrl_flat_ppo_cfg.yaml │ │ │ │ │ │ └── skrl_rough_ppo_cfg.yaml │ │ │ │ │ ├── flat_env_cfg.py │ │ │ │ │ └── rough_env_cfg.py │ │ │ │ ├── h1 │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── agents │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ │ │ ├── skrl_flat_ppo_cfg.yaml │ │ │ │ │ │ └── skrl_rough_ppo_cfg.yaml │ │ │ │ │ ├── flat_env_cfg.py │ │ │ │ │ └── rough_env_cfg.py │ │ │ │ └── spot │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── agents │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ │ └── skrl_flat_ppo_cfg.yaml │ │ │ │ │ ├── flat_env_cfg.py │ │ │ │ │ └── mdp │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── events.py │ │ │ │ │ └── rewards.py │ │ │ │ ├── mdp │ │ │ │ ├── __init__.py │ │ │ │ ├── curriculums.py │ │ │ │ ├── rewards.py │ │ │ │ └── terminations.py │ │ │ │ └── velocity_env_cfg.py │ │ ├── manipulation │ │ │ ├── __init__.py │ │ │ ├── cabinet │ │ │ │ ├── __init__.py │ │ │ │ ├── cabinet_env_cfg.py │ │ │ │ ├── config │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── franka │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── agents │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── rl_games_ppo_cfg.yaml │ │ │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ │ │ └── skrl_ppo_cfg.yaml │ │ │ │ │ │ ├── ik_abs_env_cfg.py │ │ │ │ │ │ ├── ik_rel_env_cfg.py │ │ │ │ │ │ └── joint_pos_env_cfg.py │ │ │ │ └── mdp │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── observations.py │ │ │ │ │ └── rewards.py │ │ │ ├── inhand │ │ │ │ ├── __init__.py │ │ │ │ ├── config │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── allegro_hand │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── agents │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── rl_games_ppo_cfg.yaml │ │ │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ │ │ └── skrl_ppo_cfg.yaml │ │ │ │ │ │ └── allegro_env_cfg.py │ │ │ │ ├── inhand_env_cfg.py │ │ │ │ └── mdp │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── commands │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── commands_cfg.py │ │ │ │ │ └── orientation_command.py │ │ │ │ │ ├── events.py │ │ │ │ │ ├── observations.py │ │ │ │ │ ├── rewards.py │ │ │ │ │ └── terminations.py │ │ │ ├── lift │ │ │ │ ├── __init__.py │ │ │ │ ├── config │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── franka │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── agents │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── rl_games_ppo_cfg.yaml │ │ │ │ │ │ ├── robomimic │ │ │ │ │ │ │ ├── bc.json │ │ │ │ │ │ │ └── bcq.json │ │ │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ │ │ ├── sb3_ppo_cfg.yaml │ │ │ │ │ │ └── skrl_ppo_cfg.yaml │ │ │ │ │ │ ├── ik_abs_env_cfg.py │ │ │ │ │ │ ├── ik_rel_env_cfg.py │ │ │ │ │ │ └── joint_pos_env_cfg.py │ │ │ │ ├── lift_env_cfg.py │ │ │ │ └── mdp │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── observations.py │ │ │ │ │ ├── rewards.py │ │ │ │ │ └── terminations.py │ │ │ ├── pick_place │ │ │ │ ├── __init__.py │ │ │ │ ├── agents │ │ │ │ │ └── robomimic │ │ │ │ │ │ └── bc_rnn_low_dim.json │ │ │ │ ├── mdp │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── observations.py │ │ │ │ │ └── terminations.py │ │ │ │ └── pickplace_gr1t2_env_cfg.py │ │ │ ├── reach │ │ │ │ ├── __init__.py │ │ │ │ ├── config │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── franka │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── agents │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── rl_games_ppo_cfg.yaml │ │ │ │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ │ │ │ └── skrl_ppo_cfg.yaml │ │ │ │ │ │ ├── ik_abs_env_cfg.py │ │ │ │ │ │ ├── ik_rel_env_cfg.py │ │ │ │ │ │ ├── joint_pos_env_cfg.py │ │ │ │ │ │ └── osc_env_cfg.py │ │ │ │ │ └── ur_10 │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── agents │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── rl_games_ppo_cfg.yaml │ │ │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ │ │ └── skrl_ppo_cfg.yaml │ │ │ │ │ │ └── joint_pos_env_cfg.py │ │ │ │ ├── mdp │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── rewards.py │ │ │ │ └── reach_env_cfg.py │ │ │ └── stack │ │ │ │ ├── __init__.py │ │ │ │ ├── config │ │ │ │ ├── __init__.py │ │ │ │ └── franka │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── agents │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── robomimic │ │ │ │ │ │ ├── bc_rnn_image_84.json │ │ │ │ │ │ └── bc_rnn_low_dim.json │ │ │ │ │ ├── stack_ik_abs_env_cfg.py │ │ │ │ │ ├── stack_ik_rel_blueprint_env_cfg.py │ │ │ │ │ ├── stack_ik_rel_env_cfg.py │ │ │ │ │ ├── stack_ik_rel_instance_randomize_env_cfg.py │ │ │ │ │ ├── stack_ik_rel_visuomotor_env_cfg.py │ │ │ │ │ ├── stack_joint_pos_env_cfg.py │ │ │ │ │ └── stack_joint_pos_instance_randomize_env_cfg.py │ │ │ │ ├── mdp │ │ │ │ ├── __init__.py │ │ │ │ ├── franka_stack_events.py │ │ │ │ ├── observations.py │ │ │ │ └── terminations.py │ │ │ │ ├── stack_env_cfg.py │ │ │ │ └── stack_instance_randomize_env_cfg.py │ │ └── navigation │ │ │ ├── __init__.py │ │ │ ├── config │ │ │ ├── __init__.py │ │ │ └── anymal_c │ │ │ │ ├── __init__.py │ │ │ │ ├── agents │ │ │ │ ├── __init__.py │ │ │ │ ├── rsl_rl_ppo_cfg.py │ │ │ │ └── skrl_flat_ppo_cfg.yaml │ │ │ │ └── navigation_env_cfg.py │ │ │ └── mdp │ │ │ ├── __init__.py │ │ │ ├── pre_trained_policy_action.py │ │ │ └── rewards.py │ └── utils │ │ ├── __init__.py │ │ ├── hydra.py │ │ ├── importer.py │ │ └── parse_cfg.py │ ├── pyproject.toml │ ├── setup.py │ └── test │ ├── benchmarking │ ├── configs.yaml │ ├── conftest.py │ ├── test_environments_training.py │ └── test_utils.py │ ├── test_environment_determinism.py │ ├── test_environments.py │ ├── test_factory_environments.py │ ├── test_hydra.py │ ├── test_multi_agent_environments.py │ └── test_record_video.py └── tools ├── conftest.py ├── install_deps.py ├── run_all_tests.py ├── run_train_envs.py ├── template ├── __init__.py ├── cli.py ├── common.py ├── generator.py ├── requirements.txt └── templates │ ├── agents │ ├── rl_games_ppo_cfg │ ├── rsl_rl_ppo_cfg │ ├── sb3_ppo_cfg │ ├── skrl_amp_cfg │ ├── skrl_ippo_cfg │ ├── skrl_mappo_cfg │ └── skrl_ppo_cfg │ ├── extension │ ├── __init__ext │ ├── __init__tasks │ ├── __init__workflow │ ├── config │ │ └── extension.toml │ ├── docs │ │ └── CHANGELOG.rst │ ├── pyproject.toml │ ├── setup.py │ └── ui_extension_example.py │ ├── external │ ├── .vscode │ │ ├── .gitignore │ │ ├── extensions.json │ │ ├── tasks.json │ │ └── tools │ │ │ ├── launch.template.json │ │ │ ├── settings.template.json │ │ │ └── setup_vscode.py │ ├── README.md │ └── docker │ │ ├── .env.base │ │ ├── Dockerfile │ │ └── docker-compose.yaml │ └── tasks │ ├── __init__agents │ ├── __init__task │ ├── direct_multi-agent │ ├── env │ └── env_cfg │ ├── direct_single-agent │ ├── env │ └── env_cfg │ └── manager-based_single-agent │ ├── env_cfg │ └── mdp │ ├── __init__.py │ └── rewards.py └── test_settings.py /.aws/mirror-buildspec.yml: -------------------------------------------------------------------------------- 1 | version: 0.2 2 | 3 | phases: 4 | install: 5 | runtime-versions: 6 | nodejs: 14 7 | pre_build: 8 | commands: 9 | - git config --global user.name "Isaac LAB CI Bot" 10 | - git config --global user.email "isaac-lab-ci-bot@nvidia.com" 11 | build: 12 | commands: 13 | - git remote set-url origin https://github.com/${TARGET_REPO}.git 14 | - git checkout $SOURCE_BRANCH 15 | - git push --force https://$GITHUB_TOKEN@github.com/${TARGET_REPO}.git $SOURCE_BRANCH:$TARGET_BRANCH 16 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | # ignore .git related folders 2 | .git/ 3 | .github/ 4 | .gitignore 5 | # ignore docs 6 | docs/ 7 | # copy in licenses folder to the container 8 | !docs/licenses/ 9 | # ignore logs 10 | **/logs/ 11 | **/runs/ 12 | **/output/* 13 | **/outputs/* 14 | **/videos/* 15 | *.tmp 16 | # ignore docker 17 | docker/cluster/exports/ 18 | docker/.container.cfg 19 | # ignore recordings 20 | recordings/ 21 | # ignore __pycache__ 22 | **/__pycache__/ 23 | **/*.egg-info/ 24 | # ignore isaac sim symlink 25 | _isaac_sim? 26 | -------------------------------------------------------------------------------- /.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | show-source=True 3 | statistics=True 4 | per-file-ignores=*/__init__.py:F401 5 | # E402: Module level import not at top of file 6 | # E501: Line too long 7 | # W503: Line break before binary operator 8 | # E203: Whitespace before ':' -> conflicts with black 9 | # D401: First line should be in imperative mood 10 | # R504: Unnecessary variable assignment before return statement. 11 | # R505: Unnecessary elif after return statement 12 | # SIM102: Use a single if-statement instead of nested if-statements 13 | # SIM117: Merge with statements for context managers that have same scope. 14 | # SIM118: Checks for key-existence checks against dict.keys() calls. 15 | ignore=E402,E501,W503,E203,D401,R504,R505,SIM102,SIM117,SIM118 16 | max-line-length = 120 17 | max-complexity = 30 18 | exclude=_*,.vscode,.git,docs/** 19 | # docstrings 20 | docstring-convention=google 21 | # annotations 22 | suppress-none-returning=True 23 | allow-star-arg-any=True 24 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.usd filter=lfs diff=lfs merge=lfs -text 2 | *.usda filter=lfs diff=lfs merge=lfs -text 3 | *.psd filter=lfs diff=lfs merge=lfs -text 4 | *.hdr filter=lfs diff=lfs merge=lfs -text 5 | *.dae filter=lfs diff=lfs merge=lfs -text 6 | *.mtl filter=lfs diff=lfs merge=lfs -text 7 | *.obj filter=lfs diff=lfs merge=lfs -text 8 | *.gif filter=lfs diff=lfs merge=lfs -text 9 | *.mp4 filter=lfs diff=lfs merge=lfs -text 10 | *.pt filter=lfs diff=lfs merge=lfs -text 11 | *.jit filter=lfs diff=lfs merge=lfs -text 12 | *.hdf5 filter=lfs diff=lfs merge=lfs -text 13 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Question 3 | about: Ask a question 4 | title: "[Question] Question title" 5 | --- 6 | 7 | ### Question 8 | 9 | Basic questions, related to robot learning, that are not bugs or feature requests will be closed without reply, because GitHub issues are not an appropriate venue for these. 10 | 11 | Advanced/nontrivial questions, especially in areas where documentation is lacking, are very much welcome. 12 | 13 | For questions that are related to running and understanding Isaac Sim, please post them at the official [Isaac Sim forums](https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/isaac_sim_forums.html). 14 | -------------------------------------------------------------------------------- /.github/LICENSE_HEADER.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | All rights reserved. 3 | 4 | SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /.github/LICENSE_HEADER_MIMIC.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2024-2025, The Isaac Lab Project Developers. 2 | All rights reserved. 3 | 4 | SPDX-License-Identifier: Apache-2.0 5 | -------------------------------------------------------------------------------- /.github/workflows/pre-commit.yaml: -------------------------------------------------------------------------------- 1 | name: Run linters using pre-commit 2 | 3 | on: 4 | pull_request: 5 | push: 6 | branches: [main] 7 | 8 | jobs: 9 | pre-commit: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v3 13 | - uses: actions/setup-python@v3 14 | - uses: pre-commit/action@v3.0.0 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # C++ 2 | **/cmake-build*/ 3 | **/build*/ 4 | **/*.so 5 | **/*.log* 6 | 7 | # Omniverse 8 | **/*.dmp 9 | **/.thumbs 10 | 11 | # No USD files allowed in the repo 12 | **/*.usd 13 | **/*.usda 14 | **/*.usdc 15 | **/*.usdz 16 | 17 | # Python 18 | .DS_Store 19 | **/*.egg-info/ 20 | **/__pycache__/ 21 | **/.pytest_cache/ 22 | **/*.pyc 23 | **/*.pb 24 | 25 | # Docker/Singularity 26 | **/*.sif 27 | docker/cluster/exports/ 28 | docker/.container.cfg 29 | 30 | # IDE 31 | **/.idea/ 32 | **/.vscode/ 33 | # Don't ignore the top-level .vscode directory as it is 34 | # used to configure VS Code settings 35 | !.vscode 36 | 37 | # Outputs 38 | **/output/* 39 | **/outputs/* 40 | **/videos/* 41 | **/wandb/* 42 | **/.neptune/* 43 | docker/artifacts/ 44 | *.tmp 45 | 46 | # Doc Outputs 47 | **/docs/_build/* 48 | **/generated/* 49 | 50 | # Isaac-Sim packman 51 | _isaac_sim* 52 | _repo 53 | _build 54 | .lastformat 55 | 56 | # RL-Games 57 | **/runs/* 58 | **/logs/* 59 | **/recordings/* 60 | 61 | # Pre-Trained Checkpoints 62 | /.pretrained_checkpoints/ 63 | 64 | *.mo 65 | -------------------------------------------------------------------------------- /.vscode/.gitignore: -------------------------------------------------------------------------------- 1 | # Note: These files are kept for development purposes only. 2 | !tools/launch.template.json 3 | !tools/settings.template.json 4 | !tools/setup_vscode.py 5 | !extensions.json 6 | !tasks.json 7 | 8 | # Ignore all other files 9 | .python.env 10 | *.json 11 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 3 | // for the documentation about the extensions.json format 4 | "recommendations": [ 5 | "ms-vscode.cpptools", 6 | "ms-python.python", 7 | "ms-python.vscode-pylance", 8 | "ban.spellright", 9 | "ms-iot.vscode-ros", 10 | "ExecutableBookProject.myst-highlight", 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=733558 3 | // for the documentation about the tasks.json format 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | // setup python env 8 | "label": "setup_python_env", 9 | "type": "shell", 10 | "linux": { 11 | "command": "${workspaceFolder}/isaaclab.sh -p ${workspaceFolder}/.vscode/tools/setup_vscode.py" 12 | }, 13 | "windows": { 14 | "command": "${workspaceFolder}/isaaclab.bat -p ${workspaceFolder}/.vscode/tools/setup_vscode.py" 15 | } 16 | }, 17 | { 18 | // run formatter 19 | "label": "run_formatter", 20 | "type": "shell", 21 | "linux": { 22 | "command": "${workspaceFolder}/isaaclab.sh --format" 23 | }, 24 | "windows": { 25 | "command": "${workspaceFolder}/isaaclab.bat --format" 26 | } 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | Isaac Lab is a community maintained project. We wholeheartedly welcome contributions to the project to make 4 | the framework more mature and useful for everyone. These may happen in forms of bug reports, feature requests, 5 | design proposals and more. 6 | 7 | For general information on how to contribute see 8 | . 9 | -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | 2.1.0 2 | -------------------------------------------------------------------------------- /apps/rendering_modes/performance.kit: -------------------------------------------------------------------------------- 1 | rtx.translucency.enabled = false 2 | 3 | rtx.reflections.enabled = false 4 | rtx.reflections.denoiser.enabled = false 5 | 6 | rtx.directLighting.sampledLighting.denoisingTechnique = 0 7 | rtx.directLighting.sampledLighting.enabled = false 8 | 9 | rtx.sceneDb.ambientLightIntensity = 1.0 10 | 11 | rtx.shadows.enabled = true 12 | 13 | rtx.indirectDiffuse.enabled = false 14 | rtx.indirectDiffuse.denoiser.enabled = false 15 | 16 | rtx.domeLight.upperLowerStrategy = 3 17 | 18 | rtx.ambientOcclusion.enabled = false 19 | rtx.ambientOcclusion.denoiserMode = 1 20 | 21 | rtx.raytracing.subpixel.mode = 0 22 | rtx.raytracing.cached.enabled = false 23 | 24 | # DLSS frame gen does not yet support tiled camera well 25 | rtx-transient.dlssg.enabled = false 26 | rtx-transient.dldenoiser.enabled = false 27 | 28 | # Set the DLSS model 29 | rtx.post.dlss.execMode = 0 # can be 0 (Performance), 1 (Balanced), 2 (Quality), or 3 (Auto) 30 | 31 | # Avoids replicator warning 32 | rtx.pathtracing.maxSamplesPerLaunch = 1000000 33 | 34 | # Avoids silent trimming of tiles 35 | rtx.viewTile.limit = 1000000 36 | -------------------------------------------------------------------------------- /apps/rendering_modes/quality.kit: -------------------------------------------------------------------------------- 1 | rtx.translucency.enabled = true 2 | 3 | rtx.reflections.enabled = true 4 | rtx.reflections.denoiser.enabled = true 5 | 6 | # this will be ignored when RR (dldenoiser) is enabled 7 | # rtx.directLighting.sampledLighting.denoisingTechnique = 0 8 | rtx.directLighting.sampledLighting.enabled = true 9 | 10 | rtx.sceneDb.ambientLightIntensity = 1.0 11 | 12 | rtx.shadows.enabled = true 13 | 14 | rtx.indirectDiffuse.enabled = true 15 | rtx.indirectDiffuse.denoiser.enabled = true 16 | 17 | # rtx.domeLight.upperLowerStrategy = 4 18 | 19 | rtx.ambientOcclusion.enabled = true 20 | rtx.ambientOcclusion.denoiserMode = 0 21 | 22 | rtx.raytracing.subpixel.mode = 1 23 | rtx.raytracing.cached.enabled = true 24 | 25 | # DLSS frame gen does not yet support tiled camera well 26 | rtx-transient.dlssg.enabled = false 27 | rtx-transient.dldenoiser.enabled = true 28 | 29 | # Set the DLSS model 30 | rtx.post.dlss.execMode = 2 # can be 0 (Performance), 1 (Balanced), 2 (Quality), or 3 (Auto) 31 | 32 | # Avoids replicator warning 33 | rtx.pathtracing.maxSamplesPerLaunch = 1000000 34 | 35 | # Avoids silent trimming of tiles 36 | rtx.viewTile.limit = 1000000 37 | -------------------------------------------------------------------------------- /apps/rendering_modes/xr.kit: -------------------------------------------------------------------------------- 1 | rtx.translucency.enabled = true 2 | 3 | rtx.reflections.enabled = true 4 | rtx.reflections.denoiser.enabled = true 5 | 6 | rtx.directLighting.sampledLighting.denoisingTechnique = 5 7 | rtx.directLighting.sampledLighting.enabled = true 8 | 9 | rtx.sceneDb.ambientLightIntensity = 1.0 10 | 11 | rtx.shadows.enabled = true 12 | 13 | rtx.indirectDiffuse.enabled = true 14 | rtx.indirectDiffuse.denoiser.enabled = true 15 | 16 | rtx.domeLight.upperLowerStrategy = 4 17 | 18 | rtx.ambientOcclusion.enabled = true 19 | rtx.ambientOcclusion.denoiserMode = 0 20 | 21 | rtx.raytracing.subpixel.mode = 1 22 | rtx.raytracing.cached.enabled = true 23 | 24 | # DLSS frame gen does not yet support tiled camera well 25 | rtx-transient.dlssg.enabled = false 26 | rtx-transient.dldenoiser.enabled = true 27 | 28 | # Set the DLSS model 29 | rtx.post.dlss.execMode = 2 # can be 0 (Performance), 1 (Balanced), 2 (Quality), or 3 (Auto) 30 | 31 | # Avoids replicator warning 32 | rtx.pathtracing.maxSamplesPerLaunch = 1000000 33 | 34 | # Avoids silent trimming of tiles 35 | rtx.viewTile.limit = 1000000 36 | -------------------------------------------------------------------------------- /docker/.env.base: -------------------------------------------------------------------------------- 1 | ### 2 | # General settings 3 | ### 4 | 5 | # Accept the NVIDIA Omniverse EULA by default 6 | ACCEPT_EULA=Y 7 | # NVIDIA Isaac Sim base image 8 | ISAACSIM_BASE_IMAGE=nvcr.io/nvidia/isaac-sim 9 | # NVIDIA Isaac Sim version to use (e.g. 4.5.0) 10 | ISAACSIM_VERSION=4.5.0 11 | # Derived from the default path in the NVIDIA provided Isaac Sim container 12 | DOCKER_ISAACSIM_ROOT_PATH=/isaac-sim 13 | # The Isaac Lab path in the container 14 | DOCKER_ISAACLAB_PATH=/workspace/isaaclab 15 | # Docker user directory - by default this is the root user's home directory 16 | DOCKER_USER_HOME=/root 17 | # Docker image and container name suffix (default "", set by the container_interface.py script) 18 | # Example: "-custom" 19 | DOCKER_NAME_SUFFIX="" 20 | -------------------------------------------------------------------------------- /docker/.env.cloudxr-runtime: -------------------------------------------------------------------------------- 1 | ### 2 | # General settings 3 | ### 4 | 5 | # Accept the NVIDIA Omniverse EULA by default 6 | ACCEPT_EULA=Y 7 | # NVIDIA CloudXR Runtime base image 8 | CLOUDXR_RUNTIME_BASE_IMAGE_ARG=nvcr.io/nvidia/cloudxr-runtime 9 | # NVIDIA CloudXR Runtime version to use (e.g. 0.1.0-isaac) 10 | CLOUDXR_RUNTIME_VERSION_ARG=0.1.0-isaac 11 | -------------------------------------------------------------------------------- /docker/.env.ros2: -------------------------------------------------------------------------------- 1 | ### 2 | # ROS2 specific settings 3 | ### 4 | # Set the version of the ROS2 apt package to install (ros-base, desktop, desktop-full) 5 | ROS2_APT_PACKAGE=ros-base 6 | # Set ROS2 middleware implementation to use (e.g. rmw_fastrtps_cpp, rmw_cyclonedds_cpp) 7 | RMW_IMPLEMENTATION=rmw_fastrtps_cpp 8 | # Path to fastdds.xml file to use (only needed when using fastdds) 9 | FASTRTPS_DEFAULT_PROFILES_FILE=${DOCKER_USER_HOME}/.ros/fastdds.xml 10 | # Path to cyclonedds.xml file to use (only needed when using cyclonedds) 11 | CYCLONEDDS_URI=${DOCKER_USER_HOME}/.ros/cyclonedds.xml 12 | # Docker image and container name suffix (default "", set by the container_interface.py script) 13 | # Example: "-custom" 14 | DOCKER_NAME_SUFFIX="" 15 | -------------------------------------------------------------------------------- /docker/.ros/cyclonedds.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | true 9 | 10 | 11 | auto 12 | 120 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docker/cluster/.env.cluster: -------------------------------------------------------------------------------- 1 | ### 2 | # Cluster specific settings 3 | ### 4 | 5 | # Job scheduler used by cluster. 6 | # Currently supports PBS and SLURM 7 | CLUSTER_JOB_SCHEDULER=SLURM 8 | # Docker cache dir for Isaac Sim (has to end on docker-isaac-sim) 9 | # e.g. /cluster/scratch/$USER/docker-isaac-sim 10 | CLUSTER_ISAAC_SIM_CACHE_DIR=/some/path/on/cluster/docker-isaac-sim 11 | # Isaac Lab directory on the cluster (has to end on isaaclab) 12 | # e.g. /cluster/home/$USER/isaaclab 13 | CLUSTER_ISAACLAB_DIR=/some/path/on/cluster/isaaclab 14 | # Cluster login 15 | CLUSTER_LOGIN=username@cluster_ip 16 | # Cluster scratch directory to store the SIF file 17 | # e.g. /cluster/scratch/$USER 18 | CLUSTER_SIF_PATH=/some/path/on/cluster/ 19 | # Remove the temporary isaaclab code copy after the job is done 20 | REMOVE_CODE_COPY_AFTER_JOB=false 21 | # Python executable within Isaac Lab directory to run with the submitted job 22 | CLUSTER_PYTHON_EXECUTABLE=scripts/reinforcement_learning/rsl_rl/train.py 23 | -------------------------------------------------------------------------------- /docker/cluster/submit_job_pbs.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # in the case you need to load specific modules on the cluster, add them here 4 | # e.g., `module load eth_proxy` 5 | 6 | # create job script with compute demands 7 | ### MODIFY HERE FOR YOUR JOB ### 8 | cat < job.sh 9 | #!/bin/bash 10 | 11 | #PBS -l select=1:ncpus=8:mpiprocs=1:ngpus=1 12 | #PBS -l walltime=01:00:00 13 | #PBS -j oe 14 | #PBS -q gpu 15 | #PBS -N isaaclab 16 | #PBS -m bea -M "user@mail" 17 | 18 | # Pass the container profile first to run_singularity.sh, then all arguments intended for the executed script 19 | bash "$1/docker/cluster/run_singularity.sh" "$1" "$2" "${@:3}" 20 | EOT 21 | 22 | qsub job.sh 23 | rm job.sh 24 | -------------------------------------------------------------------------------- /docker/cluster/submit_job_slurm.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # in the case you need to load specific modules on the cluster, add them here 4 | # e.g., `module load eth_proxy` 5 | 6 | # create job script with compute demands 7 | ### MODIFY HERE FOR YOUR JOB ### 8 | cat < job.sh 9 | #!/bin/bash 10 | 11 | #SBATCH -n 1 12 | #SBATCH --cpus-per-task=8 13 | #SBATCH --gpus=rtx_3090:1 14 | #SBATCH --time=23:00:00 15 | #SBATCH --mem-per-cpu=4048 16 | #SBATCH --mail-type=END 17 | #SBATCH --mail-user=name@mail 18 | #SBATCH --job-name="training-$(date +"%Y-%m-%dT%H:%M")" 19 | 20 | # Pass the container profile first to run_singularity.sh, then all arguments intended for the executed script 21 | bash "$1/docker/cluster/run_singularity.sh" "$1" "$2" "${@:3}" 22 | EOT 23 | 24 | sbatch < job.sh 25 | rm job.sh 26 | -------------------------------------------------------------------------------- /docker/container.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 4 | # All rights reserved. 5 | # 6 | # SPDX-License-Identifier: BSD-3-Clause 7 | 8 | # print warning of deprecated script in yellow 9 | echo -e "\e[33m------------------------------------------------------------" 10 | echo -e "WARNING: This script is deprecated and will be removed in the future. Please use 'docker/container.py' instead." 11 | echo -e "------------------------------------------------------------\e[0m\n" 12 | 13 | # obtain current directory 14 | SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 15 | 16 | # call the python script 17 | python3 "${SCRIPT_DIR}/container.py" "${@:1}" 18 | -------------------------------------------------------------------------------- /docker/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | from .container_interface import ContainerInterface 7 | 8 | __all__ = ["ContainerInterface"] 9 | -------------------------------------------------------------------------------- /docker/x11.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | isaac-lab-base: 3 | environment: 4 | - DISPLAY 5 | - TERM 6 | - QT_X11_NO_MITSHM=1 7 | - XAUTHORITY=${__ISAACLAB_TMP_XAUTH} 8 | volumes: 9 | - type: bind 10 | source: ${__ISAACLAB_TMP_DIR} 11 | target: ${__ISAACLAB_TMP_DIR} 12 | - type: bind 13 | source: /tmp/.X11-unix 14 | target: /tmp/.X11-unix 15 | - type: bind 16 | source: /etc/localtime 17 | target: /etc/localtime 18 | read_only: true 19 | 20 | isaac-lab-ros2: 21 | environment: 22 | - DISPLAY 23 | - TERM 24 | - QT_X11_NO_MITSHM=1 25 | - XAUTHORITY=${__ISAACLAB_TMP_XAUTH} 26 | volumes: 27 | - type: bind 28 | source: ${__ISAACLAB_TMP_DIR} 29 | target: ${__ISAACLAB_TMP_DIR} 30 | - type: bind 31 | source: /tmp/.X11-unix 32 | target: /tmp/.X11-unix 33 | - type: bind 34 | source: /etc/localtime 35 | target: /etc/localtime 36 | read_only: true 37 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = . 9 | BUILDDIR = _build 10 | 11 | .PHONY: multi-docs 12 | multi-docs: 13 | @sphinx-multiversion "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) 14 | @cp _redirect/index.html $(BUILDDIR)/index.html 15 | 16 | .PHONY: current-docs 17 | current-docs: 18 | @$(SPHINXBUILD) "$(SOURCEDIR)" "$(BUILDDIR)/current" $(SPHINXOPTS) 19 | -------------------------------------------------------------------------------- /docs/_redirect/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Redirecting to the latest Isaac Lab documentation 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /docs/_templates/versioning.html: -------------------------------------------------------------------------------- 1 | {% if versions %} 2 | 21 | {% endif %} 22 | -------------------------------------------------------------------------------- /docs/licenses/dependencies/certifi-license.txt: -------------------------------------------------------------------------------- 1 | This package contains a modified version of ca-bundle.crt: 2 | 3 | ca-bundle.crt -- Bundle of CA Root Certificates 4 | 5 | This is a bundle of X.509 certificates of public Certificate Authorities 6 | (CA). These were automatically extracted from Mozilla's root certificates 7 | file (certdata.txt). This file can be found in the mozilla source tree: 8 | https://hg.mozilla.org/mozilla-central/file/tip/security/nss/lib/ckfw/builtins/certdata.txt 9 | It contains the certificates in PEM format and therefore 10 | can be directly used with curl / libcurl / php_curl, or with 11 | an Apache+mod_ssl webserver for SSL client authentication. 12 | Just configure this file as the SSLCACertificateFile.# 13 | 14 | ***** BEGIN LICENSE BLOCK ***** 15 | This Source Code Form is subject to the terms of the Mozilla Public License, 16 | v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain 17 | one at http://mozilla.org/MPL/2.0/. 18 | 19 | ***** END LICENSE BLOCK ***** 20 | @(#) $RCSfile: certdata.txt,v $ $Revision: 1.80 $ $Date: 2011/11/03 15:11:58 $ 21 | -------------------------------------------------------------------------------- /docs/licenses/dependencies/imagesize-license.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | Copyright © 2016 Yoshiki Shibukawa 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 5 | 6 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 7 | 8 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9 | -------------------------------------------------------------------------------- /docs/licenses/dependencies/isaacsim-license.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. 2 | 3 | NVIDIA CORPORATION and its licensors retain all intellectual property 4 | and proprietary rights in and to this software, related documentation 5 | and any modifications thereto. Any use, reproduction, disclosure or 6 | distribution of this software and related documentation without an express 7 | license agreement from NVIDIA CORPORATION is strictly prohibited. 8 | 9 | Note: Licenses for assets such as Robots and Props used within these environments can be found inside their respective folders on the Nucleus server where they are hosted. 10 | 11 | For more information: https://docs.omniverse.nvidia.com/app_isaacsim/common/NVIDIA_Omniverse_License_Agreement.html 12 | 13 | For sub-dependencies of Isaac Sim: https://docs.omniverse.nvidia.com/app_isaacsim/common/licenses.html 14 | -------------------------------------------------------------------------------- /docs/licenses/dependencies/junitparser-license.txt: -------------------------------------------------------------------------------- 1 | Copyright 2020 Joel Wang 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /docs/licenses/dependencies/pexpect-license.txt: -------------------------------------------------------------------------------- 1 | ISC LICENSE 2 | 3 | This license is approved by the OSI and FSF as GPL-compatible. 4 | http://opensource.org/licenses/isc-license.txt 5 | 6 | Copyright (c) 2013-2014, Pexpect development team 7 | Copyright (c) 2012, Noah Spurrier 8 | 9 | Permission to use, copy, modify, and/or distribute this software for any 10 | purpose with or without fee is hereby granted, provided that the above 11 | copyright notice and this permission notice appear in all copies. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 14 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 15 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 16 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 17 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 18 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 19 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 20 | -------------------------------------------------------------------------------- /docs/licenses/dependencies/ptyprocess-license.txt: -------------------------------------------------------------------------------- 1 | ISC LICENSE 2 | 3 | This license is approved by the OSI and FSF as GPL-compatible. 4 | http://opensource.org/licenses/isc-license.txt 5 | 6 | Copyright (c) 2013-2014, Pexpect development team 7 | Copyright (c) 2012, Noah Spurrier 8 | 9 | Permission to use, copy, modify, and/or distribute this software for any 10 | purpose with or without fee is hereby granted, provided that the above 11 | copyright notice and this permission notice appear in all copies. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 14 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 15 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 16 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 17 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 18 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 19 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 20 | -------------------------------------------------------------------------------- /docs/licenses/dependencies/pyparsing-license.txt: -------------------------------------------------------------------------------- 1 | Permission is hereby granted, free of charge, to any person obtaining 2 | a copy of this software and associated documentation files (the 3 | "Software"), to deal in the Software without restriction, including 4 | without limitation the rights to use, copy, modify, merge, publish, 5 | distribute, sublicense, and/or sell copies of the Software, and to 6 | permit persons to whom the Software is furnished to do so, subject to 7 | the following conditions: 8 | 9 | The above copyright notice and this permission notice shall be 10 | included in all copies or substantial portions of the Software. 11 | 12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 13 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 14 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 15 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 16 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 17 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 18 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /docs/licenses/dependencies/pyupgrade-license.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017 Anthony Sottile 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /docs/licenses/dependencies/rich-license.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2020 Will McGugan 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /docs/licenses/dependencies/setuptools-license.txt: -------------------------------------------------------------------------------- 1 | Permission is hereby granted, free of charge, to any person obtaining a copy 2 | of this software and associated documentation files (the "Software"), to 3 | deal in the Software without restriction, including without limitation the 4 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 5 | sell copies of the Software, and to permit persons to whom the Software is 6 | furnished to do so, subject to the following conditions: 7 | 8 | The above copyright notice and this permission notice shall be included in 9 | all copies or substantial portions of the Software. 10 | 11 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 12 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 13 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 14 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 15 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 16 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 17 | IN THE SOFTWARE. 18 | -------------------------------------------------------------------------------- /docs/licenses/dependencies/six-license.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2024 Benjamin Peterson 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 7 | the Software, and to permit persons to whom the Software is furnished to do so, 8 | subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 15 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 16 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 17 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 18 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /docs/licenses/dependencies/soupsieve-license.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 - 2025 Isaac Muse isaacmuse@gmail.com 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /docs/licenses/dependencies/tinyxml-license.txt: -------------------------------------------------------------------------------- 1 | This software is provided 'as-is', without any express or implied 2 | warranty. In no event will the authors be held liable for any 3 | damages arising from the use of this software. 4 | 5 | Permission is granted to anyone to use this software for any 6 | purpose, including commercial applications, and to alter it and 7 | redistribute it freely, subject to the following restrictions: 8 | 9 | 1. The origin of this software must not be misrepresented; you must 10 | not claim that you wrote the original software. If you use this 11 | software in a product, an acknowledgment in the product documentation 12 | would be appreciated but is not required. 13 | 14 | 2. Altered source versions must be plainly marked as such, and 15 | must not be misrepresented as being the original software. 16 | 17 | 3. This notice may not be removed or altered from any source 18 | distribution. 19 | -------------------------------------------------------------------------------- /docs/licenses/dependencies/tzdata-license.txt: -------------------------------------------------------------------------------- 1 | Apache Software License 2.0 2 | 3 | Copyright (c) 2020, Paul Ganssle (Google) 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"); 6 | you may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | -------------------------------------------------------------------------------- /docs/locale/zh_CN/LC_MESSAGES/source/overview/core-concepts/index.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2022-2024, The Isaac Lab Project Developers. 3 | # This file is distributed under the same license as the Isaac Lab package. 4 | # FIRST AUTHOR , 2024. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: Isaac Lab 1.1.0\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2024-11-18 10:56+0800\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Ziqi Fan \n" 12 | "Language-Team: zh_CN \n" 13 | "Language: zh_CN\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=utf-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=1; plural=0;\n" 18 | "Generated-By: Babel 2.16.0\n" 19 | 20 | #: ../../source/overview/core-concepts/index.rst:2 21 | msgid "Core Concepts" 22 | msgstr "核心概念" 23 | 24 | #: ../../source/overview/core-concepts/index.rst:4 25 | msgid "This section we introduce core concepts in Isaac Lab." 26 | msgstr "本节我们介绍 Isaac Lab 中的核心概念。" 27 | -------------------------------------------------------------------------------- /docs/locale/zh_CN/LC_MESSAGES/source/refs/bibliography.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2022-2024, The Isaac Lab Project Developers. 3 | # This file is distributed under the same license as the Isaac Lab package. 4 | # FIRST AUTHOR , 2024. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: Isaac Lab 1.0.0\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2024-07-05 06:36+0000\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Ziqi Fan \n" 12 | "Language-Team: zh_CN \n" 13 | "Language: zh_CN\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=utf-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=1; plural=0;\n" 18 | "Generated-By: Babel 2.15.0\n" 19 | 20 | #: ../../source/refs/bibliography.rst:2 21 | msgid "Bibliography" 22 | msgstr "参考资料" 23 | -------------------------------------------------------------------------------- /docs/locale/zh_CN/LC_MESSAGES/source/setup/install.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2022-2024, The Isaac Lab Project Developers. 3 | # This file is distributed under the same license as the Isaac Lab package. 4 | # FIRST AUTHOR , 2024. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: Isaac Lab 1.3.0\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2024-11-24 20:11+0800\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Ziqi Fan \n" 12 | "Language: zh_CN\n" 13 | "Language-Team: zh_CN \n" 14 | "Plural-Forms: nplurals=1; plural=0;\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=utf-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Generated-By: Babel 2.16.0\n" 19 | 20 | #: ../../source/setup/install.rst:2 21 | msgid "一键安装脚本(pip)" 22 | msgstr "" 23 | -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- 1 | # for building the docs 2 | sphinx-book-theme==1.0.1 3 | myst-parser 4 | sphinxcontrib-bibtex==2.5.0 5 | autodocsumm 6 | sphinx-copybutton 7 | sphinx-icon 8 | sphinx_design 9 | sphinxemoji 10 | sphinx-tabs # backwards compatibility for building docs on v1.0.0 11 | sphinx-multiversion==0.2.4 12 | 13 | # basic python 14 | numpy 15 | matplotlib 16 | warp-lang 17 | # learning 18 | gymnasium 19 | -------------------------------------------------------------------------------- /docs/source/_static/NVIDIA-logo-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/NVIDIA-logo-black.png -------------------------------------------------------------------------------- /docs/source/_static/NVIDIA-logo-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/NVIDIA-logo-white.png -------------------------------------------------------------------------------- /docs/source/_static/benchmarks/cartpole.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/benchmarks/cartpole.jpg -------------------------------------------------------------------------------- /docs/source/_static/benchmarks/cartpole_camera.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/benchmarks/cartpole_camera.jpg -------------------------------------------------------------------------------- /docs/source/_static/benchmarks/g1_rough.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/benchmarks/g1_rough.jpg -------------------------------------------------------------------------------- /docs/source/_static/benchmarks/shadow.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/benchmarks/shadow.jpg -------------------------------------------------------------------------------- /docs/source/_static/demos/arms.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/demos/arms.jpg -------------------------------------------------------------------------------- /docs/source/_static/demos/deformables.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/demos/deformables.jpg -------------------------------------------------------------------------------- /docs/source/_static/demos/h1_locomotion.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/demos/h1_locomotion.jpg -------------------------------------------------------------------------------- /docs/source/_static/demos/hands.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/demos/hands.jpg -------------------------------------------------------------------------------- /docs/source/_static/demos/markers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/demos/markers.jpg -------------------------------------------------------------------------------- /docs/source/_static/demos/multi_asset.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/demos/multi_asset.jpg -------------------------------------------------------------------------------- /docs/source/_static/demos/procedural_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/demos/procedural_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/demos/quadrupeds.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/demos/quadrupeds.jpg -------------------------------------------------------------------------------- /docs/source/_static/demos/renderer_rtx_realtime.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/demos/renderer_rtx_realtime.jpg -------------------------------------------------------------------------------- /docs/source/_static/demos/start_ar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/demos/start_ar.jpg -------------------------------------------------------------------------------- /docs/source/_static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/favicon.ico -------------------------------------------------------------------------------- /docs/source/_static/how-to/howto_rendering_example_balanced.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/how-to/howto_rendering_example_balanced.jpg -------------------------------------------------------------------------------- /docs/source/_static/how-to/howto_rendering_example_performance.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/how-to/howto_rendering_example_performance.jpg -------------------------------------------------------------------------------- /docs/source/_static/how-to/howto_rendering_example_quality.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/how-to/howto_rendering_example_quality.jpg -------------------------------------------------------------------------------- /docs/source/_static/isaaclab.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/isaaclab.jpg -------------------------------------------------------------------------------- /docs/source/_static/overview/overview_sensors_contact_visualization.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/overview/overview_sensors_contact_visualization.jpg -------------------------------------------------------------------------------- /docs/source/_static/overview/sensors/camera_depth.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/overview/sensors/camera_depth.jpg -------------------------------------------------------------------------------- /docs/source/_static/overview/sensors/camera_instance.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/overview/sensors/camera_instance.jpg -------------------------------------------------------------------------------- /docs/source/_static/overview/sensors/camera_instanceID.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/overview/sensors/camera_instanceID.jpg -------------------------------------------------------------------------------- /docs/source/_static/overview/sensors/camera_normals.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/overview/sensors/camera_normals.jpg -------------------------------------------------------------------------------- /docs/source/_static/overview/sensors/camera_rgb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/overview/sensors/camera_rgb.jpg -------------------------------------------------------------------------------- /docs/source/_static/overview/sensors/camera_semantic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/overview/sensors/camera_semantic.jpg -------------------------------------------------------------------------------- /docs/source/_static/overview/sensors/contact_diagram.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/overview/sensors/contact_diagram.jpg -------------------------------------------------------------------------------- /docs/source/_static/overview/sensors/frame_transformer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/overview/sensors/frame_transformer.jpg -------------------------------------------------------------------------------- /docs/source/_static/overview/sensors/frame_transformer_visualizer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/overview/sensors/frame_transformer_visualizer.jpg -------------------------------------------------------------------------------- /docs/source/_static/overview/sensors/imu_diagram.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/overview/sensors/imu_diagram.jpg -------------------------------------------------------------------------------- /docs/source/_static/overview/sensors/imu_visualizer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/overview/sensors/imu_visualizer.jpg -------------------------------------------------------------------------------- /docs/source/_static/overview/sensors/raycaster_patterns.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/overview/sensors/raycaster_patterns.jpg -------------------------------------------------------------------------------- /docs/source/_static/overview/sensors/raycaster_visualizer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/overview/sensors/raycaster_visualizer.jpg -------------------------------------------------------------------------------- /docs/source/_static/policy_deployment/00_hover/hover_stable_wave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/policy_deployment/00_hover/hover_stable_wave.png -------------------------------------------------------------------------------- /docs/source/_static/policy_deployment/00_hover/hover_training_robots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/policy_deployment/00_hover/hover_training_robots.png -------------------------------------------------------------------------------- /docs/source/_static/setup/asset_caching.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/setup/asset_caching.jpg -------------------------------------------------------------------------------- /docs/source/_static/setup/cloudxr_ar_panel.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/setup/cloudxr_ar_panel.jpg -------------------------------------------------------------------------------- /docs/source/_static/setup/cloudxr_avp_connect_ui.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/setup/cloudxr_avp_connect_ui.jpg -------------------------------------------------------------------------------- /docs/source/_static/setup/cloudxr_avp_teleop_ui.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/setup/cloudxr_avp_teleop_ui.jpg -------------------------------------------------------------------------------- /docs/source/_static/setup/cloudxr_bimanual_teleop.gif: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:7b09a38a99ed25a17c1e1e36abf62b228807677e30c7fdb8ebe53b79f8d99551 3 | size 4183288 4 | -------------------------------------------------------------------------------- /docs/source/_static/setup/cloudxr_viewport.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/setup/cloudxr_viewport.jpg -------------------------------------------------------------------------------- /docs/source/_static/setup/ecosystem-dark.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/setup/ecosystem-dark.jpg -------------------------------------------------------------------------------- /docs/source/_static/setup/ecosystem-light.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/setup/ecosystem-light.jpg -------------------------------------------------------------------------------- /docs/source/_static/setup/isaac_ants_example.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/setup/isaac_ants_example.jpg -------------------------------------------------------------------------------- /docs/source/_static/setup/shadow_hands_example.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/setup/shadow_hands_example.jpg -------------------------------------------------------------------------------- /docs/source/_static/setup/verify_install.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/setup/verify_install.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/automate/00004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/automate/00004.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/automate/01053_disassembly.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/automate/01053_disassembly.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/classic/ant.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/classic/ant.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/classic/cart_double_pendulum.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/classic/cart_double_pendulum.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/classic/cartpole.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/classic/cartpole.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/classic/humanoid.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/classic/humanoid.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/factory/gear_mesh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/factory/gear_mesh.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/factory/nut_thread.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/factory/nut_thread.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/factory/peg_insert.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/factory/peg_insert.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/deformable/drop.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/deformable/drop.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/deformable/flag.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/deformable/flag.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/deformable/fluid_pour.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/deformable/fluid_pour.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/deformable/fluid_transport.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/deformable/fluid_transport.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/deformable/pick.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/deformable/pick.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/deformable/place.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/deformable/place.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/deformable/rope.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/deformable/rope.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/deformable/shirt-basket.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/deformable/shirt-basket.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/deformable/shirt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/deformable/shirt.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/deformable/stacking.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/deformable/stacking.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/deformable/sweater.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/deformable/sweater.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/deformable/tower_of_hanoi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/deformable/tower_of_hanoi.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/deformable/vest.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/deformable/vest.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/rigid/beat-the-buzz.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/rigid/beat-the-buzz.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/rigid/cabinet.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/rigid/cabinet.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/rigid/hockey.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/rigid/hockey.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/rigid/jenga.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/rigid/jenga.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/rigid/lift.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/rigid/lift.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/rigid/locomotion.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/rigid/locomotion.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/rigid/mobile_cabinet.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/rigid/mobile_cabinet.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/rigid/mobile_reach.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/rigid/mobile_reach.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/rigid/nut-bolt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/rigid/nut-bolt.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/rigid/peg-in-hole.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/rigid/peg-in-hole.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/rigid/pyramid.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/rigid/pyramid.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/rigid/reach.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/rigid/reach.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/future_plans/rigid/shadow.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/future_plans/rigid/shadow.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/locomotion/a1_flat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/locomotion/a1_flat.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/locomotion/a1_rough.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/locomotion/a1_rough.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/locomotion/anymal_b_flat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/locomotion/anymal_b_flat.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/locomotion/anymal_b_rough.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/locomotion/anymal_b_rough.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/locomotion/anymal_c_flat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/locomotion/anymal_c_flat.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/locomotion/anymal_c_rough.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/locomotion/anymal_c_rough.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/locomotion/anymal_d_flat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/locomotion/anymal_d_flat.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/locomotion/anymal_d_rough.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/locomotion/anymal_d_rough.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/locomotion/g1_flat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/locomotion/g1_flat.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/locomotion/g1_rough.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/locomotion/g1_rough.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/locomotion/go1_flat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/locomotion/go1_flat.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/locomotion/go1_rough.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/locomotion/go1_rough.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/locomotion/go2_flat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/locomotion/go2_flat.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/locomotion/go2_rough.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/locomotion/go2_rough.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/locomotion/h1_flat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/locomotion/h1_flat.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/locomotion/h1_rough.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/locomotion/h1_rough.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/locomotion/spot_flat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/locomotion/spot_flat.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/manipulation/allegro_cube.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/manipulation/allegro_cube.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/manipulation/franka_lift.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/manipulation/franka_lift.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/manipulation/franka_open_drawer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/manipulation/franka_open_drawer.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/manipulation/franka_reach.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/manipulation/franka_reach.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/manipulation/franka_stack.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/manipulation/franka_stack.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/manipulation/gr-1_pick_place.gif: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3960ce0abf672070e3e55e1b86cb3698195a681d04a3e04e8706393389edc618 3 | size 4176636 4 | -------------------------------------------------------------------------------- /docs/source/_static/tasks/manipulation/gr-1_pick_place.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/manipulation/gr-1_pick_place.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/manipulation/gr-1_pick_place_annotation.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/manipulation/gr-1_pick_place_annotation.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/manipulation/shadow_cube.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/manipulation/shadow_cube.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/manipulation/shadow_hand_over.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/manipulation/shadow_hand_over.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/manipulation/ur10_reach.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/manipulation/ur10_reach.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/navigation/anymal_c_nav.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/navigation/anymal_c_nav.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/others/humanoid_amp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/others/humanoid_amp.jpg -------------------------------------------------------------------------------- /docs/source/_static/tasks/others/quadcopter.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tasks/others/quadcopter.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/height_field/discrete_obstacles_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/height_field/discrete_obstacles_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/height_field/discrete_obstacles_terrain_choice.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/height_field/discrete_obstacles_terrain_choice.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/height_field/discrete_obstacles_terrain_fixed.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/height_field/discrete_obstacles_terrain_fixed.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/height_field/inverted_pyramid_sloped_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/height_field/inverted_pyramid_sloped_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/height_field/inverted_pyramid_stairs_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/height_field/inverted_pyramid_stairs_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/height_field/pyramid_sloped_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/height_field/pyramid_sloped_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/height_field/pyramid_stairs_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/height_field/pyramid_stairs_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/height_field/random_uniform_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/height_field/random_uniform_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/height_field/stepping_stones_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/height_field/stepping_stones_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/height_field/wave_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/height_field/wave_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/trimesh/box_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/trimesh/box_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/trimesh/box_terrain_with_two_boxes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/trimesh/box_terrain_with_two_boxes.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/trimesh/flat_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/trimesh/flat_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/trimesh/floating_ring_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/trimesh/floating_ring_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/trimesh/gap_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/trimesh/gap_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/trimesh/inverted_pyramid_stairs_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/trimesh/inverted_pyramid_stairs_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/trimesh/inverted_pyramid_stairs_terrain_with_holes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/trimesh/inverted_pyramid_stairs_terrain_with_holes.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/trimesh/pit_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/trimesh/pit_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/trimesh/pit_terrain_with_two_levels.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/trimesh/pit_terrain_with_two_levels.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/trimesh/pyramid_stairs_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/trimesh/pyramid_stairs_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/trimesh/pyramid_stairs_terrain_with_holes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/trimesh/pyramid_stairs_terrain_with_holes.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/trimesh/rails_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/trimesh/rails_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/trimesh/random_grid_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/trimesh/random_grid_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/trimesh/random_grid_terrain_with_holes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/trimesh/random_grid_terrain_with_holes.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/trimesh/repeated_objects_box_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/trimesh/repeated_objects_box_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/trimesh/repeated_objects_cylinder_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/trimesh/repeated_objects_cylinder_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/trimesh/repeated_objects_pyramid_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/trimesh/repeated_objects_pyramid_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/terrains/trimesh/star_terrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/terrains/trimesh/star_terrain.jpg -------------------------------------------------------------------------------- /docs/source/_static/thanks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/thanks.png -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_add_new_robot_result.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_add_new_robot_result.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_add_sensors.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_add_sensors.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_convert_mesh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_convert_mesh.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_convert_mjcf.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_convert_mjcf.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_convert_urdf.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_convert_urdf.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_create_direct_workflow.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_create_direct_workflow.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_create_empty.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_create_empty.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_create_manager_base.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_create_manager_base.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_create_manager_rl_env.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_create_manager_rl_env.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_creating_a_scene.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_creating_a_scene.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_launch_app.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_launch_app.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_modify_direct_rl_env.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_modify_direct_rl_env.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_operational_space_controller.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_operational_space_controller.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_policy_inference_in_usd.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_policy_inference_in_usd.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_register_environment.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_register_environment.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_run_articulation.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_run_articulation.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_run_deformable_object.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_run_deformable_object.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_run_rigid_object.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_run_rigid_object.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_spawn_prims.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_spawn_prims.jpg -------------------------------------------------------------------------------- /docs/source/_static/tutorials/tutorial_task_space_controller.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/tutorials/tutorial_task_space_controller.jpg -------------------------------------------------------------------------------- /docs/source/_static/vscode_tasks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/vscode_tasks.png -------------------------------------------------------------------------------- /docs/source/_static/wechat-jjdttx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/docs/source/_static/wechat-jjdttx.png -------------------------------------------------------------------------------- /docs/source/api/lab/isaaclab.controllers.rst: -------------------------------------------------------------------------------- 1 | isaaclab.controllers 2 | ==================== 3 | 4 | .. automodule:: isaaclab.controllers 5 | 6 | .. rubric:: Classes 7 | 8 | .. autosummary:: 9 | 10 | DifferentialIKController 11 | DifferentialIKControllerCfg 12 | OperationalSpaceController 13 | OperationalSpaceControllerCfg 14 | 15 | Differential Inverse Kinematics 16 | ------------------------------- 17 | 18 | .. autoclass:: DifferentialIKController 19 | :members: 20 | :inherited-members: 21 | :show-inheritance: 22 | 23 | .. autoclass:: DifferentialIKControllerCfg 24 | :members: 25 | :inherited-members: 26 | :show-inheritance: 27 | :exclude-members: __init__, class_type 28 | 29 | Operational Space controllers 30 | ----------------------------- 31 | 32 | .. autoclass:: OperationalSpaceController 33 | :members: 34 | :inherited-members: 35 | :show-inheritance: 36 | 37 | .. autoclass:: OperationalSpaceControllerCfg 38 | :members: 39 | :inherited-members: 40 | :show-inheritance: 41 | :exclude-members: __init__, class_type 42 | -------------------------------------------------------------------------------- /docs/source/api/lab/isaaclab.envs.mdp.rst: -------------------------------------------------------------------------------- 1 | isaaclab.envs.mdp 2 | ================= 3 | 4 | .. automodule:: isaaclab.envs.mdp 5 | 6 | Observations 7 | ------------ 8 | 9 | .. automodule:: isaaclab.envs.mdp.observations 10 | :members: 11 | 12 | Actions 13 | ------- 14 | 15 | .. automodule:: isaaclab.envs.mdp.actions 16 | 17 | .. automodule:: isaaclab.envs.mdp.actions.actions_cfg 18 | :members: 19 | :show-inheritance: 20 | :exclude-members: __init__, class_type 21 | 22 | Events 23 | ------ 24 | 25 | .. automodule:: isaaclab.envs.mdp.events 26 | :members: 27 | 28 | Commands 29 | -------- 30 | 31 | .. automodule:: isaaclab.envs.mdp.commands 32 | 33 | .. automodule:: isaaclab.envs.mdp.commands.commands_cfg 34 | :members: 35 | :show-inheritance: 36 | :exclude-members: __init__, class_type 37 | 38 | Rewards 39 | ------- 40 | 41 | .. automodule:: isaaclab.envs.mdp.rewards 42 | :members: 43 | 44 | Terminations 45 | ------------ 46 | 47 | .. automodule:: isaaclab.envs.mdp.terminations 48 | :members: 49 | 50 | Curriculum 51 | ---------- 52 | 53 | .. automodule:: isaaclab.envs.mdp.curriculums 54 | :members: 55 | -------------------------------------------------------------------------------- /docs/source/api/lab/isaaclab.envs.ui.rst: -------------------------------------------------------------------------------- 1 | isaaclab.envs.ui 2 | ================ 3 | 4 | .. automodule:: isaaclab.envs.ui 5 | 6 | .. rubric:: Classes 7 | 8 | .. autosummary:: 9 | 10 | BaseEnvWindow 11 | ManagerBasedRLEnvWindow 12 | ViewportCameraController 13 | 14 | Base Environment UI 15 | ------------------- 16 | 17 | .. autoclass:: BaseEnvWindow 18 | :members: 19 | 20 | Config Based RL Environment UI 21 | ------------------------------ 22 | 23 | .. autoclass:: ManagerBasedRLEnvWindow 24 | :members: 25 | :show-inheritance: 26 | 27 | Viewport Camera Controller 28 | -------------------------- 29 | 30 | .. autoclass:: ViewportCameraController 31 | :members: 32 | -------------------------------------------------------------------------------- /docs/source/api/lab/isaaclab.markers.rst: -------------------------------------------------------------------------------- 1 | isaaclab.markers 2 | ================ 3 | 4 | .. automodule:: isaaclab.markers 5 | 6 | .. rubric:: Classes 7 | 8 | .. autosummary:: 9 | 10 | VisualizationMarkers 11 | VisualizationMarkersCfg 12 | 13 | Visualization Markers 14 | --------------------- 15 | 16 | .. autoclass:: VisualizationMarkers 17 | :members: 18 | :undoc-members: 19 | :show-inheritance: 20 | 21 | .. autoclass:: VisualizationMarkersCfg 22 | :members: 23 | :exclude-members: __init__ 24 | -------------------------------------------------------------------------------- /docs/source/api/lab/isaaclab.scene.rst: -------------------------------------------------------------------------------- 1 | isaaclab.scene 2 | ============== 3 | 4 | .. automodule:: isaaclab.scene 5 | 6 | .. rubric:: Classes 7 | 8 | .. autosummary:: 9 | 10 | InteractiveScene 11 | InteractiveSceneCfg 12 | 13 | interactive Scene 14 | ----------------- 15 | 16 | .. autoclass:: InteractiveScene 17 | :members: 18 | :undoc-members: 19 | :show-inheritance: 20 | 21 | .. autoclass:: InteractiveSceneCfg 22 | :members: 23 | :exclude-members: __init__ 24 | -------------------------------------------------------------------------------- /docs/source/api/lab_mimic/isaaclab_mimic.envs.rst: -------------------------------------------------------------------------------- 1 | isaaclab_mimic.envs 2 | =================== 3 | 4 | .. automodule:: isaaclab_mimic.envs 5 | 6 | .. rubric:: Classes 7 | 8 | .. autosummary:: 9 | 10 | FrankaCubeStackIKRelMimicEnv 11 | FrankaCubeStackIKRelMimicEnvCfg 12 | 13 | Franka Cube Stack IK Rel Mimic Env 14 | ---------------------------------- 15 | 16 | .. autoclass:: FrankaCubeStackIKRelMimicEnv 17 | :members: 18 | :inherited-members: 19 | 20 | Franka Cube Stack IK Rel Mimic Env Cfg 21 | -------------------------------------- 22 | 23 | .. autoclass:: FrankaCubeStackIKRelMimicEnvCfg 24 | :members: 25 | :inherited-members: 26 | :show-inheritance: 27 | -------------------------------------------------------------------------------- /docs/source/api/lab_rl/isaaclab_rl.rst: -------------------------------------------------------------------------------- 1 | isaaclab_rl 2 | =========== 3 | 4 | .. automodule:: isaaclab_rl 5 | 6 | RL-Games Wrapper 7 | ---------------- 8 | 9 | .. automodule:: isaaclab_rl.rl_games 10 | :members: 11 | :show-inheritance: 12 | 13 | RSL-RL Wrapper 14 | -------------- 15 | 16 | .. automodule:: isaaclab_rl.rsl_rl 17 | :members: 18 | :imported-members: 19 | :show-inheritance: 20 | 21 | SKRL Wrapper 22 | ------------ 23 | 24 | .. automodule:: isaaclab_rl.skrl 25 | :members: 26 | :show-inheritance: 27 | 28 | Stable-Baselines3 Wrapper 29 | ------------------------- 30 | 31 | .. automodule:: isaaclab_rl.sb3 32 | :members: 33 | :show-inheritance: 34 | -------------------------------------------------------------------------------- /docs/source/api/lab_tasks/isaaclab_tasks.utils.rst: -------------------------------------------------------------------------------- 1 | isaaclab_tasks.utils 2 | ==================== 3 | 4 | .. automodule:: isaaclab_tasks.utils 5 | :members: 6 | :imported-members: 7 | 8 | .. rubric:: Submodules 9 | -------------------------------------------------------------------------------- /docs/source/deployment/index.rst: -------------------------------------------------------------------------------- 1 | Container Deployment 2 | ==================== 3 | 4 | Docker is a tool that allows for the creation of containers, which are isolated environments that can 5 | be used to run applications. They are useful for ensuring that an application can run on any machine 6 | that has Docker installed, regardless of the host machine's operating system or installed libraries. 7 | 8 | We include a Dockerfile and docker-compose.yaml file that can be used to build a Docker image that 9 | contains Isaac Lab and all of its dependencies. This image can then be used to run Isaac Lab in a container. 10 | The Dockerfile is based on the Isaac Sim image provided by NVIDIA, which includes the Omniverse 11 | application launcher and the Isaac Sim application. The Dockerfile installs Isaac Lab and its dependencies 12 | on top of this image. 13 | 14 | The following guides provide instructions for building the Docker image and running Isaac Lab in a 15 | container. 16 | 17 | .. toctree:: 18 | :maxdepth: 1 19 | 20 | docker 21 | cluster 22 | run_docker_example 23 | -------------------------------------------------------------------------------- /docs/source/overview/core-concepts/index.rst: -------------------------------------------------------------------------------- 1 | Core Concepts 2 | ============= 3 | 4 | This section we introduce core concepts in Isaac Lab. 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | 10 | task_workflows 11 | actuators 12 | sensors/index.rst 13 | motion_generators 14 | -------------------------------------------------------------------------------- /docs/source/overview/developer-guide/index.rst: -------------------------------------------------------------------------------- 1 | Developer's Guide 2 | ================= 3 | 4 | For development, we suggest using `Microsoft Visual Studio Code 5 | (VSCode) `__. This is also suggested by 6 | NVIDIA Omniverse and there exists tutorials on how to `debug Omniverse 7 | extensions `__ 8 | using VSCode. 9 | 10 | .. toctree:: 11 | :maxdepth: 1 12 | 13 | VS Code 14 | repo_structure 15 | development 16 | template 17 | -------------------------------------------------------------------------------- /docs/source/overview/reinforcement-learning/index.rst: -------------------------------------------------------------------------------- 1 | Reinforcement Learning 2 | ====================== 3 | 4 | Isaac Lab supports multiple reinforcement learning frameworks. 5 | In this section, we show existing scripts for running reinforcement learning 6 | with supported RL libraries and provide a comparison of the supported 7 | learning frameworks. 8 | 9 | .. toctree:: 10 | :maxdepth: 1 11 | 12 | rl_existing_scripts 13 | rl_frameworks 14 | performance_benchmarks 15 | training_guide 16 | -------------------------------------------------------------------------------- /docs/source/policy_deployment/index.rst: -------------------------------------------------------------------------------- 1 | Sim2Real Deployment of Policies Trained in Isaac Lab 2 | ==================================================== 3 | 4 | Welcome to the Policy Deployment Guide! This section provides examples of training policies in Isaac Lab and deploying them to both simulation and real robots. 5 | 6 | Below, you’ll find detailed examples of various policies for training and deploying them, along with essential configuration details. 7 | 8 | .. toctree:: 9 | :maxdepth: 1 10 | 11 | 00_hover/hover_policy 12 | -------------------------------------------------------------------------------- /docs/source/refs/bibliography.rst: -------------------------------------------------------------------------------- 1 | Bibliography 2 | ============ 3 | 4 | .. bibliography:: 5 | -------------------------------------------------------------------------------- /docs/source/setup/oneclick_installation.rst: -------------------------------------------------------------------------------- 1 | 【非官方】一键安装脚本(pip) 2 | =============================== 3 | 4 | 本脚本同时支持v1.4.1和v2.x.x版本。在终端中执行以下命令: 5 | 6 | .. code-block:: bash 7 | 8 | wget -O install_isaaclab.sh https://docs.robotsfan.com/install_isaaclab.sh && bash install_isaaclab.sh 9 | 10 | 11 | 常见问题 12 | ----------------------------- 13 | 14 | 安装v1.4.1版本时,如遇到 ``No matching distribution found for rsl-rl`` 错误,将 ``source/extensions/omni.isaac.lab_tasks/setup.py`` 第46行的 ``"rsl-rl": ["rsl-rl@`` 改成 ``"rsl-rl": ["rsl-rl-lib@`` ,然后重新执行安装脚本即可解决。 -------------------------------------------------------------------------------- /docs/source/setup/wechat.rst: -------------------------------------------------------------------------------- 1 | 【非官方】微信交流群 2 | =============================== 3 | 4 | 一群、二群、三群已满,四群满200人需要邀请进群。请加下面的微信号,备注“进群”,会拉你进群。 5 | 6 | 为保证群聊质量,进群后请按照 **单位-姓名或昵称-研究方向** 修改备注。 7 | 8 | .. figure:: ../_static/wechat-jjdttx.png 9 | :width: 500px 10 | :align: center 11 | :alt: 微信交流群二维码 12 | 13 | 更新日期: 2025.06.10 14 | -------------------------------------------------------------------------------- /environment.yml: -------------------------------------------------------------------------------- 1 | channels: 2 | - conda-forge 3 | - defaults 4 | dependencies: 5 | - python=3.10 6 | - importlib_metadata 7 | -------------------------------------------------------------------------------- /scripts/reinforcement_learning/ray/cluster_configs/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM isaac-lab-base:latest 2 | 3 | # WGet is needed so that GCS or other cloud providers can mark the container as ready. 4 | # Otherwise the Ray liveliness checks fail. 5 | RUN apt-get update && apt-get install wget 6 | 7 | # Set NVIDIA paths 8 | ENV PATH="/usr/local/nvidia/bin:$PATH" 9 | ENV LD_LIBRARY_PATH="/usr/local/nvidia/lib64" 10 | 11 | # Link NVIDIA binaries 12 | RUN ln -sf /usr/local/nvidia/bin/nvidia* /usr/bin 13 | 14 | # Install Ray and configure it 15 | RUN /workspace/isaaclab/_isaac_sim/python.sh -m pip install "ray[default, tune]"==2.31.0 && \ 16 | sed -i "1i $(echo "#!/workspace/isaaclab/_isaac_sim/python.sh")" \ 17 | /isaac-sim/kit/python/bin/ray && ln -s /isaac-sim/kit/python/bin/ray /usr/local/bin/ray 18 | 19 | # Install tuning dependencies 20 | RUN /workspace/isaaclab/_isaac_sim/python.sh -m pip install optuna bayesian-optimization 21 | 22 | # Install MLflow for logging 23 | RUN /workspace/isaaclab/_isaac_sim/python.sh -m pip install mlflow 24 | -------------------------------------------------------------------------------- /source/isaaclab/config/extension.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | 3 | # Note: Semantic Versioning is used: https://semver.org/ 4 | version = "0.40.1" 5 | 6 | 7 | # Description 8 | title = "Isaac Lab framework for Robot Learning" 9 | description="Extension providing main framework interfaces and abstractions for robot learning." 10 | readme = "docs/README.md" 11 | repository = "https://github.com/isaac-sim/IsaacLab" 12 | category = "robotics" 13 | keywords = ["kit", "robotics", "learning", "ai"] 14 | 15 | [python.pipapi] 16 | requirements = [ 17 | "numpy", 18 | "prettytable==3.3.0", 19 | "toml", 20 | "hidapi", 21 | "gymnasium==0.29.0", 22 | "trimesh" 23 | ] 24 | 25 | modules = [ 26 | "numpy", 27 | "prettytable", 28 | "toml", 29 | "hid", 30 | "gymnasium", 31 | "trimesh" 32 | ] 33 | 34 | use_online_index=true 35 | 36 | [core] 37 | reloadable = false 38 | 39 | [[python.module]] 40 | name = "isaaclab" 41 | -------------------------------------------------------------------------------- /source/isaaclab/docs/README.md: -------------------------------------------------------------------------------- 1 | # Isaac Lab: Framework 2 | 3 | Isaac Lab includes its own set of interfaces and wrappers around Isaac Sim classes. One of the main goals behind this 4 | decision is to have a unified description for different systems. While isaac Sim tries to be general for a wider 5 | variety of simulation requires, our goal has been to specialize these for learning requirements. These include 6 | features such as augmenting simulators with non-ideal actuator models, managing different observation and reward 7 | settings, integrate different sensors, as well as provide interfaces to features that are currently not available in 8 | Isaac Sim but are available from the physics side (such as deformable bodies). 9 | 10 | We recommend the users to try out the demo scripts present in `scripts/demos` that display how different parts 11 | of the framework can be integrated together. 12 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Package containing the core framework.""" 7 | 8 | import os 9 | import toml 10 | 11 | # Conveniences to other module directories via relative paths 12 | ISAACLAB_EXT_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "../")) 13 | """Path to the extension source directory.""" 14 | 15 | ISAACLAB_METADATA = toml.load(os.path.join(ISAACLAB_EXT_DIR, "config", "extension.toml")) 16 | """Extension metadata dictionary parsed from the extension.toml file.""" 17 | 18 | # Configure the module-level variables 19 | __version__ = ISAACLAB_METADATA["package"]["version"] 20 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/app/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-package containing app-specific functionalities. 7 | 8 | These include: 9 | 10 | * Ability to launch the simulation app with different configurations 11 | * Run tests with the simulation app 12 | 13 | """ 14 | 15 | from .app_launcher import AppLauncher # noqa: F401, F403 16 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/assets/articulation/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module for rigid articulated assets.""" 7 | 8 | from .articulation import Articulation 9 | from .articulation_cfg import ArticulationCfg 10 | from .articulation_data import ArticulationData 11 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/assets/deformable_object/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module for deformable object assets.""" 7 | 8 | from .deformable_object import DeformableObject 9 | from .deformable_object_cfg import DeformableObjectCfg 10 | from .deformable_object_data import DeformableObjectData 11 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/assets/deformable_object/deformable_object_cfg.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | from __future__ import annotations 7 | 8 | from isaaclab.markers import VisualizationMarkersCfg 9 | from isaaclab.markers.config import DEFORMABLE_TARGET_MARKER_CFG 10 | from isaaclab.utils import configclass 11 | 12 | from ..asset_base_cfg import AssetBaseCfg 13 | from .deformable_object import DeformableObject 14 | 15 | 16 | @configclass 17 | class DeformableObjectCfg(AssetBaseCfg): 18 | """Configuration parameters for a deformable object.""" 19 | 20 | class_type: type = DeformableObject 21 | 22 | visualizer_cfg: VisualizationMarkersCfg = DEFORMABLE_TARGET_MARKER_CFG.replace( 23 | prim_path="/Visuals/DeformableTarget" 24 | ) 25 | """The configuration object for the visualization markers. Defaults to DEFORMABLE_TARGET_MARKER_CFG. 26 | 27 | Note: 28 | This attribute is only used when debug visualization is enabled. 29 | """ 30 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/assets/rigid_object/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module for rigid object assets.""" 7 | 8 | from .rigid_object import RigidObject 9 | from .rigid_object_cfg import RigidObjectCfg 10 | from .rigid_object_data import RigidObjectData 11 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/assets/rigid_object_collection/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module for rigid object collection.""" 7 | 8 | from .rigid_object_collection import RigidObjectCollection 9 | from .rigid_object_collection_cfg import RigidObjectCollectionCfg 10 | from .rigid_object_collection_data import RigidObjectCollectionData 11 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/assets/rigid_object_collection/rigid_object_collection_cfg.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | from dataclasses import MISSING 7 | 8 | from isaaclab.assets.rigid_object import RigidObjectCfg 9 | from isaaclab.utils import configclass 10 | 11 | from .rigid_object_collection import RigidObjectCollection 12 | 13 | 14 | @configclass 15 | class RigidObjectCollectionCfg: 16 | """Configuration parameters for a rigid object collection.""" 17 | 18 | class_type: type = RigidObjectCollection 19 | """The associated asset class. 20 | 21 | The class should inherit from :class:`isaaclab.assets.asset_base.AssetBase`. 22 | """ 23 | 24 | rigid_objects: dict[str, RigidObjectCfg] = MISSING 25 | """Dictionary of rigid object configurations to spawn. 26 | 27 | The keys are the names for the objects, which are used as unique identifiers throughout the code. 28 | """ 29 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/controllers/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-package for different controllers and motion-generators. 7 | 8 | Controllers or motion generators are responsible for closed-loop tracking of a given command. The 9 | controller can be a simple PID controller or a more complex controller such as impedance control 10 | or inverse kinematics control. The controller is responsible for generating the desired joint-level 11 | commands to be sent to the robot. 12 | """ 13 | 14 | from .differential_ik import DifferentialIKController 15 | from .differential_ik_cfg import DifferentialIKControllerCfg 16 | from .operational_space import OperationalSpaceController 17 | from .operational_space_cfg import OperationalSpaceControllerCfg 18 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/controllers/config/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/devices/gamepad/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Gamepad device for SE(2) and SE(3) control.""" 7 | 8 | from .se2_gamepad import Se2Gamepad 9 | from .se3_gamepad import Se3Gamepad 10 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/devices/keyboard/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Keyboard device for SE(2) and SE(3) control.""" 7 | 8 | from .se2_keyboard import Se2Keyboard 9 | from .se3_keyboard import Se3Keyboard 10 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/devices/openxr/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Keyboard device for SE(2) and SE(3) control.""" 7 | 8 | from .openxr_device import OpenXRDevice 9 | from .xr_cfg import XrCfg 10 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/devices/openxr/retargeters/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | """Retargeters for mapping input device data to robot commands.""" 6 | 7 | from .humanoid.fourier.gr1t2_retargeter import GR1T2Retargeter 8 | from .manipulator.gripper_retargeter import GripperRetargeter 9 | from .manipulator.se3_abs_retargeter import Se3AbsRetargeter 10 | from .manipulator.se3_rel_retargeter import Se3RelRetargeter 11 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/devices/openxr/retargeters/humanoid/fourier/data/configs/dex-retargeting/fourier_hand_left_dexpilot.yml: -------------------------------------------------------------------------------- 1 | retargeting: 2 | finger_tip_link_names: 3 | - GR1T2_fourier_hand_6dof_L_thumb_distal_link 4 | - GR1T2_fourier_hand_6dof_L_index_intermediate_link 5 | - GR1T2_fourier_hand_6dof_L_middle_intermediate_link 6 | - GR1T2_fourier_hand_6dof_L_ring_intermediate_link 7 | - GR1T2_fourier_hand_6dof_L_pinky_intermediate_link 8 | low_pass_alpha: 0.2 9 | scaling_factor: 1.0 10 | target_joint_names: 11 | - L_index_proximal_joint 12 | - L_middle_proximal_joint 13 | - L_pinky_proximal_joint 14 | - L_ring_proximal_joint 15 | - L_index_intermediate_joint 16 | - L_middle_intermediate_joint 17 | - L_pinky_intermediate_joint 18 | - L_ring_intermediate_joint 19 | - L_thumb_proximal_yaw_joint 20 | - L_thumb_proximal_pitch_joint 21 | - L_thumb_distal_joint 22 | - L_thumb_distal_joint 23 | type: DexPilot 24 | urdf_path: /tmp/GR1_T2_left_hand.urdf 25 | wrist_link_name: l_hand_base_link 26 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/devices/openxr/retargeters/humanoid/fourier/data/configs/dex-retargeting/fourier_hand_right_dexpilot.yml: -------------------------------------------------------------------------------- 1 | retargeting: 2 | finger_tip_link_names: 3 | - GR1T2_fourier_hand_6dof_R_thumb_distal_link 4 | - GR1T2_fourier_hand_6dof_R_index_intermediate_link 5 | - GR1T2_fourier_hand_6dof_R_middle_intermediate_link 6 | - GR1T2_fourier_hand_6dof_R_ring_intermediate_link 7 | - GR1T2_fourier_hand_6dof_R_pinky_intermediate_link 8 | low_pass_alpha: 0.2 9 | scaling_factor: 1.0 10 | target_joint_names: 11 | - R_index_proximal_joint 12 | - R_middle_proximal_joint 13 | - R_pinky_proximal_joint 14 | - R_ring_proximal_joint 15 | - R_index_intermediate_joint 16 | - R_middle_intermediate_joint 17 | - R_pinky_intermediate_joint 18 | - R_ring_intermediate_joint 19 | - R_thumb_proximal_yaw_joint 20 | - R_thumb_proximal_pitch_joint 21 | - R_thumb_distal_joint 22 | type: DexPilot 23 | urdf_path: /tmp/GR1_T2_right_hand.urdf 24 | wrist_link_name: r_hand_base_link 25 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/devices/openxr/retargeters/manipulator/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Franka manipulator retargeting module. 7 | 8 | This module provides functionality for retargeting motion to Franka robots. 9 | """ 10 | 11 | from .gripper_retargeter import GripperRetargeter 12 | from .se3_abs_retargeter import Se3AbsRetargeter 13 | from .se3_rel_retargeter import Se3RelRetargeter 14 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/devices/retargeter_base.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | from abc import ABC, abstractmethod 7 | from typing import Any 8 | 9 | 10 | class RetargeterBase(ABC): 11 | """Base interface for input data retargeting. 12 | 13 | This abstract class defines the interface for components that transform 14 | raw device data into robot control commands. Implementations can handle 15 | various types of transformations including: 16 | - Hand joint data to end-effector poses 17 | - Input device commands to robot movements 18 | - Sensor data to control signals 19 | """ 20 | 21 | @abstractmethod 22 | def retarget(self, data: Any) -> Any: 23 | """Retarget input data to desired output format. 24 | 25 | Args: 26 | data: Raw input data to be transformed 27 | 28 | Returns: 29 | Retargeted data in implementation-specific format 30 | """ 31 | pass 32 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/devices/spacemouse/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Spacemouse device for SE(2) and SE(3) control.""" 7 | 8 | from .se2_spacemouse import Se2SpaceMouse 9 | from .se3_spacemouse import Se3SpaceMouse 10 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/envs/mdp/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module with implementation of manager terms. 7 | 8 | The functions can be provided to different managers that are responsible for the 9 | different aspects of the MDP. These include the observation, reward, termination, 10 | actions, events and curriculum managers. 11 | 12 | The terms are defined under the ``envs`` module because they are used to define 13 | the environment. However, they are not part of the environment directly, but 14 | are used to define the environment through their managers. 15 | 16 | """ 17 | 18 | from .actions import * # noqa: F401, F403 19 | from .commands import * # noqa: F401, F403 20 | from .curriculums import * # noqa: F401, F403 21 | from .events import * # noqa: F401, F403 22 | from .observations import * # noqa: F401, F403 23 | from .recorders import * # noqa: F401, F403 24 | from .rewards import * # noqa: F401, F403 25 | from .terminations import * # noqa: F401, F403 26 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/envs/mdp/actions/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Various action terms that can be used in the environment.""" 7 | 8 | from .actions_cfg import * 9 | from .binary_joint_actions import * 10 | from .joint_actions import * 11 | from .joint_actions_to_limits import * 12 | from .non_holonomic_actions import * 13 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/envs/mdp/commands/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Various command terms that can be used in the environment.""" 7 | 8 | from .commands_cfg import ( 9 | NormalVelocityCommandCfg, 10 | NullCommandCfg, 11 | TerrainBasedPose2dCommandCfg, 12 | UniformPose2dCommandCfg, 13 | UniformPoseCommandCfg, 14 | UniformVelocityCommandCfg, 15 | ) 16 | from .null_command import NullCommand 17 | from .pose_2d_command import TerrainBasedPose2dCommand, UniformPose2dCommand 18 | from .pose_command import UniformPoseCommand 19 | from .velocity_command import NormalVelocityCommand, UniformVelocityCommand 20 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/envs/mdp/recorders/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Various recorder terms that can be used in the environment.""" 7 | 8 | from .recorders import * 9 | from .recorders_cfg import * 10 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/envs/ui/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module providing UI window implementation for environments. 7 | 8 | The UI elements are used to control the environment and visualize the state of the environment. 9 | This includes functionalities such as tracking a robot in the simulation, 10 | toggling different debug visualization tools, and other user-defined functionalities. 11 | """ 12 | 13 | from .base_env_window import BaseEnvWindow 14 | from .empty_window import EmptyWindow 15 | from .manager_based_rl_env_window import ManagerBasedRLEnvWindow 16 | from .viewport_camera_controller import ViewportCameraController 17 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/envs/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-package for environment utils.""" 7 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/markers/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-package for marker utilities to simplify creation of UI elements in the GUI. 7 | 8 | Currently, the sub-package provides the following classes: 9 | 10 | * :class:`VisualizationMarkers` for creating a group of markers using `UsdGeom.PointInstancer 11 | `_. 12 | 13 | 14 | .. note:: 15 | 16 | For some simple use-cases, it may be sufficient to use the debug drawing utilities from Isaac Sim. 17 | The debug drawing API is available in the `isaacsim.util.debug_drawing`_ module. It allows drawing of 18 | points and splines efficiently on the UI. 19 | 20 | .. _isaacsim.util.debug_drawing: https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/ext_omni_isaac_debug_drawing.html 21 | 22 | """ 23 | 24 | from .config import * # noqa: F401, F403 25 | from .visualization_markers import VisualizationMarkers, VisualizationMarkersCfg 26 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/sensors/camera/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module for camera wrapper around USD camera prim.""" 7 | 8 | from .camera import Camera 9 | from .camera_cfg import CameraCfg 10 | from .camera_data import CameraData 11 | from .tiled_camera import TiledCamera 12 | from .tiled_camera_cfg import TiledCameraCfg 13 | from .utils import * # noqa: F401, F403 14 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/sensors/camera/tiled_camera_cfg.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | from isaaclab.utils import configclass 7 | 8 | from .camera_cfg import CameraCfg 9 | from .tiled_camera import TiledCamera 10 | 11 | 12 | @configclass 13 | class TiledCameraCfg(CameraCfg): 14 | """Configuration for a tiled rendering-based camera sensor.""" 15 | 16 | class_type: type = TiledCamera 17 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/sensors/contact_sensor/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module for rigid contact sensor based on :class:`isaacsim.core.prims.RigidContactView`.""" 7 | 8 | from .contact_sensor import ContactSensor 9 | from .contact_sensor_cfg import ContactSensorCfg 10 | from .contact_sensor_data import ContactSensorData 11 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/sensors/frame_transformer/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module for frame transformer sensor.""" 7 | 8 | from .frame_transformer import FrameTransformer 9 | from .frame_transformer_cfg import FrameTransformerCfg, OffsetCfg 10 | from .frame_transformer_data import FrameTransformerData 11 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/sensors/imu/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """ 7 | Imu Sensor 8 | """ 9 | 10 | from .imu import Imu 11 | from .imu_cfg import ImuCfg 12 | from .imu_data import ImuData 13 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/sensors/ray_caster/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module for Warp-based ray-cast sensor.""" 7 | 8 | from . import patterns 9 | from .ray_caster import RayCaster 10 | from .ray_caster_camera import RayCasterCamera 11 | from .ray_caster_camera_cfg import RayCasterCameraCfg 12 | from .ray_caster_cfg import RayCasterCfg 13 | from .ray_caster_data import RayCasterData 14 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/sensors/ray_caster/patterns/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module for ray-casting patterns used by the ray-caster.""" 7 | 8 | from .patterns import bpearl_pattern, grid_pattern, lidar_pattern, pinhole_camera_pattern 9 | from .patterns_cfg import BpearlPatternCfg, GridPatternCfg, LidarPatternCfg, PatternBaseCfg, PinholeCameraPatternCfg 10 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/sensors/ray_caster/ray_caster_data.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | import torch 7 | from dataclasses import dataclass 8 | 9 | 10 | @dataclass 11 | class RayCasterData: 12 | """Data container for the ray-cast sensor.""" 13 | 14 | pos_w: torch.Tensor = None 15 | """Position of the sensor origin in world frame. 16 | 17 | Shape is (N, 3), where N is the number of sensors. 18 | """ 19 | quat_w: torch.Tensor = None 20 | """Orientation of the sensor origin in quaternion (w, x, y, z) in world frame. 21 | 22 | Shape is (N, 4), where N is the number of sensors. 23 | """ 24 | ray_hits_w: torch.Tensor = None 25 | """The ray hit positions in the world frame. 26 | 27 | Shape is (N, B, 3), where N is the number of sensors, B is the number of rays 28 | in the scan pattern per sensor. 29 | """ 30 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/sim/spawners/from_files/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module for spawners that spawn assets from files. 7 | 8 | Currently, the following spawners are supported: 9 | 10 | * :class:`UsdFileCfg`: Spawn an asset from a USD file. 11 | * :class:`UrdfFileCfg`: Spawn an asset from a URDF file. 12 | * :class:`GroundPlaneCfg`: Spawn a ground plane using the grid-world USD file. 13 | 14 | """ 15 | 16 | from .from_files import spawn_from_urdf, spawn_from_usd, spawn_ground_plane 17 | from .from_files_cfg import GroundPlaneCfg, UrdfFileCfg, UsdFileCfg 18 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/sim/spawners/lights/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module for spawners that spawn lights in the simulation. 7 | 8 | There are various different kinds of lights that can be spawned into the USD stage. 9 | Please check the Omniverse documentation for `lighting overview 10 | `_. 11 | """ 12 | 13 | from .lights import spawn_light 14 | from .lights_cfg import CylinderLightCfg, DiskLightCfg, DistantLightCfg, DomeLightCfg, LightCfg, SphereLightCfg 15 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/sim/spawners/sensors/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module for spawners that spawn sensors in the simulation. 7 | 8 | Currently, the following sensors are supported: 9 | 10 | * Camera: A USD camera prim with settings for pinhole or fisheye projections. 11 | 12 | """ 13 | 14 | from .sensors import spawn_camera 15 | from .sensors_cfg import FisheyeCameraCfg, PinholeCameraCfg 16 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/sim/spawners/shapes/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module for spawning primitive shapes in the simulation. 7 | 8 | NVIDIA Omniverse provides various primitive shapes that can be used to create USDGeom prims. Based 9 | on the configuration, the spawned prim can be: 10 | 11 | * a visual mesh (no physics) 12 | * a static collider (no rigid body) 13 | * a rigid body (with collision and rigid body properties). 14 | 15 | """ 16 | 17 | from .shapes import spawn_capsule, spawn_cone, spawn_cuboid, spawn_cylinder, spawn_sphere 18 | from .shapes_cfg import CapsuleCfg, ConeCfg, CuboidCfg, CylinderCfg, ShapeCfg, SphereCfg 19 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/sim/spawners/wrappers/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module for wrapping spawner configurations. 7 | 8 | Unlike the other spawner modules, this module provides a way to wrap multiple spawner configurations 9 | into a single configuration. This is useful when the user wants to spawn multiple assets based on 10 | different configurations. 11 | """ 12 | 13 | from .wrappers import spawn_multi_asset, spawn_multi_usd_file 14 | from .wrappers_cfg import MultiAssetSpawnerCfg, MultiUsdFileCfg 15 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/terrains/config/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Pre-defined terrain configurations for the terrain generator.""" 7 | 8 | from .rough import * # noqa: F401 9 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/terrains/trimesh/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """ 7 | This sub-module provides methods to create different terrains using the ``trimesh`` library. 8 | 9 | In contrast to the height-field representation, the trimesh representation does not 10 | create arbitrarily small triangles. Instead, the terrain is represented as a single 11 | tri-mesh primitive. Thus, this representation is more computationally and memory 12 | efficient than the height-field representation, but it is not as flexible. 13 | """ 14 | 15 | from .mesh_terrains_cfg import ( 16 | MeshBoxTerrainCfg, 17 | MeshFloatingRingTerrainCfg, 18 | MeshGapTerrainCfg, 19 | MeshInvertedPyramidStairsTerrainCfg, 20 | MeshPitTerrainCfg, 21 | MeshPlaneTerrainCfg, 22 | MeshPyramidStairsTerrainCfg, 23 | MeshRailsTerrainCfg, 24 | MeshRandomGridTerrainCfg, 25 | MeshRepeatedBoxesTerrainCfg, 26 | MeshRepeatedCylindersTerrainCfg, 27 | MeshRepeatedPyramidsTerrainCfg, 28 | MeshStarTerrainCfg, 29 | ) 30 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/ui/widgets/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | from .image_plot import ImagePlot 7 | from .line_plot import LiveLinePlot 8 | from .manager_live_visualizer import ManagerLiveVisualizer 9 | from .ui_visualizer_base import UiVisualizerBase 10 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/ui/xr_widgets/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | from .instruction_widget import SimpleTextWidget, show_instruction 6 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-package containing utilities for common operations and helper functions.""" 7 | 8 | from .array import * 9 | from .buffers import * 10 | from .configclass import configclass 11 | from .dict import * 12 | from .interpolation import * 13 | from .modifiers import * 14 | from .string import * 15 | from .timer import Timer 16 | from .types import * 17 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/utils/buffers/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module containing different buffers.""" 7 | 8 | from .circular_buffer import CircularBuffer 9 | from .delay_buffer import DelayBuffer 10 | from .timestamped_buffer import TimestampedBuffer 11 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/utils/datasets/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """ 7 | Submodule for datasets classes and methods. 8 | """ 9 | 10 | from .dataset_file_handler_base import DatasetFileHandlerBase 11 | from .episode_data import EpisodeData 12 | from .hdf5_dataset_file_handler import HDF5DatasetFileHandler 13 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/utils/interpolation/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """ 7 | Submodule for different interpolation methods. 8 | """ 9 | 10 | from .linear_interpolation import LinearInterpolation 11 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/utils/io/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """ 7 | Submodules for files IO operations. 8 | """ 9 | 10 | from .pkl import dump_pickle, load_pickle 11 | from .yaml import dump_yaml, load_yaml 12 | -------------------------------------------------------------------------------- /source/isaaclab/isaaclab/utils/warp/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module containing operations based on warp.""" 7 | 8 | from .ops import convert_to_warp_mesh, raycast_mesh 9 | -------------------------------------------------------------------------------- /source/isaaclab/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["setuptools", "wheel", "toml"] 3 | build-backend = "setuptools.build_meta" 4 | -------------------------------------------------------------------------------- /source/isaaclab/test/app/test_env_var_launch.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | import os 7 | 8 | import pytest 9 | 10 | from isaaclab.app import AppLauncher 11 | 12 | 13 | @pytest.mark.usefixtures("mocker") 14 | def test_livestream_launch_with_env_vars(mocker): 15 | """Test launching with environment variables.""" 16 | # Mock the environment variables 17 | mocker.patch.dict(os.environ, {"LIVESTREAM": "1", "HEADLESS": "1"}) 18 | # everything defaults to None 19 | app = AppLauncher().app 20 | 21 | # import settings 22 | import carb 23 | 24 | # acquire settings interface 25 | carb_settings_iface = carb.settings.get_settings() 26 | # check settings 27 | # -- no-gui mode 28 | assert carb_settings_iface.get("/app/window/enabled") is False 29 | # -- livestream 30 | assert carb_settings_iface.get("/app/livestream/enabled") is True 31 | 32 | # close the app on exit 33 | app.close() 34 | -------------------------------------------------------------------------------- /source/isaaclab/test/app/test_kwarg_launch.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | import pytest 7 | 8 | from isaaclab.app import AppLauncher 9 | 10 | 11 | @pytest.mark.usefixtures("mocker") 12 | def test_livestream_launch_with_kwargs(mocker): 13 | """Test launching with keyword arguments.""" 14 | # everything defaults to None 15 | app = AppLauncher(headless=True, livestream=1).app 16 | 17 | # import settings 18 | import carb 19 | 20 | # acquire settings interface 21 | carb_settings_iface = carb.settings.get_settings() 22 | # check settings 23 | # -- no-gui mode 24 | assert carb_settings_iface.get("/app/window/enabled") is False 25 | # -- livestream 26 | assert carb_settings_iface.get("/app/livestream/enabled") is True 27 | 28 | # close the app on exit 29 | app.close() 30 | -------------------------------------------------------------------------------- /source/isaaclab/test/performance/test_kit_startup_performance.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | # ignore private usage of variables warning 7 | # pyright: reportPrivateUsage=none 8 | 9 | from __future__ import annotations 10 | 11 | import time 12 | 13 | from isaaclab.app import AppLauncher 14 | 15 | 16 | def test_kit_start_up_time(): 17 | """Test kit start-up time.""" 18 | start_time = time.time() 19 | app_launcher = AppLauncher(headless=True).app # noqa: F841 20 | end_time = time.time() 21 | elapsed_time = end_time - start_time 22 | # we are doing some more imports on the automate side - will investigate using warp instead of numba cuda 23 | assert elapsed_time <= 12.0 24 | -------------------------------------------------------------------------------- /source/isaaclab_assets/config/extension.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | # Semantic Versioning is used: https://semver.org/ 3 | version = "0.2.2" 4 | 5 | # Description 6 | title = "Isaac Lab Assets" 7 | description="Extension containing configuration instances of different assets and sensors" 8 | readme = "docs/README.md" 9 | repository = "https://github.com/isaac-sim/IsaacLab" 10 | category = "robotics" 11 | keywords = ["kit", "robotics", "assets", "isaaclab"] 12 | 13 | [dependencies] 14 | "isaaclab" = {} 15 | 16 | [core] 17 | reloadable = false 18 | 19 | # Main python module this extension provides. 20 | [[python.module]] 21 | name = "isaaclab_assets" 22 | -------------------------------------------------------------------------------- /source/isaaclab_assets/data/.gitkeep: -------------------------------------------------------------------------------- 1 | For Isaac Lab, we primarily store assets on the Omniverse Nucleus server. However, at times, it may be 2 | needed to store the assets locally (for debugging purposes). In such cases, this directory can be 3 | used for temporary hosting of assets. 4 | 5 | Inside the `data` directory, we recommend following the same structure as our Nucleus directory 6 | `Isaac/IsaacLab`. Please check the extension's README for further details. 7 | -------------------------------------------------------------------------------- /source/isaaclab_assets/isaaclab_assets/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | """Package containing asset and sensor configurations.""" 6 | 7 | import os 8 | import toml 9 | 10 | # Conveniences to other module directories via relative paths 11 | ISAACLAB_ASSETS_EXT_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "../")) 12 | """Path to the extension source directory.""" 13 | 14 | ISAACLAB_ASSETS_DATA_DIR = os.path.join(ISAACLAB_ASSETS_EXT_DIR, "data") 15 | """Path to the extension data directory.""" 16 | 17 | ISAACLAB_ASSETS_METADATA = toml.load(os.path.join(ISAACLAB_ASSETS_EXT_DIR, "config", "extension.toml")) 18 | """Extension metadata dictionary parsed from the extension.toml file.""" 19 | 20 | # Configure the module-level variables 21 | __version__ = ISAACLAB_ASSETS_METADATA["package"]["version"] 22 | 23 | from .robots import * 24 | from .sensors import * 25 | -------------------------------------------------------------------------------- /source/isaaclab_assets/isaaclab_assets/robots/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | ## 7 | # Configuration for different assets. 8 | ## 9 | 10 | from .allegro import * 11 | from .ant import * 12 | from .anymal import * 13 | from .cart_double_pendulum import * 14 | from .cartpole import * 15 | from .fourier import * 16 | from .franka import * 17 | from .humanoid import * 18 | from .humanoid_28 import * 19 | from .kinova import * 20 | from .quadcopter import * 21 | from .ridgeback_franka import * 22 | from .sawyer import * 23 | from .shadow_hand import * 24 | from .spot import * 25 | from .unitree import * 26 | from .universal_robots import * 27 | -------------------------------------------------------------------------------- /source/isaaclab_assets/isaaclab_assets/sensors/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | ## 7 | # Configuration for different assets. 8 | ## 9 | 10 | from .velodyne import * 11 | -------------------------------------------------------------------------------- /source/isaaclab_assets/isaaclab_assets/sensors/velodyne.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Configuration for Velodyne LiDAR sensors.""" 7 | 8 | 9 | from isaaclab.sensors import RayCasterCfg, patterns 10 | 11 | ## 12 | # Configuration 13 | ## 14 | 15 | VELODYNE_VLP_16_RAYCASTER_CFG = RayCasterCfg( 16 | attach_yaw_only=False, 17 | pattern_cfg=patterns.LidarPatternCfg( 18 | channels=16, vertical_fov_range=(-15.0, 15.0), horizontal_fov_range=(-180.0, 180.0), horizontal_res=0.2 19 | ), 20 | debug_vis=True, 21 | max_distance=100, 22 | ) 23 | """Configuration for Velodyne Puck LiDAR (VLP-16) as a :class:`RayCasterCfg`. 24 | 25 | Reference: https://velodynelidar.com/wp-content/uploads/2019/12/63-9229_Rev-K_Puck-_Datasheet_Web.pdf 26 | """ 27 | -------------------------------------------------------------------------------- /source/isaaclab_assets/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["setuptools", "wheel", "toml"] 3 | build-backend = "setuptools.build_meta" 4 | -------------------------------------------------------------------------------- /source/isaaclab_mimic/config/extension.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | 3 | # Semantic Versioning is used: https://semver.org/ 4 | version = "1.0.7" 5 | 6 | # Description 7 | category = "isaaclab" 8 | readme = "README.md" 9 | 10 | title = "Isaac Lab Mimic" 11 | author = "Isaac Lab Project Developers" 12 | maintainer = "Isaac Lab Project Developers" 13 | description="Mimic for Isaac Lab" 14 | repository = "https://github.com/isaac-sim/IsaacLab.git" 15 | keywords = ["extension", "template", "isaaclab"] 16 | 17 | [dependencies] 18 | "isaaclab" = {} 19 | "isaaclab_assets" = {} 20 | "isaaclab_tasks" = {} 21 | # NOTE: Add additional dependencies here 22 | 23 | [core] 24 | reloadable = false 25 | 26 | [[python.module]] 27 | name = "isaaclab_mimic" 28 | 29 | [isaaclab_settings] 30 | -------------------------------------------------------------------------------- /source/isaaclab_mimic/isaaclab_mimic/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | 6 | """Package containing implementation of Isaac Lab Mimic data generation.""" 7 | 8 | __version__ = "1.0.0" 9 | -------------------------------------------------------------------------------- /source/isaaclab_mimic/isaaclab_mimic/datagen/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | 6 | """Sub-package with core implementation logic for Isaac Lab Mimic.""" 7 | 8 | from .data_generator import * 9 | from .datagen_info import * 10 | from .datagen_info_pool import * 11 | from .generation import * 12 | from .selection_strategy import * 13 | from .utils import * 14 | from .waypoint import * 15 | -------------------------------------------------------------------------------- /source/isaaclab_mimic/isaaclab_mimic/envs/pinocchio_envs/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | 6 | """Sub-package with environment wrappers for Isaac Lab Mimic.""" 7 | 8 | import gymnasium as gym 9 | 10 | from .pickplace_gr1t2_mimic_env import PickPlaceGR1T2MimicEnv 11 | from .pickplace_gr1t2_mimic_env_cfg import PickPlaceGR1T2MimicEnvCfg 12 | 13 | gym.register( 14 | id="Isaac-PickPlace-GR1T2-Abs-Mimic-v0", 15 | entry_point="isaaclab_mimic.envs.pinocchio_envs:PickPlaceGR1T2MimicEnv", 16 | kwargs={ 17 | "env_cfg_entry_point": pickplace_gr1t2_mimic_env_cfg.PickPlaceGR1T2MimicEnvCfg, 18 | }, 19 | disable_env_checker=True, 20 | ) 21 | -------------------------------------------------------------------------------- /source/isaaclab_mimic/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["setuptools", "wheel", "toml"] 3 | build-backend = "setuptools.build_meta" 4 | -------------------------------------------------------------------------------- /source/isaaclab_rl/config/extension.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | 3 | # Note: Semantic Versioning is used: https://semver.org/ 4 | version = "0.1.4" 5 | 6 | # Description 7 | title = "Isaac Lab RL" 8 | description="Extension containing reinforcement learning related utilities." 9 | readme = "docs/README.md" 10 | repository = "https://github.com/isaac-sim/IsaacLab" 11 | category = "robotics" 12 | keywords = ["robotics", "rl", "wrappers", "learning"] 13 | 14 | [dependencies] 15 | "isaaclab" = {} 16 | "isaaclab_assets" = {} 17 | "isaaclab_tasks" = {} 18 | 19 | [core] 20 | reloadable = false 21 | 22 | [[python.module]] 23 | name = "isaaclab_rl" 24 | -------------------------------------------------------------------------------- /source/isaaclab_rl/isaaclab_rl/rsl_rl/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Wrappers and utilities to configure an environment for RSL-RL library. 7 | 8 | The following example shows how to wrap an environment for RSL-RL: 9 | 10 | .. code-block:: python 11 | 12 | from isaaclab_rl.rsl_rl import RslRlVecEnvWrapper 13 | 14 | env = RslRlVecEnvWrapper(env) 15 | 16 | """ 17 | 18 | from .distillation_cfg import * 19 | from .exporter import export_policy_as_jit, export_policy_as_onnx 20 | from .rl_cfg import * 21 | from .rnd_cfg import RslRlRndCfg 22 | from .symmetry_cfg import RslRlSymmetryCfg 23 | from .vecenv_wrapper import RslRlVecEnvWrapper 24 | -------------------------------------------------------------------------------- /source/isaaclab_rl/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["setuptools", "wheel", "toml"] 3 | build-backend = "setuptools.build_meta" 4 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/config/extension.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | 3 | # Note: Semantic Versioning is used: https://semver.org/ 4 | version = "0.10.33" 5 | 6 | # Description 7 | title = "Isaac Lab Environments" 8 | description="Extension containing suite of environments for robot learning." 9 | readme = "docs/README.md" 10 | repository = "https://github.com/isaac-sim/IsaacLab" 11 | category = "robotics" 12 | keywords = ["robotics", "rl", "il", "learning"] 13 | 14 | [dependencies] 15 | "isaaclab" = {} 16 | "isaaclab_assets" = {} 17 | 18 | [core] 19 | reloadable = false 20 | 21 | [[python.module]] 22 | name = "isaaclab_tasks" 23 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """ 7 | Direct workflow environments. 8 | """ 9 | 10 | import gymnasium as gym 11 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/allegro_hand/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """ 7 | Allegro Inhand Manipulation environment. 8 | """ 9 | 10 | import gymnasium as gym 11 | 12 | from . import agents 13 | 14 | ## 15 | # Register Gym environments. 16 | ## 17 | 18 | inhand_task_entry = "isaaclab_tasks.direct.inhand_manipulation" 19 | 20 | gym.register( 21 | id="Isaac-Repose-Cube-Allegro-Direct-v0", 22 | entry_point=f"{inhand_task_entry}.inhand_manipulation_env:InHandManipulationEnv", 23 | disable_env_checker=True, 24 | kwargs={ 25 | "env_cfg_entry_point": f"{__name__}.allegro_hand_env_cfg:AllegroHandEnvCfg", 26 | "rl_games_cfg_entry_point": f"{agents.__name__}:rl_games_ppo_cfg.yaml", 27 | "rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:AllegroHandPPORunnerCfg", 28 | "skrl_cfg_entry_point": f"{agents.__name__}:skrl_ppo_cfg.yaml", 29 | }, 30 | ) 31 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/allegro_hand/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/ant/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """ 7 | Ant locomotion environment. 8 | """ 9 | 10 | import gymnasium as gym 11 | 12 | from . import agents 13 | 14 | ## 15 | # Register Gym environments. 16 | ## 17 | 18 | gym.register( 19 | id="Isaac-Ant-Direct-v0", 20 | entry_point=f"{__name__}.ant_env:AntEnv", 21 | disable_env_checker=True, 22 | kwargs={ 23 | "env_cfg_entry_point": f"{__name__}.ant_env:AntEnvCfg", 24 | "rl_games_cfg_entry_point": f"{agents.__name__}:rl_games_ppo_cfg.yaml", 25 | "rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:AntPPORunnerCfg", 26 | "skrl_cfg_entry_point": f"{agents.__name__}:skrl_ppo_cfg.yaml", 27 | }, 28 | ) 29 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/ant/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/anymal_c/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/automate/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | import gymnasium as gym 7 | 8 | from . import agents 9 | from .assembly_env import AssemblyEnv, AssemblyEnvCfg 10 | from .disassembly_env import DisassemblyEnv, DisassemblyEnvCfg 11 | 12 | ## 13 | # Register Gym environments. 14 | ## 15 | 16 | gym.register( 17 | id="Isaac-AutoMate-Assembly-Direct-v0", 18 | entry_point="isaaclab_tasks.direct.automate:AssemblyEnv", 19 | disable_env_checker=True, 20 | kwargs={ 21 | "env_cfg_entry_point": AssemblyEnvCfg, 22 | "rl_games_cfg_entry_point": f"{agents.__name__}:rl_games_ppo_cfg.yaml", 23 | }, 24 | ) 25 | 26 | 27 | gym.register( 28 | id="Isaac-AutoMate-Disassembly-Direct-v0", 29 | entry_point="isaaclab_tasks.direct.automate:DisassemblyEnv", 30 | disable_env_checker=True, 31 | kwargs={ 32 | "env_cfg_entry_point": DisassemblyEnvCfg, 33 | "rl_games_cfg_entry_point": f"{agents.__name__}:rl_games_ppo_cfg.yaml", 34 | }, 35 | ) 36 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/automate/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/cart_double_pendulum/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """ 7 | Inverted Double Pendulum on a Cart balancing environment. 8 | """ 9 | 10 | import gymnasium as gym 11 | 12 | from . import agents 13 | 14 | ## 15 | # Register Gym environments. 16 | ## 17 | 18 | gym.register( 19 | id="Isaac-Cart-Double-Pendulum-Direct-v0", 20 | entry_point=f"{__name__}.cart_double_pendulum_env:CartDoublePendulumEnv", 21 | disable_env_checker=True, 22 | kwargs={ 23 | "env_cfg_entry_point": f"{__name__}.cart_double_pendulum_env:CartDoublePendulumEnvCfg", 24 | "rl_games_cfg_entry_point": f"{agents.__name__}:rl_games_ppo_cfg.yaml", 25 | "skrl_cfg_entry_point": f"{agents.__name__}:skrl_ppo_cfg.yaml", 26 | "skrl_ippo_cfg_entry_point": f"{agents.__name__}:skrl_ippo_cfg.yaml", 27 | "skrl_mappo_cfg_entry_point": f"{agents.__name__}:skrl_mappo_cfg.yaml", 28 | }, 29 | ) 30 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/cart_double_pendulum/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/cartpole/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/cartpole/agents/sb3_ppo_cfg.yaml: -------------------------------------------------------------------------------- 1 | # Reference: https://github.com/DLR-RM/rl-baselines3-zoo/blob/master/hyperparams/ppo.yml#L32 2 | seed: 42 3 | 4 | n_timesteps: !!float 1e6 5 | policy: 'MlpPolicy' 6 | n_steps: 16 7 | batch_size: 4096 8 | gae_lambda: 0.95 9 | gamma: 0.99 10 | n_epochs: 20 11 | ent_coef: 0.01 12 | learning_rate: !!float 3e-4 13 | clip_range: !!float 0.2 14 | policy_kwargs: "dict( 15 | activation_fn=nn.ELU, 16 | net_arch=[32, 32], 17 | squash_output=False, 18 | )" 19 | vf_coef: 1.0 20 | max_grad_norm: 1.0 21 | device: "cuda:0" 22 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/cartpole_showcase/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Cartpole environment showcase for the supported Gymnasium spaces.""" 7 | 8 | from .cartpole import * # noqa 9 | from .cartpole_camera import * # noqa 10 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/cartpole_showcase/cartpole/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/cartpole_showcase/cartpole_camera/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/factory/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/franka_cabinet/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | """ 6 | Franka-Cabinet environment. 7 | """ 8 | 9 | import gymnasium as gym 10 | 11 | from . import agents 12 | 13 | ## 14 | # Register Gym environments. 15 | ## 16 | 17 | gym.register( 18 | id="Isaac-Franka-Cabinet-Direct-v0", 19 | entry_point=f"{__name__}.franka_cabinet_env:FrankaCabinetEnv", 20 | disable_env_checker=True, 21 | kwargs={ 22 | "env_cfg_entry_point": f"{__name__}.franka_cabinet_env:FrankaCabinetEnvCfg", 23 | "rl_games_cfg_entry_point": f"{agents.__name__}:rl_games_ppo_cfg.yaml", 24 | "rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:FrankaCabinetPPORunnerCfg", 25 | "skrl_cfg_entry_point": f"{agents.__name__}:skrl_ppo_cfg.yaml", 26 | }, 27 | ) 28 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/franka_cabinet/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/humanoid/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """ 7 | Humanoid locomotion environment. 8 | """ 9 | 10 | import gymnasium as gym 11 | 12 | from . import agents 13 | 14 | ## 15 | # Register Gym environments. 16 | ## 17 | 18 | gym.register( 19 | id="Isaac-Humanoid-Direct-v0", 20 | entry_point=f"{__name__}.humanoid_env:HumanoidEnv", 21 | disable_env_checker=True, 22 | kwargs={ 23 | "env_cfg_entry_point": f"{__name__}.humanoid_env:HumanoidEnvCfg", 24 | "rl_games_cfg_entry_point": f"{agents.__name__}:rl_games_ppo_cfg.yaml", 25 | "rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:HumanoidPPORunnerCfg", 26 | "skrl_cfg_entry_point": f"{agents.__name__}:skrl_ppo_cfg.yaml", 27 | }, 28 | ) 29 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/humanoid/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/humanoid_amp/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/humanoid_amp/motions/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """ 7 | AMP Motion Loader and motion files. 8 | """ 9 | 10 | from .motion_loader import MotionLoader 11 | from .motion_viewer import MotionViewer 12 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/humanoid_amp/motions/humanoid_dance.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/source/isaaclab_tasks/isaaclab_tasks/direct/humanoid_amp/motions/humanoid_dance.npz -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/humanoid_amp/motions/humanoid_run.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/source/isaaclab_tasks/isaaclab_tasks/direct/humanoid_amp/motions/humanoid_run.npz -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/humanoid_amp/motions/humanoid_walk.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fan-ziqi/IsaacLab/ebf43e3757fa4371ffb80eed01c3473c9471919a/source/isaaclab_tasks/isaaclab_tasks/direct/humanoid_amp/motions/humanoid_walk.npz -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/inhand_manipulation/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/locomotion/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/quadcopter/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """ 7 | Quacopter environment. 8 | """ 9 | 10 | import gymnasium as gym 11 | 12 | from . import agents 13 | 14 | ## 15 | # Register Gym environments. 16 | ## 17 | 18 | gym.register( 19 | id="Isaac-Quadcopter-Direct-v0", 20 | entry_point=f"{__name__}.quadcopter_env:QuadcopterEnv", 21 | disable_env_checker=True, 22 | kwargs={ 23 | "env_cfg_entry_point": f"{__name__}.quadcopter_env:QuadcopterEnvCfg", 24 | "rl_games_cfg_entry_point": f"{agents.__name__}:rl_games_ppo_cfg.yaml", 25 | "rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:QuadcopterPPORunnerCfg", 26 | "skrl_cfg_entry_point": f"{agents.__name__}:skrl_ppo_cfg.yaml", 27 | }, 28 | ) 29 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/quadcopter/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/shadow_hand/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/shadow_hand_over/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """ 7 | ShadowHand Over environment. 8 | """ 9 | 10 | import gymnasium as gym 11 | 12 | from . import agents 13 | 14 | ## 15 | # Register Gym environments. 16 | ## 17 | 18 | gym.register( 19 | id="Isaac-Shadow-Hand-Over-Direct-v0", 20 | entry_point=f"{__name__}.shadow_hand_over_env:ShadowHandOverEnv", 21 | disable_env_checker=True, 22 | kwargs={ 23 | "env_cfg_entry_point": f"{__name__}.shadow_hand_over_env_cfg:ShadowHandOverEnvCfg", 24 | "rl_games_cfg_entry_point": f"{agents.__name__}:rl_games_ppo_cfg.yaml", 25 | "skrl_cfg_entry_point": f"{agents.__name__}:skrl_ppo_cfg.yaml", 26 | "skrl_ippo_cfg_entry_point": f"{agents.__name__}:skrl_ippo_cfg.yaml", 27 | "skrl_mappo_cfg_entry_point": f"{agents.__name__}:skrl_mappo_cfg.yaml", 28 | }, 29 | ) 30 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/direct/shadow_hand_over/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """ 7 | Config-based workflow environments. 8 | """ 9 | 10 | import gymnasium as gym 11 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/classic/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Classic environments for control. 7 | 8 | These environments are based on the MuJoCo environments provided by OpenAI. 9 | 10 | Reference: 11 | https://github.com/openai/gym/tree/master/gym/envs/mujoco 12 | """ 13 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/classic/ant/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """ 7 | Ant locomotion environment (similar to OpenAI Gym Ant-v2). 8 | """ 9 | 10 | import gymnasium as gym 11 | 12 | from . import agents 13 | 14 | ## 15 | # Register Gym environments. 16 | ## 17 | 18 | gym.register( 19 | id="Isaac-Ant-v0", 20 | entry_point="isaaclab.envs:ManagerBasedRLEnv", 21 | disable_env_checker=True, 22 | kwargs={ 23 | "env_cfg_entry_point": f"{__name__}.ant_env_cfg:AntEnvCfg", 24 | "rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:AntPPORunnerCfg", 25 | "rl_games_cfg_entry_point": f"{agents.__name__}:rl_games_ppo_cfg.yaml", 26 | "skrl_cfg_entry_point": f"{agents.__name__}:skrl_ppo_cfg.yaml", 27 | "sb3_cfg_entry_point": f"{agents.__name__}:sb3_ppo_cfg.yaml", 28 | }, 29 | ) 30 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/classic/ant/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/classic/ant/agents/sb3_ppo_cfg.yaml: -------------------------------------------------------------------------------- 1 | # Reference: https://github.com/DLR-RM/rl-baselines3-zoo/blob/master/hyperparams/ppo.yml#L161 2 | seed: 42 3 | 4 | n_timesteps: !!float 1e7 5 | policy: 'MlpPolicy' 6 | batch_size: 128 7 | n_steps: 512 8 | gamma: 0.99 9 | gae_lambda: 0.9 10 | n_epochs: 20 11 | ent_coef: 0.0 12 | sde_sample_freq: 4 13 | max_grad_norm: 0.5 14 | vf_coef: 0.5 15 | learning_rate: !!float 3e-5 16 | use_sde: True 17 | clip_range: 0.4 18 | device: "cuda:0" 19 | policy_kwargs: "dict( 20 | log_std_init=-1, 21 | ortho_init=False, 22 | activation_fn=nn.ReLU, 23 | net_arch=dict(pi=[256, 256], vf=[256, 256]) 24 | )" 25 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/classic/cartpole/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/classic/cartpole/agents/sb3_ppo_cfg.yaml: -------------------------------------------------------------------------------- 1 | # Reference: https://github.com/DLR-RM/rl-baselines3-zoo/blob/master/hyperparams/ppo.yml#L32 2 | seed: 42 3 | 4 | n_timesteps: !!float 1e6 5 | policy: 'MlpPolicy' 6 | n_steps: 16 7 | batch_size: 4096 8 | gae_lambda: 0.95 9 | gamma: 0.99 10 | n_epochs: 20 11 | ent_coef: 0.01 12 | learning_rate: !!float 3e-4 13 | clip_range: !!float 0.2 14 | policy_kwargs: "dict( 15 | activation_fn=nn.ELU, 16 | net_arch=[32, 32], 17 | squash_output=False, 18 | )" 19 | vf_coef: 1.0 20 | max_grad_norm: 1.0 21 | device: "cuda:0" 22 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/classic/cartpole/mdp/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """This sub-module contains the functions that are specific to the cartpole environments.""" 7 | 8 | from isaaclab.envs.mdp import * # noqa: F401, F403 9 | 10 | from .rewards import * # noqa: F401, F403 11 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/classic/cartpole/mdp/rewards.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | from __future__ import annotations 7 | 8 | import torch 9 | from typing import TYPE_CHECKING 10 | 11 | from isaaclab.assets import Articulation 12 | from isaaclab.managers import SceneEntityCfg 13 | from isaaclab.utils.math import wrap_to_pi 14 | 15 | if TYPE_CHECKING: 16 | from isaaclab.envs import ManagerBasedRLEnv 17 | 18 | 19 | def joint_pos_target_l2(env: ManagerBasedRLEnv, target: float, asset_cfg: SceneEntityCfg) -> torch.Tensor: 20 | """Penalize joint position deviation from a target value.""" 21 | # extract the used quantities (to enable type-hinting) 22 | asset: Articulation = env.scene[asset_cfg.name] 23 | # wrap the joint positions to (-pi, pi) 24 | joint_pos = wrap_to_pi(asset.data.joint_pos[:, asset_cfg.joint_ids]) 25 | # compute the reward 26 | return torch.sum(torch.square(joint_pos - target), dim=1) 27 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/classic/humanoid/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """ 7 | Humanoid locomotion environment (similar to OpenAI Gym Humanoid-v2). 8 | """ 9 | 10 | import gymnasium as gym 11 | 12 | from . import agents 13 | 14 | ## 15 | # Register Gym environments. 16 | ## 17 | 18 | gym.register( 19 | id="Isaac-Humanoid-v0", 20 | entry_point="isaaclab.envs:ManagerBasedRLEnv", 21 | disable_env_checker=True, 22 | kwargs={ 23 | "env_cfg_entry_point": f"{__name__}.humanoid_env_cfg:HumanoidEnvCfg", 24 | "rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:HumanoidPPORunnerCfg", 25 | "rl_games_cfg_entry_point": f"{agents.__name__}:rl_games_ppo_cfg.yaml", 26 | "skrl_cfg_entry_point": f"{agents.__name__}:skrl_ppo_cfg.yaml", 27 | "sb3_cfg_entry_point": f"{agents.__name__}:sb3_ppo_cfg.yaml", 28 | }, 29 | ) 30 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/classic/humanoid/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/classic/humanoid/agents/sb3_ppo_cfg.yaml: -------------------------------------------------------------------------------- 1 | # Reference: https://github.com/DLR-RM/rl-baselines3-zoo/blob/master/hyperparams/ppo.yml#L245 2 | seed: 42 3 | 4 | policy: 'MlpPolicy' 5 | n_timesteps: !!float 5e7 6 | batch_size: 256 7 | n_steps: 512 8 | gamma: 0.99 9 | learning_rate: !!float 2.5e-4 10 | ent_coef: 0.0 11 | clip_range: 0.2 12 | n_epochs: 10 13 | gae_lambda: 0.95 14 | max_grad_norm: 1.0 15 | vf_coef: 0.5 16 | device: "cuda:0" 17 | policy_kwargs: "dict( 18 | log_std_init=-1, 19 | ortho_init=False, 20 | activation_fn=nn.ReLU, 21 | net_arch=dict(pi=[256, 256], vf=[256, 256]) 22 | )" 23 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/classic/humanoid/mdp/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """This sub-module contains the functions that are specific to the humanoid environment.""" 7 | 8 | from isaaclab.envs.mdp import * # noqa: F401, F403 9 | 10 | from .observations import * 11 | from .rewards import * 12 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/locomotion/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Locomotion environments for legged robots.""" 7 | 8 | from .velocity import * # noqa 9 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/locomotion/velocity/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Locomotion environments with velocity-tracking commands. 7 | 8 | These environments are based on the `legged_gym` environments provided by Rudin et al. 9 | 10 | Reference: 11 | https://github.com/leggedrobotics/legged_gym 12 | """ 13 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/locomotion/velocity/config/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Configurations for velocity-based locomotion environments.""" 7 | 8 | # We leave this file empty since we don't want to expose any configs in this package directly. 9 | # We still need this file to import the "config" module in the parent package. 10 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/locomotion/velocity/config/a1/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/locomotion/velocity/config/anymal_b/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/locomotion/velocity/config/anymal_c/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/locomotion/velocity/config/anymal_d/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/locomotion/velocity/config/cassie/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/locomotion/velocity/config/g1/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/locomotion/velocity/config/go1/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/locomotion/velocity/config/go2/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/locomotion/velocity/config/h1/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/locomotion/velocity/config/spot/README.md: -------------------------------------------------------------------------------- 1 | # Acknowledgment 2 | 3 | We would like to acknowledge [The AI Institute](https://theaiinstitute.com/)'s efforts in developing 4 | the Spot RL environment from the specifications provided by Boston Dynamics. 5 | The team at The AI Institute trained, verified, and deployed the resulting policy on the Spot hardware. 6 | They demonstrated its capability and reliability out in the real world. 7 | 8 | The accompanying deployment code and access to Spot's low-level API is available with the [Spot RL 9 | Researcher Kit](https://bostondynamics.com/reinforcement-learning-researcher-kit/). 10 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/locomotion/velocity/config/spot/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/locomotion/velocity/config/spot/mdp/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | 7 | """This sub-module contains the functions that are specific to the Spot locomotion task.""" 8 | 9 | from .events import * # noqa: F401, F403 10 | from .rewards import * # noqa: F401, F403 11 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/locomotion/velocity/mdp/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """This sub-module contains the functions that are specific to the locomotion environments.""" 7 | 8 | from isaaclab.envs.mdp import * # noqa: F401, F403 9 | 10 | from .curriculums import * # noqa: F401, F403 11 | from .rewards import * # noqa: F401, F403 12 | from .terminations import * # noqa: F401, F403 13 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Manipulation environments for fixed-arm robots.""" 7 | 8 | from .reach import * # noqa 9 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cabinet/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Manipulation environments to open drawers in a cabinet.""" 7 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cabinet/config/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Configurations for the cabinet environments.""" 7 | 8 | # We leave this file empty since we don't want to expose any configs in this package directly. 9 | # We still need this file to import the "config" module in the parent package. 10 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cabinet/config/franka/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cabinet/mdp/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """This sub-module contains the functions that are specific to the cabinet environments.""" 7 | 8 | from isaaclab.envs.mdp import * # noqa: F401, F403 9 | 10 | from .observations import * # noqa: F401, F403 11 | from .rewards import * # noqa: F401, F403 12 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/inhand/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """In-hand object reorientation environment. 7 | 8 | These environments are based on the `dexterous cube manipulation`_ environments 9 | provided in IsaacGymEnvs repository from NVIDIA. However, they contain certain 10 | modifications and additional features. 11 | 12 | .. _dexterous cube manipulation: https://github.com/NVIDIA-Omniverse/IsaacGymEnvs/blob/main/isaacgymenvs/tasks/allegro_hand.py 13 | 14 | """ 15 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/inhand/config/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Configurations for in-hand manipulation environments.""" 7 | 8 | # We leave this file empty since we don't want to expose any configs in this package directly. 9 | # We still need this file to import the "config" module in the parent package. 10 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/inhand/config/allegro_hand/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/inhand/mdp/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """This sub-module contains the functions that are specific to the in-hand manipulation environments.""" 7 | 8 | from isaaclab.envs.mdp import * # noqa: F401, F403 9 | 10 | from .commands import * # noqa: F401, F403 11 | from .events import * # noqa: F401, F403 12 | from .observations import * # noqa: F401, F403 13 | from .rewards import * # noqa: F401, F403 14 | from .terminations import * # noqa: F401, F403 15 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/inhand/mdp/commands/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-module containing command terms for 3D orientation goals.""" 7 | 8 | from .commands_cfg import InHandReOrientationCommandCfg # noqa: F401 9 | from .orientation_command import InHandReOrientationCommand # noqa: F401 10 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/lift/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Configurations for the object lift environments.""" 7 | 8 | # We leave this file empty since we don't want to expose any configs in this package directly. 9 | # We still need this file to import the "config" module in the parent package. 10 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/lift/config/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Configurations for the object lift environments.""" 7 | 8 | # We leave this file empty since we don't want to expose any configs in this package directly. 9 | # We still need this file to import the "config" module in the parent package. 10 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/lift/config/franka/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/lift/config/franka/agents/sb3_ppo_cfg.yaml: -------------------------------------------------------------------------------- 1 | # Reference: https://github.com/DLR-RM/rl-baselines3-zoo/blob/master/hyperparams/ppo.yml#L32 2 | seed: 42 3 | 4 | # epoch * n_steps * nenvs: 500×512*8*8 5 | n_timesteps: 16384000 6 | policy: 'MlpPolicy' 7 | n_steps: 64 8 | # mini batch size: num_envs * nsteps / nminibatches 2048×512÷2048 9 | batch_size: 192 10 | gae_lambda: 0.95 11 | gamma: 0.99 12 | n_epochs: 8 13 | ent_coef: 0.00 14 | vf_coef: 0.0001 15 | learning_rate: !!float 3e-4 16 | clip_range: 0.2 17 | policy_kwargs: "dict( 18 | activation_fn=nn.ELU, 19 | net_arch=dict(pi=[256, 128, 64], vf=[256, 128, 64]) 20 | )" 21 | target_kl: 0.01 22 | max_grad_norm: 1.0 23 | 24 | # # Uses VecNormalize class to normalize obs 25 | # normalize_input: True 26 | # # Uses VecNormalize class to normalize rew 27 | # normalize_value: True 28 | # clip_obs: 5 29 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/lift/mdp/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """This sub-module contains the functions that are specific to the lift environments.""" 7 | 8 | from isaaclab.envs.mdp import * # noqa: F401, F403 9 | 10 | from .observations import * # noqa: F401, F403 11 | from .rewards import * # noqa: F401, F403 12 | from .terminations import * # noqa: F401, F403 13 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/pick_place/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | import gymnasium as gym 7 | import os 8 | 9 | from . import agents, pickplace_gr1t2_env_cfg 10 | 11 | gym.register( 12 | id="Isaac-PickPlace-GR1T2-Abs-v0", 13 | entry_point="isaaclab.envs:ManagerBasedRLEnv", 14 | kwargs={ 15 | "env_cfg_entry_point": pickplace_gr1t2_env_cfg.PickPlaceGR1T2EnvCfg, 16 | "robomimic_bc_cfg_entry_point": os.path.join(agents.__path__[0], "robomimic/bc_rnn_low_dim.json"), 17 | }, 18 | disable_env_checker=True, 19 | ) 20 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/pick_place/mdp/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """This sub-module contains the functions that are specific to the lift environments.""" 7 | 8 | from isaaclab.envs.mdp import * # noqa: F401, F403 9 | 10 | from .observations import * # noqa: F401, F403 11 | from .terminations import * # noqa: F401, F403 12 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/reach/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Fixed-arm environments with end-effector pose tracking commands.""" 7 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/reach/config/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Configurations for arm-based reach-tracking environments.""" 7 | 8 | # We leave this file empty since we don't want to expose any configs in this package directly. 9 | # We still need this file to import the "config" module in the parent package. 10 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/reach/config/franka/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/reach/config/ur_10/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/reach/mdp/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """This sub-module contains the functions that are specific to the locomotion environments.""" 7 | 8 | from isaaclab.envs.mdp import * # noqa: F401, F403 9 | 10 | from .rewards import * # noqa: F401, F403 11 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/stack/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Configurations for the object stack environments.""" 7 | 8 | # We leave this file empty since we don't want to expose any configs in this package directly. 9 | # We still need this file to import the "config" module in the parent package. 10 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/stack/config/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Configurations for the object stack environments.""" 7 | 8 | # We leave this file empty since we don't want to expose any configs in this package directly. 9 | # We still need this file to import the "config" module in the parent package. 10 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/stack/config/franka/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/stack/mdp/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """This sub-module contains the functions that are specific to the lift environments.""" 7 | 8 | from isaaclab.envs.mdp import * # noqa: F401, F403 9 | 10 | from .observations import * # noqa: F401, F403 11 | from .terminations import * # noqa: F401, F403 12 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/navigation/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Navigation environments.""" 7 | 8 | from .config import anymal_c 9 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/navigation/config/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Configurations for navigation environments.""" 7 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/navigation/config/anymal_c/agents/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/navigation/mdp/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """This sub-module contains the functions that are specific to the locomotion environments.""" 7 | 8 | from isaaclab.envs.mdp import * # noqa: F401, F403 9 | 10 | from .pre_trained_policy_action import * # noqa: F401, F403 11 | from .rewards import * # noqa: F401, F403 12 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/manager_based/navigation/mdp/rewards.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | from __future__ import annotations 7 | 8 | import torch 9 | from typing import TYPE_CHECKING 10 | 11 | if TYPE_CHECKING: 12 | from isaaclab.envs import ManagerBasedRLEnv 13 | 14 | 15 | def position_command_error_tanh(env: ManagerBasedRLEnv, std: float, command_name: str) -> torch.Tensor: 16 | """Reward position tracking with tanh kernel.""" 17 | command = env.command_manager.get_command(command_name) 18 | des_pos_b = command[:, :3] 19 | distance = torch.norm(des_pos_b, dim=1) 20 | return 1 - torch.tanh(distance / std) 21 | 22 | 23 | def heading_command_error_abs(env: ManagerBasedRLEnv, command_name: str) -> torch.Tensor: 24 | """Penalize tracking orientation error.""" 25 | command = env.command_manager.get_command(command_name) 26 | heading_b = command[:, 3] 27 | return heading_b.abs() 28 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/isaaclab_tasks/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Sub-package with utilities, data collectors and environment wrappers.""" 7 | 8 | from .importer import import_packages 9 | from .parse_cfg import get_checkpoint_path, load_cfg_from_registry, parse_env_cfg 10 | -------------------------------------------------------------------------------- /source/isaaclab_tasks/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["setuptools", "wheel", "toml"] 3 | build-backend = "setuptools.build_meta" 4 | -------------------------------------------------------------------------------- /tools/template/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /tools/template/common.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | import os 7 | 8 | # paths 9 | ROOT_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) 10 | TASKS_DIR = os.path.join(ROOT_DIR, "source", "isaaclab_tasks", "isaaclab_tasks") 11 | TEMPLATE_DIR = os.path.join(ROOT_DIR, "tools", "template", "templates") 12 | 13 | # RL algorithms 14 | SINGLE_AGENT_ALGORITHMS = ["AMP", "PPO"] 15 | MULTI_AGENT_ALGORITHMS = ["IPPO", "MAPPO"] 16 | -------------------------------------------------------------------------------- /tools/template/requirements.txt: -------------------------------------------------------------------------------- 1 | # CLI management 2 | InquirerPy 3 | rich 4 | # templating 5 | Jinja2 6 | -------------------------------------------------------------------------------- /tools/template/templates/agents/sb3_ppo_cfg: -------------------------------------------------------------------------------- 1 | # Reference: https://github.com/DLR-RM/rl-baselines3-zoo/blob/master/hyperparams/ppo.yml#L32 2 | seed: 42 3 | 4 | n_timesteps: !!float 1e6 5 | policy: 'MlpPolicy' 6 | n_steps: 16 7 | batch_size: 4096 8 | gae_lambda: 0.95 9 | gamma: 0.99 10 | n_epochs: 20 11 | ent_coef: 0.01 12 | learning_rate: !!float 3e-4 13 | clip_range: !!float 0.2 14 | policy_kwargs: "dict( 15 | activation_fn=nn.ELU, 16 | net_arch=[32, 32], 17 | squash_output=False, 18 | )" 19 | vf_coef: 1.0 20 | max_grad_norm: 1.0 21 | device: "cuda:0" 22 | -------------------------------------------------------------------------------- /tools/template/templates/extension/__init__ext: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """ 7 | Python module serving as a project/extension template. 8 | """ 9 | 10 | # Register Gym environments. 11 | from .tasks import * 12 | 13 | # Register UI extensions. 14 | from .ui_extension_example import * 15 | -------------------------------------------------------------------------------- /tools/template/templates/extension/__init__tasks: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """Package containing task implementations for the extension.""" 7 | 8 | ## 9 | # Register Gym environments. 10 | ## 11 | 12 | from isaaclab_tasks.utils import import_packages 13 | 14 | # The blacklist is used to prevent importing configs from sub-packages 15 | _BLACKLIST_PKGS = ["utils", ".mdp"] 16 | # Import all configs in this package 17 | import_packages(__name__, _BLACKLIST_PKGS) 18 | -------------------------------------------------------------------------------- /tools/template/templates/extension/__init__workflow: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | import gymnasium as gym # noqa: F401 7 | -------------------------------------------------------------------------------- /tools/template/templates/extension/config/extension.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | 3 | # Semantic Versioning is used: https://semver.org/ 4 | version = "0.1.0" 5 | 6 | # Description 7 | category = "isaaclab" 8 | readme = "README.md" 9 | 10 | title = "Extension Template" 11 | author = "Isaac Lab Project Developers" 12 | maintainer = "Isaac Lab Project Developers" 13 | description="Extension Template for Isaac Lab" 14 | repository = "https://github.com/isaac-sim/IsaacLab.git" 15 | keywords = ["extension", "template", "isaaclab"] 16 | 17 | [dependencies] 18 | "isaaclab" = {} 19 | "isaaclab_assets" = {} 20 | "isaaclab_mimic" = {} 21 | "isaaclab_rl" = {} 22 | "isaaclab_tasks" = {} 23 | # NOTE: Add additional dependencies here 24 | 25 | [[python.module]] 26 | name = "{{ name }}" 27 | 28 | [isaaclab_settings] 29 | # TODO: Uncomment and list any apt dependencies here. 30 | # If none, leave it commented out. 31 | # apt_deps = ["example_package"] 32 | # TODO: Uncomment and provide path to a ros_ws 33 | # with rosdeps to be installed. If none, 34 | # leave it commented out. 35 | # ros_ws = "path/from/extension_root/to/ros_ws" 36 | -------------------------------------------------------------------------------- /tools/template/templates/extension/docs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | Changelog 2 | --------- 3 | 4 | 0.1.0 ({{ date }}) 5 | ~~~~~~~~~~~~~~~~~~ 6 | 7 | Added 8 | ^^^^^ 9 | 10 | * Created an initial template for building an extension or project based on Isaac Lab 11 | -------------------------------------------------------------------------------- /tools/template/templates/extension/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["setuptools", "wheel", "toml"] 3 | build-backend = "setuptools.build_meta" 4 | -------------------------------------------------------------------------------- /tools/template/templates/external/.vscode/.gitignore: -------------------------------------------------------------------------------- 1 | # Note: These files are kept for development purposes only. 2 | !tools/launch.template.json 3 | !tools/settings.template.json 4 | !tools/setup_vscode.py 5 | !extensions.json 6 | !tasks.json 7 | 8 | # Ignore all other files 9 | .python.env 10 | *.json 11 | -------------------------------------------------------------------------------- /tools/template/templates/external/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 3 | // for the documentation about the extensions.json format 4 | "recommendations": [ 5 | "ms-python.python", 6 | "ms-python.vscode-pylance", 7 | "ban.spellright", 8 | "ms-iot.vscode-ros", 9 | "ms-python.black-formatter", 10 | "ms-python.flake8", 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /tools/template/templates/external/.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "tasks": [ 4 | { 5 | "label": "setup_python_env", 6 | "type": "shell", 7 | "linux": { 8 | "command": "${input:isaac_path}/python.sh ${workspaceFolder}/.vscode/tools/setup_vscode.py --isaac_path ${input:isaac_path}" 9 | }, 10 | "windows": { 11 | "command": "${input:isaac_path}/python.bat ${workspaceFolder}/.vscode/tools/setup_vscode.py --isaac_path ${input:isaac_path}" 12 | } 13 | } 14 | ], 15 | "inputs": [ 16 | { 17 | "id": "isaac_path", 18 | "description": "Absolute path to the current Isaac Sim installation. Can be skipped if Isaac Sim installed from pip.", 19 | {% if platform == "win32" %} 20 | "default": "C:/isaacsim", 21 | {% else %} 22 | "default": "${HOME}/isaacsim", 23 | {% endif %} 24 | "type": "promptString" 25 | }, 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /tools/template/templates/external/docker/.env.base: -------------------------------------------------------------------------------- 1 | ### 2 | # General settings 3 | ### 4 | 5 | # Isaac Lab base image 6 | ISAACLAB_BASE_IMAGE=isaac-lab-base 7 | # The Isaac Lab Extension Template path in the container 8 | DOCKER_ISAACLAB_EXTENSION_TEMPLATE_PATH=/workspace/isaaclab_extension_template 9 | -------------------------------------------------------------------------------- /tools/template/templates/external/docker/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG ISAACLAB_BASE_IMAGE_ARG 2 | 3 | # we use the basic isaaclab image as the base 4 | FROM ${ISAACLAB_BASE_IMAGE_ARG} AS base 5 | 6 | ARG DOCKER_ISAACLAB_EXTENSION_TEMPLATE_PATH_ARG 7 | ENV DOCKER_ISAACLAB_EXTENSION_TEMPLATE_PATH=${DOCKER_ISAACLAB_EXTENSION_TEMPLATE_PATH_ARG} 8 | 9 | USER root 10 | 11 | # Copy the Isaac Lab Extension Template directory (files to exclude are defined in .dockerignore) 12 | COPY ../ ${DOCKER_ISAACLAB_EXTENSION_TEMPLATE_PATH} 13 | 14 | # # Install whatever you need as additional dependencies. 15 | RUN bash -i -c "source ${HOME}/.bashrc && \ 16 | cd ${DOCKER_ISAACLAB_EXTENSION_TEMPLATE_PATH}/source/{{ name }} && \ 17 | pip install -e ." 18 | 19 | # make working directory as the Isaac Lab directory 20 | # this is the default directory when the container is run 21 | WORKDIR /workspace 22 | -------------------------------------------------------------------------------- /tools/template/templates/tasks/__init__agents: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | -------------------------------------------------------------------------------- /tools/template/templates/tasks/manager-based_single-agent/mdp/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | """This sub-module contains the functions that are specific to the environment.""" 7 | 8 | from isaaclab.envs.mdp import * # noqa: F401, F403 9 | 10 | from .rewards import * # noqa: F401, F403 11 | -------------------------------------------------------------------------------- /tools/template/templates/tasks/manager-based_single-agent/mdp/rewards.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022-2025, The Isaac Lab Project Developers. 2 | # All rights reserved. 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | from __future__ import annotations 7 | 8 | import torch 9 | from typing import TYPE_CHECKING 10 | 11 | from isaaclab.assets import Articulation 12 | from isaaclab.managers import SceneEntityCfg 13 | from isaaclab.utils.math import wrap_to_pi 14 | 15 | if TYPE_CHECKING: 16 | from isaaclab.envs import ManagerBasedRLEnv 17 | 18 | 19 | def joint_pos_target_l2(env: ManagerBasedRLEnv, target: float, asset_cfg: SceneEntityCfg) -> torch.Tensor: 20 | """Penalize joint position deviation from a target value.""" 21 | # extract the used quantities (to enable type-hinting) 22 | asset: Articulation = env.scene[asset_cfg.name] 23 | # wrap the joint positions to (-pi, pi) 24 | joint_pos = wrap_to_pi(asset.data.joint_pos[:, asset_cfg.joint_ids]) 25 | # compute the reward 26 | return torch.sum(torch.square(joint_pos - target), dim=1) 27 | --------------------------------------------------------------------------------