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 6DOF/Stewart/Hexapod Interface for linear and rotating actuators

Discussion in 'FlyPt Mover' started by pmvcda, Jan 2, 2019.

  1. Pierre Lalancette

    Pierre Lalancette Sir Lalancelot Gold Contributor

    Joined:
    Dec 11, 2016
    Messages:
    960
    Occupation:
    Tech Artist
    Location:
    Quebec, Canada
    Balance:
    7,785Coins
    Ratings:
    +896 / 6 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, 6DOF
    I really hope that my problem is only because I'm too stupid to set it out correctly. Here what I have:

    axis_assignments.jpg

    And when I click the little orange button for the filters:

    axis_filter.jpg

    I've tried many values for the washout. Both at 100, one 80 one 20, vis versa... No change.
  2. yobuddy

    yobuddy Well-Known Member Staff Member Moderator SimAxe Beta Tester SimTools Developer Gold Contributor

    Joined:
    Feb 9, 2007
    Messages:
    5,307
    Occupation:
    Computer Technician
    Location:
    Portland, Oregon - USA
    Balance:
    49,494Coins
    Ratings:
    +5,109 / 18 / -0
    @Pierre Lalancette,
    I don't think you want yaw at all for axis4a buddy.
    Set Extra1 to 100% (from 80%) and apply the washout filter to it, and you should be good to go.
    Take care,
    yobuddy
  3. Pierre Lalancette

    Pierre Lalancette Sir Lalancelot Gold Contributor

    Joined:
    Dec 11, 2016
    Messages:
    960
    Occupation:
    Tech Artist
    Location:
    Quebec, Canada
    Balance:
    7,785Coins
    Ratings:
    +896 / 6 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, 6DOF
    I did what you told me. Of course, it resolved my yaw problem (no yaw).
    But when I tried it, something felt totally off. I got the feeling of sliding the wrong way. So I reverse the extra 1. It felt much better.
    After a few run and a lap improved by 8 min (no joke), I stopped just to find out I had forgotten to adjust the center of forces to my seat. I will have to test it again later. It felt really different, and I did not feel dizzy.

    setting_02.jpg
    Anyway, thanks for the info @yobuddy .
    • Like Like x 1
  4. yobuddy

    yobuddy Well-Known Member Staff Member Moderator SimAxe Beta Tester SimTools Developer Gold Contributor

    Joined:
    Feb 9, 2007
    Messages:
    5,307
    Occupation:
    Computer Technician
    Location:
    Portland, Oregon - USA
    Balance:
    49,494Coins
    Ratings:
    +5,109 / 18 / -0
    I don't think you want the Extra1 for Axis1a either.
    Please remove it and i think you good to go!
    Take care,
    yobuddy
  5. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,159
    Location:
    Portugal
    Balance:
    15,270Coins
    Ratings:
    +2,535 / 17 / -0
    My Motion Simulator:
    6DOF
    @Pierre Lalancette
    I don't really understand the 3 Extras in Assetto Corsa. Seems traction loss is in the 3.
    Like youbuddy said, better keep it simple in this case.
    That trick to make rotation around the front with traction loss doesn't seem to work in AC.
    I have to take a better look to see what's happening.
  6. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,159
    Location:
    Portugal
    Balance:
    15,270Coins
    Ratings:
    +2,535 / 17 / -0
    My Motion Simulator:
    6DOF
    Version 1.6.6

    Download in the first post of this topic.
    Corrected some problems, like saving the center of rotation.
    Added graphics for pose components.
    Now you can see the effect of filters in the pose, before calculating the actuators position.

    On the next image, we can see heave.
    Gray, value received from Simtools.
    Black, a high pass filter applied.
    Sem nome.jpg
    Gain is not represented on the graphic.
    Hope I didn't broke something with those changes. Had not much time to test...
    • Like Like x 2
    • Winner Winner x 1
  7. Pierre Lalancette

    Pierre Lalancette Sir Lalancelot Gold Contributor

    Joined:
    Dec 11, 2016
    Messages:
    960
    Occupation:
    Tech Artist
    Location:
    Quebec, Canada
    Balance:
    7,785Coins
    Ratings:
    +896 / 6 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, 6DOF
    Ok, I'll be more causious about the extras in Asseto Corsa, or any game for that matter.

    Great! A new version of hexapod, on Monday! I will have to wait the whole week before testing it. :(

    Can't wait.
  8. SilentChill

    SilentChill Problem Maker

    Joined:
    Jul 19, 2014
    Messages:
    2,643
    Occupation:
    Railway Maintenance
    Location:
    Morecambe, Lancashire, England
    Balance:
    20,560Coins
    Ratings:
    +3,488 / 34 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 6DOF
    @pmvcda just got a quick suggestion if you can or cant do it. Is there a way we can turn each DOF off so we can tune each DOF individually through the FlyPT interface rather than going into simtools and turning the DOF's off ? like a check box to tick or untick ?
  9. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,159
    Location:
    Portugal
    Balance:
    15,270Coins
    Ratings:
    +2,535 / 17 / -0
    My Motion Simulator:
    6DOF
    Just put zero in the range values.
  10. SilentChill

    SilentChill Problem Maker

    Joined:
    Jul 19, 2014
    Messages:
    2,643
    Occupation:
    Railway Maintenance
    Location:
    Morecambe, Lancashire, England
    Balance:
    20,560Coins
    Ratings:
    +3,488 / 34 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 6DOF
    I know I'm just being lazy , pain in VR to use the keyboard :D

    Edit: I could just use the mouse but it's a lot of clicks up and down :grin

    I will just set to zero:thumbs
  11. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,159
    Location:
    Portugal
    Balance:
    15,270Coins
    Ratings:
    +2,535 / 17 / -0
    My Motion Simulator:
    6DOF
    I can add a button to lock the axis. ;)
    • Like Like x 1
  12. Pierre Lalancette

    Pierre Lalancette Sir Lalancelot Gold Contributor

    Joined:
    Dec 11, 2016
    Messages:
    960
    Occupation:
    Tech Artist
    Location:
    Quebec, Canada
    Balance:
    7,785Coins
    Ratings:
    +896 / 6 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, 6DOF
    Yes, a mute for each forces.
  13. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,159
    Location:
    Portugal
    Balance:
    15,270Coins
    Ratings:
    +2,535 / 17 / -0
    My Motion Simulator:
    6DOF
    Version 1.6.7

    Well, you asked, you have it ;)

    - Lock the pose components. You can lock in the position you want and reset after locking if you want.
    - Made some internal changes for future updates, so any error, please report.
    - Flip pose components changed internally also, but output should be the same. In the graphics we can see the inversion.

    Sem nome.jpg

    Download in the first post of this topic.
    • Winner Winner x 2
    • Useful Useful x 1
  14. SilentChill

    SilentChill Problem Maker

    Joined:
    Jul 19, 2014
    Messages:
    2,643
    Occupation:
    Railway Maintenance
    Location:
    Morecambe, Lancashire, England
    Balance:
    20,560Coins
    Ratings:
    +3,488 / 34 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 6DOF

    Awesome work dude !!! I was fiddling for ages clicking away last night this makes it loads easier

    Does it work in minimized now aswell can't say I've tried it on last version
  15. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,159
    Location:
    Portugal
    Balance:
    15,270Coins
    Ratings:
    +2,535 / 17 / -0
    My Motion Simulator:
    6DOF
    ... Don't know, I'm not near the rig to test if minimised is working ...
    I think (hope) so.
  16. SilentChill

    SilentChill Problem Maker

    Joined:
    Jul 19, 2014
    Messages:
    2,643
    Occupation:
    Railway Maintenance
    Location:
    Morecambe, Lancashire, England
    Balance:
    20,560Coins
    Ratings:
    +3,488 / 34 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 6DOF
    I forgot to try I minimized lol

    Did you change anything else as it was like none of the filters were working tonight I had to tune it by the tuning centre and raise all the settings quite high to smooth it out, changing the gain and filters did nothing in hexpod interface
  17. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,159
    Location:
    Portugal
    Balance:
    15,270Coins
    Ratings:
    +2,535 / 17 / -0
    My Motion Simulator:
    6DOF
    Sorry,
    I'm taking a look at it.
    I made some changes and I'm still making. Found some errors.
    So we are going to have version 1.6.8 today.
    • Like Like x 1
  18. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,159
    Location:
    Portugal
    Balance:
    15,270Coins
    Ratings:
    +2,535 / 17 / -0
    My Motion Simulator:
    6DOF
    Version 1.6.8

    Download on the first post of this topic.

    -Corrected some bugs.
    -Made some internal changes.
    -Added roll over. It's working like we have in Simtools.
    -Added washout.
    We should use washout in combination with roll over in the rotating axis but we can try all the combinations, they are available for all pose components.

    Hope it's not messing everything.
    I'm starting to feel that instead of getting better, it's getting worse...

    Bellow picture, shows graphic for yaw.
    Black the result of the washout on the gray signal.
    Sem nome.jpg



    Explaining the filters

    I will put this in the first page, but for now, and since I'm going to make some changes, let's keep it here.
    Also I hope I'm not making any error. Sometimes, I get lost on those things, so if you think something is wrong, please say so.

    In the interface you can apply filters to input and output.
    Input is the pose components, like sway, heave or yaw.
    Output is the actuators position.

    There are multiple types of filters, but let's ignore the DEMA and TEMA ones (I might remove them, there's no benefit to use them here).

    EMA filters are Exponential Medium Average filters.
    What they do is pick the last n values received and calculate an exponential average of them.
    Older the value, less weight he as on the result.

    LOW PASS FILTER
    So, if you pick a EMA low pass with a value of 20, you are using the last 20 values received, including the new one, to calculate the filtered value.
    The result of this filter is to soften the signal.
    A low pass filter will look like this (surge input in LFS with low pass filter using 20 samples):
    Low Pass.jpg
    Gray is the original value and black the filtered one.
    The result is softened, but you get a delayed response.
    If you think that road texture in a car sim is to harsh on your rig, you can use this filter to soften the road texture.

    HIGH PASS FILTER
    The high pass filter is the removal of the low pass filter from the original value.
    high pass value = original value - low pass value.
    The result is the high frequency values and the removal of the low ones.
    The value you set on the interface is the number of samples used to calculate the low pass that we remove from the original signal.
    A high pass filter will look like this (surge input in LFS with high pass filter using 10 samples):
    High Pass.jpg
    You get the small details, but low frequency value changes are removed from the signal.
    Use this to get only the small details, like road texture in heave.
    If heave is for example the car location in height, you don't want the car go up a mountain and your rig goes out of range.
    What you want is the road detail, so let's use the high pass filter in that situation.

    BAND PASS FILTER
    Band pass filter is the combination of a low pass with an high pass filter
    In a low pass we let pass only the low frequencies.
    In a high pass, only the high ones.
    In the band pass, we let pass the frequencies between those two filters.
    band pass value = original value - low pass value - high pass value
    In the interface you set the number of samples to use in the low pass filters used to calculate both filters.
    A band pass filter will look like this (surge input in LFS with band pass filter using 40 samples for low pass and 3 samples for high pass):
    Band Pass.jpg
    What we can see is that we preserve the small details and the large amplitude peaks.
    If you take a closer look, it works similar to a washout filter.

    BAND STOP FILTER
    Also a combination of the low pass and high pass filter.
    But the opposite to band pass.
    band stop = original value - band pass value
    A band pass filter will look like this (surge input in LFS with band stop filter using 20 samples for low pass and 10 samples for high pass):
    Band Stop.jpg

    WASHOUT
    It's a Low pass filter combined with a high pass one.
    The low pass smooths the last values and the high pass get's high frequency from the new ones.
    The result is the addition of the two, making the signal go near zero (not zero but the result of the high pass that gets values near zero) constantly.
    • Like Like x 4
    • Winner Winner x 3
  19. SilentChill

    SilentChill Problem Maker

    Joined:
    Jul 19, 2014
    Messages:
    2,643
    Occupation:
    Railway Maintenance
    Location:
    Morecambe, Lancashire, England
    Balance:
    20,560Coins
    Ratings:
    +3,488 / 34 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 6DOF

    Im going on now so will give it a try.

    I have been using bandstop filters so i can get the longer ranges and then the jerks but not too much jerks if you know what I mean ;)
  20. Pierre Lalancette

    Pierre Lalancette Sir Lalancelot Gold Contributor

    Joined:
    Dec 11, 2016
    Messages:
    960
    Occupation:
    Tech Artist
    Location:
    Quebec, Canada
    Balance:
    7,785Coins
    Ratings:
    +896 / 6 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, 6DOF
    Oh, my God! Oh, my God! Can't wait to test it!
    I'm already so busy this weekend. Damn!
    I'll be loosing sleep.
    • Funny Funny x 1