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

Question Overcoming G seat sway axis limitations and H/S force due to using clipping to avoid negative throw

Discussion in 'SimTools Pro & Entertainment Version' started by Trigen, Jun 5, 2019.

  1. Trigen

    Trigen Active Member

    Joined:
    Nov 25, 2018
    Messages:
    472
    Balance:
    2,826Coins
    Ratings:
    +176 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino
    Hello

    Simtools 2.3.1 Pro

    One limitation of using simtools with a G seat is that with sway moving both ways you will need to clip the axis right below center and thereby loose a lot of axis information from heave/surge when the axis is beyond the clipping area, basically in every turn. I heard that it is possible to limit a force trough ardunio sketch but with no further data given i do now know how to modify the SMC sketches to achieve this or build my own sketch.

    What is needed:
    Sway (and Traction loss) full range + axis but stop at center and be clipped below center
    Heave/surge full range + and - but from the sway point of origin(it does this now so no biggie. You would need to leave a enough physical range on the mechanical side for it to go below.

    What do you think would be the simplest way to achieve this?
    Sketch or rewrite the plugins? Axis plugin?
    Is the plugin code open somewhere or need to write from scratch using examples?
    Last edited: Jun 5, 2019
  2. Trigen

    Trigen Active Member

    Joined:
    Nov 25, 2018
    Messages:
    472
    Balance:
    2,826Coins
    Ratings:
    +176 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino
    Gonna do a bump on this one in the hope to get some help

    I still need to find a way to limit sway/roll to not go below negative but all other forces are allowed, it cant be global. As im not a programmer i need a bit of a hint here. (short code example is appreciated, from there i can usually get going)
    Axis plugin
    interface plugin
    Game plugin

    Ive looked at all the examples and nothing stands out to me.
  3. yobuddy

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

    Joined:
    Feb 9, 2007
    Messages:
    5,162
    Occupation:
    Computer Technician
    Location:
    Portland, Oregon - USA
    Balance:
    48,171Coins
    Ratings:
    +5,036 / 16 / -0
    Use SimTools v2.4 and use a '0' for the min value in Sway and Roll.
    This basically turns off the negative inputs for this DOF.
    Take care,
    yobuddy
    • Informative Informative x 2
  4. Trigen

    Trigen Active Member

    Joined:
    Nov 25, 2018
    Messages:
    472
    Balance:
    2,826Coins
    Ratings:
    +176 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino
    Great!
  5. Trigen

    Trigen Active Member

    Joined:
    Nov 25, 2018
    Messages:
    472
    Balance:
    2,826Coins
    Ratings:
    +176 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino
    Simtools 2.4

    Ive been doing some testing on this, It just controls each motor

    Max value 1 Min 0: Left motor works, Right off/locked for Sway/roll/traction loss.
    Max value 0 Min 1: Right motor works, Left off/locked for Sway/roll/traction loss

    It's the same for Traction loss and im assuming Roll too but i have not tested for it.

    Its easy to see on the screenshots where i turn left and right with output testing.

    Left Turn:
    left turn OT.png

    Right Turn:

    Right turn OT.png

    axis setup dof test.png

    Attached Files:

    Last edited: Aug 24, 2019
  6. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    20,539
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    145,052Coins
    Ratings:
    +10,776 / 52 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
  7. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,574Coins
    Ratings:
    +1,831 / 32 / -1
    In the past this would require a sketch mod or a custom Simtools plugin but thanks to an addition in version 2.4 that SeatTime and I strongly advocated for I believe I've procured a Simtools settings only solution for you. I don't think anyone contemplated using it for what your needs are though so this further validates the necessity of this improvement. Thanks yobuddy! :thumbs

    The issue you're having is due to attempting to drive two motors, each with their own feedback, from only one DOF, when each motor accounts for only 1/2 the range of that DOF. Therefore the solution is to set up two sway dof's which is now possible using expert mode in game engine. Save the settings for the first motor to axis assignments 'a' and then save the same settings to axis assignments 'b' for the second motor with one change, that being swapping the sway's min/max settings so that zero and tuning value used are now opposite of 'a'. Now all that's needed I believe is to reflect these changes on the axis assignments and interface settings pages.
    :popcorn
    • Informative Informative x 1
    Last edited: Aug 25, 2019
  8. Trigen

    Trigen Active Member

    Joined:
    Nov 25, 2018
    Messages:
    472
    Balance:
    2,826Coins
    Ratings:
    +176 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino
    While this is good in theory and im very happy with the changes it does create a few issues. I will have to abandon this and run with heave and surge only for the seat and Heave surge Sway TR on the back while loosing out on the heave/surge on one side in turns.

    Its relatively minor and i will be able to limit surge negative on the seat so i still get heave on full acceleration and that in itself is great!

    Explanation:

    You have 4 or more motors in the G seat (Back and Seat) I used to control Back with A and Seat with B. Now A controls one side and B the other.

    This means:

    You will be able to get sway/roll to not go negative but you cannot control any forces separate for back and seat that i can see. I may be stupid and not see it as I have severe working memory deficiency and can't hold two things at the same time though so feel free to correct me here

    So:

    No longer able to have opposite forces of surge for the back and seat giving the illusion of deceleration
    Now all axis limits needs to be the same.
    Forces are the same for up and down.

    Tuning center:
    Always save to A or B depending on which you edit or the opposite numbers in Sway will overwrite the other.

    It looks to me like you will have to write your own sketch or plugin to get the G seat to its full potential. Or add a separate C/D Axis assignment with tuning center to solve this. 2.4.2-3 perhaps?

    Interface1 : [A<Axis1b>][B<Axis2a>]
    Interface2: [A<Axis1b>][B<Axis2a>]

    Note i have a 5th motor on I3 amd Axis 3b

    latest axis.png
    Last edited: Aug 25, 2019
  9. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,574Coins
    Ratings:
    +1,831 / 32 / -1
    For someone with the skill set this would probably just be resolved at the sketch level.

    I didn't take my thought process past more than the two motors so I believe you need a 'c' axis assignment now too to solve all your issues when using only Simtools settings if I'm following correctly what you need. I requested consideration of using a multi-windowed approach for the tuning center so someone could just add another assignment when necessary (considering their computer has the processing resources) but getting a second one is already a 100% improvement. Again I don't think anyone considered using it like you are but with at least one more assignment you could then have a third sway dof that uses its full range so you could get both accel and decel motion at the back while not affecting the seat motors.

    I'm confused as to why your surge settings don't work correctly when only sway is being limited?
    Last edited: Aug 26, 2019
  10. Trigen

    Trigen Active Member

    Joined:
    Nov 25, 2018
    Messages:
    472
    Balance:
    2,826Coins
    Ratings:
    +176 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino
    After a gazillion edits:

    Note, i changed the interface setup to:

    Top motors: 1a, 2b
    Bottom motors: 3a, 4b

    The Surge is set like this.

    Lower motors will extend on brakes. it gets negative surge from the game
    Upper motors will extend on acceleration. It gets positive surge.

    The motors are set so that 1a is top left and 2b is top right. Problem is when i limit the B channel surge so its not allowed positive throw then one of the flaps wont work with acceleration and the same is true for one flap when braking as its not allowed negative. Hence i cant limit this force.
    Limiting also effects my Seatbelt motor. a C channel would be a fantastic addition here for the belt as its on its own motor but im unsure if it would solve the surge?

    Everything else does work and i can live just fine without surge on the lower motors. If i have surge on it goes into clipping as it only has 5mm negative throw


    Here are my 4 motor Gseat settings . Adjust for your setup

    I forgot to adjust the B channel top Sway before the screenshot so ignore that

    Axis.jpg

    interface.jpg
    Last edited: Aug 27, 2019
  11. Trigen

    Trigen Active Member

    Joined:
    Nov 25, 2018
    Messages:
    472
    Balance:
    2,826Coins
    Ratings:
    +176 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino
    It looks to me like the best way for Gseats are + and - axis and a possibly a normal one in Axis assignment and possibly add more Dof's. This way you could keep the Top motors on the A and bottom on B. And then a C (or more) channel for any additional motors if needed.

    having separate windows for the tuning center channels A B C would also be great and save time
    Last edited: Aug 27, 2019
  12. yobuddy

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

    Joined:
    Feb 9, 2007
    Messages:
    5,162
    Occupation:
    Computer Technician
    Location:
    Portland, Oregon - USA
    Balance:
    48,171Coins
    Ratings:
    +5,036 / 16 / -0
    I think we could probably make a G-Seat axis assignment plugin to make setup easier?
    I would have to think it over some.
    But i believe it should be doable.
  13. Trigen

    Trigen Active Member

    Joined:
    Nov 25, 2018
    Messages:
    472
    Balance:
    2,826Coins
    Ratings:
    +176 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino
    That would be amazing!
  14. yobuddy

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

    Joined:
    Feb 9, 2007
    Messages:
    5,162
    Occupation:
    Computer Technician
    Location:
    Portland, Oregon - USA
    Balance:
    48,171Coins
    Ratings:
    +5,036 / 16 / -0
    Getting there...
    upload_2019-8-27_18-54-59.png
    • Like Like x 2
  15. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,574Coins
    Ratings:
    +1,831 / 32 / -1
    Funny, I was thinking of showing a seat example too but with different settings. I was thinking of putting 2 checkboxes next to each paddle, one box for full or half (for both surge and sway dofs) and the other box for reverse side for when using half. Your way will be great though I'm sure.
    Last edited: Aug 28, 2019
  16. yobuddy

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

    Joined:
    Feb 9, 2007
    Messages:
    5,162
    Occupation:
    Computer Technician
    Location:
    Portland, Oregon - USA
    Balance:
    48,171Coins
    Ratings:
    +5,036 / 16 / -0
    Got a bit more done...
    upload_2019-8-27_22-25-57.png
    • Like Like x 2
  17. RacingMat

    RacingMat Well-Known Member Gold Contributor

    Joined:
    Feb 22, 2013
    Messages:
    2,234
    Location:
    Marseille - FRANCE
    Balance:
    20,890Coins
    Ratings:
    +2,083 / 21 / -2
    My Motion Simulator:
    2DOF, DC motor, Arduino
  18. Trigen

    Trigen Active Member

    Joined:
    Nov 25, 2018
    Messages:
    472
    Balance:
    2,826Coins
    Ratings:
    +176 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino
    • Friendly Friendly x 1
  19. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,574Coins
    Ratings:
    +1,831 / 32 / -1
    I recommend you check out my Awesom-0 motor controller once released in the next month or two for your project. It utilizes separate up/down (or right/left) PIDs meaning individual control of each direction on each motor. Therefore you can use the full data range of an axis in each direction while also having different actuator ranges for each direction for example

    And in addition to settings for maximum and minimum power and set-point clipping as in SMC3, proportional, integral, and derivative values for each direction can also be individually clipped allowing even greater control over the total movement. Awesom-0 can control up to 6 motors this way each with individual settings. It also outputs full graphing of individual proportional, integral, and derivative values for each direction which allows you to get to see how each actually contributes to the final power output vs. only what changes to PID values feel like; game changer :cool:.
    • Like Like x 1
    • Winner Winner x 1
    • Creative Creative x 1
  20. yobuddy

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

    Joined:
    Feb 9, 2007
    Messages:
    5,162
    Occupation:
    Computer Technician
    Location:
    Portland, Oregon - USA
    Balance:
    48,171Coins
    Ratings:
    +5,036 / 16 / -0
    @RacingMat,
    I think the G-Seat plugin is mostly done.
    But some asked to be able to configure the Heave, surge, sway inputs.
    So they could test with traction loss, etc..
    Where i was thinking we could just link directly to the Heave Sway and Surge inputs.
    I'm pretty sure that's where we left it.

    We should take a stab at finishing it thou, as it could make setup for a g-seat allot easier i think.
    Either way thou, do to some limitations of running a G-Seat and needing more separate axis assignments to do some fancier things, there will be an 'Axis Assignments (c)' in v3.

    Take care,
    yobuddy
    • Like Like x 3
    • Winner Winner x 1