Poseidon

Skills: Media Art

Oct-Nov 2016

Interactive Installation


Poseidon is an interactive marine scenario which can be controlled by gestures of the spectators.

Here is the code on Github.

poseidon-front-1

Four kinds of weathers

Four kinds of weathers

Four Kinds weathers

Lightning

Lightning

Sunny

Sunny

Lightning

Foggy

Gale

Gale to Lightning

The fan of gale days

Foggy to Sunny


Design Concept

Imagine that you are Poseidon, one of the twelve Olympian deities of the pantheon in Greek mythology, whose main domain was the ocean, you can control the flying ship by gestures and view the change of weather on the sea.

Method & Process

Sketch

Our design sketch has iterated for several times. At the beginning we planned to set our scenario in real water. However, it might be unsafe even cause short circuit.

 

First version sketch

First version sketch

Next step, we asked ourselves, why we have to confine the scenario into the real one? Ships can sail not in the water but clouds.

Later version sketch

Later version sketch

Devices Employed

Our installation employed APC220 for wireless communication, Leap Motion, Mini-projector, Arduino Leonardo, steering servo, fans, speakers and LED.

Devices we employed

Devices we employed

Other materials include wires, cotton, iron shelf and fishing lines.

Prototyping & Construction

According to the design sketch, we divided our project into three interactional modules: map system, cloud system and boat system.

Weather System – Visual Display

Clouds were made by cotton and wires. Three clouds are interactive, each of which has an Arduino Leonardo, APC220, LED and portable power source inside.

We are making clouds with wires and cotton

We are making clouds with wires and cotton

Inside the cloud

Inside the cloud

There are four kinds of weather in total, namely Sunny, Windy, Fog and Lightning. On sunny days the clouds are bright; on windy days the clouds turn dark, the sound of winds can be heard responsively, on fog days, the sea surface become dim; on lightning days the thunder is loud and lightning can be seen through the clouds.

Programming

The challenge of Weather system is the wireless communication between boards. We employed APC220, a simple and economic solution to wireless data communications. We set four statements representing four kinds of weather. Once the board in the cloud receive the signal from Main board, it will response according to different case.

Testing with APC220

Testing with APC220

Boat System

The scene was built by iron shelf. The main interactive area is the upper part, above the paperboard. The shelf was wrapped by black curtain. Mini-projector was set at the top of the shelf.

The boat will shake responding to the weather. On windy days, Servos would operate and make ship shake slightly.

The boat system

The boat system

Map System – Core Module

Map system is the core module in this project, playing the role of both input and output.

Audience are able to switch the position of the boat by swiping left and right. To make the interact natural and sensitive, we employed Leap Motion as the input.

The gestures we expect the system to recognize is swiping and its speed and direction.

Because we only operate the system in two dimensions, compared with Unity 3D, Processing is the better choice.

We painted a world map with four places whose weather is different. Audience swipe left to operate the boat flying to the previous location, and right to the next.

Programming

Our programming framework is shown as follows:

How it works

How it works

We used processing library Leap Motion for Processing written by Darius Morawiec to obtain the data of gesture, namely swipe, speed and direction, and the library VSync written by Maximilian Ernestus to synchronize variables on Arduino with variables in Processing sketch.

Use APC220 to send message to other boards

Use APC220 to send message to other boards

On Processing pane, we display a huge map whose coordinate change according to the gesture. Four points has been marked.

Testing with Leap Motion

Testing with Leap Motion

Design Challenges

Tiny gesture causes the movement of the map

We set the prerequisite of map’s movement. Only when the audience swipe fast enough can they move the map.

Easing Effect

We want to make the interaction of map seems natural and comfortable. However, if we update the new coordinate of the map, it will jump to the point immediately, completely different from the Easing effect we want. We make the coordinate add the multiply of the difference between target point and current point and an Easing argument.

dx = a[index].x -v1.x;
v1.x+=dx*easing;
dy = a[index].y -v1.y;
v1.y+=dy*easing;
The code of Easing Effect

The code of Easing Effect

Move the map after the completion of last movement

We declared a Boolean value flag. Only when flag equals to zero, the map can be moved. Every time the map stops moving, flag turns to zero.

Reflection

The completion of this project was a realization of a bottom-up creative idea, which emerged on the basis of existing technology instead of traditional question-hypothesis-solution process.

For future improvement, I think the types of weather and interaction content could be more various. The shake and movement of the flying ship could be controlled by pulleys, which provide more natural dynamic effect.


poseidon-final-version-1

Members of the team:

Yang Zhang, Fengjie Zhang, Han Wang, Jiajing Guo, Li Wang, Ruihui Zeng, Yue Wang, Sherry Zhou.

 

 

I'd like to share the Cindy's work ...Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on LinkedIn