Robotic kinematics
-
good morning! I did various tests, and I realized that I had to find the right relationship with lengths of the individual arms, min max angular limits of the joints and min max limits of (M208 in config.g)
I tried with these arms using 5 steppers i.e (R0) (L2 200mm L3 200mm L4 100mm L5 0mm) (X 0.0: 0.0 Y 0.0: 0.0 Z 100.0) or had to modify (from A-45: 45: 0: 75: - 75: -5: -170: 170: -135: 135 in A-45: 45: 0: 140: -140: -5: -170: 170: -135: 135) inside FiveAxisRobotKinematics.h I recompiled the firmware because I did not understand if I could modify them in M669, and I can tell you that with the parameters in equilibrium the motors move reaching more and more printing area.
for the construction of the robot as you told me are you doing this?
-
@tony73 yes, I build it similar to this, but arm 4 longer down and axis 5 and arm 5 attached. The advantage is, that the arm 4 is vertical automatically and the upper and lower parallel arm elements will probably result in a higher precision (as the article described). I think it is similar like the parallel scara robot is more precise than a normal scara robot. I make the inner-arm-elements as wide and high as possible for the same reason, and axis 1 a big (30 cm diameter) plate.
The angle limits you mention can be set with the A parameter, although they are not reported yet. I will add them to the report. The report was so long, so I hesitated, but I compressed them now, so it's an advantage to get confirmation over all settings. It was a joy to use it in DWC while testing the parameters and changing all on-the-fly!
-
I would have
I wanted to build the same robot to be able to do the tests, but with my family, work and other things I have little time left, it would take too much to build, so I would have thought of this solution, I would buy this kit to shorten the time just mount it and connect the duet, it would be a thing in acceptable times !!
I would block the joint on arm 3 (L3) see photo !!! because this is a 6-axis and would be used as a 5-axis (a good compromise between price and quality, and in aluminum it should be stable in order to carry out acceptable tests!)
I hope that in the future you will be able to implement the 6th axis in the firmware, can you tell me if it will be possible or if this would complicate the firmware?
tell me if this robot seems like a valid solution to you !! Hello ! -
@tony73 before developing, I thought about whether to build this type of robot with the rotating 4th axis (6 in total), but I saw no advantage for a 3D printer, because the hotend holder shall be horizontal, the arm 4 vertical. And arm 5 long enough, so the extruder and other hotend parts can rotate freely around arm 4.
In the future the robot could be used for other tasks, CNC for example, where this flexibility would make sense. If I can master the kinematics/inverse kinematics task, I would like to develop this also. It is more complex of course.
Your robot offer has a relatively low gear ratio (my guess is 1:10 or even less). I suspect the precision is not good enough for 3D printing. But I have no experience, so it's only a guess.
I plan to develop and describe DIY building a robot as easy as possible in the reprap spirit (eg 3D print some of the printer parts*)) and describe it. It is an option for you to wait and decide whether it's better to build instead of buy. I understand your restrictions, but you have no project time deadline.
*) not the stiff parts of course!
-
these are the motor reduction values that they describe, for you to see.
I was evaluating what I could do, I'm willing to wait even to see your robot and I don't know how many hours of work it takes but if they are reasonable I could follow you if you will release documentation to reproduce it, I have a lathe with modifications for manual cnc I could do the important pieces in aluminum.
I know that a 6 axis for 3d printing can be wasted, but as you said in the cnc field it is perfect, but let's go step by step! how much do you miss at the end of the robot? -
@tony73 said in Robotic kinematics:
I have a lathe with modifications for manual cnc I could do the important pieces in aluminum.
This will be sufficient. It would be an advantage to already have a 3D printer, but I have a plan to start without. I will release all what I am doing to build the robot.
-
I have a 3d printer I took it for granted !!some pieces for my scara are created with 3d printing !
-
@tony73 I only ask because I have an idea to use 3D printed gears, and one needs a printer already to create it. But I'll explain in a few days.
-
ok! I look forward to hearing from you !
-
@JoergS5
good morning ! how is work on the robot going on? -
@tony73 hello, my first try was too flexible, I am currently building version 2. You'll see it in a few days.
-
@JoergS5
OK, see you soon! -
This post is deleted! -
@dc42 I have two short questions and hope you can easily answer them:
The M208 XYZ, are they cartesian coordinates, and when using U it is meant as a second X? For rotational actuators, I would use the result of the kinematics world coordinates for the M208 values, not the angles? Do I understand this correctly?
I have to inform the kinematics in advance before the G0/G1 move starts, what the complete movement will be. I added a seperate method for this in the kinematics. Where shall I add the call? (DDA/Move/...Init/Spin?) and are there additional parts where I have to add it (mesh compensation eg).
-
It's entirely up to you what you use the U axis for. In the CNC world, conventionally UVW behave like a second XYZ system, and ABC are rotational axes. But RRF doesn't require that.
-
@dc42 I meant are M208 values cartesian coordinates or stepper positions?
-
@JoergS5 said in Robotic kinematics:
@dc42 I meant are M208 values cartesian coordinates or stepper positions?
They are in whatever units your kinematics assumes for U parameters in G1 commands.
-
@dc42 ok thanks, I try to use it correctly.
-
good morning ! I took the two files with the latest changes FiveAxisRobotKinematics.h and FiveAxisRobotKinematics.cpp I put them in rrf 3.1.0 as I always did, I tried to in eclipse to recompile the .bin gives me this error,
could you help me ? I don't know where I'm wrong!
-
@tony73 you're right, I missed checking it in into github. I'll do this in a minute. The variables are a prepration to support P3 (hotend in the direction of the movement) and a new P4.
Sorry that I overlooked it.