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 can control many real robots. ~ Using a VR device, a human can log into the virtual world and communicate with the robot in the virtual world. ~ It is also possible to control real robots using the ROS robot controller that can work in a virtual world. ~ SIGVerse can thus be a real world alternative for robots. The system overview of SIGVerse is shown below. #ref(System/sigverse_architecture.png,40%) Unity runs on Windows and ROS runs on Ubuntu. ~ Unity and ROS are connected using rosbridge and sigverse_rosbrige. 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 sigverse_rosbridge is in BSON format, it is possible to send and receive binary data efficiently.