Controlling a Stewart Platform

16,748

71

14

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: 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/

https://www.instructables.com/id/My-Stewart-Platfor...

https://www.instructables.com/id/Six-Axis-Stewart-P...

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.

Be the First to Share

    Recommendations

    • Big and Small Contest

      Big and Small Contest
    • For the Home Contest

      For the Home Contest
    • Make It Bridge

      Make It Bridge

    14 Comments

    0
    tiranpabasara
    tiranpabasara

    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.

    0
    ddaytona1
    ddaytona1

    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?

    0
    nozeid
    nozeid

    7 years ago

    Hi

    may I ask what sensors did you used? I need infromation about the prototype please

    0
    felix.ros.7
    felix.ros.7

    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.

    0
    nozeid
    nozeid

    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.

    0
    pampelmousse
    pampelmousse

    7 years ago

    Hey Felix, can you tell me where to get those springs/dampeners that you used in the later prototypes?

    Cheers

    0
    felix.ros.7
    felix.ros.7

    Reply 7 years ago

    I got them at a local RC store, you probably have to modify them a bit to extend the legs ;)

    0
    ngowda1223
    ngowda1223

    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

    0
    MatthewK30
    MatthewK30

    7 years ago

    May i know where to find the control panel in the picture in step 2

    Thanks

    0
    afcarl
    afcarl

    7 years ago on Introduction

    Could you please provide a bill-of-materials for the hardware used?

    Thanks for sharing!

    0
    felix.ros.7
    felix.ros.7

    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 :)

    processV1.jpg
    0
    Bongmaster
    Bongmaster

    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 :)