Final Project for Interactive Media
While I've been concentrating a lot on plotting cool systems of differential equations, I want to move my attention a little to the realm of making physically interactive systems. My final project for interactive media is a good example of the kind of stuff that I want to investigate in the coming weeks. My inspiration for the project was the thought that I might be able to feel a virtual electric field. By virtual, I mean that I wouldn't be actually creating an electric field and using a physical sensor to detect it. Instead, I place a virtual point charge at some point in space, and by moving her hand about in the neighboring space, a user can feel how the magnitude of the field changes.
In order to actually 'feel' the field, I sewed four vibrating motors into a cheap glove from Lulu (a hypermarket in Abu Dhabi). The magnitude of the field (or rather, distance from a predetermined point in three dimensional space) determines how many motors vibrate, and how hard each of them vibrates. I localized the glove in space using the Xbox Kinect and some IR reflective tape. The strips of tape on the glove end up being the brightest object in the frame of the Kinect, so it can reliably identify the position of the glove inside the frame. With the two dimensional coordinates of the glove, one can calculate how far the glove is away from the sensor, getting the final depth coordinate. After some prodding from my professor, I added a visual component to the system, so that a user could follow their hand on a screen. You can see a video of my project in action here. Thanks to Shunya for filming.
I ran into some issues when displaying my project at the end of semester show. First, I didn't anticipate that users would want to use their left hands. I am right handed, and I built the glove with the right hand in mind. Incidentally, I put a strip of reflective tape on the back of the glove, so that left handed users could use the glove. This is a simple design consideration that I hope to not overlook again. The second, and perhaps most important issue was the Kinect's difficulty in finding the reflective tape. If the user wasn't blocking ceiling lights, the Kinect would identify the light from ceiling lamps as the brightest IR spot in the frame, making it so the glove worked in a bit of a glitchy manner. I've got a couple of ideas as to how to fix this, but I think it might introduce an unnecessary layer of complexity that would end up messing things up.
I also had difficult explaining how I conceive of the project. For many people, the notion of a virtual electric field was a little weird, and they couldn't disentangle this from a real electric field. I think this stems from my inability to properly describe the concept of a vector field in the first place. (In reality, of course, my glove didn't actually detect fields, because vibrations correspond to the magnitude of the field at a point, not changing given the orientation of the user's hand) By the end of the show, however, I realized that it isn't necessary to actually describe an electric field. It suffices to say that the glove will vibrate more as a user approaches a central point in the frame of the Kinect. People thus gain an intuitive understanding of a vector (but practically scalar) field, without my theoretical explanation. I also realized that it would have helped immensely if I had put a physical object close to the location of the virtual source charge. I think this would have helped people ground themselves a little more (no pun intended).
In order to actually 'feel' the field, I sewed four vibrating motors into a cheap glove from Lulu (a hypermarket in Abu Dhabi). The magnitude of the field (or rather, distance from a predetermined point in three dimensional space) determines how many motors vibrate, and how hard each of them vibrates. I localized the glove in space using the Xbox Kinect and some IR reflective tape. The strips of tape on the glove end up being the brightest object in the frame of the Kinect, so it can reliably identify the position of the glove inside the frame. With the two dimensional coordinates of the glove, one can calculate how far the glove is away from the sensor, getting the final depth coordinate. After some prodding from my professor, I added a visual component to the system, so that a user could follow their hand on a screen. You can see a video of my project in action here. Thanks to Shunya for filming.
I ran into some issues when displaying my project at the end of semester show. First, I didn't anticipate that users would want to use their left hands. I am right handed, and I built the glove with the right hand in mind. Incidentally, I put a strip of reflective tape on the back of the glove, so that left handed users could use the glove. This is a simple design consideration that I hope to not overlook again. The second, and perhaps most important issue was the Kinect's difficulty in finding the reflective tape. If the user wasn't blocking ceiling lights, the Kinect would identify the light from ceiling lamps as the brightest IR spot in the frame, making it so the glove worked in a bit of a glitchy manner. I've got a couple of ideas as to how to fix this, but I think it might introduce an unnecessary layer of complexity that would end up messing things up.
I also had difficult explaining how I conceive of the project. For many people, the notion of a virtual electric field was a little weird, and they couldn't disentangle this from a real electric field. I think this stems from my inability to properly describe the concept of a vector field in the first place. (In reality, of course, my glove didn't actually detect fields, because vibrations correspond to the magnitude of the field at a point, not changing given the orientation of the user's hand) By the end of the show, however, I realized that it isn't necessary to actually describe an electric field. It suffices to say that the glove will vibrate more as a user approaches a central point in the frame of the Kinect. People thus gain an intuitive understanding of a vector (but practically scalar) field, without my theoretical explanation. I also realized that it would have helped immensely if I had put a physical object close to the location of the virtual source charge. I think this would have helped people ground themselves a little more (no pun intended).