image courtesy of INDEXLAB

Flying Dots

Kinetic installation of interactive and immersive experiences.

Research Project Developed at INDEXLAB

Year

2018

Roles

Prototyping and assembly
Design of mechanical components
Speed interpolation algorithms
Software integrations

Project Details

81 independently controllable stepper motors
Closed loop system with error recovery
Less than 10ms refresh rate
Offline and online programming
Realtime control support

Project Description

Flying Dots is a kinetic installation that can be rearraigned and expanded based on the needs of the final users. The system is composed of 81 mechanical actuators controlled by one PLC with a single real-time interface. The kinetic animations can be developed and simulated virtually and physically reproduced both offline and online. A refresh rate of less than 10ms ensures a fluid animation flow with no stuttering of lag. The system can be further expanded integrating LED elements in the animation choreography for an even more immersive experience.
A view of the mechanical units that compose the Flying Dots system tightly arranged inside the steel modules
Axonometric exploded view of the main components of the unit module of Flying Dots

Mechanical units

Each of the 81 individual units that compose Flying Dots is modular in design. The mechanical actuator is assisted by an incremental rotary encoder that ensures that each motion is faithful to the software simulation. Each motor-encoder couple is powered by a client controller board that translates the PLC instructions to motor movements. Specific parameters such as homing speed and force-sensitivity can programmed on the fly from the main controller. A custom designed and 3D printed pulley completes the system and is attached to the motor shaft with a screwless design.
3D printed pulley of the Flying Dots system assembled to the support frames of a module
images courtesy of INDEXLAB
Stepper motors assembled with their respective rotary encoders arranged on foam containers
images courtesy of INDEXLAB

System Overview

Flying Dots is designed to be flexible and can be freely rearranged to different configurations. All modules that compose Flying Dots are derived by a 60x60cm square unit with multiples such as 120x60cm. Each module contains a a regular 20cm matrix of actuators that are daisy chained in an S shaped sequence, reducing latency between modules. Each module is a self contained system whose position in the stack can be freely changed with little to no extra configurations. All of the control and power interfaces are embedded in each module requiring only to connect the main data and power lines to the previous module.
Diagram illustrating the possible arrangements of the Flying Dots sytem
Diagram highlighting the different components that make a module and their respective motor ID tags
Diagram highlighting the wiring scheme of a module, with both power and signal lines routing

Software Integrations

Illustration of different software platform supported and how the motion data is coded and transferred to the PLC unit
The PLC firmware that controls the kinetic installation can be linked to numerous software packages thanks to a low level structured instruction system. Each animation frame is composed of the 81 target positions and velocities for the system. With a refresh rate of 10ms there are approximately 6000 instructions per minute. The animations can be prerecorded off line or computed real-time with the integration of external interfaces (software-hardware)

Motion Interpolation

Complex animations are analyzed as a series of frames each one characterized by a specific set of parameters such as position speed and acceleration. In order to achieve a fluid transition the speed and acceleration parameters are interpolated ensuring a high degree of continuity of the transitions.