"Arc" issue with 3-arm Delta Robot v3
- This topic is empty.
2014-04-24 at 17:54 #5966AnonymousInactive
I’ve got a bit of an odd issue with my Delta.
I put a pen in the collar, lock it in place, send the end effector to (X0 Y0, Z2.8) and it will touch the paper.
I send the end effector to (X0, Y-5, Z2.8) and it will draw a line left, but lift the pen off the paper for the last few cm and end about 2mm off the paper.
I send the end effector to (X0, Y5, Z2.8) and it will arc back down and retrace the initial line, and extend the line off to the right, ending on the paper.
I home (back to (0, 0, 2.8)) and it goes back to ‘center’.
I send the end effector to (X-5, Y0, Z2.8) and it will draw away from me, but lift up after a few cm and end up somewhere between 2 and 3mm from the paper.
I send the end effector to (X5, Y0, Z2.8) and it will swoop back down, retrace a bit, draw toward me, lift back off the paper after a few cm, and again end about 2 to three mm off the paper.
The intersection of the “X” and “Y” lines is also not where I would expect — instead of ‘dead center’ in the base, it’s off to the left, and toward the ‘back’.
Any idea why the plane is not horizontal to the base?
Is there something I can adjust (maybe one of the arms is skewed or something?) or do I need to try and counter for this in software?
I tried looking through the code and nothing really jumped out at me, but I’m not super-familiar with forward/inverse kinematic formulae.
Another thing that bothers me is that if I have the feed rate down around 60, I can move with high precision (though it’s way too slow for usability), but if I boost the speed up over 500, the accuracy and repeatability of motions goes out the window — the end effector often gets ‘lost’ after a few movements and I have to re-home the effector quite often.2014-04-24 at 18:14 #6478AnonymousInactive
About the Z2.8 – are you using the latest firmware that includes G54 (tool offset)? You can say G54 Z2.8 and from then on a Z0 will bring the tool tip to the paper. A nice-to-have, not essential.
From the description it sounds like one arm is a little bit off, pulling the tip too high in the +X/-Y quadrant.
1. one limit switch is in a slightly different place. Mostly likely, and easiest to fix.
2. one (or more) arm is the wrong length. Pretty easy to measure and 2x check.
3. lost steps during movement.
4. loose elbow connectors (play in the system).
I assume your symptoms are repeatable, which probably eliminates 3 & 4.
When you home the device and move down to touch the paper, are you in the center of the bed, or slighly “north” at the intersection point? If it’s at the intersection point then I would say it’s a calibration issue and blame #1. Either adjust the switch location (and make sure it doesn’t move again) OR leave the switch where it has settled and adjust the homing code (G28). The code touches each switch one at a time and then assumes they’re all at the same angle… -19 degrees, iirc? You’d want to adjust the problem arm by maybe +/-0.1 degree and try again until it’s perfect.
Does that help?2014-04-24 at 20:27 #6479AnonymousInactive
I haven’t updated to the latest firmware, I will probably pull those changes at some point.
I just took apart the arms and re-measured with a caliper, all are within .1mm of 165mm from center to center.
I put it back together, and it still has the same issue — moving to the extremes will lift the tip 1-2mm from the surface
The ‘center’ (0x 0y) seems to have moved more toward the center of the base, but unfortunately, now all four extremes (x and y) are lifted up at least 1, maybe 2mm.2014-04-24 at 23:14 #6480AnonymousInactive
Just to be sure: These are repeatable? If they happen consistently then you can compensate for it in software. I will try to reproduce your results so I can make better suggestions. I still think adjusting the homing angle would do the trick.2014-04-24 at 23:41 #6481AnonymousInactive
Yes, completely repeatable. I can try and get a video of it doing this if you want.
It moves as though it is the bottom of a wok, as opposed to a plane — the origin (0,0,0) is at the bottom of the curve, and as the effector moves away from center, it pulls upward.
Moving to the extreme edges of the ‘allowed cylinder’ makes it pull up even more.2014-04-25 at 00:00 #6482AnonymousInactive
To me that sounds like the homing angle is a little off. Not very noticeable at the center, but magnified as it moves away from the origin.
In the first post it sounded like it was only happening in one quadrant, which let me to believe it was just one arm that was off.2014-04-25 at 18:30 #6483AnonymousInactive
Right now, if I send the effector to (0,0,3) and that touches the surface, then send it over to (-4, 0, 3) and it has lifted up by 3mm, how will changing the arms ‘horizontal home’ up/down possibly change the fact that it is arcing instead of following a plane?
Changing find-home to have independent values for the differing arms, and adjusting them (by eye) to get the arms level, has just resulted in: send the pen to (0,0,3) right now, it will punch through the paper, and (-4, 0, 3) is closer to the paper but still not touching.
This does not solve the issue of the Z3 plane being curved, it just means that I’ve forced the ‘plane’ down more?
Maybe I misunderstood how I was supposed to adjust things?2014-04-25 at 19:01 #6484AnonymousInactive
Hmm… I must have been tired. You make a very good point. I have several hours booked this afternoon to look into the question and try to get you a solution.2014-04-27 at 21:16 #6485AnonymousInactive
I’ve been running tests on my copy and I’m seeing the same result. I don’t know how I missed it before.
It’s a problem that can be fixed in software. I’m looking into it right now.2014-04-27 at 21:59 #6486AnonymousInactive
I remeasured all the dimensions in my modelling software and then compared with the values in the firmware. The firmware dimensions were wrong.
//#define CENTER_TO_SHOULDER (5.248f) // cm old and busted
#define CENTER_TO_SHOULDER (3.77f) // cm new hotness
This seems to eliminate the arc. I was finding my pen would touch the table when Z=1.35, so I then ran G54 Z-1.35 and from then on z=0 means the pen tip touches the table. I can G0 Z1 and the pen tip will be 1cm up from the table.
The shakiness we’re seeing has everything to do with the timing of the steppers, which has to do with the feed rate (aka velocity). I don’t have code yet to automatically accelerate and decelerate.
I’ve updated the github project with my changes. https://github.com/MarginallyClever/Delta-Robot-v32014-04-28 at 02:55 #6487AnonymousInactive
I am able to move repeatably at F3000. Maybe your motors are not getting enough current? There’s a small knob on each polulu that can be turned to adjust the amount of current reaching the associated motor.
Tweaking these should only be done with the power off. The amount to adjust is very small – only one or two degrees at a time can have a huge impact.2014-04-29 at 20:47 #6488AnonymousInactive
I will try and adjust the voltage and see if that makes going faster less error prone.
I wrote a simple procedure in the firmware to draw grids so I can tell where oddities are going on:
Move to (-5, -5, 2) (so it’s above the paper)
Tell it to move to (-5, -5, 0) and it will touch (though a bit harder than at center).
Tell it to draw a line to (-5, 5, 0) and it will drag the pen along just fine.
Move to (-5, 5, 2) to lift back off the paper
Repeat for all given points along the (-5,y,z) line with a given delta.
I had to adjust the ‘homing angles’ slightly because the above procedure would generate a triangle of lines — the bottom left (facing the robot) was blank, and there were lines on the top right.
I shifted motor0 down to 26º, motor1 up to 21.8º, motor2 down to 25º and that seems to have ‘flattened’ the plane.
I now have an odd issue that I’m trying to resolve — the arc apparently has swung the other direction — now it’s slightly arcing downward, but only when moving along the ‘y’ axis. If I move in the ‘x’ axis it seems to be just fine (this makes no sense, I know).
Run my procedure to draw the X grid lines, and things come out — a set of parallel(ish) lines moving from left to right. The right sides curve a bit, but I don’t know what causes that.
Run my procedure to draw the Y grid lines, however, and things don’t seem to work correctly — the ‘center’ of the grid is blank — as though there’s a circle where it’s lifting the pen off the paper.
Before I go experimenting with raising and lowering the various motors for ‘home’, do you have any idea what I’ve messed up?
I know that right now (without changing the polulu’s) that if I run over F100 the effector will stab hard enough into the ground plane to ‘click’ and lose steps, thus making the rest of the motions way off (and fairly useless). I will adjust those now to see if that makes things better.2014-04-29 at 22:31 #6489AnonymousInactive
These sounds like really wierd results. I’ll try drawing a test grid with my machine and video the results.
NOTE the G54 here will vary with your tool setup.
G0 X5 Y5 Z0
G2 Y-5 I0 J0
G3 Y-5 I0 J0
Would you please post a picture of what you’re seeing?2014-04-29 at 23:07 #6490AnonymousInactive
I just noticed the delta robot doesn’t support G2 and G3. Added! Get the firmware update here2014-04-30 at 23:10 #6491AnonymousInactive
Just optimized the timing loops for delta3, arm3, and rotarystewartplatform2. All should run more smoothly at moderate and high speeds.
Also added the gcode from my earlier post to the github project.2014-04-30 at 23:35 #6492AnonymousInactive
I will try and get you a picture of some sort as soon as I can.2014-05-21 at 17:50 #6493AnonymousInactive
- You must be logged in to reply to this topic.