Looking Outwards – Projection Art

Lit Tree by Kimchi and Chips

Kimchi and Chips maps the projectable surfaces of a tree in order to project onto the branches, stems, and leaves. In this way they are using the tree to create a 3D voxel display. I like this because it is an unconventional way to display a 3D image. It relates to my project in that I plan to work with projectors and 3D imagery.

Lighting of the Sails by URBANSCREEN

In this project the group URBANSCREEN projected onto the Sydney Opera House. I liked it because they used imagery which caused you to question the shape of the opera house. Particularly when the opera house appeared to be sails blowing in the wind. This is relevant to the work I’d like to do because I plan to work with projection.

Box by Bot & Dolly

Look Here.

BOX is interesting because it looks like magic. The camera movement is well planned and works perfectly with the movement of the screens and the projections. While watching I forgot at times that I was seeing a screen and not a moving box. This is relavent to my work because I would like people to watch a projection I made and forget that they are looking at something formed from technology.

 

Looking Outwards : Mostly Virtual Networked Objects

INSPIRING

Orange Soapstone : Dark Souls
While this networked object exists solely within the virtual realm of the video game Dark Souls, its core functionality is very applicable to the real world. The description of the object is as follows:

“In Lordran, the flow of time is distorted, and messages allow Undead to assist (or deceive) one another.”

The item allows players to mark messages onto a specific location in the game environment and leave them for other players. Mind you, the game is primarily one player, as each character exists in their own instance of the Dark Souls universe. However, the messages cross the border between these instances, allowing players to communicate via these marks.

In game, these amount to messages like “watch out for the falling boulder ahead” when one is about to encounter a booby trap, or something along those lines. However, real life lends itself to much more variety in terms of location specific data (“this guy is a creep” marked in front of someone’s house, or “the wings are bomb” in front of a diner).

DISAPPOINTING

Red and Blue Teleporter Pyramids : Divinity : Original Sin

This object exists in pairs. Activating one pyramid teleports the user to the other. One can leave one pyramid in a safe position, venture out into the wilderness, and use the other one to teleport back to safety when needed. My only disappointment with this object is that it does not exist in real life, but the simple way that the pair of objects relate inspires an array of different strategies and uses. Perhaps teleportation of the body back and forth between objects is impossible, but other forms of exchange are fair game.

SURPRISING

Songdo International Business District

The Songdo International Business district is the first actual smart city; that is, a city built from scratch mostly out of networked components. I was surprised that a networked project on this scale is nearing completion at this very moment. The city features voice and facial recognition sensors for security, among other city spanning networked content.

Sketch

 

 

 

Bloom

My original idea was inspired by my looking outwards post, RUAH by Giulia Tomasello. Instead of emphasising the importance of diaphragmatic breathing, I wanted to explore the interaction between two people and flowers blooming. Like free hug that was once popular, I wanted to explore the interaction especially act of hugging between two people, since hug could potentially not only cheer up a person but also cure their sadness in their hearts. I would used motor and pressure sensor to make this project happen. I think I would mostly focus on making the motor open up the back of the clothing so that the inside could be revealed and work one making the flowers look as if they are alive and they are blooming more as the person was hugged more firmly and tightly.

My biggest step in this would be figuring out how to make the motor and the fabric work together to form something that would make it look naturally opening and look as if it was really something alive rather than something human made.

Waves

My idea came from the waves and how it would reflect the sky on to its surface. I wanted to create a simulated nature where there would be small reflective piece on each motor and as a group it would interact with human or show the simulated nature. I originally came up with the idea for the reflective piece as aluminium piece, glass, and acrylic but Golan also gave me an idea about using the dichroic glass and lighting.

My biggest step in this project would be figuring out how to show this with the lighting and the projection that might be projected on to the pieces. How it would be shattered and reflected both the lights and the projection and what effect it would cause the viewers is something to also think about.

20141119_160002

Looking Outwards

RUAH by Giulia Tomasello

RUAH by Giulia Tomasello reacts to human breathing and makes people think about the diaphragmatic breathing and how important taking time in modern society is. The Corset helps the wearer perform a slow deep diaphragmatic breathing, taking time to relax and providing chance to think back at oneself. Her works consists of muscle wire and and Lily pad. I think her work is meaningful in a busy life style that people have and also since its finals week.

Her work is something that is wearable, which is related to my final idea and also something that is inspired by the nature which I can get a lot from. I want to investigate more about the usage of the muscle wire and also the movements that are created by the Arduino since by the video, it looks as if it is actually an organ moving rather than something mechanical.

Blog Post

Wooden Mirror

This interactive art that is wooden mirror has a camera that transfers the image to motors that control blocks of wood to show the image on the camera. The program controls the pixels taken by the camera and transfer them onto big blocks that can be transferred into the motors and control the motors degrees that affects the color of the wood (due to the amount of light that a single wood piece changes as the degrees change)

I think this project helped me develop my second idea of the simulated waves that changes color or either reflection according to the movement that a person makes. Right now I’m thinking of just an interaction since making a mirror like project is out of range of what I can do but this project had made me think of more about the movement of one piece making up the whole.

Clothes for Orciny by Lea Albaugh

This project of clothes that changes as the person walks across the border. This simple interaction had inspired me to develop my ideas for clothing too and some conceptual ideas about how to make my design work based on it.

 

Looking Outwards: THE FINAL PROJECT OF ULTIMATE DESTINY

So if you’d believe it or not, I had a really silly amount of trouble finding any large-scale installations or no-expenses-spared versions of what I’m aiming to do. There are, however, a lot of really ghetto built-in-mom’s-basement versions on Youtube, complete with horrible pop soundtrack playing in the background like so much elevator muzak.

This first project is along the same lines of what I’m up to; it’s a set of LED lights that respond to the music in much the same way that an equalizer does:

Second we have someone working with a whole lot of LEDs at once; they’ve made a full equalizer as well as various patterns that seem to move in time with the music:

Lastly we’ve got this guy giving a full video tutorial of his project, including the code. What he’s done, essentially, is pretty much exactly what I want to do only on a much smaller scale: He’s got three large LEDs responding to each of the low, middle and high frequencies. As far as mine goes, I’m mostly just doing this with more lights and more colors, but we’ll see how advanced I can manage. Anyway, here’s his video:

In addition to these, there’s a lot of really nice little tutorials out there that either have elements of or a version of what I’m trying to do, so I’m pulling together a decent idea of the work I have cut out for me.

Bird’s Eye View: Concept and Sketches

Bird’s Eye View is a map that one explores using their head. My plan is to use with FaceOSC to create a control scheme allowing one to move around a map using their head position. I also have to make a program that splits my giant map image into tiles, and then displays the relevant tiles based on where the motions of the user’s head places the view port.
finalprojectsketch Big thanks to Golan Levin for explaining to me how a map-tile-loader should work.

Below are a few sample images from the map I’ll be using. It was stitched together from snapshots of satellite images available through Google Maps (In other words, even though I have edited these images, I do not claim ownership over them, and am using them for a purely academic purpose.).
mapview1 mapview2 mapview3

Looking Outwards Assignment 13

Poppy is an open-source 3-ft humanoid robot and the main inspiration for my final project design-wise.  It was created by Flowers Lab at Bordeaux, France for use in both the arts and sciences, and as such it uses an Arduino, Raspberry Pi and other relatively easy to use components.  However, there are some distinct differences that make Poppy quite different from my design.  Although Poppy is designed as a more affordable medium-size humanoid robot than its competitors, it is still quite pricey: roughly $11,000 for all the parts, not assembled.  While I wish to have the same form factor in my design, I simply do not have the budget to recreate it exactly.  The main  difference is the servomotors – Poppy uses expensive Dynamixel servos ($200 per motor), and I use cheaper hobby servos ($11 per motor).  Also, the parts for Poppy are all 3D-printed; I used laser cut acrylic as I did not have the time to 3D-print all the components as that would take well over 80 hours on a standard MakerBot.  Despite this, it was very useful for me to study the all the joints and form of this robot.

RoboThespian is a large humanoid robot created by Engineered Arts Ltd.  I think this project is very similar to mine for the fact that both robots are designed to emulate humans: RoboThespian an actor on a stage, and mine a student in a classroom.  Another similarity is that both robots use LCD screens as a method of displaying a wide range of emotions.  I cannot say whether this robot’s motions are pre-animated or whether it can generate behaviors in real-time.  It interesting to ask when a robot becomes more than a mere animatronic and actually an interactive machine, which is what most people imagine when they think of robots.

Pepper is an expressive large humanoid robot created by Aldebaraan Robotics, and it begins to transcend into the realm of commercial robots.  Reportedly costing around $2000 (although not for sale yet, this is very cheap for the robot’s size and functionalities), the robot is designed to act as a store guide.  The robot has already taken some roles advertising Nescafe machines and selling mobile devices in a phone store in Japan.  While in commercial environments, it can be quite tricky to match to practical use for the asking price when dealing with large humanoid robots such as these.  Despite the fact that it may be a glimpse into a possible future where humans and humanoid robots coexist abundantly, one wouldn’t be too wrong if he or she thought Pepper was nothing more than a giant toy.

Assignment 13 Sketch

For this final project, I intend on constructing a 2.6-foot humanoid robot named Halley that exists for the purpose of emulating a single student in a classroom.  The robot would be remote controlled from another computer and be able to perform tasks such as raising a hand and asking questions.  Halley would also be equipped with an Android phone for a face, allowing for a wide range of emotions to be displayed.

Here is a concept sketch:

halley_concept001

And here is a concept rendering:

Halley_Ortho

This would probably not be possible to build in the course of two weeks, however, fortunately for me, I have been planning for it since the beginning of last year and assembling it since the beginning of this semester, thanks to the support of an FRFAF Microgrant (am about 80% done with raw assembly), meaning I can get it done just in time for the purposes of a final project.

While I do not expect that I will be able to complete the full functionality as a robot student until after Winter Break, I do think I will be able to get some interesting behaviors working.  Primarily, I expect to have actions mapped to certain keys such that when pressed, the robot will proceed to play that action.  Some actions I will probably set are shaking hands, raising hands, looking up/down/left/right, standing up and sitting down.

Something funny to take out of this, the way I see it, is that students are so detached while in some classrooms and lecture halls that they may as well be robots.

 

just goin for a spin (my hamster tweets)

Yung Quinoa the hamster has a tendency to run on and off her wheel incessantly, mostly between the hours of 1 am to 4 am, so I attached an arduino with a pressure sensor to her wheel which tweets every time she hops on and off. I sometimes try to imagine her life, caged, where the only escape and use of time is to run on a stationary object for hours, spin out of control, return, repeat (sounds a bit familiar though).
I still need to work out some difficulties and adjust the code so that it register when she gets on and then off the wheel, as it now just tweets whenever she is on it, and so on for every minute.

Screen Shot 2014-11-19 at 7.15.23

Screen Shot 2014-11-12 at 15.24.07

Processing Code:

import com.temboo.core.*;
import com.temboo.Library.Twitter.Tweets.*;
import processing.serial.*;

boolean justTweeted;
boolean neverTweeted = true;
int lastTweeted;
int TWEET_DELAY = 1000;
int TWEET_THRESHOLD = 320;
int valueA;
int valueB;
Serial myPort;  // Create object from Serial class

// Create a session using your Temboo account application details
TembooSession session = new TembooSession("yungquinoa", "yungquins", "Sc1TnGcVSeca7S8nikXg7poaElZ98wJi");

void setup() {
  String portName = Serial.list()[2];
  myPort = new Serial(this, portName, 9600);
  serialChars = new ArrayList();
}

void draw() {
  processSerial();
  int tweetDiff = frameCount - lastTweeted;
  println(valueA);
  if((valueA > TWEET_THRESHOLD) && 
     (neverTweeted || (tweetDiff > TWEET_DELAY && !justTweeted))) {
    neverTweeted = false;
    lastTweeted = frameCount;
    justTweeted = true;
    println("Tweeting");
    runStatusesUpdateChoreo();
  }
  else justTweeted = false;
}

void runStatusesUpdateChoreo() {
  // Create the Choreo object using your Temboo session
  StatusesUpdate statusesUpdateChoreo = new StatusesUpdate(session); 

  // Set inputs
  statusesUpdateChoreo.setAccessToken("2309191166-RysMktA6aSSNLQXCbegvHtq5bfdmMAlxXfxGBGG");
  statusesUpdateChoreo.setAccessTokenSecret("NyZC1NoPtBPZNfSNN8wt4Xxen3FOc2c21cNysjnp63riC");
  statusesUpdateChoreo.setConsumerSecret("DGsZu6jSWaaGnLnlETZH2K8C6Q0fJ3gQp70D45wsAUuNPdvYDK");
  statusesUpdateChoreo.setConsumerKey("6i95ReRsb13Cmlxr7nPF098pk");
  
  String message = "JUST GOIN FOR A SPIN" + random(10);
  statusesUpdateChoreo.setStatusUpdate(message);

  // Execute Choreo
  StatusesUpdateResultSet statusesUpdateResults = statusesUpdateChoreo.run();
}

//---------------------------------------------------------------


ArrayList serialChars;      // Temporary storage for received serial data
int whichValueToAccum = 0;  // Which piece of data am I currently collecting?
boolean bJustBuilt = false; // Did I just finish collecting a datum?

void processSerial() {

  while (myPort.available() > 0) {
    char aChar = (char) myPort.read();

    // You'll need to add a block like one of these
    // if you want to add a 3rd sensor:
    if (aChar == 'A') {
      bJustBuilt = false;
      whichValueToAccum = 0;
    } else if (aChar == 'B') {
      bJustBuilt = false;
      whichValueToAccum = 1;
    } else if (((aChar == 13) || (aChar == 10)) && (!bJustBuilt)) {
      // If we just received a return or newline character, build the number:
      int accum = 0;
      int nChars = serialChars.size();
      for (int i=0; i < nChars; i++) {
        int n = (nChars - i) - 1;
        int aDigit = ((Integer)(serialChars.get(i))).intValue();
        accum += aDigit * (int)(pow(10, n));
      }

      // Set the global variable to the number we captured.
      // You'll need to add another block like one of these
      // if you want to add a 3rd sensor:
      if (whichValueToAccum == 0) {
        valueA = accum;
        // println ("A = " + valueA);
      } else if (whichValueToAccum == 1) {
        valueB = accum;
        // println ("B = " + valueB);
      }

      // Now clear the accumulator
      serialChars.clear();
      bJustBuilt = true;
    } else if ((aChar >= 48) &&
    (aChar <  
    57)) {
      // If the char is between '0' and '9', save it.
      int aDigit = (int)(aChar - '0');
      serialChars.add(aDigit);
    }
  }
}

Arduino Code:

int sensorValue1 = 0;  // variable to store the value coming from the other sensor

void setup() {
  Serial.begin(9600);  // initialize serial communications    
}
 
void loop() {
 
  // Read the value from the sensor 
 
  sensorValue1 = analogRead (A1);  // reads value from Analog input 1    
  
 
  Serial.print ("A"); 
  Serial.println (sensorValue1);  
 
  delay (50);   // wait a fraction of a second, to be polite
}

rippling

Isabella & Alex

So essentially, this motor-controlled automata was a flop (I severely lack motor skills ha). There was too much focus put into the structure of the actual moving parts and building them, which led to an overall automata that was unable to be moved by a motor due to the heaviness of parts and the original placement of these parts. Our original idea of how the motor would be placed on the large dowel did not work, unless we were to change the entire holding structure of the piece. So due to that, it had to be cranked by hand instead. The original concept was to create this moving structure that resembled the rippling of a wave acting as a visualization of an object touching the ground or some other surface.

DSC05544
DSC05541