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

Question Idea for more realistic 6DOF platform?

Discussion in 'DIY Motion Simulator Building Q&A / FAQ' started by KIOSTIC, Sep 22, 2020.

  1. KIOSTIC

    KIOSTIC New Member

    Joined:
    Sep 22, 2020
    Messages:
    1
    Balance:
    45Coins
    Ratings:
    +1 / 0 / -0
    Most platforms(whatever DOF) I experienced or saw on the internet have a pivot point beneath the seat.

    But here come with the problem of this setting. The actual G feeling comes later than it should be.


    Let's take an example-
    IRL: if you make a left turn, your body sucks into the right part of the seat and feels G instantly.

    Sim: if you turn left, seat actually become further from your body, it takes time until your body fully sticks to the seat and lean to right.



    So here's an idea: How about making pivot point higher from the platform?

    In case pivot point is above your head, it may make the body feel in the same sequence of the real life.

    For someone who can't understand what I'm saying, check below.


    It's not a big deal to make 6DOF platform working this way, only needs some basic mathematics.



    I don't know whether someone already tried or not. How do you guys think about this?
    • Agree Agree x 1
  2. Gadget999

    Gadget999 Well-Known Member

    Joined:
    Dec 27, 2015
    Messages:
    1,897
    Location:
    London
    Balance:
    11,610Coins
    Ratings:
    +458 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
    this can already be done with software - so the pivot is around your chest

    there are plugins to make this work - see the hexapod software for example
  3. Grizus

    Grizus Member Gold Contributor

    Joined:
    May 6, 2017
    Messages:
    72
    Location:
    Warsaw PL
    Balance:
    349Coins
    Ratings:
    +98 / 2 / -0
    My Motion Simulator:
    6DOF
    • Disagree Disagree x 1
  4. Gadget999

    Gadget999 Well-Known Member

    Joined:
    Dec 27, 2015
    Messages:
    1,897
    Location:
    London
    Balance:
    11,610Coins
    Ratings:
    +458 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
    there must be a simple way to adjust the output knowing the dimensions of the sim and the distance to the COG

    does anyone have any suggestions for a formula ?

    i guess you have to ask the question does it really matter for a fast acting racing car sim compared to a flight sim
  5. Pawks

    Pawks New Member

    Joined:
    Jun 13, 2015
    Messages:
    22
    Location:
    Slovenia
    Balance:
    306Coins
    Ratings:
    +23 / 0 / -0
    I think that best pivot point isn't necessary the center of gravity but the points where humans best perceive motion/acceleration/rotation...and these would be inner ear and gut in my opinion.

    But there is also another thing to consider here.
    If you move pivot point off the center (above or below upper joint plane), you lose range of motion of the platform for rotations around X and Y axis.

    You can get around this to an extent by placing the seat not on the top of platform but rather lower it like in this link:
  6. Gadget999

    Gadget999 Well-Known Member

    Joined:
    Dec 27, 2015
    Messages:
    1,897
    Location:
    London
    Balance:
    11,610Coins
    Ratings:
    +458 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
    It is common to move the pivot points to the cog area

    But you need a custom seat/frame to make it work

    A Stewart platform has a flat base that let's you fit any seat / car / kart / motorbike / plane/ etc that you want
  7. Pawks

    Pawks New Member

    Joined:
    Jun 13, 2015
    Messages:
    22
    Location:
    Slovenia
    Balance:
    306Coins
    Ratings:
    +23 / 0 / -0
    Ok, if we are talking about a flat base then there is no option for lowering the seat...

    A suggestion for a formula question you asked in previous post then:
    I myself am using quaternions for rotating specific points (platform top joints) around arbitrary pivot point.

    A piece of example code (I am using QtCreator):

    for (int i=0;i<6;i++)
    {
    ...

    QQuaternion point;
    point.setScalar(2.0);
    point.setX(param1);
    point.setY(param2 - rotPointY);
    point.setZ(-rotPointZ);

    rotationX = QQuaternion::fromAxisAndAngle(1.0, 0.0, 0.0, pitchIn);
    rotationY = QQuaternion::fromAxisAndAngle(0.0, 1.0, 0.0, rollIn);
    rotationZ = QQuaternion::fromAxisAndAngle(0.0, 0.0, 1.0, yawIn);
    rotation = rotationZ*rotationY*rotationX;


    QQuaternion resultPoint = rotation*point*rotation.conjugated();

    ...

    Quick explanation of the code:
    - I do a for loop for all six joints

    - param1 and param2 are X and Y distances of a point(joint) to original pivot point.
    - rotPointY and rotPointZ are offset positions of pivot point in relation to original pivot point.
    - pitchIn, rollIn and yawIn are inputs
    - after calculation resultPoint holds X,Y and Z values for specific joint
    • Agree Agree x 1
  8. Gadget999

    Gadget999 Well-Known Member

    Joined:
    Dec 27, 2015
    Messages:
    1,897
    Location:
    London
    Balance:
    11,610Coins
    Ratings:
    +458 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
    Is it that simple ! Should be easy to integrate into a plug in or the code to index the motors
  9. Pawks

    Pawks New Member

    Joined:
    Jun 13, 2015
    Messages:
    22
    Location:
    Slovenia
    Balance:
    306Coins
    Ratings:
    +23 / 0 / -0
    Well, you will still need to calculate lengths of actuators based on these points (or crank arm rotations if you are not using linear actuators).
    But considering the points themselves, it is that simple, yes.

    The funny thing about quaternions is that they are really simple to use...
    Understanding how they work on the other hand is quite difficult (something about complex numbers in 4 dimensions...)

    Just to be clear - I don't understand it at all, but as long as it works it's OK for me... :)
    • Informative Informative x 1
  10. Gadget999

    Gadget999 Well-Known Member

    Joined:
    Dec 27, 2015
    Messages:
    1,897
    Location:
    London
    Balance:
    11,610Coins
    Ratings:
    +458 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
    does anyone have any idea how i can fix the data stream so it will compensate for the distance between the cor and cog (centre of rotation and centre of gravity)

    I am building a version of the SMC3 that works with 6 or more actuators and can fix the data live on the fly

    simtools outputs numbers for the positions of each actuator

    a bit like this

    [300],[400],[500],[600],[700],[800]

    my sim is a 6dof using gearmotors and levers

    some movements will have no effect

    Heave - no effect
    Surge - no effect
    Yaw - no effect
    Sway - no effect ?
    roll - ??
    pitch - ??

    am i right with the axis manipulation ?

    i may be able to detect if there is roll and pitch by examining if one axis is going up and one is going down


    any suggestions greatly appreciated !
  11. 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
    Can you please post pictures of all of your settings.
  12. Gadget999

    Gadget999 Well-Known Member

    Joined:
    Dec 27, 2015
    Messages:
    1,897
    Location:
    London
    Balance:
    11,610Coins
    Ratings:
    +458 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
    Hi Noorbeast - thanks for your help

    for RF2 it looks like this

    Attached Files:

  13. 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
    Can you please post a picture of the Axis Assignment and the Tuning Center while the game is running.
  14. Gadget999

    Gadget999 Well-Known Member

    Joined:
    Dec 27, 2015
    Messages:
    1,897
    Location:
    London
    Balance:
    11,610Coins
    Ratings:
    +458 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
    here is the tuning centre - I don't seem to be able to access the Axis Assignments whilst the game is running

    Attached Files:

  15. 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
    The TC shows game data, so it is working, either your configuration messed up or something is interfering.

    Can you please post a picture of the Axis Assignment, the game should not be running.

    Does Output Testing work as expected? f so it is likely settings, if not then likely interference.
    Last edited: Nov 2, 2020
  16. Gadget999

    Gadget999 Well-Known Member

    Joined:
    Dec 27, 2015
    Messages:
    1,897
    Location:
    London
    Balance:
    11,610Coins
    Ratings:
    +458 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
    Hi Noorbeast - everything is working as expected

    what i want to do is compensate for the difference between COG and COR

    (i can code this if i can work out how to do it)

  17. Gadget999

    Gadget999 Well-Known Member

    Joined:
    Dec 27, 2015
    Messages:
    1,897
    Location:
    London
    Balance:
    11,610Coins
    Ratings:
    +458 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
    @youbuddy - youbuddy do you have any suggestions how to fix/code this

    regards