1. Hundreds of coffees, endless nights of debugging and coding, and countless feedback by our beta testers led to this new major release. SimTools 2.4 is probably the version with the most upgrades and improvements in a single release ever. Look at everything Dustin has included:
    SimTools 2.4 all features.
    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 Download Package Now!
  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 here. Do not following these rules will lead to permanent exclusion from this website: Read the forum rules.

FlyPT Mover Interface

Discussion in 'SimTools compatible interfaces' started by pmvcda, May 30, 2019.

  1. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    641
    Location:
    Portugal
    Balance:
    4,732Coins
    Ratings:
    +736 / 11 / -0
    My Motion Simulator:
    6DOF
    It lags for sure, but in the video, communication was over www, not inside my network.
    Considering this, I think it was fast.
    What we receive is linear accelerations with or without gravity. So it's not easy to look at it and see if that's good or not.
    I think accelerations are precise.
    Problem is more on rotations, because sensor sends only the rotation speed.
    I can calculate the rotation position, from the difference on linear accelerations (with and without gravity). Knowing the component of gravity in each axis, we can calculate the rotations.

    Needs some more work...

    And I did not forgot the forward kinematics. I'm working on that also.
    • Like Like x 1
    • Winner Winner x 1
  2. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    521
    Location:
    berlin
    Balance:
    3,404Coins
    Ratings:
    +167 / 2 / -0
    My Motion Simulator:
    DC motor, 6DOF
    It seems it writes to the phone with 100hz.
    At the phone graph I don’t see any lag.

    Now I want to synchronize the data with the vid in simtools but curiously it doesn’t want to eat it.

    0A2EE1D7-4FC8-420F-A870-80F1CFB0CFA9.jpeg
  3. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    521
    Location:
    berlin
    Balance:
    3,404Coins
    Ratings:
    +167 / 2 / -0
    My Motion Simulator:
    DC motor, 6DOF
    @yobuddy ,
    It says that import of raw gyro accel telemetry from phyphox file in video ride creator was successful but I can’t see anything.

    It seems we have an issue with conversion to 16bit values or something.

    This is how phyphox looks like:

    89778C6D-5659-4A60-8A89-C51BDFD89DFB.jpeg

    Edit:
    It seems the renamed .csv file from phyphox has to include a parenthesis:

    file_name(100, Tab).cfg
    Last edited: Aug 3, 2019
  4. yobuddy

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

    Joined:
    Feb 9, 2007
    Messages:
    3,623
    Occupation:
    Computer Technician
    Location:
    Portland, Oregon - USA
    Balance:
    28,534Coins
    Ratings:
    +3,652 / 10 / -0
    because the values are very tinny.
    Click 'Tools' please and post a pic.
  5. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    521
    Location:
    berlin
    Balance:
    3,404Coins
    Ratings:
    +167 / 2 / -0
    My Motion Simulator:
    DC motor, 6DOF
    Cool !
    I've pushed all sliders up in tools. Now I cant understand why my yaw and heave draws identical curve.

    Any ideas?

    rider.JPG
    • Like Like x 1
  6. Flymen

    Flymen Flymen Gold Contributor

    Joined:
    May 19, 2018
    Messages:
    151
    Location:
    Montreal, Canada
    Balance:
    1,129Coins
    Ratings:
    +100 / 2 / -0
    My Motion Simulator:
    DC motor, Arduino, 6DOF
    No, you need to install a new plugin.
    Different and more data in new plugin (12 axis)[/QUOTE]

    @pmvcda
    where I can find a new plugin ? I' m a lite bit lost , Sorry !!
    Now I have a new version of simtool 2.4
    with this plugin ...
    plugin.png
    Source simtools don't want connect .. missing FlyPt Mover
    plugin simtool.png

    Thank you !
    Last edited: Aug 8, 2019
  7. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    641
    Location:
    Portugal
    Balance:
    4,732Coins
    Ratings:
    +736 / 11 / -0
    My Motion Simulator:
    6DOF
    You need a specific plugin for Mover
    It's the dll included in the download.

    FlyPT_Mover_InterfacePlugin.dll
    • Like Like x 1
  8. Trip Rodriguez

    Trip Rodriguez VR Pilot

    Joined:
    May 8, 2016
    Messages:
    432
    Location:
    Lake Ariel, Pennsylvania
    Balance:
    2,042Coins
    Ratings:
    +195 / 2 / -0
    My Motion Simulator:
    6DOF
    Hey guys, just checking in so you know I didn't forget about this! @pmvcda you picked an excellent time to do your rewrite, as I'm too busy to test much right now. I still have a lot of work to complete to finish up this cockpit, it will be a couple weeks at the least. Once it's done though I'm going to be back to trying to get smooth heave and pitch movements. Most everything else is good with Mover 1.3 already.

    I do still think that the software filters interact strangely with the AMC1280 though, I don't have enough knowledge to understand but maybe Dirty can figure it out when he gets back from holiday.
  9. Dirty

    Dirty Active Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    280
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    3,029Coins
    Ratings:
    +263 / 1 / -0
    Oh, I can figure stuff out especially well while at the pool :)

    As far as I could tell, the filters in FlyPT_Mover work great. At least the EMA highpass, lowpass and their combinations. What interaction can there be? The software tells the AMC "where to be" and the AMC takes care of "how to get there".

    Can you try to describe what exactly you observe?

    Dirty :)
  10. Trip Rodriguez

    Trip Rodriguez VR Pilot

    Joined:
    May 8, 2016
    Messages:
    432
    Location:
    Lake Ariel, Pennsylvania
    Balance:
    2,042Coins
    Ratings:
    +195 / 2 / -0
    My Motion Simulator:
    6DOF
    That makes sense to me, if I'm stuck spending 'recreational time' instead of working on my hobbies I do my best to at least work on my hobbies in my head. =D

    When using low pass filters it makes slow movements really jerky. Each actuator starting and stopping moving at random intervals instead of moving slow and steady to the setpoint.

    With somewhat faster (but still slow) movements it's just shaky, like low frequency vibration or small rapid oscillation maybe. I can try to get a video but it will be a couple days before I have time, we have family in from out of town again.

    It's bad enough to prevent me using the LP filters strongly enough to smooth out my sim (mostly those pesky pitch and heave movements) really effectively. I'd have to look back through my posts to find it but I posted previously about a more exaggerated symptom of this.. I think it was that if I set any significant amount of "I" (maybe in the ballpark of 10 I think) in my PID on the AMC settings, with significant software filters running on the PC at the same time the platform is very very unhappy with some fairly violent oscillation problems. Or was it "D"? I don't know something along those lines that confirmed to me that the jerky movement and shaking really were an interaction of some kind between the two because they went away as soon as I turned off the software filters or set "I" (or maybe it was "D") back to zero. Don't trust me 100% on this stuff, it's been probably over a month and I don't trust my memory at all. You really have to "feel" the issues I have, to a great extent they are too small to see but drive me nuts!

    Also when @pmvcda gets that source created to allow me to crop the incoming signals (like you can do with SimTools tuning center) that will probably be a huge help. For the Huey I think I'm going to run your customized DCS plugin instead of FlyPT Mover, but I absolutely love Mover's features (especially the super customizable on-ground/in air solution) and the layout. With the Huey the "on ground" customization is less important, though I do really like with helicopters to also use bigger roll and pitch when "on ground" to better feel what exactly is happening during "pick up" and to increase the touchdown bump. I would need you to make a way for me to use the helicopter cockpit G forces values if you haven't already, I don't recall for sure but I think maybe you already did...

    Also @Dirty thank you for the reply about my heave being not straight up and down. What you said is the same thing I was thinking, that it means somewhere my measured dimensions are off. Mostly I just wanted to make sure that this isn't normal for a Stewart rig before I go crazy trying to get more accurate measurements of everything to find any errors. I know the top platform is very accurate but the bottom ones are likely off a little bit. I'll check the rods too.

    Thanks!
  11. Dirty

    Dirty Active Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    280
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    3,029Coins
    Ratings:
    +263 / 1 / -0
    From what you're saying, I'd look into the PID tuning. As far as I can tell, the processing and filtering of FlyPT_Mover are fine. I don't think that the actual signal is shaky, but most probably the conversion of the signal into a position in the actuator.

    Dirty :)
  12. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    641
    Location:
    Portugal
    Balance:
    4,732Coins
    Ratings:
    +736 / 11 / -0
    My Motion Simulator:
    6DOF
    Hi everyone,

    Sorry for being away... but work is progressing. Not as fast as I wanted.
    Some new features coming with the next version.
    Updated graphics and 3d models, new rigs, new sources and advanced filters.
    Some big internal changes on actuators, to allow user defined rigs in the future.
    Code seems to run fast with calculation and updates under 2 ms. Seems good for now, at least on the PC's I tested.
    Trying to reach the end. Really curious to get feedback on the updates.

    Sem nome.jpg
    • Like Like x 5
  13. SilentChill

    SilentChill Problem Maker

    Joined:
    Jul 19, 2014
    Messages:
    2,470
    Occupation:
    Railway Maintenance
    Location:
    Morecambe, Lancashire, England
    Balance:
    18,654Coins
    Ratings:
    +3,143 / 31 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 6DOF
    Looking good :)
    • Like Like x 1
    • Agree Agree x 1
  14. Psionic001

    Psionic001 Active Member Gold Contributor

    Joined:
    Mar 5, 2017
    Messages:
    107
    Location:
    Sydney
    Balance:
    725Coins
    Ratings:
    +46 / 0 / -0
    My Motion Simulator:
    Motion platform, 6DOF
    Looking forward to this @pmvcda
    For the loop function, could you make a feature that allows a different cycle frequency per axis chosen. So we can get the rig rocking around like a boat if we picked say 1 second for the roll and 1.8 seconds for the pitch?
    Currently if I select pitch and roll it see saws from forward right to rear left.
  15. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    641
    Location:
    Portugal
    Balance:
    4,732Coins
    Ratings:
    +736 / 11 / -0
    My Motion Simulator:
    6DOF
    You can already, just add more sources.
    Set each source to the loop you want and select were you want to use each source.
    • Winner Winner x 1
    Last edited: Aug 21, 2019
  16. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    641
    Location:
    Portugal
    Balance:
    4,732Coins
    Ratings:
    +736 / 11 / -0
    My Motion Simulator:
    6DOF
    New advanced filtering system:

    Sem nome.jpg

    Now we can compose the filter with multiple operations and specific values.
    This allows users to crop/limit values received like @Trip Rodriguez requested.
    And also play with a multitude of filtering solutions.
    Filter can be generated in the combo boxes visually or by writing the code in the text box.
    Here's a quick reference of the filtering system (might change till release):



    ADVANCED FILTERING

    Advanced filter is composed by a series of operations.
    Each operation can have parameters.
    Those parameters can be numbers or other operations.

    Possible operations:


    VALUE
    Is the value received.
    No parameters available.


    NUMBER
    To specify a numeric value.


    EMALP
    Exponential moving average low pass filter.
    Parameter 1 is the value we want to filter.
    Parameter 2 is the number of samples used in the filter.
    Use this to smooth a signal by removing high frequency variations.
    Only low frequencies pass (look at figure bellow).

    Low pass.png

    The number of samples define where we have the cutoff.
    Cutoff is not a vertical line, only in ideal filters this happens. Reality is a progressive change like the curve shown in the figure.


    EMAHP
    Exponential moving average high pass filter.
    Parameter 1 is the value we want to filter.
    Parameter 2 is the number of samples used in the filter.
    The high pass filter is the value we want to filter less the low pass filter for the specified samples.
    So the number of samples specified, define the low pass filter used.
    Here, only high frequencie values pass.
    Low frequencie changes/smooth changes are removed, depending on the selected number of samples (see image bellow).

    High pass.png

    The formula for this filter is:
    EMAHP = VALUE - EMALP(VALUE)


    EMABS
    Exponential moving average band stop filter.
    Parameter 1 is the value we want to filter.
    Parameter 2 is the number of samples used to define the start of the band (filter #1).
    Parameter 3 is the number of samples used to define the end of the band (filter #2).
    This filter, removes all the frequencies between filter #1 and filter #2.
    So we get low frequencies and high frequencies.
    Filter #1 and filter #2 define the start and end of the band of frequencies we want to remove.

    Band stop.png

    The formula for this filter is:
    EMABS = EMALP(VALUE) + EMAHP(VALUE)


    EMABP
    Exponential moving average band pass filter.
    Parameter 1 is the value we want to filter.
    Parameter 2 is the number of samples used to define the start of the band (filter #1).
    Parameter 3 is the number of samples used to define the end of the band (filter #2).
    This filter, only allows frequencies between filter #1 and filter #2.
    So we remove low and high frequencies.

    Band pass.png

    The formula for this filter is:
    EMABP = VALUE - EMABS(VALUE)


    DEMA...
    Double exponential moving average filters.
    Like EMA filters, but "2nd order".
    Compared to EMA, those filters have less lag, but they also overshoot (see TEMA figure bellow).
    Formulas are:
    DEMALP = 2 * EMALP(VALUE) - EMALP(EMALP(VALUE))
    DEMAHP= VALUE - DEMALP(VALUE)
    DEMABS = DEMALP(VALUE) + DEMAHP(VALUE)
    DEMA BP = VALUE - DEMABS(VALUE)


    TEMA...
    Triple exponential moving average filters.
    Like EMA filters, but "3rd order".
    Faster response compared to DEMA, but even more overshoot (see figure bellow).
    Formulas are:
    TEMALP = 3 * (EMALP(VALUE) - DEMALP(VALUE)) + EMALP(DEMALP(VALUE))
    TEMAHP= VALUE - DEMALP(VALUE)
    TEMABS = DEMALP(VALUE) + DEMAHP(VALUE)
    TEMA BP = VALUE - DEMABS(VALUE)


    LOGISTIC
    Logistic is a case of the sigmoid filter.
    Here we use a faster simplification.
    Parameter 1 is the value we want to filter.
    Parameter 2 is the range (minimum/maximum value allowed).
    Parameter 3 defines the S shape. High value makes is a more vertical slope while low values make it more horizontal.
    Use this filter to fit values to a specific range
    Reaching and surpassing the maximum range, values are "compressed" to fit the specified range.
    The S slope defines how fast and how much we compress the values.
    text4858-7-5-1-35.png


    CROP
    To define minimum and maximum for a value.
    Parameter 1 is the value we want to limit.
    Parameter 2 is the minimum value we allow.
    Parameter 3 is the maximum value we allow.


    REMAP
    To remap a value from a range to another range.
    Parameter 1 is the value we want to remap.
    Parameter 2 is the start of the range where we have the received value.
    Parameter 3 is the end of the range where we have the received value.
    Parameter 4 is the start of the range where we want to have the received value.
    Parameter 5 is the end of the range where we want to have the received value.


    GAIN
    Is a multiplication operation.
    Parameter 1 is the value we want to modify.
    Parameter 2 is the gain we want to apply.
    Use this to invert values by using negative numbers.


    TRANSLATE
    Is an adition operation.
    Parameter 1 is the value we want to modify.
    Parameter 2 is the amount we want to move the value.


    ABS
    Get the absolute value.
    Parameter 1 is the value we want to turn into absolute value.
    • Like Like x 5
    • Winner Winner x 1
    Last edited: Aug 21, 2019
  17. Psionic001

    Psionic001 Active Member Gold Contributor

    Joined:
    Mar 5, 2017
    Messages:
    107
    Location:
    Sydney
    Balance:
    725Coins
    Ratings:
    +46 / 0 / -0
    My Motion Simulator:
    Motion platform, 6DOF
    @pmvcda AMAZING!!! I can’t wait to get stuck into this aspect of the new version! Thank you.
  18. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    641
    Location:
    Portugal
    Balance:
    4,732Coins
    Ratings:
    +736 / 11 / -0
    My Motion Simulator:
    6DOF
    Working on the pose calculation...
    So many little things causing bugs!
    Seems to be good now:

    Current state.jpg

    2ms calculation loops (lower right corner of main gray window)
    Showcasing the new filter control.
    And a small source change. No more gravity option. It's now on the list of values available. So we can choose acceleration with or without gravity included.

    It's getting closer to the new release.
    Big internal changes and reorganisation because of threads.

    Almost there!
    • Like Like x 2
    • Winner Winner x 2
  19. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    641
    Location:
    Portugal
    Balance:
    4,732Coins
    Ratings:
    +736 / 11 / -0
    My Motion Simulator:
    6DOF
    And some new rigs:
    Current state.jpg
    • Like Like x 1
  20. hexpod

    hexpod http://heXpod.xyz

    Joined:
    Apr 18, 2016
    Messages:
    521
    Location:
    berlin
    Balance:
    3,404Coins
    Ratings:
    +167 / 2 / -0
    My Motion Simulator:
    DC motor, 6DOF
    Sorry for interfering but for the costistency and user’s understanding I wouldn’t make a parallel between:

    DEMA and second order EMA and
    TEMA and third order EMA

    as those are totally different things in my opinion.

    2*EMA is not the same as EMA of EMA
    Last edited: Aug 29, 2019