Repository navigation
Tutorial using ROS
Virtual robots can be controlled by using SIGVerse and ROS (Robot Operating System).
This section describes examples using ROS 2.
If you want to use ROS 2, prepare an Ubuntu environment and install ROS 2 there.
ROS communicates with Unity on Windows.
The requirements for Windows can be found here.
The ROS requirement is that the OS is Ubuntu 22.04 and ROS 2 distribution is Humble Hawksbill.

Please refer here to build the Windows environment.
After that, please build the following environment.
Build Ubuntu environment as follows.
Instead of preparing an Ubuntu PC, you can use an Ubuntu virtual machine on Windows.
However, in this case, it will be difficult to run tutorials using the GPU.
Also note that using VMware requires a lot of computational resources.
And the Docker may have problems coexisting with VMware. Please note this.
The procedure for building an Ubuntu environment using VMware is as follows.
- Create a BROADCOM account and login.
https://support.broadcom.com/ - Access Free Downloads (click My Downloads in the left pane, then click Free Software Downloads available HERE. As of October 2025)
https://support.broadcom.com/group/ecx/free-downloads - In the search box, enter "VMware Workstation Pro", search for VMware Workstation Pro, and download it.
- Download the iso file(ubuntu-22.04.5-desktop-amd64.iso) of Ubuntu 22.04.5 LTS.
https://releases.ubuntu.com/jammy/ - Launch VMware Workstation Pro.
- Create a New Virtual Machine using the downloaded ISO file.
- After you have finished creating the VM, adjust the memory and processors in the Virtual Machine Settings. And also set the settings to use the Enhanced keyboard.
If you want to use WSL, please refer here.
Please follow the ROS 2 Humble Installation page and the Configuring environment page.
Then create the workspace (ros2_ws) by following the instructions on the page below.
https://docs.ros.org/en/humble/Tutorials/Beginner-Client-Libraries/Colcon-Tutorial.html
And run the following commands:
sudo apt install -y python3-rosdep
sudo rosdep init
rosdep update
sudo apt install -y libncurses-dev
sudo apt install -y python3-pipIf you prefer, you can also install ROS 2 Humble and set up rosdep using the following shell script:
https://github.com/SIGVerse/sigverse_unity_project/wiki/scripts/install_ros2_humble.sh
Warning
This script is provided as a reference. Depending on your environment (e.g., existing packages, network/proxy settings, or prior ROS installations), you may need to adjust the script before running it. It is expected to work on a clean Ubuntu 22.04 environment, but it is not guaranteed for all setups.
Run the script:
wget https://raw.githubusercontent.com/wiki/SIGVerse/sigverse_unity_project/scripts/install_ros2_humble.sh
chmod +x install_ros2_humble.sh
./install_ros2_humble.sh
source ~/.bashrcThe following commands show a batch installation procedure for the required libraries using a shell script.
If you follow this procedure, the subsequent manual installation steps are not necessary.
Please note that the ROS 2 workspace name is ros2_ws.
wget https://raw.githubusercontent.com/SIGVerse/docker-ros/main/humble/sigverse_setup.sh
chmod +x sigverse_setup.sh
./sigverse_setup.sh
source ~/.bashrcAdd "~/ros2_ws/install/setup.bash" to .bashrc to simplify subsequent commands.
Be careful if you manage multiple ROS workspaces.
echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
source ~/.bashrcStart the terminal and execute the following command.
sudo apt install -y ros-$ROS_DISTRO-rosbridge-suite
sudo apt install -y ros-$ROS_DISTRO-slam-toolbox
sudo apt install -y ros-$ROS_DISTRO-xacro
sudo apt install -y ros-$ROS_DISTRO-octomap
sudo apt install -y ros-$ROS_DISTRO-hardware-interface
sudo apt install -y ros-$ROS_DISTRO-ros2-control ros-$ROS_DISTRO-ros2-controllers ros-$ROS_DISTRO-controller-manager
sudo apt install -y ros-$ROS_DISTRO-moveit ros-$ROS_DISTRO-moveit-ros-perception ros-$ROS_DISTRO-moveit-ros-occupancy-map-monitorIn the terminal, execute the following command:
cd ~/Downloads
wget https://github.com/mongodb/mongo-c-driver/releases/download/2.0.2/mongo-c-driver-2.0.2.tar.gz
tar zxf mongo-c-driver-2.0.2.tar.gz
cd mongo-c-driver-2.0.2/build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_UNINSTALL=ON
cmake --build .
sudo cmake --install .In the terminal, execute the following command:
cd ~/Downloads
wget https://github.com/mongodb/mongo-cxx-driver/releases/download/r4.1.1/mongo-cxx-driver-r4.1.1.tar.gz
tar zxf mongo-cxx-driver-r4.1.1.tar.gz
cd mongo-cxx-driver-r4.1.1/build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_PREFIX_PATH=/usr/local
cmake --build .
sudo cmake --install .
sudo ldconfigIn the terminal, execute the following command:
cd ~/ros2_ws/src
git clone https://github.com/SIGVerse/sigverse_ros_package.gitThe core packages do not include yolo_ros or MoveIt, so the TurtleBot3 tutorials cannot be executed.
If you want to run the TurtleBot3 tutorials, please follow the steps in ROS2 Build - All Packages.
cd ~/ros2_ws
colcon build --symlink-install --packages-skip sigverse_turtlebot3
source ~/ros2_ws/install/setup.bashPlease refer here to build all packages.
Before running the Unity example scene, you need to set the IP address for ROS on Unity.
- Check the IP address of the Ubuntu side.
Execute the following command in Ubuntu side to check the IP address.hostname -I
- Open the SIGVerse project in Unity.
- Click [SIGVerse]-[SIGVerse Settings] in the Unity menu to open the SIGVerse settings window.
- Enter the IP address of Ubuntu side in [Config file Settings]-[Rosbridge IP].
(You can also change [Rosbridge Port] and [SIGVerse Bridge Port] in the same way.)

The Unity scene is executed as follows:
- Double-click [Assets/SIGVerse/ExampleScenes/xxxxx/yyyyy(.unity)] on the [Project] tab to open the target scene.
- Click the play button at the top center of the Unity to play the scene.
- (HSR) Operate with Keyboard
- (HSR) Cleanup Task
- (HSR) Cleanup Task using Cloud and VR #Cloud, VR
- (HSR) Cleanup Task using Cloud and VR with Playback function #Cloud, VR
- (TIAGo) Operate with Keyboard
- (TurtleBot3) Grasp with Keyboard
- (TurtleBot3) SLAM
- (TurtleBot3) Recognize Human Pointing
- (TurtleBot3) Grasp Automatically #darknet_ros(YOLO)
- Home
- (Old) ROS1 version Tutorial
-
Tutorial
- Tutorial without ROS
-
Tutorial using ROS
- (HSR) Operate with Keyboard
- (HSR) Cleanup Task
- (HSR) Cleanup Task using Cloud and VR #Cloud, VR
- (HSR) Cleanup Task using Cloud and VR with Playback Function #Cloud, VR
- (TIAGo) Operate with Keyboard
- (TurtleBot3) Grasp with Keyboard
- (TurtleBot3) SLAM
- (TurtleBot3) Recognize Human Pointing #yolo_ros(YOLO)
- (TurtleBot3) Grasp Automatically #yolo_ros(YOLO), #MoveIt