Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Triperon Motion

    Scheduled Pinned Locked Moved
    General Discussion
    9
    36
    2.3k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • speedpeteundefined
      speedpete @oliof
      last edited by

      @oliof
      that looks more complicated that I can handle 😉 ...What is with "If that is the case, then standard RRF supports Tripterons, and there is no longer any need for custom kinematics. Use the M669 command to specify Cartesian and use the XYZ parameters to modify the matrix." from DC42?
      Doesn´t that work? I´ve found no one showing such a config.g 😞

      Best Regards
      Peter

      1 Reply Last reply Reply Quote 0
      • oliofundefined
        oliof
        last edited by oliof

        @speedpete there are two different kinds of Tripterons:

        1. Orthogonal Tripterons in a box frame -- These use Cartesian kinematics and can be run without any changes to firmware. You could use the RepRapFirmware configurator to create a config.g for these.

        2. Colinear Tripterons in a delta frame like @Apsu s delteron -- these use their own kinematics as implemented in my fork and need firmware changes. I'll need to check whether it can be done as @dc42 says, but back in the day I couldn't make it work (but that's probably my lack of understanding and not a limitation of the firmware).

        <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

        1 Reply Last reply Reply Quote 0
        • oliofundefined
          oliof
          last edited by oliof

          @dc42 these are the inverse kinematics for colinear tripteron

          /*
          Inverse Kinematics
               *
               * 3x3 reduction coefficient matrix * 1x3 coordinate matrix
               * [a_x -a_y 1]   [x]
               * [b_x -b_y 1] * [y]
               * [g_x -g_y 1]   [z]
               */
          

          How'd that be expressed in M669?

          But besides that I needed arm angle and the height at which the machine homed plus some correction factor (which thinking about it today might be dropped in favor of adjusting steps/mm...) for proper movement, as well as delta style homing at the top (because the motors move the arms colinearly and not in a Cartesian fashion). I may pull out my prototype and do some testing; I assume I can drop a lot of my code if M669 matrix definition works.

          <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

          speedpeteundefined dc42undefined 2 Replies Last reply Reply Quote 0
          • speedpeteundefined
            speedpete @oliof
            last edited by

            @oliof
            That would be very interesting 🙂 ...nice of you 🙂 Truly I really depend on you in this case ...so please give it a try 🙂

            Best Regards
            Peter

            1 Reply Last reply Reply Quote 0
            • dc42undefined
              dc42 administrators @oliof
              last edited by dc42

              @oliof said in Triperon Motion:

              Inverse Kinematics
                   *
                   * 3x3 reduction coefficient matrix * 1x3 coordinate matrix
                   * [a_x -a_y 1]   [x]
                   * [b_x -b_y 1] * [y]
                   * [g_x -g_y 1]   [z]
                   */
              

              How'd that be expressed in M669?

              If a_x, a_y etc. are constants, then this:

              M669 K0 Xa_x:b_x:c_x Y-a_y:-b_y:-g_y Z1:1:1
              

              with appropriate substitutions for a_x etc.

              Duet WiFi hardware designer and firmware engineer
              Please do not ask me for Duet support via PM or email, use the forum
              http://www.escher3d.com, https://miscsolutions.wordpress.com

              speedpeteundefined 1 Reply Last reply Reply Quote 1
              • speedpeteundefined
                speedpete @dc42
                last edited by

                @dc42
                so a / b / g is a substitute for the lenght of the arms? ..and I have to find "a matching value" ?

                Best Regards
                Peter

                dc42undefined 1 Reply Last reply Reply Quote 0
                • dc42undefined
                  dc42 administrators @speedpete
                  last edited by

                  @speedpete I have a feeling that a_x etc. are not constants but are trigonometric functions. @oliof, can you point me to your reference for the inverse kinematics?

                  Duet WiFi hardware designer and firmware engineer
                  Please do not ask me for Duet support via PM or email, use the forum
                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                  oliofundefined 1 Reply Last reply Reply Quote 0
                  • oliofundefined
                    oliof @dc42
                    last edited by oliof

                    @dc42 they are constants, see https://github.com/oliof/RepRapFirmware/blob/colinear-tripteron/src/Movement/Kinematics/ColinearTripteronKinematics.cpp

                    (sorry I haven't looked at this code in a long time, I am a bit confused).

                    <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                    1 Reply Last reply Reply Quote 0
                    • oliofundefined
                      oliof
                      last edited by

                      I've now refreshed my memory and with some helpful explanations from @Apsu yes those are all constants.

                      <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                      speedpeteundefined 1 Reply Last reply Reply Quote 0
                      • speedpeteundefined
                        speedpete @oliof
                        last edited by

                        @oliof and @dc42
                        ...and what does an example "mechanics alike Apsu" in G-code look like for my starting point?

                        Best Regards
                        Peter

                        oliofundefined 1 Reply Last reply Reply Quote 0
                        • oliofundefined
                          oliof @speedpete
                          last edited by

                          @speedpete Grab the formula from my code to compute the constants and then set up the kinematics as @dc42 described. I didn't get around to trying this weekend; I may be able to do this tonight.

                          <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                          speedpeteundefined 1 Reply Last reply Reply Quote 0
                          • speedpeteundefined
                            speedpete @oliof
                            last edited by

                            @oliof
                            I don´t know how to do this, I´ll wait for your try 😉

                            Best Regards
                            Peter

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post
                            Unless otherwise noted, all forum content is licensed under CC-BY-SA