Title: Virtual Reality Development Kit
1Virtual Reality Development Kit
2Group No. 26
- Dylan Walker Team Leader
- Anna Alaimo
- Sylvester Nowak
- Saul Rojas
- Suzanna Yau
- Mark Shirley
- Faculty Advisor Hong Man
3Abstract
- The Virtual Reality Development Kit (VRDK)
- A hardware/software package that allows
developers of VR applications access to
inexpensive open-ended position-tracking hardware
and multi-user network interface software. - The VDRK includes
- Hardware Optoelectronic infrared (IR) sensors
and supporting timing circuitry, microcontroller. - Detects body position via analog IR signals, A/D
samples signals and triangulates. - Software Client-Server communication, client
rendering - Integrates multiple users, Renders perspective to
video output.
4Abstract Block Diagram
- Sensor Transmission Unit
- Located on users body
- High power IR LEDs
- Power Supply
- Sensor Reception Unit
- Located off-body
- 3 IR phototransistors
- Sends 3 output
- channels to MCU
- Microcontroller
- A/D samples 3
- channel inputs from
- SRU
- Sends data to Client
- Client Application
- Read data from
- serial port
- Obtain user data
- Exchange data with
- Server application
- Server Application
- Connect with
- authorized clients
- Exchange data with
- clients
- Creates data bank
- Rendering Application
- Render video output in
- proper perspective
5VDRK Prototype
- While many components of the VDRK were completed,
hardware problems prevents the aggregation of
these components into a unified prototype. - Completed
- Client-Server network software
- OpenGL rendering software
- Timing circuitry for the on-body IR LEDs
- MCU A/D sampling and serial communication
- IR phototransistor reception response
- Incomplete
- Triangulation processing code
- Integration of timing circuitry with on-body IR
LEDs - Integration of network and rendering software
6Client-Server Network Software (1)
- Composed of two software applications
- Client Application
- Obtain data from client hardware
- Perform triangulation calculations with obtained
data - Exchange data with the server
- Pass received data from server to rendering
application - Server Application
- Accept incoming connections and data
- Create a data bank of client data and statistics
- Create and send a unique data source for each
client
7Client-Server Network Software (2)
- Client Application
- Successfully implemented Berkeley Socket API to
establish Client Server communication using
Sockets - We have changed our design to include
triangulation calculations previously planned to
be performed by the MCU - Server Application
- Successfully implemented a data bank to store
user data and statistics
8Microcontroller A/D Sampling (1)
- MCU Micro Controller Unit
- Perform A/D sampling on output signal of three
phototransistors - Transfer result of A/D samples to PC
- Complete code to program the MCU for A/D sampling
and data transfer
9Microcontroller A/D Sampling (2)
- PIC 16F877 Microcontroller and LAB-X2 EV board
used - 8 channel 10-bit Analog-to-Digital conversion
- RS232 Serial Port interface
- PicBasic Pro Compiler for high lever language
programming
10Microcontroller A/D Sampling (3)
- A/D sampling
- We have completed the programming code for A/D
conversion and data transfer to PC using the
serial port - We have tested A/D conversion using 3 A/D
channels of the MCU
11OpenGL Rendering Software (1)
- Description
- Allows user to virtually move and position
himself in a rendered virtual room. - To further user immersion, the user views the
room and its contents in his own perspective. - Rendered video output may be connected to a
commercial head-mounted display.
12OpenGL Rendering Software (2)
- Two robots are placed in our virtual room for
demonstration purposes - Each represents a user.
- The software was developed with the intention of
receiving an input file from the network
application.
13OpenGL Rendering Software (3)
- Measured Prototype Performance
- Collision detection is implemented so that users
cannot move through walls or furniture - Local user position, such as limb orientation may
be specified continuously.
14OpenGL Rendering Software (4)
- Prototype Performance Comparison
- Contrary to initial software design, a users
global angular position may only be specified in
90 degree increments. - To test the rendering software
- User position data may be altered through
keyboard input. - Perspective can be switched between the two user
robots within the room.
15OpenGL Rendering Software (5)
- Future Enhancements may include
- Implementing smoother, more realistic turns by
our virtual users. Currently, a user may make
turns at 90 degree angles only, although his
limbs are able to move in a fluid, life-like
motion. - Integration with client network application.
- Improved graphical user models.
- Various settings and design for the virtual room
16IR LED Timing Circuitry (1)
- Our initial design for the infrared LED Timing
Circuitry called for
- This did not prove possible, due to lack of
availability of a 1x64 demux.
17IR LED Timing Circuitry (2)
- The following alternative was implemented instead
- This can be generalized for 2n LEDs with an n-bit
counter
18IR Phototransistor QSD724
- Features
- NPN Silicon Phototransistor
- Package Type Plastic TO-18
- Daylight Filter
- High Sensitivity
- Package material and color black epoxy
19IR Phototransistor Response (1)
- Improper functioning of the phototransistor
components was the largest hardware problem
encountered in our project. - It generated a roadblock to the integration of
our hardware elements into a single package - Despite numerous biasing methods, we were unable
to obtain a significant response of the
phototransistor to infrared light.
20IR Phototransistor Response (2)
- After several weeks of troubleshooting with our
distributors tech. Representatives, we were
informed of a possible batch error in
manufacturing. - We ordered the same components from a different
distributor and tests were successful. - However, the range of linearity in response was
less than expected. - We were able to arrive at an empirical fit of the
voltage output as a function of IR LED distance
over a larger range V(d) .0246 d-1.71
21IR Phototransistor Response (3)
22Financial Budget (1)
- Cost of prototype VRDK
- Direct labor and materials
- Indirect labor and miscellaneous expenses
23Financial Budget (2)
24Financial Budget (3)
- Total cost of prototype VRDK 33,600 303.10
263.15 34,166.25 - Compared to the estimated development cost
calculated in December (39,000), the
development cost of the prototype in actuality is
5000 less. The main reason for the cost
reduction is already existing equipment in the
Electronics Lab (oscilloscopes, multi-meters,
power sources, etc.).
25Schedule Proposed Gantt Chart
26Schedule Actual Gantt Chart
27Rendering Software Demo
28Questions?
?