Haptic Gaming System
Overview
Haptikos is an interactive gaming system that allows the user to physically feel a virtual world. The player controls the cursor by moving the red joystick. Two games were created to test the feedback system. The first, the player assumes the character of LINK (from Zelda) and jumps through a side-scrolling level collecting rupees and avoiding red boxes. The second involves feeling out the virtual shape with nothing other than a blue position dot and a blank screen. The answer can be seen by pushing R.
The Team
- Yang Bai (Mechatronics Masters Student)
- Philip Dames (Mechanical Engineering MS/BS)
- Megan Welker(Mechanical Engineering BS/BM)
Mechanical Design
Existing System
Haptikos is a modification from a previous pentagraph configuration. This allows for the free point to be able to freely move in a fixed two-dimensional plane. There are two Canon TR-36 optical encoders with a 3600 count/rev in x1 mode mounted on top of the stationary pivot.(see below) They are used to track the angle of the larger bars and calculate the position of the free point.
System Modifications
The existing system had the capability to accurately tell where the free point was in space, but could not put any force on that point. A Pittman 700935 motorwas attached to each of the larger bars in the back of the pentagraph using a capstan configuration.
The capstan was created by milling two arcs out of Aluminum and then attaching one arc end to the furthest point from the backboard on each bar. A piece of heavy duty thread was set into the groove of the outer side of the arc and secured by screws on either side. To connect the capstan to the Motor, the thread was merely wound around the shaft three times and replaced tight into the groove. (see below)
The gear ratio the arc applies to the motor is approximately 14.7 to 1. (Radius of arc/ Radius of Capstan Drive)
Electrical Design
The five boards created to run Haptikos
|
PIC Configuration
Whatever this is
what it does
its circuit
Decoder
what it does
its circuit
Motor Control
how it controls it
its circuit
Pre-Programming Anaylsis
Philip would you like to put some of the mathematica code here, can we capture those graphs? I shall look into it...
Software
PIC Programing
To run the program you must download the HardwareProfile header files and the procdefs.ld file found here. HelloWorld PIC32
How we programmed it, Why we programmed it that way, how it talks to each other and gets the encoding information. How it talks to the motors to turn them on.
CODE
Game Programming
The games are programmed and run in processing. It can be downloaded here. Processing
Link's Adventure
This demo allows the player to run through a simple avoid and collect game set-up. Link can collect either red rupees that will increase his health, green rupees to increase his score, or blue rupees to slow the increasing speed of the red blocks. When Link runs into a red block, Haptikos will quickly push the joystick in the direction that the box was traveling then stop as the box disappears. It is very effective in telling the player they have hit something, but not very effective at keeping the player from repeatedly running into the boxes because it is more fun.
Below is the code from the Processing file