1. 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!
  2. 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
  3. 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

Experimental DCS Plugin ready for testing

Discussion in 'Digital Combat Simulators (DCS)' started by Dirty, Jun 28, 2019.

  1. janio

    janio janio from brazil

    Joined:
    Feb 28, 2020
    Messages:
    63
    Occupation:
    state employee
    Location:
    belo horizonte
    Balance:
    35Coins
    Ratings:
    +21 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Captura de Tela (2).png
  2. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    493
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    5,395Coins
    Ratings:
    +589 / 1 / -0
    By default Extra1,2,3 are unused and show only zeros.

    You can open the export script (in a proper code editor!) and assign values to those slots if you know a little Lua.

    Screenshot 2020-11-12 at 20.25.51.png
  3. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    15,819
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    115,574Coins
    Ratings:
    +9,232 / 46 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    Any ideas @Dirty?
  4. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    493
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    5,395Coins
    Ratings:
    +589 / 1 / -0
    You mean, what to put in those slots?

    I think, you could drive a fan with the data (windiness). Or a stickshaker (alpha). But in general, I just used them to look at data and see if my code did what I thought it would :)

    All the other stuff, like runway rumble can be put into the GameVibe slots.
  5. janio

    janio janio from brazil

    Joined:
    Feb 28, 2020
    Messages:
    63
    Occupation:
    state employee
    Location:
    belo horizonte
    Balance:
    35Coins
    Ratings:
    +21 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    hi dirty, what should i write in slot 07 to receive touchdown data on any of the landing gears?
    --GameEngine:
    local slot_GE_01 = Roll_Output
    local slot_GE_02 = Yaw_Output
    local slot_GE_03 = Pitch_Output
    local slot_GE_04 = accel_longitudinal
    local slot_GE_05 = accel_vertical
    local slot_GE_06 = accel_lateral
    local slot_GE_07 = 0
    local slot_GE_08 = 0
    local slot_GE_09 = 0
    grato.
  6. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    493
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    5,395Coins
    Ratings:
    +589 / 1 / -0
    just try "OnGround"
    Screenshot 2020-11-12 at 22.50.06.png

    ...I can't test it right now, but it should give you a zero in flight and a 1 while on ground.
  7. janio

    janio janio from brazil

    Joined:
    Feb 28, 2020
    Messages:
    63
    Occupation:
    state employee
    Location:
    belo horizonte
    Balance:
    35Coins
    Ratings:
    +21 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    hi dirty, I tested what you indicated and it was good for me, I configured to use only 15% of my pitch axis, and in the tuning center configuration I left 1 for maximum and 0 for minimum.
    thanks again.
    • Like Like x 1
  8. dureiken

    dureiken Active Member

    Joined:
    Sep 28, 2016
    Messages:
    165
    Location:
    France
    Balance:
    773Coins
    Ratings:
    +117 / 1 / -0
    Hi dirty,

    thanks for your work. Dumb question : why did you choose to drive the rig in speed instead of position ?

    when you are climbing , the rig goes back to middle position as the plane is maybe 45° pitch, isn'it ?

    thanks
  9. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    493
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    5,395Coins
    Ratings:
    +589 / 1 / -0
    Yes, and that's right. :)

    I guess you expect the rig to stay tilted, because you think the aircraft is pitched up and - logically - so should the rig. But that is wrong.

    I'm gonna say it straight out and blunt: No one cares in what orientation the vehicle is. It is completely irrelevant. The only relevant question is...

    --> What does a human on board the vehicle feel?

    And the answer is: He (she?) feels all proper accelerations. Or in other words: The accelerations your smartphone would measure, and also the highpass-filtered signal of the angular rates that it measures.

    Here's a thought experiment: Fly in an aircraft at high speed, pitch the nose up 45°, then pull the engines to idle and extend the gear and speed-brake. That will generate an insane amount of drag.
    - Would you want your rig to be tilted up or down?
    - Is the pilot being pushed into the seatback, or is he hanging in his shower harness?

    Think about it! Imagine it.
  10. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    15,819
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    115,574Coins
    Ratings:
    +9,232 / 46 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    I get where you are coming from, but would like to suggest that "what does a human on board the vehicle feel" is a little bit different to 'what is the human's perception', based on what physiologically and psychologically can and cannot be processed.

    I make that distinction as it can have implications for how a rig is configured, depending on what type of rig is considered. For example simulated surge on a 2DOF is traditionally configured to pitch forward for deceleration, but surge back on say a 6DOF, and while the latter is a more accurate representation of surge in terms of what a smartphone would measure, it is still a simulation of surge because the physical constraints of the rig mean a limitation to sustained surge force.

    Perception, or rather tricking it, is what really matters, as it is exceedingly difficult to actually recreate real world forces, say the 5-10 Gs of a fighter jet. Or, to extend your own example, it is possible to have an aircraft create a period of sustained weightlessness, in terms of an unconstrained passenger user experience, but that is very difficult to accurately simulate without a huge heave axis, and would be different again to what the strapped in pilot feels.

    So there are ideals in simulation, and then there are practicalities in how we go about configuring simulation rigs, the latter I would suggest being the best exploitation of perception we can manage within the constraints of what the rig configuration can provide.
    • Agree Agree x 1
  11. dureiken

    dureiken Active Member

    Joined:
    Sep 28, 2016
    Messages:
    165
    Location:
    France
    Balance:
    773Coins
    Ratings:
    +117 / 1 / -0
    Thanks for your answer, would you have a video of your plugin and your rig in DCS jet ?

    did you see mine ?

    with @pmvcda software (thanks to him), I use velocity as you say.

    Thanks
  12. janio

    janio janio from brazil

    Joined:
    Feb 28, 2020
    Messages:
    63
    Occupation:
    state employee
    Location:
    belo horizonte
    Balance:
    35Coins
    Ratings:
    +21 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    dirty, I came back just to report an unsolved problem. I had to install the official plugin because the 0.09 plugin when it is returning to the center of the axis does not do it smoothly, showing bumps all the way, like a galloping horse. I tried to get it right but I couldn't, but I'm happy with the official plugin, which is stable throughout the tour. thanks.
  13. dureiken

    dureiken Active Member

    Joined:
    Sep 28, 2016
    Messages:
    165
    Location:
    France
    Balance:
    773Coins
    Ratings:
    +117 / 1 / -0
    Hi

    when you roll left in plane, what happens with your plugin ?

    same for pitch up and down ?

    and accelerate/braking ?

    thanks
  14. dureiken

    dureiken Active Member

    Joined:
    Sep 28, 2016
    Messages:
    165
    Location:
    France
    Balance:
    773Coins
    Ratings:
    +117 / 1 / -0
    Here is a video of different ways to use roll in mover, no idea which one is the best in VR. I changed only the IN gain, didn't touch to filters
  15. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    493
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    5,395Coins
    Ratings:
    +589 / 1 / -0
    Hey :)

    To implement the "classical" washout filter based motion cueing algorithm you should use "Roll Speed" aka angular velocity or angular rate as input parameter.
    Then you should apply a single highpass filter followed by a single lowpass filter to it. I think this is done in mover using: EMALP(EMAHP(value))
    If you are using the default 2ms processing cycle then you should set the filter parameters for both filters equally to 500. That will give you a step response that peaks after exactly 1 second,.... that's a good starting point. The rest is trial and error :)
  16. dureiken

    dureiken Active Member

    Joined:
    Sep 28, 2016
    Messages:
    165
    Location:
    France
    Balance:
    773Coins
    Ratings:
    +117 / 1 / -0
    Ok thanks

    and what about the sign of roll input ? - or + up to you ?
  17. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    493
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    5,395Coins
    Ratings:
    +589 / 1 / -0
    Depends on whether the sims coordinate system matches Movers coordinate system.
    Set the sign so that the platform initially rolls into the direction the plane rolls when you start the roll. That also means that the platform will roll in the opposite direction when you stop the roll.
  18. dureiken

    dureiken Active Member

    Joined:
    Sep 28, 2016
    Messages:
    165
    Location:
    France
    Balance:
    773Coins
    Ratings:
    +117 / 1 / -0
    only in the case I use EMAPHP, isn'it ?
  19. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    493
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    5,395Coins
    Ratings:
    +589 / 1 / -0
    That's getting pretty far off topic here. I will send you a PM.
  20. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    493
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    5,395Coins
    Ratings:
    +589 / 1 / -0
    Hey noorbeast, :)

    I'm with you on that post. Accelerometer measurements are not the end-all yardstick with which to measure the performance of a rig or a software/hardware package as a whole. There's more to motion than just moving a seat in 6 dimensions. I'd still say, for most people it makes sense to better understand basic ("classical") motion cueing before digging deeper into the question of: In what way would we want to deviate from that classical algorithm.

    I read this in a paper somewhere about a year ago. Unfortunately I don't have it anymore and it was in German anyways. So, I'm trying to convey the ideas with these diagrams:

    Initially, the idea is to optimise the motion cueing algorithm by comparing accelerometer and gyro data from the rig with the same data from the vehicle and try to minimise the gap.
    Inertial optimisation.png
    In a nutshell: This model tries to please your iPhone (assuming it is strapped to the rig).

    Then they added a (somewhat complex) perception model to weed out all the things you cannot - or can very poorly - perceive.
    Perceptive optimisation.png
    In a nutshell: This model tries to please the pilot. At least as far as his personal perception matches the perception model.

    Then they went one step further and separated the vehicle-feedback-cycle from the simulator-feedback-cycle into two distinct feedback loops.
    Behavioral optimisation.png
    They no longer compared the motion of the platform with the motion from the vehicle. They did not even look at the motion of the platform. They provided the pilot with feedback on the outcome, so that in the end a test subject was "very well trained" to perform a task in the vehicle. Another was "very well trained" to perform the same task in the simulator.

    The only thing they really compared were the control inputs. The question was: "Does the feedback from the training in the simulator lead the pilot to adopt the same habit patterns as training in the vehicle would?

    It smells a little like this paper eventually lead Cruden to develop a more "behaviorally-based" algorithm.

    I'm pretty sure this won't help people set up their rigs any better,... but I find these things interesting to dig into.

    Cheers,... :)

    Dirty
    Last edited: Nov 24, 2020