[[Tutorial/Ver3]] [[Tutorial for ver.2]] #contents *Introduction To SIGverse 3.0 [#n8ec40g8c] ** Introduction[#n8eg4t4c] SIGverse is a well-designed free Virtual Reality cloud based simulator it is ment for human-robot interaction.~ You can rapidly test alogrmiths and train artificial intelligence structures based on controlled realistic environments.~ Our simulator is ROS (robot operating system) fully connective, easy to use and to edit it allows personalisations and improvements.~ SIGverse 3.0 is the latest version of the SIGVerse system.~ ** Improvements and add-ons[#j826bg39] We introduced several improvements into the SIGverse 3.0 version :~ + Unity based client makes the simulator, compatible with unity assets which allows personalisations and improvements. + Full connectivity to ROS (Robotic operating system) with dynamic topic/service generation . + Uses JSON / BSON communication protocol and can be connected to API based applications.~ ** System overview [#tebf1688] The system is client-server based architecture.~ #ref(Introduction_old/System_Overview.png,60%) Unity based Client is used to simulate the environment with high quality physics and graphics and makes it easy to personalize and edit features through unity assets. The server operate the connection to ROS this enables complex robotics operations and interaction.~ ** Client side[#a9a3df34] *** Unity Based Client[#j82hbg29] Unity Client contains to main parts which make the streigth of the SIGverse system.~ 1- Unity assets add several interactive devices such as HTC VIVE, Oculus rift ... and enables the human to interact with the environments.~ #ref(Introduction_old/Client_Unity.png,60%) 2- ROSbridge communication allows the robots to be operated through ROS.~ #ref(Introduction_old/Client_Server.png,50%) ** Server Side [#ad0g2er2] *** ROS based server [#tehf3572] The server makes it possible to operate robots though ROS providing to the SIGverse system a big flexibility and allows multiple client-server interactions.~ *** Architecture[#terf3376] The server uses two main components which enables the client to communicate with ROS.~ #ref(Introduction_old/Server_side.png,50%) +SIGVerseROSBridge uses BSON messaging and creates ROS nodes according to the static specifications.~ This module uses BSON to handle large memory messaging files like images.~ +ROSbridge which uses JSON messaging and provides a dynamic messaging interface.~ This module is uses to handle low memory messages.~