Friday, May 4, 2012

Final Project

For my final project, I started with an interest in eye-motion as a form of input, and after looking around a bit, I came across the eye-writer project, which was an initiative set forth to help bring an affordable means of eye-control as a form of communication to those who are otherwise paralyzed:

This left the question of what physical medium I'd be able to incorporate into all of this, and after plenty of deliberation, I decided I'd try and start with something small and simple, such as a servo-mounted laser pointer, which would ideally point in the direction that the user was looking at, based on values taken from the eye-writer software.

In the end I was able to get the eyewriter together and functioning, as well as the laser, as shown in the videos below:






One drawback to the eyewriter is that the user isn't really able to move his or her head, as it throws the calibration(shown below) totally off. The tracker is calibrated by making the user look at an array of points on the screen or surface that will be being used, and interpolates the corresponding eye motions, so that the cursor can move smoothly in response to the eye. Thus, if the user even slightly moves his or her head, the eye is moved to a new baseline position so to speak, and can't use the previously calibrated values. I figured that one interesting way around this might be to mount the laser (which would be acting in place of the on-screen cursor) on to the user's head somehow, thus making it independent of the constraints that the head's position relative to the screen presents, but this was something I didn't get a chance to work on.


What ultimately prevented me from achieving my original goal, was that I ended up being unable to locate the independent interpolated values from within the software, that I could serially send out to the arduino, although I imagine that I should be able to find them if i poke around some more.

I also think that a similar calibration system would need to be implemented, where the laser might point to a series of different points on a given surface, and using those results, the laser could be controlled more precisely.

1 comment:

  1. hello
    I too am working for my final year project but i got stuck up at the point,how to control a servo with eye writer how to modify the code for that.
    desperately looking i found what i am looking for can you tell me how to modify the code for servo control please

    ReplyDelete