Introduction: Controlling a Stewart Platform
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: https://www.behance.net/gallery/26906551/Stewart
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:
https://www.instructables.com/id/Arduino-controlled... (my inspiration)
https://www.instructables.com/id/Stewart-Platform/
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.
14 Comments
1 year ago
I am interested in using this software in combination with a gyroscope. If you wish to share your knowledge, I'm really appreciate.
5 years ago
Hi Felix!
Hope you're still answering comments. I'm planning to build this and would like to connect an accelerometer/gyroscope to make a self leveling platform. Do you have anything programmed using that yet?
Also - do you think servos could be replaced with linear actuators?
7 years ago
Hi
may I ask what sensors did you used? I need infromation about the prototype please
Reply 7 years ago
This prototype uses a accelerometer and gyroscope, but I wouldn't recommend this since it doesn't give you very accurate readings.
Reply 7 years ago
I am designing a prototype for my graduating project, and i have trouble finding info about prototypes hardware components, so what do you recommend for use? can I get your e-mail for further contact.
7 years ago
Hey Felix, can you tell me where to get those springs/dampeners that you used in the later prototypes?
Cheers
Reply 7 years ago
I got them at a local RC store, you probably have to modify them a bit to extend the legs ;)
7 years ago
Hi Felix, great work! I am coincidently working on a similar project. Have you graduated? Interested in building one for a real automated car? Email me - Nikhil.gowda@renault.com
7 years ago
May i know where to find the control panel in the picture in step 2
Thanks
Reply 7 years ago
You can download the control software here: https://github.com/felixros2401/Stewart-Platform
Let me know if something doesn't work ;)
Cheers
7 years ago on Introduction
Could you please provide a bill-of-materials for the hardware used?
Thanks for sharing!
Reply 7 years ago on Introduction
Hi arfcari,
The final prototype cost me about 500 EUR (because of extra materials< electronics, lasercutting and 3D printing). You can build a basic stewart platform (like my first version) with the following basic materials:
6 servos [6x8EUR]
DC 5/6V Adapter (check Amps) [20 EUR]
Arduino Uno (needs 6 PWM pins) [20 EUR]
12 Ball joints (check your local RC store) [15 EUR]
raw materials (MDF and screws) [10EUR]
TOTAL: 113,- EUR
The point of this instructable is to help you overcome the problem of controlling the platform. Building the platform shouldn't be too hard, however being able to digitally influence the platform is ;)
Happy prototyping :)
7 years ago on Introduction
you know a 3D mouse like the spacemouse would be perfect to control one of them since it moves in the way that needs to be controlled. full 6 dof :)
7 years ago on Introduction
This is really cool. Thanks for sharing.