Batou1406 / dls_orbit_bat_private

Unified framework for robot learning built on NVIDIA Isaac Sim
https://isaac-orbit.github.io/orbit/
Other
1 stars 0 forks source link

Master Thesis - Specific Documentation

This lists the different implementations done during the course of the project. The different implementations are essentially in two folders :

How to run

Train a policy

Policies are trained using the library RSL_RL, which can be shipped with the IsaacLab installation. A policy can be trained with the following line

python source/standalone/workflows/rsl_rl/train.py --task Isaac-Model-Based-Speed-Aliengo-v0  --num_envs 4096 --headless

the flag --help display the different arguments available. The --task argument refers to the task for which a policy will be trained for. A task is a gymnasium registered environment and is composed of an environment (with the observation, action, terrain configuration, reward function, etc.) and a learning algorithm (PPO) with its parameters.

The tasks are registered here and the following tasks are available :

Play a policy

If the policy has been trained with RSL_RL and is made of an actor-critic network. The policy must be located in logs/rls_rl/task_name/folder/policy.pt

python source/standalone/workflows/rsl_rl/play.py --task Isaac-Model-Based-Speed-Aliengo-v0  --num_envs 8 --load_run folder --checkpoint policy

There are four baselines available policies for the four tasks

Run evaluations

A wide series of evaluations can be configured. The evaluation_RL script calls play_eval_RL, which runs the evaluations. Many different policies can be evaluated in a single script

python3 source/standalone/workflows/dls_lib/evaluation_RL.py

Train an imitation policy with DAgger

python3 source/standalone/workflows/dls_lib/train_dagger.py --task Isaac-Model-Based-Climb-Aliengo-v0 --load_run climb_RL --checkpoint climb_baseline_actor_critic.pt --num_envs 4096  --folder-name IL_climb  --epochs 30 --headless

Live plot

python3 live_plot/live_plot_all.py

When the sampling controller is running and the live_plot flag is set ( :warning: one flag per controller :warning: ), variables of interest are saved into a CSV file and can be displayed live by running these scripts. Live plot available are : live_plot_all.py, live_plot_cost.py, live_plot_height.py, live_plot_GRF.py

Record a video

To record a video trained with RSL_RL (single action - single observation, actor-critic network) (Policy must be in logs/rsl_rl/folder/policy.pt)

python3 source/standalone/workflows/dls_lib/play.py --task Isaac-Model-Based-Rough-Aliengo-v0 --num_envs 64 --load_run base_RL  --checkpoint base_baseline_actor_critic.pt

To record a video of other network (DAgger, etc.) (Can be any type of action, just remind to adapt the action space by specifying the action term and action config) (Policy must be in model/folder/policy.pt)

python3 source/standalone/workflows/dls_lib/play_adaptative_video.py

The rotation and camera change can be deactivated by commenting the corresponding lines.

Folder architecure

MDP


Isaac Lab


Isaac Lab

IsaacSim Python Linux platform Windows platform pre-commit Docs status License

Isaac Lab is a unified and modular framework for robot learning that aims to simplify common workflows in robotics research (such as RL, learning from demonstrations, and motion planning). It is built upon NVIDIA Isaac Sim to leverage the latest simulation capabilities for photo-realistic scenes and fast and accurate simulation.

Please refer to our documentation page to learn more about the installation steps, features, tutorials, and how to set up your project with Isaac Lab.

Contributing to Isaac Lab

We wholeheartedly welcome contributions from the community to make this framework mature and useful for everyone. These may happen as bug reports, feature requests, or code contributions. For details, please check our contribution guidelines.

Troubleshooting

Please see the troubleshooting section for common fixes or submit an issue.

For issues related to Isaac Sim, we recommend checking its documentation or opening a question on its forums.

Support

License

The Isaac Lab framework is released under BSD-3 License. The license files of its dependencies and assets are present in the docs/licenses directory.

Acknowledgement

Isaac Lab development initiated from the Orbit framework. We would appreciate if you would cite it in academic publications as well:

@article{mittal2023orbit,
   author={Mittal, Mayank and Yu, Calvin and Yu, Qinxi and Liu, Jingzhou and Rudin, Nikita and Hoeller, David and Yuan, Jia Lin and Singh, Ritvik and Guo, Yunrong and Mazhar, Hammad and Mandlekar, Ajay and Babich, Buck and State, Gavriel and Hutter, Marco and Garg, Animesh},
   journal={IEEE Robotics and Automation Letters},
   title={Orbit: A Unified Simulation Framework for Interactive Robot Learning Environments},
   year={2023},
   volume={8},
   number={6},
   pages={3740-3747},
   doi={10.1109/LRA.2023.3270034}
}