Tutorial using ROS - SIGVerse/sigverse_unity_project GitHub Wiki
Virtual robots can be controlled by using SIGVerse and ROS (Robot Operating System).
This section describes examples using ROS 2.
System Requirements
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.

Build Windows Environment
Please refer here to build the Windows environment.
After that, please build the following environment.
Build Ubuntu Environment
Build Ubuntu environment as follows.
Using VMware
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.
Install ROS 2 Humble Hawksbill
Install ROS 2 Humble
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
Install Additional Dependencies
Run the following commands:
sudo rosdep init
rosdep update
sudo apt install -y libncurses-dev
sudo apt install -y python3-pip
Install Required Libraries (using shell scripts)
!! Underconstruction !!
The following is a procedure for batch installation of libraries using a shell script.
If this procedure is performed, the subsequent manual installation steps are not necessary.
We have confirmed the operation with the standard installation of ROS Noetic.
Therefore, if the name of the ROS workspace is not catkin_ws, it will not install properly.
Please use with caution.
!! Underconstruction !!
wget https://raw.githubusercontent.com/SIGVerse/docker-ros/main/noetic/sigverse_setup.sh
chmod +x sigverse_setup.sh
./sigverse_setup.sh
source ~/.bashrc
Install Required Libraries (manual)
Add Commands to .bashrc.
Add "~/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 ~/.bashrc
Install ROS2 Packages
Start 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-monitor
Install Mongo C Driver
In 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 .
Install Mongo C++ Driver
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 ldconfig
Install sigverse_ros_bridge
In the terminal, execute the following command:
cd ~/ros2_ws/src
git clone https://github.com/SIGVerse/sigverse_ros_package.git
ROS2 Build - Core Packages
The 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.bash
ROS2 Build - All Packages
Please refer here to build all packages.
Execute Example Scenes with ROS
Unity Scene Execution
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.
Example Scenes
- (TurtleBot3) Grasp with Keyboard
- (TurtleBot3) SLAM
- (TurtleBot3) Recognize Human Pointing
- (TurtleBot3) Grasp Automatically #darknet_ros(YOLO)
- (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