Icosa

Role
Concept Design
Industrial Design
Programming
Electrical Engineering
Where
Pratt Institute, Center for Experimental Structures (CES)
Collaborators
Haresh Lalvani
Chei-Wei Wang
Abishek Thakar
We approached this project by conducting basic research into  electronics, digital simulation, kinetic joints, and machine behavior. Our belief is that the development and synthesis of these realms will allow us to develop a novel approach to building a kinetic amoeboid sphere.

Through multiple iterations and testing we developed a “soft” mechanical joint allowing the appropriate degrees of freedom while maintaining formal structure.On the software side, we developed a algorithms written in Java and C++ which allow us to individually control the positions of many actuators as well as their speed. This algorithm employs a numerical (as opposed to analytic) vector strategy to solve the inverse kinematic problems inherent to our structure. In more straight forward terms: how should one strut in the structure respond to its neighbors movement? How are these forces and geometric constraints mediated?

As we continue the next phase of our project we look forward to building a multilayered sphere. As well as refining the detailing of our hardware and electronics to achieve a more elegant structure. This will allow us to foreground the movement and novel characteristic of the sculpture.

Prototype Testing

Joint Detail

Simulation

A program was written in Processing to simulate the constraints of the mechanical system.

Electrical Engineering

This printed circuit board is a motor driver allowing for PWM (variable speed and acceleration) control of up to 5 DC motors. The ATTINY85 micro controller used here has the ability to be networked for individual control for up to 128 circuit boards. The design features voltage surge protection as well as an LED for testing purposes. The design features separate programming and “operation”  ports for ease of use. Custom control code was developed in C++ to allow for communication to Arduino as well as the Processing IDE.