Introduction: Controlling a Stewart Platform

About: If the doors of perception were cleansed everything would appear to man as it is, infinite (William Blake)

The Stewart Platform (aka octahedral hexapod) has been around since the fifties. Since that time people have been reinventing this platform over and over again. I experienced the same problem and this motivated me to make this instructable.

The main problem when building these platforms is how to control them. I build a graphical interface that allows you to control the platform in realtime trough a slider interface. The sliders symbolise the 6 degrees of freedom the platform has.

I'll share the basics of my Arduino and Processing code I wrote to create the prototype Stewart. More about Stewart on:

Check out the video of Stewart here: vimeo

There is also a process video that can be found here: vimeo

If you have any questions please leave a comment. Also, I'm very interested in what kind of stewart platform you'll make so please do share your creations! :)

Stewart is a Final Bachelor Project at Eindhoven University of Technology Department of Industrial Design

Step 1: First You Have to Make Your Own Platform

Here are some photo's of my process of building my platform.

Building the platform the first time can be difficult. The stewart platform can have many different forms and sizes. I think you should design your own platform to fit your intended purpose. I'm really curious what different kinds of platform you'll make. If you feel like sharing the result, please do!

My intention for this instructable is to provide the software that drives it (see step 2).

NOTE: The software is designed for a platform that uses 6 servo's controlled by an Arduino. Make sure you have a stable serial connection and use an external power for the servo's. If you don't know how to do any of this, google is your friend ;).

Here are some other instructables that explain how to build a stewart platform: (my inspiration)

Step 2: Software

Download the Processing and Arduino software form here: GitHub

In order to get the communication to work with arduino and processing, make sure the right USB port is selected in the Processing sketch. Also make sure you have the required libraries installed for Processing and Arduino (see description on GitHub).

The software works as follows: The servos form an array of 6 and are controlled by the arduino that loops trough the array. Processing is calculating the transition of al the six degrees of freedom. The control is done trough sliders that that has a minimum value of 0 and a maximum value of 180 (just like a regular servo). The transition should work with almost any stewart platform, just watch out not to push the slider values to the extreme at first ;)

Feel free to adjust and tweak the code as much as you like. I'm not an experienced programmer so there is probably loads of room for improvement.

If you are interested in using this software in combination with an accelerometer/gyroscope please let me know in the comments. The same counts for animating the platform. If you wish to animate the platform I already have a sample sketch ready for you. The software provided is a stripped down version the software Stewart uses.