OmniLRS is powered by NVIDIA Isaac Sim and NVIDIA Omniverse libraries to provide visually realistic and physically accurate robotics simulation of lunar rovers.
- GPU accelerated ray tracing for real-time illumination, shadows and vision sensors
- GPU accelerated physics for real-time rigid-body dynamics and wheel/soil interactions
- Base Terrain from NASA LRO Digital Elevation Models, plus generative rock and crater distributions from power laws
- Customizable and randomizable terrain generation and asset placement for synthetic data generation
- Integration with ROS2 robotics ecosystem and more
- Multi-physics model framework to simulate the entire range of telemetry needed in lunar missions: Power, Radio, Thermal
- Mission Control Software Integration (Yamcs and Grafana) for mission operations development, training and rehearsals
Important
This readme showcases only basic information: for a more complete introduction to the simulation and its inner workings please visit our wiki! For specific questions or to have a chat join our discord! Should you run into a bug, or would like to request a new feature, feel free to open an issue. Want to collaborate, reach out to us! PRs very welcome!
First release:
Wheel traces:
Large Scale update:
Mission Operations Update:
Follow the instruction on the Wiki: we strongly recommend following the docker installation steps.
Then Follow the Getting Started steps to run your first OmniLRS simulations!
See the separate git repository to run the ROS2 demo.
It supports joystick teleoperation and navigation.
https://github.com/jnskkmhr/omnilrs_ros2_demo
The simulation allows user to interact with the Scene through ROS topics. This allows for instance to reset or teleport a robot, or to change the intensity of a light! We provide a complete description of the interactions available with the sim from ROS on the Wiki here.
To use this simulation with SpaceROS, the ROS2 simulation docker must first be spinned up, and then in a second time, another container running SpaceROS must be launched to interact with the simulation. To illustrate this, we provide a simple teleop demonstration with the sim in ROS2 and SpaceROS sending velocity commands. Check the Wiki for a step-by-step guide on how to run this demo.
See the separate git repository to run the Yamcs and Grafana demo https://github.com/OmniLRS/yamcs-mission-control-pragyaan
Please use the following citations if you use OmniLRS in your work.
@article{richard2024omnilrs,
title={OmniLRS: A Photorealistic Simulator for Lunar Robotics},
author={Richard, Antoine and Kamohara, Junnosuke and Uno, Kentaro and Santra, Shreya and van der Meer, Dave and Olivares-Mendez, Miguel and Yoshida, Kazuya},
booktitle={2024 IEEE International Conference on Robotics and Automation (ICRA)},
url={https://arxiv.org/abs/2309.08997},
year={2024}
}
@article{kamohara2024modelingterraindeformationgrouser,
title={Modeling of Terrain Deformation by a Grouser Wheel for Lunar Rover Simulation},
author={Junnosuke Kamohara and Vinicius Ares and James Hurrell and Keisuke Takehana and Antoine Richard and Shreya Santra and Kentaro Uno and Eric Rohmer and Kazuya Yoshida},
year={2024},
eprint={2408.13468},
booktitle={21st International and 12th Asia-Pacific Regional Conference of the ISTVS}
primaryClass={cs.RO},
url={https://arxiv.org/abs/2408.13468},
}.
├── assets
├── cfg
│ ├── environment
│ ├── mode
│ ├── physics
│ └── rendering
├── docs
├── scripts
├── src
│ ├── configurations
│ ├── environments
│ ├── environments_wrappers
│ │ ├── ros2
│ │ └── sdg
│ ├── labeling
│ ├── physics
│ ├── robots
│ ├── stellar
│ └── terrain_management
└── WorldBuilders







