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

The in progress, Brig seat 1.3....

Discussion in 'DIY Motion Simulator Projects' started by PaulB, Jul 12, 2018.

Tags:
  1. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    204
    Location:
    Australia
    Balance:
    1,434Coins
    Ratings:
    +140 / 3 / -0
    I forgot to look back on you previous posts and can see now you have photos. All good.

    Also, I just noticed a typo in my post #38. I missed a comma after channel 2
    it should be 1,p<Axis1a><13><10>2,p<Axis2a><13><10>
  2. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    204
    Location:
    Australia
    Balance:
    1,434Coins
    Ratings:
    +140 / 3 / -0
    I was wrong on my earlier comment that the units command can only work on both chanels with the single command.
    Im looking back through DEScribe now and can see that you can in fact have separate units setup for each channel.
    In my setup, I didnt need to use units so my experience with this is lacking.
  3. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    204
    Location:
    Australia
    Balance:
    1,434Coins
    Ratings:
    +140 / 3 / -0
    Here is my overview of my setup.
    Sorry, it was much longer than I thought it would be and I might be rambling a too much.
    But hopefully it will help you get going.
    Let me know if there is anything you want me to elaborate on.
  4. PaulB

    PaulB Titanium2dof

    Joined:
    Apr 15, 2017
    Messages:
    119
    Location:
    Canada
    Balance:
    710Coins
    Ratings:
    +51 / 1 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    Very neat. Learning more every day.
    Need to make my limit switches more reliable, then back to more setup this weekend.
    Thanks for the video. There Might be more questions.
  5. PaulB

    PaulB Titanium2dof

    Joined:
    Apr 15, 2017
    Messages:
    119
    Location:
    Canada
    Balance:
    710Coins
    Ratings:
    +51 / 1 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    @JAD Redid the limit switches, rig is tuned with DEScribe.
    Next, setup and control of the rig.
    I'm really new to settings for Yat, Simtools and Mover.
    Yat 2.1.0 first.
    Would you mind sending screen shot of what settings I will need such as:
    Pre Defined
    Terminal Settings
    Text or Bin settings.....
  6. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    204
    Location:
    Australia
    Balance:
    1,434Coins
    Ratings:
    +140 / 3 / -0
    Try this for YAT
    upload_2020-4-8_20-50-55.png

    And for Mover I have
    upload_2020-4-8_20-54-14.png
  7. PaulB

    PaulB Titanium2dof

    Joined:
    Apr 15, 2017
    Messages:
    119
    Location:
    Canada
    Balance:
    710Coins
    Ratings:
    +51 / 1 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    @JAD
    Hi: Working on Yat with no luck. See anything I'm missing. I can see the lights blinking on the serial converter, so the signal is getting through. Just no movement.

    Attached Files:

  8. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    204
    Location:
    Australia
    Balance:
    1,434Coins
    Ratings:
    +140 / 3 / -0
    If you had just powered up the system, then your missing the 1,home after the 1,start
    It will sit there doing nothing until homed.
    I think the led on the kangaroo gives error status and it may be flashing that its not homed yet.
    There is a list in the kanagroo manual of the various led status.
    • Informative Informative x 1
  9. PaulB

    PaulB Titanium2dof

    Joined:
    Apr 15, 2017
    Messages:
    119
    Location:
    Canada
    Balance:
    710Coins
    Ratings:
    +51 / 1 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    @JAD One more small step.
    I have Yat working. set for 580 mm total actuator travel. Homes at the floor. Travel is consistent. Even for the 2 Motors with different gear ratios.

    Next step Mover.
    I connected to Mover with "output::serial ID1". To my surprise, it worked. Is there a way to have it look for the other limit switch?

    I'm not really sure how the control goes from Yat to Mover and Mover to Yat. If the Rig powers down, It drops like a rock. : (
  10. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    204
    Location:
    Australia
    Balance:
    1,434Coins
    Ratings:
    +140 / 3 / -0

    If your succesfully using YAT to home and drive the actuator to desired position, then you no longer need for it to search the second limit switch.
    It sounds like you performed the tune by limits (both limits), then subsequently changed settings after the tune to only seek bottom switch for homing which is fine.

    If by saying you have YAT working where you have range dialed in at 580mm and it homes to floor, Then it sounds like you have it setup correctly.
    The final check to prove to yourself its working as expected is to send a position 0% (using YAT) to all actuators and check the rig is level and at bottom of range, and then send position 100% and check the rig is level at the top.

    For now, Im suggesting to continue using YAT just for the first time home on powerup. We are not wanting Mover to do homing everytime we connect with it.
    Remember you only need to home once for the session(ie leave it powered up for the evening session).

    You asked about how the control goes from YAT to Mover:
    When you press connect in YAT, only YAT is sending commands to the Kangaroo's and if you tried to connect Mover also, it will not connect while in use by YAT.
    On the first time we connect with YAT, we are doing the homing and then optionally, we are moving the rig to a 'ready' position.
    Where this 'ready' position is located could be different between us, but likely for you and I it is the same. I suggest 'ready' is the 50% position of all actuators.
    Then we disconnect YAT. But we do not power down before disconnect. The kangaroo will actively hold the last position (our 'ready' position) even when disconnected from YAT.
    The kangaroo just sits there waiting and holding the last position even though neither YAT or Mover is connected to it.
    Then we connect with Mover, Mover begins to send position commands and the actuator moves in accordance to the source, rig setup and pose filters.
    When Mover is connected(activate the outputs with ALT+O) , we do not want Mover to perform homing again, and we do not want it to send a powerdown when disconnecting the outputs. (which drops your rig like a stone)
    This means there is no start or stop string required in Mover, leave these blank.
    So we can leave mover connected all night until your finished for the evening. While Mover is connected, it does smooth transitions even when switching games and sources and playing around with filters.
    When your finished for the night, and if you rigs drops too much and too fast to just switch off, then you disconnect Mover (ALT+O), then connect with YAT and manually move to position 0% (I call this park for getting in and out) and then powerdown or switch off so the drop isnt too great.

    Later on, we can replace YAT with Foxterm so all these steps like homing, moving to ready or park can be done with single click run files.
    I think FlyPT is working on some future features that may stand in for what we are doing with YAT or Foxterm. Im looking forward to it.

    Regarding Mover 'home' position :
    We can define Mover home position is the rigs page.
    A position of 0 mm is the mid position of the actuator. This is why we use YAT iniatly to send the rig to 50% position (our ready position) before connecting the outputs of Mover.
    If say our ready position using YAT was different to Mover's home position, when we connect Mover the first time (ALT+O), there would be sudden full force drive to Mover's home position which is too much of a shock.
    So this is why we are using YAT to put the rig in a 'ready' position of 50% to match the home position of mover of 0mm. So no shock when we connect Mover.

    You could be thinking why not have Mover home position be at the bottom and we have our rig ready position (using YAT) also at the bottom (like the 'park' position).
    But I have found that when we are playing around with filters while in game, we are frequently switching between the Game window and Mover window many times a minute, which means everytime the game window loses focus, Mover goes to home many times a minute.
    So moving up and down many times a minute becomes tedious so this is why I prefer Mover Home to be the mid position (0 mm) so the transition between game window and Mover window is quick with minimum rig movement.

    I might need to re-check this statement Im making above later tonght, Im doubting myself at the moment.
    Im not sure now what mover does when game loses focus and source data goes to zero, does it goto home or does it goto 0 mm position regardless of home?
    We might be able to have Mover home and our park position at the bottom and not have this issue of rig going up and down when game sources go to zero when switching away form the game.
    Its just so easy fo me now using one click foxterm exe's that its no hassle either way for me.
    I'll confirm later.

    When your ready to ditch YAT for foxterm, Let me know and I'll prepare an explainer for this.
    But you should be able to get fully into Mover for a while without waiting to setup up Foxterm.
  11. PaulB

    PaulB Titanium2dof

    Joined:
    Apr 15, 2017
    Messages:
    119
    Location:
    Canada
    Balance:
    710Coins
    Ratings:
    +51 / 1 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    It's all starting to come together.

    With YAT, the Rig homes to the limit switch on the floor and it stays level till full extension.
    I think you have answered all of my concerns, so far with YAT

    For mover I think I'm getting there!
    I connected one of the outputs, it went to full extension. I thought it would stop at 0 midpoint.
    See anything I have overlooked?
    Output Serial 2.9.5.PNG RIG Linear Hexapod 2.9.5.PNG
  12. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    204
    Location:
    Australia
    Balance:
    1,434Coins
    Ratings:
    +140 / 3 / -0
    Can we check first you have units set correctly in the units tab in DESCcribe.
    You may have something like 4095=x , where x is the number of encoder lines that represents the full operating range (which is also you min and max in the soft limits settings).
    I remember you saying that you had different hardward or ratios between each of the motors. So x would need to be specific for the motor.

    Then using YAT,
    need to verify that sending 1,p0s200 drives the actuator to the expected bottom position. (change the speed to whatever is confortable for your rig, that speed command is encoder lines/second)
    then verify that sending 1,p4095s200 drives the actuator to the expected max position.
    These positions we are referring to is the normal operation range (0% and 100% of the soft limit range).
    Do this for each motor.

    If this is working fine, then Im a bit puzzled why Mover would send the actuator to anywhere other than mid position.
    Let me know how the above checks work out.

    Remember to use YAT to move the rig to mid position before connecting Mover or the jump to mid position will be quick.
    Or just temporarily add speed commands to the string in Mover for initial testing.
  13. PaulB

    PaulB Titanium2dof

    Joined:
    Apr 15, 2017
    Messages:
    119
    Location:
    Canada
    Balance:
    710Coins
    Ratings:
    +51 / 1 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    I have left the units to lines in DEScribe as 1 to 1. I used 107 = 1000 for Axis 5, 4, 3, 2 and 107 = 1500 for axis 6 and 1 in YAT. This gives me the correct 580 at 100% or 580mm
    Should I correct something in DEScribe?

    Attached Files:

  14. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    204
    Location:
    Australia
    Balance:
    1,434Coins
    Ratings:
    +140 / 3 / -0
    Especially if you are running different units on some axis, I suggest putting it directly into the kangaroo using describe.
    It's too easy to mess it up and all it takes one day is for the serial connector to pick up a different com port and then your sending the wrong units to the wrong axis.
    If you put those units numbers into describe and push it to the kangaroo, then its set and forget.

    I want to check your understanding of units.
    The left number is the user units which will be the decimal range we are sending to the kangaroo. In your case, 2^12 (4095)
    and the right number is the machine encoder lines that correspond.
    You can put in any whole numbers in the units command that are the same ratio.

    If we just refer to axis 5,4,3,2, I see you have 107=1000,
    From this, I take it that 4095 = 38270 encoder lines of range.
    So just checking your soft limits are that far apart to give you the operating range of 580mm.
    Pls send me a screen shot of the positioning tab in DEScribe to check


    Have you confirmed that sending 1,p0s100 goes to min position and 1,p4095s100 goes to max 580mm?
    Just type it into the serial terminal in YAT to check, no need to set it up in the macro's.
    This is the only check you need to work before going to Mover

    When you first connect Mover and home/default is 0 mm, Mover is sending 1,p2047 which is the mid position of your 580mm
  15. Slider

    Slider Active Member

    Joined:
    Jul 28, 2014
    Messages:
    151
    Occupation:
    Irrigation
    Location:
    Brisbane
    Balance:
    1,103Coins
    Ratings:
    +109 / 0 / -0
    My Motion Simulator:
    2DOF, JRK
    I came for the pics and videos... i was not disappointed! nice build and a great concept. Would be good for a flight sim too.
  16. PaulB

    PaulB Titanium2dof

    Joined:
    Apr 15, 2017
    Messages:
    119
    Location:
    Canada
    Balance:
    710Coins
    Ratings:
    +51 / 1 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    Nope. : ) missing something somewhere!
    Also what should I be using for units in YAT?
    Capture 2.PNG Capture.PNG
  17. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    204
    Location:
    Australia
    Balance:
    1,434Coins
    Ratings:
    +140 / 3 / -0
    In describe, the home position is the machine zero which is to be your bottom position when you send a p0 command.
    This needs to be some safe distance from the limit switch. Lets say 10% (adjust as you need)
    You have home set at 2050 units which will make a p0 command go somewhere near the middle. And then when you connect mover, it sends a p2047 which takes it further again to the top of your actuator extents.

    What is the qty of machine lines between limit switches? I see you have units set to 4095=38270. Is 38270 the number of lines between limit switches?
    You wouldnt want the range of 4095 units to line up exactly with the limit switchs.
    You need the p0 command to be some safe distance from the bottom limit and P4095 also a safe distance from the top limit switch.

    Below is a setout of the parameters,
    Ive assumed 38270 lines is between limit switches so change as needed.
    And I've arbitarily chosen middle 80% to be the normal operating range (soft limits) and middle 90% range to be the hard limits. Adjust as needed. These limits can be biased towards one end also if needed.
    IMG_20200416_221855.jpg
  18. PaulB

    PaulB Titanium2dof

    Joined:
    Apr 15, 2017
    Messages:
    119
    Location:
    Canada
    Balance:
    710Coins
    Ratings:
    +51 / 1 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    I don't know why I was thinking home was in the canter of 4095! Some days when I get out from work the gray mater is used up.
    I have everything sorted out from the diagram above. Thank you.
    Going to try and get Mover working tomorrow.
    20200412_112231_resized.jpg
  19. PaulB

    PaulB Titanium2dof

    Joined:
    Apr 15, 2017
    Messages:
    119
    Location:
    Canada
    Balance:
    710Coins
    Ratings:
    +51 / 1 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    @JAD Stepping forward, one step back!
    Thought I had it. Would you mind seeing where I made my mistake.
    YAT works great. proper stops and adjusted to 500 mm travel.
    Updated the Simtools file. (and saved)
    I'm running Mover 2.9.8
    The settings in the photo are reduced to 10% till things are under control.
    Had LFS working with the 3D veiwer at 10%.
    Thought I'd Give it a shot, Ops. The #6 and #1 went right to the Top limit switches. Nearly took out my tower : )

    Any ideas on safe steps of progression?

    Attached Files:

  20. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    204
    Location:
    Australia
    Balance:
    1,434Coins
    Ratings:
    +140 / 3 / -0
    Im speculation that 6 and 1 (being on the same Kangaroo) are not setup properly in DESCribe.
    Could you double check that sending a P0 and P4095 to these actuators puts the actuators where expected (using YAT).
    You mentioned earlier that these motors have different encoders and so units needs to be set to match the hardware.

    If you had the movements in Mover looking good with LFS then we need to check the bit outputs are as expected.
    For now we are not using Simtools. Simtools can be introduced later as another source when Mover doesnt have a game source that simtools has.

    Next step with Mover is to keep it simple.
    Just do 1 loop source and lets pick 50mm and a nice and slow 10 sec period. And tick vertical position only, everthing else must be un-ticked..
    In pose, goto heave and select vertical position,
    and with all the other pose values, tick the manual box to isolate them out of the picture.
    These other poses should be getting zeros anyway but tick the manual box just in case.
    Since the source loop is a sine wave, it is gentle enough to leave the filter blank or just as you have it now with a EMALP.
    For this heave line, set all the gains and flip to 1 to just pass through the raw value.
    Set the range to at least 50mm so it is not cropped. Make it 100 anyway, doesnt matter right now.
    It should be safe enough to leave all gains or scales elsewhere to 1.

    Hit connect on the loop source, (not connect on outputs just yet)
    then look at the pose window, expand the bottom panel to watch the pose values and verify that the heave is only moving the 50mm up and down. Every other DOF should be zero.

    Go to the Rig window and expand the bottom panel to watch the bit output of each actuator and verify that they are all rising and falling together the same amount.
    The bit output should be somwehere in the vicinity of 2045 (halfway of 4095) and cycling around 300 odd either side of 2045. we dont want to see values going near 0 or 4095.
    Look at the moving bar and verify that it is just oscillating maybe 10% around the middle length.
    This bar represents the full actuator travel length, so anything odd here tells you something is not set right in Mover.
    The 3D viewer should look also look like its bobbing up and down a small amount.

    I noticed in mover Rig window, you have range 500mm.
    Dont forget Mover defines range as the travel distance above and below the middle position. So this is telling Mover the actuator total travel is 1000mm
    Maybe you need range to be 250 in Mover.
    Im assuming here that you have setup units with Describe where sending a P0 and P4095 results in a total travel of 500mm.

    Try connecting all outputs now and let me know how it goes.
    upload_2020-4-20_22-34-41.png