Saturday, May 4, 2013

Final Piece - Reflections

After the final presentations of our piece, "Zwischenkoerper", I would like to make a few reflections.

Positive Notes:
- I feel like our biggest improvement between the April 29th performance and the later performances was getting the pillows to reliably communicate to the base station all at the same time. Once we accomplished this, it was much easier for the audience to figure out how the pillows related to the visualization on the projection screen.
- Andrea did a very good job each and every time with the choreography and interacting with all the various elements of our system.
- We got all three pillows to communicate!! I had my doubts, but we were able to pull it off. Thanks to Catherine and Thomas for putting in extra long hours to get them all to work.
- The Kinect worked like a charm. We never had to update the code or change anything about the motion capture system after our initial successful implementation.

Negative Notes:
- The interaction with the pillows was still much more coarse than we had originally imagined. We wanted very particular interactions to show on the screen from particular sensors on the pillows. It turned out that the best we could do is: small pillow shows up when rotated, medium pillow shows up when thrown around on the ground, and large pillow shows up when crushed or laid upon.
- I wish we would have had the growing and shrinking visualization for Andrea in the final show. I think that it would have made for a more interactive aspect in regard to Andrea.
- It would have been cool for the audience to be able to interact with the pillows while Andrea was dancing. As it was, our piece lacked the audience interaction we were originally aiming for.

Conclusion:
I feel very proud of our team and of our final project. It turned out way better than I imagined it would, and I feel like the system we created was both fun for Andrea to work with and fun for the audience to watch. Once again, the talents of our multidisciplinary team were put to good use to create a fascinating result.

Final Piece - Motion Capture strategy and code

For our final project, we had two methods for motion capture: Kinect video processing of Andrea's movement and the various sensors embedded in the 3 pillow bodies.

For the Kinect video processing, we wanted to keep a very minimalistic and natural approach to motion capture. We saw some of the shortcomings of using the Kinect through the earlier sketches by other teams, and we wanted to keep the Kinect as "out of sight, out of mind" as possible. Through my playing around with the Kinect SDK, I first decided upon using the DepthBasics sample program to base my program on. This sample was fairly accurate at capturing depth data, and my idea was to be able to capture the convex shape of Andrea's body and track how big or how small the area was. This moved me to learn more about the User-tracking feature of the Kinect. It turns out, however, that the Kinect mush have skeleton-tracking enabled in order to use the user-tracking feature.

This led me to experiment with the SkeletonBasics sample program. I then soon found that the skeleton-tracking did not work well for having bodies upside down or lying on the floor. The solution for this problem was to rely on center of mass processing in the program. After capturing the center of mass, I was able to pipe this information into Touch Designer, where we could use it to control the visualization based on position and speed of movement.

https://dl.dropboxusercontent.com/u/104459740/SkeletonBasics.cpp

https://dl.dropboxusercontent.com/u/104459740/SkeletonBasics-D2D.exe


The next part of the motion tracking strategy was to create the three interactive pillows and capture data on each one. Our original goals for the pillow were as follows:

Small - Use accelerometer to determine orientation and speed of movement of pillow
Medium - Have multiple "hairs" (flex sensors) which would respond when pet.
Large - Have multiple squish sensors which would respond when hugged.

These goals were more or less accomplished in our final product, but not to the granularity we originally imagined. We successfully utilized the small pillow and its accelerometer. The middle pillow turned out to be very finicky, and only responded when significant force was applied (as when Andrea throws it around). The large pillow acted similarly, requiring a good deal of force to set off the sensors, and even then, they were not 100% consistent.

The lessons learned in this project were twofold: to figure out what type of motion tracking is desired and correctly gauge the time it takes and the resources necessary to accomplish it.


Monday, April 22, 2013

It's working!!

I finally figured out the error in the sample circuit in the large pillow. The + and - leads for the vibrator were both touching the vibrator housing, thus short circuiting and diverting the current around the vibrator.

Simple fix -- tape the leads down.

Yay!

*Old Post* Final Presentation - Concepts

***Old Post for Final Project. We eventually went to a new idea***

Yesterday, our team ( - Federico and + Katherine) started working on hashing out ideas for our final piece. We began by making a list of things we thought were fun and embodied play. Our list included things from bouncy castles to throwing paint.

At the end, our current idea (which still needs to be readjusted and fleshed out) is to make a two-room piece in which actions the audience performs in one room affect the dance performed in the next room. The audience will think that the first room is self-contained, and will be moderately entertained by playing around with things

Work Day 4.21

Work Day on Sunday Night 4.21

Debugging the electronics of the pillow creatures...

6:00-7:15
Started by talking to Catherine about what's currently wrong with each creature. I think the list is as follows:

Large Pillow:
      - None of the vibrators are working
      - Voltage connection to XBee is shaky
      - The voltages on the transistors are not very intuitive

Medium Pillow
      - Flex sensor data coming from pillow is not intuitive (We have no idea why it's sending what it's sending)
      - LEDs are not mapped to the correct flex sensors

Small Pillow
      - Unknown... Wait on this one

7:15-
Catherine has to go home, started working on understanding one isolated circuit of the Large pillow.

7:30 --taped down conductive thread connections, stopped flickering of power to circuit.

7:45 -- I think the voltages going into the vibrator are reversed...

8:00 -- No they're correct

--Break from 8:15-11--

11:13 -- The battery is dead. And the low battery has been causing a problem. It can't supply enough voltage for the Arduino to properly send out 5 volts on 5 pins. With the USB cable attached, the proper voltages are sent out.

     

Friday, April 12, 2013

Project Meeting 4/12/13

Project Meeting 4/12/13

Today's goals:
- Get two XBees connected.
- Get Pillow Creature 1 to talk to Touch Designer
- Get Touch Designer to receive data from Kinect

Wednesday, April 10, 2013

Find-a-conference/festival!!

While searching around the internet, I found a conference called SPLASH (Systems, Programming, Languages and Applications: Software for Humanity). The home page is here:

http://splashcon.org/2013/

This conference discusses how to use different systems and/or computing techniques to better integrate software with humanity. I thought our project would fit nicely here because our project deals with two different types of human/software integration: the Kinect, and a physical computing sensor blob.

Here is the website for the Student Research Competition:
http://splashcon.org/2013/cfp/due-june-28-2013/664-acm-student-research-competition

And here are the details involving submission:

Submission Summary
Due on: June 28, 2013
Notifications: July 28, 2013
Camera-ready copy due: August 28, 2013
Format: ACM Proceedings format
Contact: Isil Dillig and Sam Guyer (chair)