Offset problem with Makelangelo 2.5.2

Shop Forum Makelangelo Polargraph Art Robot Offset problem with Makelangelo 2.5.2

Viewing 10 posts - 26 through 35 (of 35 total)
  • Author
    Posts
  • #10160
    Dan
    Keymaster

    I notice that the error appears to be related to the slope of the line.

    #10161
    Anonymous
    Inactive

    yes, I suspect the errors follow a sin or cos wave, (but that’s just my intuition), since the errors are 0 at 0 degrees and increase to maximum and then go back to 0 again at 90 degrees.At the moment I’m trying to characterise the error better since I’m up against a bit of a deadline and I don’t think I’ve got time to understand your code, so I’m trying t write something that compensates for the error when generating line coordinates in the first place.

    #10162
    Dan
    Keymaster

    when someone sends gcode it triggers line_safe(), which is written to prevent any rounding errors from screwing up the end of a line. line_safe() then calls polargraph_line(), which does the IK, which does not change anywhere on the board, and is independent of the current pen position.

    #10163
    Anonymous
    Inactive

    That’s useful to know – I’ve been assuming the problem is in the motor.ino file, since the IK stuff didn’t seem to have any obvious way to cause this kind of problem (but I still haven’t really got my head around the code yet). Unfortunately, we’re in a bit of a panic at the moment because we have an exhibition opening on tuesday, so we haven’t got much time to try to fix this at the moment – hence my hacky attempt to mitigate the issue by compensating for the error in the gcode. If you’ve got time to work on this in the next couple of days then maybe it would be good to organise a skype call or something so that we could be collaborate a bit more efficiently?

    #10164
    Dan
    Keymaster
    > N13 G01 X460 Y840     H0=202965 H1=66541  G0=-73525 G1=-62597 X46.00 Y84.00
    > N22 G01 X460 Y840     H0=202965 H1=66541  G0=-73525 G1=-62597 X46.00 Y84.00
    > N35 G01 X460 Y840     H0=202965 H1=66541  G0=-73603 G1=-62675 X46.00 Y84.00

    H values are obtained from IK(x,y,h0,h1); in polargraph_line(). Something in the way bresenham’s algorithm is counting the number of diagonal steps has produced a rounding error. I’m getting closer to the source of the problem.

    #10166
    Dan
    Keymaster

    email your phone number to [email protected]. I get free long distance calling for just such emergencies.

    #10167
    Dan
    Keymaster

    I am running tests on a machine calibrated to your settings, with the motors unplugged. I have to wait while it draws in real time, which is ~3 minutes wait for every attempt. Not long enough to go do something else! Patience, Dan, patience…

    #10168
    Dan
    Keymaster

    Please grab the latest here and give it a try. I just ran a long difficult drawing that usually fails and it came out better than I’ve ever seen before.

    https://github.com/MarginallyClever/Makelangelo

    #10170
    Anonymous
    Inactive

    I just did a test on my rig here and the new firmware seems to have completely fixed the problem.
    Thanks Dan!
    I suspect that this new firmware will make every drawing considerably better than it used to be, Since there will always have been inaccuracies creeping in which came from the firmware, even though they looked like pen wobble etc.

    #10258
    Dan
    Keymaster

    Please let me know if the new firmware is better. I’d love to see a pic of whatever you’re drawing! 🙂

Viewing 10 posts - 26 through 35 (of 35 total)
  • You must be logged in to reply to this topic.