GettingStarted - OmniLRS/OmniLRS GitHub Wiki

Getting started:

In this page we'll explore how you can start a simulation!

First, let's briefly see how configurations are managed. Our simulation uses hydra to manage the configuration of the differement simulation element.

Tip

Learn more about hydra here!

Our base config is organized around 4 main files:

  • environment: Defines everything that deals with the environment to be simulated.
  • mode: Defines what mode should be use, ROS1, ROS2, or synthetic data generation.
  • rendering: Defines everything that relates to the rendering.
  • physics: Defines everything that relates to the physics engine.

Caution

The following assumes you are running ROS2 (or SpaceROS). While the code has ROS1 compatibility, we do not provide base configs or robots for ROS1.

Example commands

Important

We strongly recommend using docker. If you are using the native installation instead, see helpful hints at the end of this page.

  1. Run the OmniLRS docker container:
./omnilrs.docker/run_docker.sh

You can then run every command inside the docker.

  1. Run the default lunalab scene using:
/isaac-sim/python.sh run.py

This is equivalent to /isaac-sim/python.sh run.py environment=lunalab and will launch a lunalab environment with ROS2 and ray_traced rendering.

  1. Similarly, you can run the lunaryard or largescale environments by using:
/isaac-sim/python.sh run.py environment=lunaryard_20m
# and
/isaac-sim/python.sh run.py environment=largescale

Tip

Once the simulation is fully loaded and the isaacsim asset tree is populated, select the 'Robots' and press 'F' on your keyboard: this will center the scene on the robot

Tip

The first time loading a scene can take a few minutes (depending on the scene and your hardware) due to isaacsim preparing the cache. Next loads will be much faster.

Tip

To learn more about how to run different scenes and different rovers please refer to the Wiki Configuration Page!

  1. You can send commands via ROS to have the rover move in the environment. For example, it's convenient to use the ROS2 keyboard teleop package. One way to do that is to open a new terminal, and exec into the already running docker container:
# <in a new terminal>
docker exec -it isaac-sim-omnilrs-container /bin/bash
ros2 run teleop_twist_keyboard teleop_twist_keyboard

Tip

You can run the default IsaacSim app from the OmniLRS docker container as well. This gives you the GUI with access to the OmniLRS assets folder and the same environment as the full OmniLRS simulation stack. Useful for editing USD assets, testing and working on small parts that don't require the full OmniLRS stack! Just run /isaac-sim/runapp.sh

More examples

Deformable lunalab:

/isaac-sim/python.sh run.py environment=lunalab_deformable

Deformable lunaryard:

/isaac-sim/python.sh run.py environment=lunaryard_20m_deformable

Larger lunaryard:

/isaac-sim/python.sh run.py environment=lunaryard_40m

Helpful Hints for Running with the Native Installation

Important

If you are using the native installation, please follow the ROS2 installation process in particular this part Make sure Nucleus is running. Make sure ROS2 is sourced before running the simulation.

To run isaac use the same commands as above but replace the /isaac-sim/python.sh used in docker with ~/.local/share/ov/pkg/isaac_sim-2023.1.1/python.sh

⚠️ **GitHub.com Fallback** ⚠️