Up:[[SIGVerse]]
----


* System Overview [#g29a0fd9]

Virtual world simulation is achieved using [[Unity>https://unity.com/]]. ~
Unity is a game engine with an integrated development environment. ~
Many VR devices can be used in Unity, which helps to reflect the real world human behavior in the virtual world.

Robots in the virtual world are controlled using [[ROS (Robot Operating System)>http://wiki.ros.org/]]. ~
ROS is a software platform for robots, and it is possible to control many real robots using ROS. ~
ROS is a software platform for robots and can control many real robots. ~

It is also possible to communicate with robots in the virtual world by logging in to the virtual world using a VR device. ~
It is also possible to create a ROS robot controller that moves a robot in the virtual world and use that robot controller to move a real robot. ~
In this way, SIGVerse serves as an alternative to the real world for robots.
A real human (test subject) can log into the virtual world through general VR devices to interact with the virtual robot in the virtual world. ~
You can apply the original software, which is used to control the real robot based on ROS, to the virtual robot without any modification. ~
//<!— SIGVerse can thus be a real world alternative for robots.—>

The system overview of SIGVerse is shown below.
The following figure shows the system architecture of the SIGVerse.

#ref(System/System_Overview.png,50%)
#ref(System/sigverse_architecture_wiki.png,80%)


Unity runs on Windows and ROS runs on Ubuntu. ~
Unity is executed on Windows and ROS runs on Ubuntu. ~
Unity and ROS are connected using rosbridge and sigverse_rosbrige.

Use rosbrige to send and receive commands and relatively small data for operating robots in the virtual world. ~
Use rosbrige to send / receive commands and small data for operating the robot. ~
Use sigverse_rosbridge to send large data such as robot sensor data (RGB images, etc.) to ROS. ~
Since rosbridge is in JSON format, sigverse_rosbridge is in BSON format, so it is possible to send and receive binary data efficiently.
Since sigverse_rosbridge is in BSON format, it is possible to send and receive binary data efficiently.


Front page   New List of pages Search Recent changes   Help   RSS of recent changes