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 Mover 3.7

Discussion in 'FlyPt Mover' started by pmvcda, Sep 20, 2024.

  1. GTakacs

    GTakacs Member

    Joined:
    Mar 4, 2024
    Messages:
    76
    Balance:
    430Coins
    Ratings:
    +34 / 3 / -0
    My Motion Simulator:
    6DOF
    The two gains are essentially input and output gains. There are direct values for those on the pose page itself but I prefer to put everything into the filter itself so I can leave the input and output gains at 1.0 so if I share a profile people can easily adjust those and understand what kind of percentage of change they're getting. It makes no difference whether it's baked into the filter or not, the input gain is the first multiplier that gets applied to the value and the output gain is the last multiplier that gets applied to the value. If you do some heavy math and limit/expo/checking within the filter then it matters where you do the gaining. If you don't then it doesn't matter much.

    You can flip the direction at any point on this particular filter (input, output) as we're not doing anything within that is sign dependent. Flipping at both places would be as if you didn't flip it at either places.
    • Dislike Dislike x 1
  2. PeterW

    PeterW alias Wickie

    Joined:
    Oct 21, 2018
    Messages:
    222
    Occupation:
    Dipl. Ing. Mb (FH)
    Location:
    Germany
    Balance:
    1,717Coins
    Ratings:
    +382 / 3 / -0
    My Motion Simulator:
    6DOF
    Hi @pmvcda
    I have a consistent problem with Mover3.7 recognizing the correct USB-ports. Maybe this is a Problem with my PC, but maybe not.
    Although I saved mover with the COM-ports, at next start of my PC, Mover tries to connect to com 16 instead of the correct com 3.
    For information: there are no hidden connections
    Maybe you can help?
    Thanks!!

    upload_2024-10-19_9-51-3.png
    upload_2024-10-19_9-50-0.png
    • Informative Informative x 1
    Last edited: Oct 19, 2024
  3. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,096
    Location:
    Portugal
    Balance:
    14,906Coins
    Ratings:
    +2,504 / 17 / -0
    My Motion Simulator:
    6DOF
    hmm, I will look at it, thought it was solved
    • Like Like x 1
  4. PeterW

    PeterW alias Wickie

    Joined:
    Oct 21, 2018
    Messages:
    222
    Occupation:
    Dipl. Ing. Mb (FH)
    Location:
    Germany
    Balance:
    1,717Coins
    Ratings:
    +382 / 3 / -0
    My Motion Simulator:
    6DOF
    Hi @pmvcda!
    Again I have one Topic, I kindly want to ask you for checking:

    I found, that I can not set the parking-position permanently.
    I tried to do it in two different ways:
    1: I moved the actuators to my prefered parking-position near the full retracted postion. Then I pressed the "set parking position "button" in the rig-window. Then saved.
    upload_2024-10-20_11-31-5.png


    2: Inside the rig-window I open the actuator-setup pop up window and adjusted the parking-position with help of the up/down arrows manually. Then saved.
    upload_2024-10-20_11-29-38.png

    In both situations, the parked position is not saved.

    Edit: It seems, that saving-funktion is a wider topic: I also cant save changes in other windows??? Hm...
    Edit2: I double checked everything, bootet my PC, started the mover.exe directly from the directory where the settings files are, but no success....
    Edit3: I get quite often frozen Mover-windows with the new Mover
    • Informative Informative x 1
    Last edited: Oct 20, 2024
  5. Tarak Makwana

    Tarak Makwana aimbug Gold Contributor

    Joined:
    Mar 14, 2024
    Messages:
    4
    Balance:
    1Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    6DOF
    upload_2024-10-20_15-17-25.png

    Please help me
    i am using the linear hexapod 6Dof what values i have to put in send i am confused
    upload_2024-10-20_15-19-22.png

    here is what i did

    using esp32 setup com 7 and com 5
  6. PeterW

    PeterW alias Wickie

    Joined:
    Oct 21, 2018
    Messages:
    222
    Occupation:
    Dipl. Ing. Mb (FH)
    Location:
    Germany
    Balance:
    1,717Coins
    Ratings:
    +382 / 3 / -0
    My Motion Simulator:
    6DOF
    • Informative Informative x 1
  7. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,096
    Location:
    Portugal
    Balance:
    14,906Coins
    Ratings:
    +2,504 / 17 / -0
    My Motion Simulator:
    6DOF
    The new output strings

    Mover 3,7 uses a similar output string to the previous Mover.
    But there's still some significant differences.

    upload_2024-10-20_13-10-19.png

    Here's some examples of old Mover to new Mover strings:
    This is for rig R0, you might have others defined (yes you can have more than one, one for TL another for pitch/roll...)

    ESP32 FlyPT string (binary and actuators 15 bits)
    In Mover 3.5.2 for board 1:
    In Mover 3.5.2 for board 2:
    In Mover 3.7.0.x for board 1:
    In Mover 3.7.0.x for board 2:
    Official ODrive firmware (decimal/ascii with motor turns)
    In Mover 3.7.0.x for board 2:
    This firmware uses turns and the 5 > gives you 5 decimal places to increase the resolution.
    This allows you to use the full resolution of the encoder (e.g. max. 8192 cpr for the quite common AMT102).
    (by @PeterW testing here: https://www.xsimulator.net/community/threads/flypt-mover-3-7.19016/page-21#post-251496

    SMC3 output string (decimal/ascii and actuators 10 bits)
    In Mover 3.5.2:
    In Mover 3.7.0.x:
    Thanos output string (binary and actuators 16 bits)
    In Mover 3.5.2:
    In Mover 3.7.0.x:
    You might not have actuators 7 and 8, replace any actuator not in use with <0><0>, it would be:
    In Mover 3.5.2:
    In Mover 3.7.0.x:
    Motion4Sim Direct Mode output string (binary and actuators 24 bits)
    In Mover 3.5.2:
    In Mover 3.7.0.x:
    You might not have actuators 7 and 8, replace any actuator not in use with <0><0><0>, it would be:
    In Mover 3.5.2:
    In Mover 3.7.0.x:
    Motion4Sim can use CRC check now, for that, select CRC-16 and the string should be (remove last two bytes):
    In Mover 3.7.0.x:
    Motion4Sim Position Mode output string (binary and actuators 24 bits)
    In Mover 3.5.2:
    In Mover 3.7.0.x:
    P0 would be the pose, you can also replace P0 with R0 of a rig
    Motion4Sim can use CRC check now, for that, select CRC-16 and the string should be (remove last two bytes):
    In Mover 3.7.0.x:
    Notice that Axis1a is replaced with a variable of type R0.A1.B where:
    R0 is the key of the rig module
    A1 is actuator #1 of the rig
    B means bit value (P would be position in mm or º and T turns of motor)
    For more info on variables, see this post.
    You can use the treeview on the right to check all the values you can use on the string and drag/drop them on the string field.

    Explanation:
    Thre's two types ot output string, the binary and the ascii(equivalent to decimal).
    The binary sends data in bytes, whyle the ascii sends data in text format (bytes are chars).

    In binary format, bit values are sent with the number of bytes specified for the actuators.
    The other values (like mm, º or turns) are sent as a 4 byte float or a 8 byte double.
    Using a letter or any other key sends it's ASCII value as a byte.
    Example:
    <RIG.YAW> is a 4 byte float
    <<RIG.YAW> is a 8 byte double (two < before the var)
    A<RIG.YAW> is the byte 65 for letter A followed by 4 bytes for the float value
    You can also send specific values:
    <233> is the byte 233
    233 is not the byte 233, but 3 bytes for the chars specified: 50, 51, 51
    <23464> does not fit in one byte, the byte shown is only the last byte for that value: 168
    <<23464> fits in two bytes and shows with two bytes: 91, 168
    <<<23464> shows with 3 bytes: 0, 91, 168
    Resuming, the number of < used in the variables and values format the output by defining the amount of bytes used.

    In ASCII format, you can send invisible chars sending their value:
    <27> is the invisible ASCII char ESCAPE
    <64> is the visible char @
    Visible char can be set directlly
    You can also set the minimum amount of digits shown before the decimal dot and the number of decimals shown.
    If the variable value is 2.234456 then:
    <VARIABLE> shows the variable value as an int: 2
    <<<VARIABLE>>> shows the variable value with at least 3 digits before the dot and 2 decimal places: 002.23
    <<<VARIABLE> shows the variable value with at least 3 digists and no decimal places: 002
    Resuming, the number of < used in the variables set the minimum number of digits shown before the decimal dot. The number of > used (minus one) is the number of decimals shown after the dot.
    Last edited: Oct 26, 2024
  8. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,096
    Location:
    Portugal
    Balance:
    14,906Coins
    Ratings:
    +2,504 / 17 / -0
    My Motion Simulator:
    6DOF
    Variables logic

    Variables are based on keys. Some you can set, others are fixed.
    What you can set is the key of a module.

    upload_2024-10-20_13-24-0.png

    Each module as a kay and you access the values of that module through that key.
    For example, if you have a rig with key R1, you reach it's values with

    R1.xxxxx

    Rigs have actuators and they are numbered from A1 to An, for an hecxapod you have 6 actuators, so you get A1 to A6. To reach data of the actuator #3 you do:

    R1.A3.xxxxx

    Each actuator has multiple values. You can access it's position in mm or º (depending on the type of actuator) with:

    R1.Ar.P

    Rigs also have the pose values, you can use:

    R1.SWAY

    A pose module with key P3 also has it's pose values available:

    P0.SWAY
    P0.SURGE
    ...

    There's also MOVER variables that give you times

    MOVER.TIME gives you the absolute system time

    You can also define custom varibles/aliases, but that is for another post...
    Last edited: Oct 20, 2024
  9. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,096
    Location:
    Portugal
    Balance:
    14,906Coins
    Ratings:
    +2,504 / 17 / -0
    My Motion Simulator:
    6DOF
  10. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,096
    Location:
    Portugal
    Balance:
    14,906Coins
    Ratings:
    +2,504 / 17 / -0
    My Motion Simulator:
    6DOF
  11. PeterW

    PeterW alias Wickie

    Joined:
    Oct 21, 2018
    Messages:
    222
    Occupation:
    Dipl. Ing. Mb (FH)
    Location:
    Germany
    Balance:
    1,717Coins
    Ratings:
    +382 / 3 / -0
    My Motion Simulator:
    6DOF
    Hi @pmvcda
    I want to make a proposal for the user-interface of the outputs. Please see this only as a suggestion and possible improvement (from my point of view) and not as a criticism of your wonderful software!

    During testing I sometimes I wasnt happy with using this buttons/windows.
    Why?
    => On the main page you can not see which actuators (Numbers) are connected and to which COM-port they belong. To see this, I have to open the window. Some times I have to move the windows around to be able to completely see the whole window, sometimes it is hidden behind some other windows. Sometimes its simply fighting for the limited space on my screen.
    => Once set all the settings in the output-window, I can see no reason, why to open this window again and again, only to start the outputs

    Maybe this is stupid proposal and I didnt understand your user-interface; but maybe not ;)

    So this is how I would propose to show the COM/outputs-Windows:
    (Proposal for three COM-outputs for three Odrives in a 6DOF):

    upload_2024-10-20_15-0-3.png
  12. Tarak Makwana

    Tarak Makwana aimbug Gold Contributor

    Joined:
    Mar 14, 2024
    Messages:
    4
    Balance:
    1Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    6DOF
    sir my actuator goes all the way up i used this values

    <255><255><R0.A1.B><R0.A2.B><R0.A3.B>
    <255><255><R0.A4.B><R0.A5.B><R0.A6.B>

    please if possbile can you send me the .mover file or setup for LFS
  13. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,096
    Location:
    Portugal
    Balance:
    14,906Coins
    Ratings:
    +2,504 / 17 / -0
    My Motion Simulator:
    6DOF

    Well, it's on my list to add multi outputs for serials, not only because of rigs using more than one controller (mine), but also because of belt systems, fans...

    I did nothing yet, but i need to. The idea of it being in the diagram is for 4.0, where everything is visible on the diagram.

    What i'm considering also is a viewer (my prefered solution for comercial reasons) module connected to the selected outputs to show everything and have the connect/disconnect there. Could be like your design, seems good. Outputs still exist, but you don't need view them
    • Like Like x 1
  14. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,096
    Location:
    Portugal
    Balance:
    14,906Coins
    Ratings:
    +2,504 / 17 / -0
    My Motion Simulator:
    6DOF

    Share the setup you used for that (Mover3.7). Also share the old setup of 3.5.2 please.
    I need to check before sending you anything. I want to be 100% sure I don't cause any problem on your rig
  15. Tarak Makwana

    Tarak Makwana aimbug Gold Contributor

    Joined:
    Mar 14, 2024
    Messages:
    4
    Balance:
    1Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    6DOF
    here are both setup

    Attached Files:

  16. PeterW

    PeterW alias Wickie

    Joined:
    Oct 21, 2018
    Messages:
    222
    Occupation:
    Dipl. Ing. Mb (FH)
    Location:
    Germany
    Balance:
    1,717Coins
    Ratings:
    +382 / 3 / -0
    My Motion Simulator:
    6DOF
    Hi all Odrive-users who want to use the official Odrive firmware. This firmware sends the position in turns !!! So, to get the full resulution of the encoder (e.g. max. 8192 cpr for the quite common AMT102) you have to set the correct output-string that enables enough decimal places. This was discussed some times before here in the chat, but I still was not sure about the correct string.

    So in order to be 100% sure, I tested the outputs like following. I increased the ">" step by step from 1 to 5 and had a close look to the resolution (see: https://youtube.com/shorts/vKHpJgJGMDo?si=0nq0FZB-Lp1QMiRy).

    I saw that the resolution increased from "super rough" to "super smooth".
    here is the output-test-sequence you see in the video.

    So the last output-string ist the best in my opinion.

    upload_2024-10-20_16-9-4.png

    Attached Files:

    • Like Like x 1
    • Winner Winner x 1
  17. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,096
    Location:
    Portugal
    Balance:
    14,906Coins
    Ratings:
    +2,504 / 17 / -0
    My Motion Simulator:
    6DOF
    Thanks, added to the first page of this thread.
    • Friendly Friendly x 1
  18. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,096
    Location:
    Portugal
    Balance:
    14,906Coins
    Ratings:
    +2,504 / 17 / -0
    My Motion Simulator:
    6DOF
    You need to set the bit value of the actuators rig to 15 in Mover 3.7.
    It's using the default 16 bits
    Go to the rig module and click on actuators button to show the actuators window
    Change bits to 15
  19. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,096
    Location:
    Portugal
    Balance:
    14,906Coins
    Ratings:
    +2,504 / 17 / -0
    My Motion Simulator:
    6DOF
    Are you sure you need the two << before the actuators values?
    Because it might add 2 useless bytes when value is under 10.
    Instead of 9.43225 you have 09.43225
    Last edited: Oct 20, 2024
  20. michel123

    michel123 Member

    Joined:
    Jan 12, 2024
    Messages:
    54
    Occupation:
    cadre sncf
    Location:
    lezignan-corbieres
    Balance:
    114Coins
    Ratings:
    +23 / 0 / -0
    My Motion Simulator:
    2DOF, AC motor, Arduino, Motion platform
    I found, it works but I'm missing the differential swap on each engine.

    We had the possibility of swapping the engine we wanted on the old version, I checked my assemblies 3 times and I certainly had to reverse the left and right engine at one point but for some reason when I wanted rectify no more motors working....


    So I can only stay as I am and therefore I miss the possibility of swapping only one of the two engines......(or the option exists but as usual... not good at it I didn't see her!)

    I think I need to review my filters too, because even with the poorly calibrated motor it works but abruptly for the right/left, but it's certainly my filters (I stupidly copied the ones from before without asking too many questions. ...).

    Otherwise for the movements that I was able to test up/down in particular, it's smooth, no worries.

    ;)