Giter VIP home page Giter VIP logo

tesis's Introduction

Table of Contents

Brief

The requirement of a 3D Annotation System for Immersive Environments without concurrent telecoperation capabilities was a basic and unfulfilled need present at the Institute Image when I arrived. For this reason I was given the task of developing such system as my undergraduate thesis. The use of the immersive facilities present at the Institute in the provided solution was a requirement. The provided application succeed in the fulfillment of the original requirement. The following document describes this solution as well as the considerations taken in account for developing it.

You can read the whole final report in the Document Section of the repository.

General Technical Overview

This application has been tested using an Android Galaxy Tab and two Windows XP PCs. One of the PCs works as the VRPN Server, and the other one renders the stereo images for the projectors and a single image for the tablet screen. In theory it can work with up to 4 stereo screens and the tablet, but this was never tested.

How to make it work

First download the whole Software Section of the repository. Open the Annotations project, located in the java directory, in eclipse. You must have the Android Developing Add-ons installed in order to make it work. Connect the tablet to your computer using the USB cable.

The VRPN configuration file is located in the C++ subdirectory of the Software dir. This file contains only three important lines. The first two lines define a complex device called GGG, the tablet as well as the master screen connect as this unique device. The last device is the IR Tracking System.

The Configuration of the tablet app is located in the xml files in the res/values in the eclipse project.

The Configuration of each one of the instances of the C++ program is located in the same folder as the executable, You can see examples in the Debug_Tablet and Debug_Spidar folders, of the C++ Visual Studio Project.

Assigning IPs and Ports

Fisrt of all, you have to guarantee all the computers involved are in the same network. As the tablet must be connected via WiFi, this can be achieved defining a DMZ (Demilitarized Zone) in the router for the tablet, and connecting the router to the same network of the PCs running the software.

In the computer running the VRPN server: It's better if you don't change the ports of the configuration, if you change them, you'll have to change them also in the C++ code and in the tablet configuration. You only have to compile the vrpn server and use the configuration file provided and it's ready to go. If your' tracking system connects to a different port, or has different device ID's you'll have to change that also in the Tablet Configuration and on the C++ code.

In each computer running the C++ program: When I made the tests of the program it just ran in one PC, but if you have several screens in your immersive system you will have to run the same program in each of the computers. Is exactly the same executable, the only thing that changes is the configuration file. The configuration file is called moveConfig.txt. The face parameter on this file sets the face that will be rendered by the app. The codes are: -1 for the tablet, 0 for the center, 1 for the left, 2 for the right and 3 for the bottom screen. The tabletIp parameter sets the ip of the tablet (where the render stream will be sent), it only matters if the screen id is -1. The IP of the VRPN server is hardcoded in the source.

In the values.xml file on the Tablet project: The VRPN Server IP must be set in here, as well as the connection port, the incoming UDP port for the streaming, and the XML Server port that is a part of the project that doesn't fully work.

tesis's People

Contributors

fpinzn avatar

Watchers

 avatar James Cloos avatar

Forkers

iurnah

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.