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

FlyPT Mover

Discussion in 'FlyPt Mover' started by pmvcda, May 30, 2019.

  1. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    1,093
    Location:
    berlin
    Balance:
    7,091Coins
    Ratings:
    +336 / 5 / -0
    My Motion Simulator:
    DC motor, 6DOF

    A8BD9868-9295-4AE8-BF42-535D3AA15557.jpeg
    Last edited: Jan 24, 2021
  2. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    1,093
    Location:
    berlin
    Balance:
    7,091Coins
    Ratings:
    +336 / 5 / -0
    My Motion Simulator:
    DC motor, 6DOF
    1-2 gear 2-3 gear. Do you see what’s happening when the power is cut due to gear change?

    FD4FAF22-AB4C-41BB-9C26-392FA68BA66C.jpeg
  3. Sverenja

    Sverenja New Member

    Joined:
    Jan 12, 2021
    Messages:
    12
    Location:
    Bavaria
    Balance:
    630Coins
    Ratings:
    +12 / 1 / -0
    In the case of acceleration as soon as the engine is cut there is another force applied due to friction, i.e. a braking force.

    In the case of the gear change it is more complicated as the acceleration never crosses the zero line (probably because it was an automatic transmission in the video) therefore the perceived kick is due to the body being less compressed in the seat due to less force. There is no additional "kick" because there is no additional force. The car body itself does not have this kick, it just accelerates less.
    In a manual transmission there would be a short kick, due to complete loss of power and friction slowing the car down.

    In an ideal simulator there should not be an additional kick, as the forcevector doesn't change direction. The problem stems from the limitation a real world simulator has. How can the lessening of a continuous force be simulated if it wasn't continuous in the first place. Unfortunately the answer at least in the case of a gear change during acceleration is a kick in the "wrong" direction, otherwise our body can not be fooled into thinking the force was suddenly lost.
    But by changing the force vector we are suddenly ejected from the seat into the seat belt, when in reality the pressure into the seat would just be lessened.


    But at the same time a simulator is not about reality it's about making our bodies think it's real, so a small second kick could make it more real even though it's technically wrong. Even in a real car most of the perceived kick is probably due to us getting used to the pressure otherwise we would constantly perceive gravity pulling us down, which would be kinda distracting.
    • Agree Agree x 1
  4. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    736
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,825Coins
    Ratings:
    +859 / 2 / -0
    I think you have an interesting point there.

    First of all, I know that Cruden have actually implemented such a behavior with great success, so I assume there's some value in that concept.

    I think the reason why the pure HP filter based approach (kick back when force cut) feels wrong is this:
    The acceleration onset gave you a fwd jolt AND it slowly tilted your platform back. Now, when you suddenly cut the acceleration, the tilt is still there for a few moments. So that backwards surge should just "neutralise" the acceleration you are still feeling from the tilt.
    Problem 1) Tilt and surge have to be coordinated to feel realistic.
    Problem 2) With your screen setup you can still see the room to reference your movement to. The less you saw the room, the less that backwards jolt can even be perceived as backwards.

    I can say that I am aware of what you are describing (wrong kick when force cut), but I can also attest that it gets significantly better with...
    • No visual outside reference
    • Silent actuators (not to be underestimated!)
    • Smooth actuators (also not to be under estimated!)
    • A well tuned tilt coordination channel
    I hope that you can implement this behavior. I'd love try it out. I will keep thinking about it for sure, as I find it intriguing.
    • Like Like x 1
  5. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    1,093
    Location:
    berlin
    Balance:
    7,091Coins
    Ratings:
    +336 / 5 / -0
    My Motion Simulator:
    DC motor, 6DOF
    And how about this ?
    You brake until the full stop. At the moment it stops, you get a huge spike over 0, and even some oscillations.
    So when you cut the force (in this case, the braking process stops) you get a back spike.

    C180A136-8B25-422E-8A77-FD2AF57E7437.jpeg
  6. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    736
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,825Coins
    Ratings:
    +859 / 2 / -0
    I think that is the suspension bouncing back. Those are movements that would be contained in the acceleration signal anyways, because those are actual forward-backward accelerations.

    As far as I can tell @alex928gt just wants to get rid of those surge motions when the actuators are moving opposite to the direction of the acceleration.

    The longer I think about it, the more I get the feeling that this is more complicated than it sounds. And also that it almost certainly will create some problems/inconsistencies in other parts of the operating envelope. I hope I am too pessimistic there.

    That's one of the cases where I'd actually love to be proven wrong!
  7. alex928gt

    alex928gt Member

    Joined:
    May 2, 2020
    Messages:
    39
    Balance:
    379Coins
    Ratings:
    +3 / 0 / -0
    @hexpod, that's exactly the point I already made previously.

    And the oscillations are very probably related to shock spring decompressions so actually something you would expect to feel from the tilt of the platform.
    More generally what you showed above are acceleration charts - with indeed strong increase of acceleration from -X to 0 when braking stops as I described but no evidence of a kick whatsoever.

    Again, if we revert to the first video you shared: 2 changes in acceleration = only one kick from the mallet (or whatever it was) and I believe this is the general principle we should retain so when I get 2 opposite changes in acceleration signal from the output I only want 1 kick from the actuator.
  8. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    1,093
    Location:
    berlin
    Balance:
    7,091Coins
    Ratings:
    +336 / 5 / -0
    My Motion Simulator:
    DC motor, 6DOF
    @alex928gt could you show the filter value you use on your surge ?
  9. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    1,093
    Location:
    berlin
    Balance:
    7,091Coins
    Ratings:
    +336 / 5 / -0
    My Motion Simulator:
    DC motor, 6DOF
    @pmvcda @Dirty and what about a condition with time variable : if positive (with certain magnitude) than cancel negative, and the opposite, if negative skip the positive during let’s say 01 up to 0,5s. with smooth transition than.
    Last edited: Jan 24, 2021
  10. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    1,846
    Location:
    Portugal
    Balance:
    14,096Coins
    Ratings:
    +2,169 / 16 / -0
    My Motion Simulator:
    6DOF
    I have been thinking about this, no solution yet, but I can tell you this is something that I have doubts for some time.
    I found this first on Dirt Rally accelerations. Specially, lateral accelerations when sliding.
    Dirt rally has no vertical acceleration, we need to calculate it, I think from speed (don't remember exactlly).
    At the time I thought of calculating all, and discovered that the accelerations we get from the game don't have the negative value when lifting the accelerator, while the ones I calculate from speed have it.
    Thinking on physics, all seems OK, but why dirt rally does it.... I'm on it and will try to get a filter that removes that negative reaction. But it's not easy or evident at first look.
    • Like Like x 1
    • Agree Agree x 1
    • Informative Informative x 1
  11. alex928gt

    alex928gt Member

    Joined:
    May 2, 2020
    Messages:
    39
    Balance:
    379Coins
    Ratings:
    +3 / 0 / -0
    First I would like to thank you all for your interest and support on this topic.

    @hexpod: My settings were pretty standard based on what Dirty had proposed, just tuned a bit to make wash out a bit slower so as to feel the wash out effect a bit less: EMALP(EMAHP(VALUE;300);100)

    Also, reverting to your point above on gear change jolts I believe that what we actually feel in this situation is:

    • when releasing the throttle and disengaging the clutch:
      • no more pressure on the back of the seat but conversely no pure horizontal kick backward as already discussed
      • no strong braking effect since we released the clutch and therefore avoid strong braking effect from engine braking
      • maybe slight braking effect from road/air friction but too slight to be felt as kick
      • the main jolt effect you feel there is probably coming from the decompression of shock springs that got compressed during the previous acceleration. This spring force actually results in a forward (not backward) kick in the tilt of the platform
    • then you shift and engage the clutch and throttle and you get
      • strong horizontal kick forward from the engine throttle (depending on the gear of course)
      • pressure in your back from the seat
      • backward tilt of the platform corresponding to shock spring compression
    As a summary when shifting you mostly feel:
    • at first, less pressure from the seat in your back and strong tilt forward from the decompression of springs
    • and then strong kick forward from throttling back and tilt backward from the compression of springs

    So, summarizing in the case of my setup that combines vertical actuators, as well as horizontal ones but also a SimXperience G-seat and G-Belt, here is what I would expect to feel:

    When jumping on the throttle:

    • strong and fast kick forward from the horizontal surge actuator, fed from longitudinal acceleration and then washing out
    • backward tilt (springs compression) generated by vertical actuators also fed by longitudinal acceleration, progressively washing out
    • G-force simulated by the back plates of the G-seat. This takes the relay of the strong and fast horizontal kick forward to maintain the impression of acceleration thanks to sustained pressure in the back
    • Maybe a bit of pitch as well (rear down, front up)
    When releasing the throttle:
    • no strong backward kick from the horizontal surge actuator since we just removed the throttle and did not actually jump on the brakes. Maybe a slight backward kick however if the clutch remained engaged therefore generating a bit of actual engine braking when the throttle is released
    • forward tilt generated by vertical actuators (springs decompression)
    • release of G-force simulated by the back plates of the G-seat
    • pitch back to horizontal
    When jumping on the brakes
    • strong and fast backward kick from the horizontal surge actuator, then washing out
    • forward tilt generated by vertical actuators (springs compression)
    • G-force simulated by the plates of the G-seat under the legs. This takes the relay of the strong and fast horizontal backward kick to maintain the impression of braking thanks to sustained pressure under the legs
    • Strong pressure of the harness on the shoulders thanks to the G-Belt system, also maintaining the impression of braking over time
    • Maybe a bit of pitch as well (rear up, front down)
    And so on...

    @pmvcda, to get there I really need your support. Could you please indeed investigate on the best way to implement what Yobuddy described i.e.

    It's a washout filter that ignores input from the data returning to zero.
    Or you could say, it captures the acceleration data only when it growing either in a positive or negative direction.

    For example,
    Input jumps from 0 to 100, output = output + 100 steps
    Input jumps from 100 back to 0, output = output - washout
    Input jumps from 0 to -100, output = output - 100 steps
    Input jumps from -100 back to 0, output = output - washout

    Since this would need to combine a washout (i.e. filtering) with an actual alteration of the acceleration input to only capture the acceleration data only when it growing either in a positive or negative direction this should maybe be a specific function with integrated specific washout and LP/HP filter order parameters. Maybe worth discussing with Yobuddy if ok with him. Big thank you in advance if you are actually able to help. Btw this could also be used on TL as originally described by Yobuddy, which could actually kill two birds with one stone.

    I'll of course keep thinking about it myself. I was wondering whether you would all have a direct solution as experts of Mover filters but if not so I'm happy to help there.

    Anyway thanks again everyone for this very interesting discussion.

    Alex
  12. Sverenja

    Sverenja New Member

    Joined:
    Jan 12, 2021
    Messages:
    12
    Location:
    Bavaria
    Balance:
    630Coins
    Ratings:
    +12 / 1 / -0
    I might have come up with something. For that to work gas and brake need to be separate inputs.

    My idea was to use the derivative of the input and ignore negative values. That way a release of the pedal does not add to the movement. Additionally faster speed of pressing the pedal results in more movement.

    I used the following in Surge in the Pose - From Motion module. Input was joystick - longitudinal acceleration. (And I only used an XBox Controller to test it)

    GAIN(EMALP(MINCROP(DEMALP(DIF(VALUE);100);0);400);5)

    • This is assuming that DIF (Diferentiation) is indeed the derivative of the input
    • MINCROP is used to ignore release of the pedal as the derivative of releasing the pedal is negative.
    • I might have used the wrong filters here as I'm not only not very experienced with FlyPT Mover, but the filters also behave in (to me) unexpected ways once the differentiation is involved, but it does the washout and ignores release. EMALP and DEMALP were just the filters that kinda worked.
    • Pressing the pedal halfway and then pressing harder results in a second kick event.
    • It can only work for Gas or Brake, not both together (positive of one is the negative of the other), that's why separate inputs are necessary.

    It might be better to use LOGISTICS instead of GAIN in the beginning (if at all)


    EDIT:
    Just realized that by using only the derivative the amount of brake is not taken into account, so if possible the actual value should be injected via sidechain if possible (gain modifier ?)
    • Old Old x 1
    Last edited: Jan 24, 2021
  13. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    1,093
    Location:
    berlin
    Balance:
    7,091Coins
    Ratings:
    +336 / 5 / -0
    My Motion Simulator:
    DC motor, 6DOF
    Alex, I am just making two points to be on similar page:
    1.)
    “It's a washout filter that ignores input from the data returning to zero.”

    This is a description of the most standard high pass filter which doesn’t describe at all what you are describing here :

    “Or you could say, it captures the acceleration data only when it growing either in a positive or negative direction.”


    2.)
    Try another combination of lp/hp for ex: this one to see if your feeling of back kick gets attenuated :
    9C57A510-B466-4163-A399-AA239153AD7E.jpeg

    Last edited: Jan 24, 2021
  14. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    1,093
    Location:
    berlin
    Balance:
    7,091Coins
    Ratings:
    +336 / 5 / -0
    My Motion Simulator:
    DC motor, 6DOF
    One important thing which could be worth to mention is the behavior of filtering in earlier versions of Simtools. (2.1 or something like that). I changed the telephone since, so unfortunately, I don’t have examples anymore.

    It could be, that for lp and hp a simple moving average was in use back than, and the hp had a very annoying behavior. It was like returning not to 0 but to the current value and the worse was, that it was “pumping” the cue to the edge of the axis making the cueing impossible. It disappeared once it got exponential moving filtering.

    It could maybe give you some ideas
  15. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    1,846
    Location:
    Portugal
    Balance:
    14,096Coins
    Ratings:
    +2,169 / 16 / -0
    My Motion Simulator:
    6DOF
    Ok, ignore what I said in the last post about Dirt Rally 2.
    I'm confusing it with centripetal forces.

    Using the pedal is not right. You can have it fully pressed with the wheels slipping and there's no dislocation, so the cue will be false.

    Been playing a bit with filtering, and like @hexpod says, speed might be the best value to use.
    Speed is always positive while travelling forward. The result is a decrement when releasing the accelerator.
    upload_2021-1-24_18-16-19.png

    In this graph, we can see in gray the car accelerating, and at the top I released the accelerator.
    So, this flows naturally to zero when the car stops.
    To use it in the rig, we need to make an high pass to move back to zero. And an high pass here is smoother than with acceleration.


    So, you still get the moving back, but slower and softer.

    I'm looking at a solution to reach what you want, although I don't agree totally with what you think we should feel.

    But I'm all for making us feel what we think is right, so, I'm going after that filter, although I have to say that I'm without ideas right now.

    Try using speed to see if it gives you a better effect. Like the bellow graphic.
    You can always add another pose that uses acceleration and add them in the rig.
    upload_2021-1-24_18-30-20.png
    • Informative Informative x 1
  16. alex928gt

    alex928gt Member

    Joined:
    May 2, 2020
    Messages:
    39
    Balance:
    379Coins
    Ratings:
    +3 / 0 / -0
    Both sentences are from Yobuddy and I find them pretty consistent with each other. He means that he only takes into account data moving away from 0 whatever the direction i.e. he takes into account a move of acceleration input from 0 to 5 or 0 to -5 but not 5 to 0 or -5 to 0.

    And NO this is not the standard behavior of HP filter applied to longitudinal acceleration in Mover. In Mover currently when acceleration goes from 5 to 0 this generates a variation in the HP filter output, as do all input variations.

    Those parameters won't change the fundamental issue described above i.e. the wrong cue related to acceleration value going from X>0 back to 0. They just added a lot more delay in the "right" kicks due to LP parameter = 500. Also if you want a significant kick forward (resp. backward) when throttling (resp. braking) you need LP1 not LP2.

    Alex
  17. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    1,093
    Location:
    berlin
    Balance:
    7,091Coins
    Ratings:
    +336 / 5 / -0
    My Motion Simulator:
    DC motor, 6DOF
  18. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    1,846
    Location:
    Portugal
    Balance:
    14,096Coins
    Ratings:
    +2,169 / 16 / -0
    My Motion Simulator:
    6DOF
    Exactly the filter I have been been trying to do this afternoon.
    But I'm struggling to incorporate it right now in Mover.
  19. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    1,093
    Location:
    berlin
    Balance:
    7,091Coins
    Ratings:
    +336 / 5 / -0
    My Motion Simulator:
    DC motor, 6DOF
    No HP parameter is 500 check the lines
  20. alex928gt

    alex928gt Member

    Joined:
    May 2, 2020
    Messages:
    39
    Balance:
    379Coins
    Ratings:
    +3 / 0 / -0
    You're right, typo on my end, but still adds a lot of delay.