Augment(0)scope

From Medialab Prado
Jump to: navigation, search

Augmentoscope copia-1 copy.jpg

Sshot-18 LOW.jpg

view from visualization

Sshot-14 LOW.jpg

structure of panorama images from above

Sshot-21 LOW.jpg

view from visualization

Contents

Description of the project

Augment(o)scope it's an optical instrument constructed in 2008 in the Interactivos workshop from MediaLab-Prado . Inspired on the first visualization and optical devices from XVIII century it's an instrument from the past that told us about present and future.

The user could watch into it trough a lens an interactive projection, a circular composition of hundreds of pictures from the Greenpeace-Spain photo-blog fotodenuncia website . [1] . On this website, users from all arround Spain are posting and tagging enviromental denounces that are not legally attended by Spanish politicians.

Inside augment(o)scope people could turn arround and see the image composition in form of panorama's of pollution and trash, all pictures of eco-denounces from the blog, in a endless composition of landscapes so often so natural in the XXI.

AS exterior2.jpg

A view of the artifact from the outside. Specially constructed and designed by Carlos Panero (.AR). The circular hole is the window (trough a lens) to the augmented space created inside augment(o)scope.

AS interior .jpg

Inside of the box with all the components listed.

AS interior2.jpg

Details of the gear mechanism that let's users dive in the virtual environment.

AS rotatorybase.jpg

Detail of the setting-up of the rotatory electrical connector. With this DIY rotary connector we were able let users play with a 360º free range of rotation, getting the idea of digital panorama. With this gadget the whole structure was turning (with the computer + vga monitor + arduino +... inside).

Technologies

  • Software:

- entorno 3D programado en C++ bajo Open Frameworks (www.openframeworks.cc)

  • Hardware:

- una placa Arduino-8

- una brújula Devantech CMPS 303

- un potenciómetro

- cámara firewire

- una estructura de madera en forma de caja con una lente de aumento

- una minipantalla VGA 8" 1024x768 en el interior.

- ordenador Pentium V-Pro bajo Windowz XP . Targeta grafica Nvidia 8400


  • Base rotatoria 360º:

- con un sistema de 2 discos de cobre y 2 contactos de motor, conseguimos hacer la estructura giratoria independiente de los cables de electricidad.

INITIAL STATE AUGMENT(0)SCOPE //description

The main idea is to develop something similar to the "optic boxes" which were developed in the XVIII century. The "optic boxes" where wood boxes where you could see inside certain drawn prespectives trough a lens. On that times (when photography was not still developped) the sensation to the public was to travel to that seen places. Without doubt one of the firsts immersive environments

My project proposes to implement an "optic box" using augmented reality technologies and artificial vision techniques. This "box" will be hanging from the roof and will be at the hieght of the head. The user could look and see trough it and rotate arround. The "box" would consist of a camera,and a small monitor which let us to see the augmented reality : mixing the real image grabbed by the camera with a parallel virtual reality.

7249.jpg Augment.jpg

Project's author

Eloi Maduell Garcia. (Barcelona 1975) eloi@telenoika.net www.eeewww.net

Ingeniero informático especialista en la creación audiovisual en directo. Desde hace 10 años explora e investiga la creación digital en este tema.VJ y productor audiovisual, programador de aplicaciones audiovisuales interactivas . Visión artificial . Sensores . Micro-procesadores. Tecnologías orientadas a la creación artística.

Colaborador desde hace 4 años de VAD Festival, Girona, donde co-dirige la programación más nocturna y responsable tècnico del festival. Director y productor de VIDEA, Festival de Audiovisuales y Nuevas Tecnologías organizado por Telenoika.NET en los años 2000, 2001 y 2002, en Barcelona. En los ultimos años ha dirigido algunos cursos de introducción audiovisual avanzada en diferentes centros como SGAE Barcelona, Centre Civic Boca Nord Barcelona, Muestra Inventario 2006 Zaragoza, Festival Lux2006 Sevilla o Festival Plug&Play Vienna 2005. En el año 2005 recibió el premio Vjology en Holnada como mejor Vj a nivel de Europa.

Collaborators

  • Paula Villegas: Supporting the discussions about the concept and the construction.
  • Colette Laliberté: Supporting the discussions about the concept and image organization.
  • Eduardo Navas: Supporting the discussions about the concept and image organization.
  • Paula Pin Lage: Supporting the discussions about the concept and the construction, image treatment and phot documentation.
  • Laura Olalde: Supporting the discussions about the concept and the construction, photo documentation.
  • Carlos Panero: Construction of the object
  • Carlos mediador del MEDIALAB: Construction of the object
  • GREENPEACE España: for giving us acces to its "fotodenuncias.com" photoblog and to all it's data as base material for the interactive

visualization.

  • mapXperience.com: for it's technical support and obtaining the whole data-base of images, texts and geo-location data.
  • Alvaro Cassinelli & Simon Jones & Pix MEDIALAB & Julian Olivier: for it's continous collaboration and guidance.

Source code of the project

Arduino Code for Devantech Compass CMPS303 [based on Make Magazine Book algorithms http://www.makezine.com/] and potenciometer.

The protocol and treatment of messages is from Alvaro Cassinelli examples and the reading of this sensors was done from an Openframeworks.cc class (also from Cassinelli and Eloi Maduell) which was doing a byte by byte reading.

sending protocol :

../..

send compass value (in DECimal format so 11 will be '48'48'.)

send '1' (as BYTE value as first sensor id)

send potenciometer value (in DECimal format)

send 2 (as BYTE value as second sensor id)

send ENDANSWER DELIMITER (byte 71)

../..

Here's the code we used in the arduino board :

  CMPS03 compass reader
  Language: Wiring/Arduino
 
  Reads data from a Devantech CMPS03 compass sensor.
  Sensor connections:
     SDA - Analog pin 4
     SCL - Analog pin 5
 */
// include Wire library to read and write I2C commands:
#include <Wire.h>
// the commands needed for the SRF sensors:
#define sensorAddress 0x60
// this is the memory register in the sensor that contains the result:
#define resultRegister 0x01
 
 
// ======= PROTOCOL COMMANDS:
#define END_ANSWER_DELIMITER 71 //THIS MUST be sent by the arduino at the end of the answer to a particular command
// From computer to arduino (commands):
#define READ_EVERYTHING 72
// ======= VARIABLES
int potVal;
 
//--------------------------------------------------------
void setup()
{
  // start the I2C bus
  Wire.begin();                
  // open the serial port:
  Serial.begin(57600);       
}
//--------------------------------------------------------
void loop()
{
   if (Serial.available()>0) {
 
    if (Serial.read()==READ_EVERYTHING) sendEverything();
  }
 
}
//--------------------------------------------------------
void sendEverything(void) {
  // SEND COMPASS DATA
  setRegister(sensorAddress, resultRegister);
  byte bearing = readData(sensorAddress, 1);
  Serial.print(bearing, DEC);
  Serial.print(1, BYTE);
 
  // SEND POTENCIOMETER DATA
  potVal = analogRead(0); 
  Serial.print(potVal,DEC);
  Serial.print(2, BYTE);
 
  // END OF ANSWER
  Serial.print(END_ANSWER_DELIMITER, BYTE); 
}
//--------------------------------------------------------
/*
  setRegister() tells the SRF sensor to change the address 
  pointer position
 */
void setRegister(int address, int thisRegister) {
  // start I2C transmission:
  Wire.beginTransmission(address); 
  // send address to read from:
  Wire.send(thisRegister);      
  // end I2C transmission:      
  Wire.endTransmission();    
}
//--------------------------------------------------------
/*
readData() returns a result from the SRF sensor
 */ 
int readData(int address, int numBytes) {
  int result = 0;        // the result is two bytes long
 
  // send I2C request for data:
  Wire.requestFrom(address, numBytes);   
  // wait for two bytes to return:
  while (Wire.available() < 1 )   {
    // wait for result
  }
  // read the two bytes, and combine them into one int:
  //result = Wire.receive() * 256; 
  result = Wire.receive(); 
  // return the result:
  return result;
}

Links

Article in We-Make-Money-Not-Art


http://www.we-make-money-not-art.com/archives/2008/06/augment0scope-interactivos-at.php

related with the initial project inspiration augmented reality techniques http://es.youtube.com/watch?v=cQdP-mspcak http://es.youtube.com/watch?v=Y9HMn6bd-v8&feature=related http://www.se.rit.edu/~jrv/research/ar/introduction.html



Categoría:Interactivos Categoría:Talleres