Navigation

    Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Autocalibration Algorithm Implementation - Explanation

    General Discussion
    2
    3
    421
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • SM3D
      SM3D last edited by

      Hi David,
      I am curious to understand the algorithm and mathematics behind your auto calibration routine. I went through Steve Graves document regarding delta printer kinematics - both inverse and forward. It got me more curious regarding your auto calibration routine. I went through your google forum threads. You have pointed to wmaxima script. You also mention about numerical differentiation.

      If it is possible, Can you please describe the process (pseudo code), code and point to the concerned literature, so it will be helpful for people like me who are interested in how the mathematics and code are implemented. I am trying to understand the process myself and write a python script (no object oriented but functions) as a part of learning experience.

      Thanks in advance!

      Best Regards,
      Vasan

      1 Reply Last reply Reply Quote 0
      • dc42
        dc42 administrators last edited by

        The principle is:

        1. Use the Z probe to measure the height error at a number of points with known XY coordinates.

        2. For each of the delta printer factors (up to 9) that are going to be calibrated, determine the differential of the expected height error at each of those XY points with respect to each of these factors. This could be done analytically, but the forward kinematics equations are complex; so for simplicity the code does it numerically, by bumping each factor up and down by a small amount, calculating the expected height errors after bumping, and dividing the difference by twice the bump amount.

        3. Standard linear least squares is then applied to adjust the factors to minimise the sums of the squares of the height errors, by building the matrix of normal equations (Gramian matrix) and solving it.

        4. Delta geometry is not linear, so the expected errors for the new factors are calculated and a second iteration of the linear least squares solution is done.

        1 Reply Last reply Reply Quote 0
        • SM3D
          SM3D last edited by

          Thank you very much David! Nice explanations. I will use this as a starting point and come back to you later when I have specific questions.

          Best Regards,
          Vasan

          1 Reply Last reply Reply Quote 0
          • First post
            Last post
          Unless otherwise noted, all forum content is licensed under CC-BY-SA