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

    Moving distal and proximal arm while homing proximal joint?

    Scheduled Pinned Locked Moved
    Firmware wishlist
    4
    6
    206
    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.
    • koaldesignsundefined
      koaldesigns
      last edited by

      As the title says, is there a way to move the distal and proximal joint of a SCARA arm at the same time, thus preserving the angle between the arms, to home safely.

      From my tests so far it only seems to be possible to move a single joint at a time to home. My ideal homing pattern/thing would be:

      1. Move the distal and proximal joint, maintaining the angle between the two, until the proximal is homed once. (Fast)
      2. Home proximal arm without moving the distal arm. (Slow)
      3. Home distal arm (Fast)
      4. Home distal arm (Slow)
      5. Home Z Axis

      This would not be a problem if the drive motor for the distal joint was attached to the proximal arm, but both motors are stationary in this case with a crosstalk factor of -1.

      Is there any way to do this currently? If not, what would have to be added in order to allow for this to happen.

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

        If your SCARA kinematics definition is set up correctly, this should work. See the sample files on https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareSCARAPrinter

        <>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
        • theruttmeisterundefined
          theruttmeister
          last edited by

          Its not possible.

          Because the way G1 Hx commands work (the endstop and actual motor are linked) you can't home while respecting crosstalk.
          Attempting to move both motors with:
          G1 H1 X200 Y200 F200
          As an example, will move both motors, but will stop them separately as each endstop is triggered.
          But G1 H1 X200... will only move the X motor, it will not obey the crosstalk variable.

          (at least with my rrf3b3 config).

          Homing both axies at the same time might be close enough for your purposes though...

          Isolate, substitute, verify.

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

            @theruttmeister said in Moving distal and proximal arm while homing proximal joint?:

            Its not possible.

            Because the way G1 Hx commands work (the endstop and actual motor are linked) you can't home while respecting crosstalk.
            Attempting to move both motors with:
            G1 H1 X200 Y200 F200
            As an example, will move both motors, but will stop them separately as each endstop is triggered.
            But G1 H1 X200... will only move the X motor, it will not obey the crosstalk variable.

            (at least with my rrf3b3 config).

            Homing both axies at the same time might be close enough for your purposes though...

            That sounds like a bug to me, when the crosstalk is nonzero I don't think it makes sense to stop the motors individually.

            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

            theruttmeisterundefined 1 Reply Last reply Reply Quote 0
            • theruttmeisterundefined
              theruttmeister @dc42
              last edited by

              @dc42

              Just double checked. With a crosstalk of either 1,-1 or 2, H1 H2 and H3 commands all move just the 1 axis.
              (Obvs thats corrrect function for H2).

              I'm going to guess its somehow the logic from Delta kinematics? As that forces H1 into H2 commands...

              Isolate, substitute, verify.

              1 Reply Last reply Reply Quote 0
              • koaldesignsundefined
                koaldesigns
                last edited by

                @dc42 @theruttmeister I can confirm that the homing does not respect crosstalk, it is causing major problems while trying to home from distant arm positions due to the way homing currently works.

                Any of my current ideas in the homeall.g file to combine the X and Y homing does not work such as:

                G1 H2 X-300 Y-300 F1000
                

                which sometimes works but depending on the arm position can get funky very quickly...

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