Skip to content

Cyber-Fusion/ayg_isaac_lab

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,590 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Ayg Isaac Lab

Ayg Isaac Lab is a fork of Isaac Lab that is tailored for training the Ayg robot.

A guide on how to use Isaac Lab for RL is available in guide.md.

Table of Contents

Installation

Docker

The "full" installation steps provided by NVIDIA are available here. Alternatively, follow the steps below.


Install Docker Community Edition (ex Docker Engine). You can follow the installation method through apt. Note that it makes you verify the installation by running sudo docker run hello-world. It is better to avoid running this command with sudo and instead follow the post installation steps first and then run the command without sudo.

Follow with the post-installation steps for Linux.

Install NVIDIA Container Toolkit (nvidia-docker2).

Join the NVIDIA Developer Program.

Install NGC CLI following the steps detailed here.

Generate an NGC API key. Remember to save the API key as it will not be shown again.

Log in to NGC with

ngc config set

Log in to the NVIDIA Container Registry with

docker login nvcr.io

For the username, enter $oauthtoken exactly as shown. It is a special username that is used to authenticate with NGC. For the password, enter the NGC API key you generated.

Username: $oauthtoken
Password: <Your NGC API Key>

Build the image and bring up the container in detached mode with

./docker/container.py start

The image will be rebuilt every time the files are changed.

Begin a new bash process in an existing Isaac Lab container with

./docker/container.py enter base

Bring down the container and remove it with

./docker/container.py stop

Usage

Optional arguments are enclosed within square brackets, i.e. []. For single option arguments, the default value is shown after the equal sign. For multiple option, the available options are listed within curly brackets, i.e. {}.

Train the robot with:

  • base training environment:
    ./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task Isaac-Velocity-Flat-Ayg-v0 --headless [--max_iterations=300]
  • Walk-These-Ways-inspired training environment:
    ./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task Isaac-WTW-Flat-Ayg-v0 --headless [--max_iterations=300]

Visualize the training performance with

./isaaclab.sh -p -m tensorboard.main --logdir logs/rsl_rl/ayg_flat/path_to_log

Test the trained robot with

./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/play.py --task Isaac-Velocity-Flat-Ayg-{v0, v2} --num_envs 32 --checkpoint /path/to/checkpoint

Teleoperation

Test and teleoperate the trained robot with

python3 scripts/demos/ayg_locomotion.py

This will open a window where you can control a robot by clicking on it. The robot can be given a reference velocity using the arrows keys. To change visual press the c key. To exit the teleoperation press esc.

Known bugs:

  • The displayed reference velocities are wrong.

Troubleshooting

  • No GPU available in Docker: running nvidia-smi in the Docker container returns Failed to initialize NVML: Unknown Error.
    Solution:
    • Run sudo nano /etc/nvidia-container-runtime/config.toml, set no-cgroups = false, and save (Ctrl + X and then Y).
    • Restart Docker with sudo systemctl restart docker.

About

Unified framework for robot learning built on NVIDIA Isaac Sim

Resources

License

BSD-3-Clause, Apache-2.0 licenses found

Licenses found

BSD-3-Clause
LICENSE
Apache-2.0
LICENSE-mimic

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 98.2%
  • Other 1.8%