Yuezhan Tao · Dexter Ong · Varun Murali · Igor Spasojevic · Pratik Chaudhari . Vijay Kumar
Paper | Video | Project Page
- Source code
- Scripts
- Launch files
- Configuration files
- tmux scripts (for sim and on robot)
These components allow you to start a ROS-based simulation for Unity or run the system on a robot.
Note: Due to copyright restrictions, the Unity binaries cannot be released. As a result, all simulation-related commands have been replaced with placeholders.
This repo has been tested with Ubuntu 20.04 + ROS Noetic + Python 3.10 + CUDA 12.4 + torch 2.4.
If you have a different version, we recommend to use pyenv to install python 3.10 and use vituralenv.
Run the following if your CUDA version is 12.X
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
pip3 install gtsam
pip3 install -r requirements.txt
If you still got errors when installing diff-gaussian-rasterization-w-depth, deactivate the venv and run the following
export PATH=/usr/local/cuda-12.4/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH
and activate the venv again to install it.
The following dependencies are needed for the ROS integration inside a new venv (Optional if you don't have these missing packages)
pip3 install rospkg
First, create a catkin workspace and put this repo under src
mkdir -p ~/active_gs_ws/src
cd ~/active_gs_ws/src
Clone this repo and submodules.
git clone https://github.com/KumarRobotics/RT-GuIDE.git
cd RT-GuIDE && git submodule update --init --recursive
We recommend to set up the ros pkg of your simulator (eg. unity, gazebo...) inside the same workspace.
Finally, build the workspace
cd ~/active_gs_ws && catkin config -DCMAKE_BUILD_TYPE=Release && catkin build
Note: if you experience dependency issues with MPL (eg. SDL, VTK, etc), please refer to the readme inside it.
The provided tmux script provides a high-level structure to launch everything for the simulation. It uses tmux session manager tmuxp. Please install tmuxp if needed. To launch the simulation stack:
roscd active_3dgs/tmux
tmuxp load active_gs.yaml
This would launch roscore, the simulator, the mapper node and the tracker node. Currently, the commands in sim window has been replaced with placeholder, please change it to the preffered simulator accordingly.
Note, in the active_gs.yaml file, if you use virtualenv, change the pyenv activate line to activate your python environment or remove it.
To kill everything, go to the final kill tab and press Enter.
Find the self.bounds under active_3dgs/src/core/topological_graph.py.
We thank the authors of the following repositories for their open-source code:
If you find our paper and code useful, please consider to cite:
@ARTICLE{11180885,
author={Tao, Yuezhan and Ong, Dexter and Murali, Varun and Spasojevic, Igor and Chaudhari, Pratik and Kumar, Vijay},
journal={IEEE Robotics and Automation Letters},
title={RT-GuIDE: Real-Time Gaussian Splatting for Information-Driven Exploration},
year={2025},
volume={10},
number={11},
pages={11594-11601},
doi={10.1109/LRA.2025.3615039}}