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. ~ 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.—> //<!— SIGVerse can thus be a real world alternative for robots.—> The following figure shows the system architecture of the SIGVerse. #ref(System/sigverse_architecture_wiki.png,80%) Unity is executed 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.