Virtual Imaging Peripheral for Enhanced Reality
description
Transcript of Virtual Imaging Peripheral for Enhanced Reality
Virtual Imaging Peripheral for Enhanced Reality
Aaron Garrett, Ryan Hannah, Justin Huffaker, Brendon McCool
Project OverviewOur project, code named Virtual Imaging Peripheral for Enhanced Reality or VIPER, is an augmented/virtual reality system. It will track a handheld unit’s location and perspective and use this information to find the location of a camera position in a virtual environment. Through a LCD screen on the handheld unit the user will see the virtual environment at the cameras location as if the handheld unit was a window into the virtual world. As the user moves the handheld unit around a table top sized environment the handheld unit’s actual and virtual perspective changes, allowing for different viewing angles of the virtual space.
Project-Specific Success Criteria1. An ability to communicate time stamp data using
RF between the base unit and handheld unit.2. An ability to display images to the LCD display.3. An ability to estimate the angle and position of
the handheld unit with respect to an origin point using accelerometer, gyroscope, compass, visual data, and ultrasonic data.
4. An ability to find angle displacement of the handheld unit’s front face relative to the IR beacon origin using mounted camera.
5. An ability to find distance from base to handheld unit using ultrasonic emitter and receiver.
Block Diagram
Beacon Unit – Software Design Considerations Requires use of
PWM for LED Ultrasonic
UART Xbee
Timer Control Interrupt
Global Variables timeToStartPWM_flag timeToStopPWM_flag pwmActive_flag
Beacon Unit Software FlowChart
Beacon Unit Software Hierarchal
VPChip – Software Design Considerations Requires use of
I2C (TWI) Camera Commands
SPI Transmit IR
displacement angle ISI (Image Sensor
Interface) AIC (Advance
Interrupt Controller)
Global VariablesVariable Size (bytes)frameReady_flag
1
buffer_pic 614400 (RGB array)
copy_pic 614400 (RGB array)
x_pixel 4 (int)y_pixel 4 (int)x_angle 4 (float)y_angle 4 (float)
VPChip Software FlowChart
VPChip Software Hierarchal
USB HUB – Software Design Considerations Requires use of
SPI IR displacement angle
input UART
Xbee AtD
Ultrasonic Receiver input I2C
Sensor Control and Data bus
USB External Interrupts Timer
Elapsed Timer
Flags accelerometerDataReady gyroscopeDataReady magnetometerDataReady atdReady serviceFlagsQueue serviceFlagsCount
Variables newDataFlagArray dataArray elapsedTimerCounter recievingUltrasonic currentSPIInputByte tempDataArray Rs-232 circle buffer Head/Tail buffer pointers
USB HUB Software FlowChart
USB HUB Software Hierarchal
Beagle – Software Design Considerations Requires use of
USB Graphics/OpenGL
Running Ångström Linux distribution
Global Variables State Vector External angle
quaternion
Beagle Software FlowChart
Beagle Software Hierarchal