Parallel Scara, Five Bar Scara
-
This is a follow up of https://forum.duet3d.com/topic/5651/parallel-scara
If you are interested in parallel Scara, please check whether my documentation in https://duet3d.dozuki.com/Guide/Five+Bar+Parallel+SCARA/24?lang=en seems to be valid:
-
is the description and images ok?
-
are the parameters of M669 understandable and the parameters ok? @dc42 is defining the parameters with this letters ok?
-
do you miss an important construction option which I should add?
Next step for me is to implement the Kinematics file, I have finished the algorithms. The necessary other source changes of Step 6 cannot checked in by me, because then I cannot make a push request.
-
-
@JoergS5 any pros/cons about using proximalDistance=0 (like the Morgan type)?
The kinematics must be easier that way. -
@falkia You're absolutely right, it is much easier to calculate. It is included in the configuration by setting proximalDistance to 0. But it may be easier to construct a Scara with distance > 0, because you can place the steppers side by side. So I wanted to give all options for the user.
With proximalDistance=0 and the arm lengths all the same, calculation would be very easy: only one middle angle and the radius. I documented the details in the wiki.
One aspect where I don't have an answer yet is which solution is best. Some proximalDistance may be advantageous for the print area, speed, stability or precision. I will test it.
One could change proximalDistance to influence print area and precision also with an additional actuator.
-
I've had a quick look at it. It appears OK to me except that I suggest you make some changes to the M669 parameters:
- K is reserved for kinematics type, so you need to use a different letter for the working mode.
- I suggest you use X and Y for the origin offset, just as serial SCARA does. So choose a different letter for the proximal distance.
- In your description of the A parameter, you have specified two different defaults.
-
@dc42 Thank you for review, I will make the changes. The defaults for A mean the first is for nnn:mmm, the second for ppp:qqq. I will make that clearer.
-
Just a status update:
I've added code to https://github.com/JoergS5/RepRapFirmware/tree/v2-dev now, implementing FiveBarScaraKinematics.cpp and .h. The checked-in version is buildable. The necessary changes in the checked out files are described in step 7 of the documentation (I cannot check it in because of later github push reason).
I've changed some details in the documentation also. Next I will finish the prototype build and test the code. One thing I am not sure it is working is the homing procedure.