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

Writing a motion cueing software from scratch.

Discussion in 'DIY Motion Simulator Projects' started by Dirty, Feb 28, 2019.

  1. chauffeur

    chauffeur New Member

    Joined:
    Feb 23, 2019
    Messages:
    11
    Balance:
    67Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    6DOF
    Just wanted to add some thoughts -

    Yesterday was a particularly turbulent day (180 at 17 gusting 25 kt all afternoon). I had a longer than usual flight. As I am trying to think back and analyze the kicks, bumps and potholes I could feel all through my flight, I couldn't agree more with SeatTime. As an example, for a standard rate turn, no matter how much I tried to compensate, I had a little bit of a skip/skid situation all through (because of the turbulence). I am guessing the for a simulator to actually be able to simulate all of that would be nearly impossible, if not totally impractical/impossible, given that its total displacement/movement is constrained to a small distance/angle.

    Another observation was regarding ground effect. A perfectly stabilized approach was out of question, given that I was getting kicked and blown around all over. As would be the case for all pilots in such situations, I kept fighting the gusts, and waited for ground effect to kick in. When it finally did, the transition is something I wouldn't be able to explain in words. I can't imagine being able to simulate all of that in a simulator.

    Thanks all, for this great discussion.
  2. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    1,185
    Location:
    berlin
    Balance:
    7,636Coins
    Ratings:
    +369 / 5 / -0
    My Motion Simulator:
    DC motor, 6DOF
    Thank you for sharing your valuable experience !

    Your review it related to Cessna or other aircraft type?

    Did you had a chance to train with motion based industrial platforms?

    It would be great to see how close we get to professional industrial solutions made by Thales or others.



    Having a synchronized film inside the cockpit and on the hexapod would be a great document for inspiration and further development ideas.

    If somebody have an access to those please think about doing such a video
  3. chauffeur

    chauffeur New Member

    Joined:
    Feb 23, 2019
    Messages:
    11
    Balance:
    67Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    6DOF
    I fly low and high wing (including Cessnas) aircraft. Yesterday's flight (referring back to my earlier post) was in a low wing aircraft.

    I have never trained in an "industrial" simulator, though I have a number of airline friends that have/do. One of them, a captain at a major airline with many thousands of hours under his belt, refers to such simulators as "the toy." In other words, their general feedback is that these simulators don't quite feel like the real thing.
  4. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    1,185
    Location:
    berlin
    Balance:
    7,636Coins
    Ratings:
    +369 / 5 / -0
    My Motion Simulator:
    DC motor, 6DOF
    Right, whatever the price, it remains a toy or a inperfect tool.
    The question is to get with 8K usd close or beyond the quality (realism) they offer for several millions ;-)
  5. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    1,185
    Location:
    berlin
    Balance:
    7,636Coins
    Ratings:
    +369 / 5 / -0
    My Motion Simulator:
    DC motor, 6DOF
  6. value1

    value1 Nerd SimAxe Beta Tester SimTools Developer Gold Contributor

    Joined:
    Jan 9, 2011
    Messages:
    2,184
    Location:
    Zug, Switzerland
    Balance:
    14,751Coins
    Ratings:
    +3,322 / 11 / -1
    My Motion Simulator:
    2DOF, DC motor, JRK, Joyrider
    Haha :) I know there's more data available in xplane than what the plugin outputs ;)
  7. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    1,185
    Location:
    berlin
    Balance:
    7,636Coins
    Ratings:
    +369 / 5 / -0
    My Motion Simulator:
    DC motor, 6DOF
    I follow you but we will always have to accept a certain degree of "infidelity"
    Whatever harnesses/vests/helmets, they will never take out the blood of your brain like the high positive acceleration rates.

    Like going to the concert hall will always be a real experience which has nothing to do with listening a CD on your sofa (even with 100k HiFi)
    Although a good recording simulating a concert hall space with stereo or 5.1 is sometime a better experience than some shitty real acoustic.

    Sorry for going out of the topic ;-)

    Everything what makes us get things a bit better is a huge step forward.

    Best
    Last edited: Mar 16, 2019
  8. Laurent-FCT

    Laurent-FCT New Member

    Joined:
    Mar 16, 2019
    Messages:
    3
    Location:
    BOULOGNE BILLANCOURT
    Balance:
    141Coins
    Ratings:
    +2 / 0 / -0
    My Motion Simulator:
    3DOF
    Waoo !! I've just discovered this thread : what an awesome work you’re doing Dirty!!

    Even if my project has clearly nothing to do with traditional flight simulation (I capture 360° videos with a drone, and would like to be able to playback these videos in a VR headset while being seated on my 3DOF platform - as if I was seating on a flying chair ), my idea is to simulate a virtual chair flying like an aircraft (with proper Euler angles, acceleration and angular velocity) and then compute motion cues accordingly.

    Simtools might be an interesting option for me (haven't tried yet), but I need to have fine control over this cue generation and a clear understanding of the underlying signal processing, in both t and z spaces. Surprisingly, I realised there were no proper open or transparent implementation of the classical washout filter (CWF) algorithm (even though first related papers were published nearly 35 years ago!).

    A month ago, with the help of a game developer I know, we started a basic CWF implementation (following the same Chalmers’ university paper pointed out by @cfischer in this thread) in Unity. Right now, we are currently struggling with low and high pass filtering of my drone telemetry (ie GPS and accelerometer logs) noisy signals …

    Glad I found your post today ! and thanks for sharing your findings with us

    Laurent.
    • Like Like x 1
    • Agree Agree x 1
  9. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    1,185
    Location:
    berlin
    Balance:
    7,636Coins
    Ratings:
    +369 / 5 / -0
    My Motion Simulator:
    DC motor, 6DOF
    so we don't stay to much on theoretical lever here is a experimental x-plane plugin for those who want to incorporate « exaggerate » the slipping/skidding effect:

    slip-skid.JPG
    sli.PNG

    Attached Files:

    • Like Like x 1
    Last edited: Mar 16, 2019
  10. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    744
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,905Coins
    Ratings:
    +877 / 3 / -0
    WOW!!!! So many great points brought up here!!!

    First of all, THIS....
    ...is the post to read! Period! There is not a single unclear/vague/ambiguous statement in there. There aren't enough positive tags to click to allow me to describe just how RIGHT every single word in this post is.

    ...except this one point :)
    "...What you will feel is a change of the angles = rotation, ("pitch/sec")...."

    You will not even be able to feel rotation! But what you will feel is a change of the change of the angles = angular acceleration (rad/s^2). Yes, that's two changes :) The "meta-change" so to speak :) I don't know if that's what you meant, but in case you didn't, here's an explanation:

    Any continuous unaccelerated rotation (rad/s or °/s) can not be felt directly. You might notice that your left arm feels a different force vector than your right arm, and your brain might be able to interpret that as rotation (more likely you will develop vertigo), but you will not be able to sense rotation directly. At this very moment everyone reading this is actually spinning at a rate of 7.29×10−5 radians/s (~15°/hr) and there is just no way for you to tell. We don't have Foucaults pendulum in our vestibular system.
    What you WILL however be able to sense directly (vestibular system) is an angular acceleration. Because the fluid in our vestibular system has inertia, you can sense angular acceleration: The change of the rotation rate over time.
    Last edited: Mar 18, 2019
  11. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    744
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,905Coins
    Ratings:
    +877 / 3 / -0
    I think to be able to have an intelligent discussion we should all be using the same terminology. And while there can be some terms used interchangeably (angular rate/ angular speed / rotation rate) it would help us A LOT if we could minimise misunderstandings by agreeing on terminology.

    I’m gonna start with translation

    Try to get these terms into your head:
    • Position [m]
    • Velocity or Speed [m/s]
    • Acceleration [m/s^2]
    • Jerk [m/s^3]
    • Jounce or Snap [m/s^4]
    OK, OK, Jounce will most likely not play a role in motion simulation for us, but you won’t have fully understood the whole concept of it if jounce is still unclear to you. I’d even go one step further and say: You will only have understood the concept once you catch yourself with the question „Why isn’t there anything after jounce?“ (Btw. there is: It’s called „Crackle“ and „Pop“).

    What you should take away from this, is that each term describes the rate of change (over time) of the previous.
    Velocity [m/s] is the rate of change of your Position [m].
    Acceleration [m/s^2] is the rate of change of your Velocity [m/s].
    Jerk [m/s^3] is the rate of change of your Acceleration [m^2].
    Jounce [m/s^4] is the rate of change of your Jerk [m^3].
    …and so on.
    Bildschirmfoto 2019-03-18 um 21.06.26.png

    So, it does matter whether you’re talking about speed or acceleration :)
    In translation that is pretty much self evident. After all, terms like position, speed and acceleration are common everyday English.

    Here’s the same for rotation:
    • Angle or angular position [°]
    • Angular rate (Omega) [°/s]
    • Angular acceleration[°/s^2]
    • Angular jerk[°/s^3]
    • Angular jounce [°/s^4]
    …got the idea? If not:

    What you should take away from this, is that each term describes the rate of change (over time) of the previous.
    Angular rate [°/s] is the rate of change of your Angle [°].
    Angular acceleration [°/s^2] is the rate of change of your Angular rate [°/s].
    Angular jerk [°/s^3] is the rate of change of your Angular acceleration [°/s^2].
    Angular jounce [°/s^4] is the rate of change of your Jerk [°/s^3].
    ...and so on.

    Bildschirmfoto 2019-03-18 um 21.06.18.png
    • Agree Agree x 1
  12. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    1,185
    Location:
    berlin
    Balance:
    7,636Coins
    Ratings:
    +369 / 5 / -0
    My Motion Simulator:
    DC motor, 6DOF
    You are much more qualified to propose something we should stick to.

    1.)
    How would you call 3 g-loads? (Norml, axial, side)
    They can be expressed in G or in m/ss 1G=9.8m/ss
    2.)
    How would you call 3 angular positions in deg. ?
    (Pitch, roll, hding)
    3.)
    How would you call 3 Q,P,R in (rad/s)

    948B972F-C21E-4A3E-B41E-A186BE58C10F.jpeg
  13. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    744
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,905Coins
    Ratings:
    +877 / 3 / -0
    @hexpod :
    Your understanding of the forces in coordinated flight appears to be correct. As long as the "ball" is centered the pilot will sit happily in his seat. No lateral forces. The only things he will feel is when he rolls into the turn and when he rolls out of it.

    And now pay close attention, this is gonna puzzle you at first, but it will deepen your understanding greatly when embraced:
    Some things can be felt and others cannot:
    1. He starts to roll into the turn. Positive angular acceleration.
    2. He rolls into the turn. Constant angular (roll-)rate, but no angular (roll-)acceleration.
    3. He stops to roll into the turn. Negative angular acceleration.
    4. He is in the turn. No angular rate, and no angular acceleration. Bankangle at 30°
    5. He starts to roll out of the turn. Negative angular acceleration.
    6. He rolls out of the turn. Constant angular (roll-)rate, but no angular (roll-)acceleration.
    7. He stops to roll out of the turn. Positive angular acceleration.

    Using the sidelslip indicator to determine the lateral forces is possible, but be aware that you will limit yourself to a part of the flight envelope where this indication is useful (Positive G around 1 & low roll accelerations).

    ...I will try to produce an actual flight data recording tomorrow. Might become clearer... :)
    • Like Like x 1
    • Agree Agree x 1
    Last edited: Mar 18, 2019
  14. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,614Coins
    Ratings:
    +1,835 / 32 / -1
    The way I read it that's exactly what value1 said too.
  15. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    744
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,905Coins
    Ratings:
    +877 / 3 / -0
    Hey :) still up so late :)

    1) to be honest, I find X-Planes terms quite suitable: G_Normal, G_Lateral and G_Axial. I also like that they are "vehicle neutral" (cars, planes, tanks and cruise ships alike). I prefer to use m/s^2 but G is fine as well.
    2) Those are the Euler angles. And I'm tempted to say that you can pretty much ignore them. They are only used to put the vehicle orientation in some relationship to the Earth reference system for use in navigation. But we are interested in the apparent forces in the vehicle reference system. I do export them in my software, ...because,... you never know.... but @value1 described it very nicely: You don't feel Yaw,Pitch and Bank. You feel the "changes of the changes".
    3) P,Q and R are angular rates [rad/s] around the vehicle axis (don't remember which was around which axis)

    I'm just trying to raise awareness among all of you, that you should attempt to be perfectly clear what exact term you are thinking about. :)
  16. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    1,185
    Location:
    berlin
    Balance:
    7,636Coins
    Ratings:
    +369 / 5 / -0
    My Motion Simulator:
    DC motor, 6DOF
    I am mapping the slip indicator to the roll axis (not the sway) ino order simulate “exaggerate” the sustained tilt feel.

    Of course, I am mixing it with angular accelerations rad/s. (Extra2)

    Can you see it in this matrix?

    AC6D7348-43DF-4BFE-A916-0140843F963A.png
  17. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    744
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,905Coins
    Ratings:
    +877 / 3 / -0
    @value1 : What you will feel is a change of the angles = rotation, ("pitch/sec").
    @Dirty : What you will feel is a change of the change of the angles = angular acceleration (rad/s^2).

    I know that this might seem unnecessarily picky at first glance, but it is one more derivative. Please note, that I did indicate, that I am pretty sure, that that he actually meant the right thing.

    Dirty :)
    • Like Like x 1
  18. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    1,185
    Location:
    berlin
    Balance:
    7,636Coins
    Ratings:
    +369 / 5 / -0
    My Motion Simulator:
    DC motor, 6DOF
    If you only use angular rates (in rad/s) your platform will remain flat even with strong incidence angles.

    Yaw Euler is useless, roll can lead into erroneous positions (infamous coordinated flight) but Pitch (in deg.) is more than crucial!!!

    Otherwise you fly vertical and your platform is flat.
    That’s bullshit

    You understand what I mean?
  19. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    744
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,905Coins
    Ratings:
    +877 / 3 / -0
    That's a very good thing! I'd use a low pass filter on that signal before doing that, but in general it will give you very good results over a wide range of the flight envelope. :thumbs
    There's one question I'd like to bring up though: Why not using G_Lateral for that? It would give you the same results and that signal is not prone to distortion like the ball is. Have you thought about what the ball indicates in zero-G or inverted? Or even simpler: If you use the "ball" for that signal, what if that instrument fails? Or you fly an aircraft that does not even have a ball...

    Dirty:)
  20. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    1,185
    Location:
    berlin
    Balance:
    7,636Coins
    Ratings:
    +369 / 5 / -0
    My Motion Simulator:
    DC motor, 6DOF
    OMG
    „Why not using G_Lateral for that?„”

    Can you see it in the matrix?

    I am mixing three of them.

    I feel with my platform both are quite different and gives you a different feeling.