Monday, May 9, 2011

Project Introduction and Overview

Background Info

In today’s video game market, the current trend for hardware and software engineers alike is motion capture.  Following the launch of the Nintendo Wii in 2006, which brought with it an unprecedented level of motion sensing in a retail console through the Wii Remote controllers, Sony and Microsoft have been quick to respond with the PlayStation Move and Xbox Kinect, respectively.  Surprisingly, despite these recent trends, vendors have not made substantial progress towards expanding the motion sensing market towards the best-selling titles over the last five years: specifically, first-person shooters from the Halo and Call of Duty franchises.  FPS 360 fills this void by demonstrating how to create an enjoyable and immersive platform for motion capture in the first-person shooter (FPS) genre.

The focus of this project was the use of a plastic toy gun as the primary form of user input to the Xbox 360.  The user can aim the gun and a dual-axis gyroscope senses the changes in the guns orientation.  An mbed microcontroller placed inside the gun realizes the analog gyroscope data, along with an analog joystick and buttons for the rest of the Xbox 360 controller interface (see picture below).  Using an XBee point-to-point wireless chip, the mbed in the gun builds packets of controller data and sends those over a serial interface to the XBee.  Another receiving mbed (connected to a second XBee) receives and decodes each packet.  It then uses four DACs (one internal, two I2C, and one custom) to generate realistic analog values for the two joysticks on the Xbox 360 controller.  Each button contact on the Xbox 360 controller is also attached through a relay that is controlled by GPIO on the mbed: whenever a button is pressed, that relay will be closed, otherwise, it will be open.  Finally, in order to complete the design, a display was mounted on the top of the gun and the software was calibrated to allow the user to experience the feeling of moving and looking around in the virtual game environment.

Design Overview

An overview of the hardware design of the system can be seen in the following picture.
Block diagram giving an overview of the design
This project can be divided into two largely distinct functional units: the transmitter, which is the right mbed in the picture above (and everything connected to it), and the receiver, which is the left mbed.  The hardware and software design for each of these will be discussed separately in sections III and IV, respectively.  Functionally, the two blocks can be treated as distinct.  The transmitter essentially converts the user input from the gun to a packet format that is fundamentally the same as the standard Human Interface Device (HID) protocol, while the receiver will use this HID-like data to configure relays and DACs connected to an Xbox 360 controller to control the character in game.

No comments:

Post a Comment