Moving distal and proximal arm while homing proximal joint?
-
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:
- Move the distal and proximal joint, maintaining the angle between the two, until the proximal is homed once. (Fast)
- Home proximal arm without moving the distal arm. (Slow)
- Home distal arm (Fast)
- Home distal arm (Slow)
- 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.
-
If your SCARA kinematics definition is set up correctly, this should work. See the sample files on https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareSCARAPrinter
-
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...
-
@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.
-
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...
-
@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...