1. Do not share user accounts! Any account that is shared by another person will be blocked and closed. This means: we will close not only the account that is shared, but also the main account of the user who uses another person's account. We have the ability to detect account sharing, so please do not try to cheat the system. This action will take place on 04/18/2023. Read all forum rules.
    Dismiss Notice
  2. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Now a Download Plan!
  3. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  4. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant. Do not follow these rules can lead to permanent exclusion from this website: Read the forum rules.
    Are you a company? Read our company rules

Basics 6 DoF Stewart platform

Discussion in 'New users start here - FAQ' started by My.stAr, Dec 13, 2016.

  1. My.stAr

    My.stAr Active Member

    Joined:
    Sep 7, 2012
    Messages:
    151
    Occupation:
    Engineer
    Location:
    Germany
    Balance:
    1,064Coins
    Ratings:
    +61 / 0 / -0
    My Motion Simulator:
    DC motor
    Since i didn't find a topic on this in this forum, and i don't wanna hijack wannabeaflyer2s thread i'll start a new one here.

    I’ll try to explain how you can influence the rotational and translational movement of the upper platform.:nerd
    Let's start with the beginning. Since we live in a 3 dimensional world, we can describe every point with 3 axes. And i think it's also important to have the same basics, in order to minimize misunderstandings.
    the easiest to use is the cartesian coordinate system
    kartesisches koordinatensystem.png
    There are 3 axes. x, y and z.
    If we want to describe the Point P we need the values for x, y and z.
    kartesisches koordinatensystem mit P.png
    Let's change to the cylindrical system.
    zyl. ks.png
    Here again we have 3DoF. The axis z stays the same, but than we have the radius r and the angle phi.
    The same point P can be described in a cylindrical coordinate system:
    zyl. ks mit P.png
    z gives the height of the point P. r the distance from the z-axis and phi is the angle between point p and a reference layer.

    This system is nice to use for describing the steward platform.

    If we want to discuss the actuators, the spherical system match better:
    sph. KS mit P.png
    We have the radius r, which is the distance to the base. than the same angle phi, which rotates around the z-axis and an additional angle theta, which gives us the angle between the axis z and the line to the point P.

    Now let's come the the platform itself.

    For all considerations we have identical actuators with a defined lengths and the same stroke.
    With the stewart platform we can move in all 6 degrees of freedom:
    - translational movement: heave sway and surge
    - and rotational movement: pitch roll and yaw.
    Due to the construction (symmetrical arrangement of the actuators which are fixed on 2-dimensional platforms) we can manipulate sway and surge only together as well as pitch and roll.
    So we have to consider only 4 states.
    With given lengths for the actuators we can change the following values:
    - Radius r1 of the bottom platform
    - radius r2 of the top platform
    - angle theta between the fixing points of one actuator on the top and the bottom platform (and also the angle between the fixing points on the base between 2 actuators)

    Lets start with 2 platforms with identical radii. The fixing points of the actuators can now only be moved with the angle phi on the bottom and the top platform. We choose the an angle of 0°:
    erklärung heave top r=0 phi=0.png
    r=r1=r2
    red dots are the fixing points of the actuators.
    Sideview:
    erklärung heave r=0 phi=0.png
    With this arrangement we'll have:
    - actuators parallel to the z-axis
    - the most heave possible
    - a good pitch&roll
    - no sway, surge and yaw

    So this would be only a 3DoF rig although you use 6 actuators. And if you don’t fix it in y- and x- direction you’ll soon have a 0DoF rig, due to the fact that i will collapse.
    If you raise the angle phi or use different radii (r1≠r2) you will decrease the possible heave!!

    Next step is maximize the pitch/roll. The actuators are still fixed with the same angle phi 0°. If you reduce the radii r1 and r2 together you will increase the pitch/roll. You'll end up with all actuators being next to each other in the middle. This is the best way of having the most roll and pitch. with an infinitesimal thin actuator you could tilt the platform with 90° ^^ But after a certain radius it's a stupid way to increase roll and pitch further. Your rig will get less stable and the motors will consume more power, remember: W=F*a, the distance a will get small, so the force F will be bigger in order to achieve the same tilt angles of the platform (work W).
    One other way to increase the possible roll and pitch is to decrease the radius r2, while using the same radius r1.
    erkärung sway surge.png

    But this will work only unto a certain angle theta. than the roll and pitch will decrease again, we'll come to that later.
    Increasing the radius r2(>r1) and the angle phi will result in a lower roll/pitch movement.

    How to maximize sway and surge? If you look from the top to the rig it's the easiest way to imagine. You'll have the maximal surge and sway if your upper platform lies IN the bottom platform in the x-y-plane
    erklärung sway surge top.png
    view from the side:
    erklärung sway surge seite.png
    The radii have to be chosen depending to the length of the actuators. You won't be able to heave and roll and pitch your platform, since you work in two dimensions. This is, because the angle theta is 90°, and cos 90°=0, so now pitch and no heave. I know, if all actuators will move out, it will heave, but maybe downwards. If you now raise the radius r of the upper platform, your upper platform will be higher and you'll reduce the possible sway and surge. Sway and surge is independent from the angle phi, if symmetrically arranged. You can rotate them around there fixing points on the base and so change r2.
    Simply said:
    The higher the angle theta is, the more sway and surge you'll have, but it'll reduce the heave. At first increase roll pitch and than decrease it again.

    Let's introduce the 6th DoF, yaw. Since we didn't use the angle phi yet, this is the one we need to rotate our platform.
    erklärung yaw.png
    Example with same radii.
    View from the top:
    erklärung yaw top.png
    The higher the angle phi, the higher the rotation yaw of the upper platform, easily said.

    Here an example with different radii r1 and r2 and the angle phi.
    erklärung mix.png erklärung mix top.png
    just to illustrate it. but be aware, the angle theta is 'wrong' in this pic;) i mean i explained it different. it should be between the actuator and the axis z, not the base. but of course you can use it this way...

    i still may be wrong somewhere;) so no guarantee:cool:
    • Informative Informative x 9
    • Like Like x 5
    Last edited: Oct 30, 2017
  2. Tim McGuire

    Tim McGuire "Forever a work in progress"

    Joined:
    Jul 26, 2015
    Messages:
    261
    Occupation:
    Electrical/Electronics Engineer
    Location:
    Canada
    Balance:
    2,164Coins
    Ratings:
    +313 / 2 / -0
    My Motion Simulator:
    3DOF, DC motor
    Good writeup :thumbs
  3. My.stAr

    My.stAr Active Member

    Joined:
    Sep 7, 2012
    Messages:
    151
    Occupation:
    Engineer
    Location:
    Germany
    Balance:
    1,064Coins
    Ratings:
    +61 / 0 / -0
    My Motion Simulator:
    DC motor
    Thanks @Tim McGuire :)

    maybe one more point, since this can also become important. Raising the angle theta results in a higher power consumption.
    The resulting force F_res=F/cos theta. (If you take 'the other' angle theta--> F_res=F/sin theta)
    With a steep actuator the resulting force will be around the the same as the force from the top (weight, acceleration, deceleration)
    res. F small.png
    If you have a bigger angle theta
    res. F big.png
    you'll have more work for the motors to do.
    An angle of 60° results in the double load.
    • Informative Informative x 2
    • Like Like x 1
    • Agree Agree x 1
  4. bruce stephen

    bruce stephen Hammer doesnt fix it, must be electrical

    Joined:
    Jun 7, 2015
    Messages:
    1,286
    Occupation:
    general contractor
    Location:
    michigan
    Balance:
    9,110Coins
    Ratings:
    +1,238 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, Motion platform, 6DOF
    yaw should pivot from the center and traction loss should pivot from the front. although yaw can be set up to mimic tl by reducing the movement at the front of the rig thus forcing the pivot (center of rotation) forward. this also creates a larger radius of movement.
    edit:
    tlyaw.jpg
    • Informative Informative x 4
    Last edited: Dec 13, 2016
  5. My.stAr

    My.stAr Active Member

    Joined:
    Sep 7, 2012
    Messages:
    151
    Occupation:
    Engineer
    Location:
    Germany
    Balance:
    1,064Coins
    Ratings:
    +61 / 0 / -0
    My Motion Simulator:
    DC motor
    @bruce stephen
    Thanks for pointing this out. As long as i haven't my own rig, this will all stay a little theoretical^^ Deleted the point, don't want to confuse somebody;)
  6. wannabeaflyer2

    wannabeaflyer2 Well-Known Member

    Joined:
    Jun 12, 2015
    Messages:
    724
    Location:
    london uk
    Balance:
    8,287Coins
    Ratings:
    +950 / 7 / -0
    My Motion Simulator:
    2DOF, Arduino, Motion platform, 6DOF
    great info , a lot of guys heading towards 6 dof platforms and this info fills some areas that we normally guess at , so aJust Saying thanks for a well written explanation of some of the consideration required for platform design .. I don't profess to understand it all Trigonometry scared crap outta me at school but a few re-reads and things will fall into place Cheers
    • Like Like x 1
  7. insomagent

    insomagent New Member

    Joined:
    Oct 9, 2017
    Messages:
    11
    Location:
    Oklahoma City, USA
    Balance:
    124Coins
    Ratings:
    +3 / 0 / -0
    I have found a few nice papers on the subject. (Warning: Lots of Calculus, mind melting stuff. I'm digging through trying to find the meat of it that we can use for our purposes...)

    http://robotics.caltech.edu/~jwb/courses/ME115/handouts/ReviewStewartPlatform.pdf Caltech paper on Stewart platforms

    http://image.slidesharecdn.com/g363...-parallel-manipulator-3-638.jpg?cb=1440225870
    I don't know who made this paper but these formulas look useful.

    http://dnc.tamu.edu/drjunkins/yearwise/2006/conference/GNC_2006_stewart_platform_bai.pdf
    A paper dealing with solving for error... this would be more useful for hyper advanced mathypants users.


    https://www.researchgate.net/public...trol_System_of_Parallel_Kinematic_Manipulator
    "Design and Control System of Parallel Kinematic Manipulators" Looking good! I bet there's something in here that can be boiled down to some sort of code that can be used for all of us. I'll keep us posted on what I find out...
    • Informative Informative x 2
  8. My.stAr

    My.stAr Active Member

    Joined:
    Sep 7, 2012
    Messages:
    151
    Occupation:
    Engineer
    Location:
    Germany
    Balance:
    1,064Coins
    Ratings:
    +61 / 0 / -0
    My Motion Simulator:
    DC motor
    Great stuff :thumbs
    is already printed ;) when i finished my first rig, i will definetly dive into this matter again :D and i'm sure your links will be usefull :thumbs
  9. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    736
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,833Coins
    Ratings:
    +864 / 2 / -0
    Thanks for starting this Thread!:thumbs

    I have to say, I am pretty surprised how many great platforms were being built without ever fully considering the effect of the different parameters :)

    Maybe we can come up with a few simple "rules" for the builder to better analyse misbehavior in their platforms.

    Like...

    1. More Theta --> more power required for heave(especially when platform is at lower edge of the envelope).

    2. Pitch-roll-yaw capabilities get better with the ratio upper_platform_diameter divided by stroke.

    3. To reduce footprint you can make the lower platform smaller but be aware of stability problems. --> bolt actuators to the ground

    4. If unintended axis-coupling occurs, the reason might be that either the upper and/or lower platform might be un-equilateral.

    ...something like this.
  10. bruce stephen

    bruce stephen Hammer doesnt fix it, must be electrical

    Joined:
    Jun 7, 2015
    Messages:
    1,286
    Occupation:
    general contractor
    Location:
    michigan
    Balance:
    9,110Coins
    Ratings:
    +1,238 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, Motion platform, 6DOF
    we are also still missing a 6dof maths plugin for stewart platforms. we tune to correct at this point. its close but still incorrect.
    • Agree Agree x 1
  11. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    736
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,833Coins
    Ratings:
    +864 / 2 / -0
    There is no 6DOF plugin for SimTools? Really? I am surprised. I am still in a rather early stage of my build, but I simply assumed that one was available. Didn't Thanos publish one for use with his AMC1280?

    Back on Topic:
    Does anyone know, if a Stewart platform is an over-determined system? I am almost(!) sure an "ideal" Stewart platform is neutrally determined.

    - "Neutrally determined" meaning that for every possible actuator position there is a valid solution to the (presumably) 6 equations of position.
    - "Ideal" in this case meaning that the connecting points of two neighbouring actuators onto the platforms (top and bottom) are in the same position. This is not possible in real life. Like here:
    [​IMG]


    I can virtually see @My.stAr scratching his head when he reads this... But I really DO think these are the Basics of a 6DOF Stewart-Platform.

    Dirty :D
    • Dislike Dislike x 1
  12. bruce stephen

    bruce stephen Hammer doesnt fix it, must be electrical

    Joined:
    Jun 7, 2015
    Messages:
    1,286
    Occupation:
    general contractor
    Location:
    michigan
    Balance:
    9,110Coins
    Ratings:
    +1,238 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, Motion platform, 6DOF
    Thanos controller isn't simtools. Im not sure about his controller. I use arduino and smc3.
  13. SeatTime

    SeatTime Well-Known Member

    Joined:
    Dec 27, 2013
    Messages:
    2,574
    Occupation:
    Retired
    Location:
    Brisbane Australia
    Balance:
    28,370Coins
    Ratings:
    +2,844 / 38 / -0
    My Motion Simulator:
    AC motor, Motion platform
    Simtools can do a good job of moving a 6DOF rig as is, but is not as exact as using software with the proper math. I have access to BFF software and purchased a 1280 as it is compatible with it. BFF uses full 6DOF math and some excellent mixing and washout algorithms. Since I added a G-System to my rig all the shortcoming of Simtools are not an issue to me. Unfortunately 6DOF math is just one part of the simulation puzzle and IMO really is not as important as many may think. From my experience, good mixing (Surge/pitch and Sway/roll) and washout algorithms are more important if you don't have a G-system fitted. Note that BFF has limited games support and can only support six axis's (I need more than six to run my G-systems), which is why I moved away from it.
    • Informative Informative x 3
    • Agree Agree x 1
    • Old Old x 1
  14. chauffeur

    chauffeur New Member

    Joined:
    Feb 23, 2019
    Messages:
    11
    Balance:
    67Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    6DOF
    First, this is a very helpful thread for newbies such as myself. Thanks for all the details.

    I had a quick question - what would a "good" angle (theta) be? I understand that "good" is relative, and would depend on a multitude of factors. What I am more interested in is what ranges of theta have worked best for 6 DOF builds based on the Stewart platform.

    Thanks in advance!
  15. JEFFERSON G. DE OLIVEIRA

    JEFFERSON G. DE OLIVEIRA Jeff

    Joined:
    Feb 12, 2024
    Messages:
    2
    Occupation:
    Software Engineer
    Location:
    Teresina , Piauí , Brasil
    Balance:
    - 13Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    Arduino, Motion platform, 6DOF
    Hello guys,

    I can understand some aspects of this post, but I would like to have a better understanding through visualization of the 6DOF mathematical schema. Is there something available on the internet or with in this community in the form of videos, animations, or GIFs that could help with visualization?
    Last edited: Mar 4, 2024
  16. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    20,535
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    145,034Coins
    Ratings:
    +10,776 / 52 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    You will likely find FlyPT to be of interest: https://www.xsimulator.net/community/faq/flypt-mover.29/category

    Including the basic overview of how it operates as pose based software: https://www.flyptmover.com/basics/logic
    • Like Like x 1