3D Printing With A Delta Robot That Seems To Simplify The Concept

This 3d printing delta robot really seems to solve a lot of the hurdles faced by previous offerings. With other delta printers we’ve looked at the motor control of the three arms is usually a it complicated. On this build the motors can just be seen in this image at each corner under the build platform. Each motor has a belt that loops from the bottom to the top for the machine, driving an arm along two precision rods.

It’s also interesting to note that the printer head doesn’t have a motor mounted on it for feeding the filament. Instead, the motor is mounted remotely. You can see it above the soda can in this image. It feeds the filament through a hollow tube spanning the gap between the extruder and the motor. This acts as a Bowden cable. With less mass to move this may make it easier to control the location of the print head.

After the break you can catch a clip of the team showing off the speed and dexterity of the delta bot, followed by a printing demo.

[Thanks Kyle]

61 thoughts on “3D Printing With A Delta Robot That Seems To Simplify The Concept

  1. For nearly a year I’ve wondered if this type of setup would work. I’ve lacked the drive to get myself moving to test the idea and now I don’t have to! Hooray for other people!
    This message brought to you by procrastinators of America.
    Very well done guys, I love the build. :)

  2. This is absolutely brilliant! a clean, precise implementation.

    A couple of observations: characteristically, Z axis motion (up and down), is impacted by gravity. Things come down more readily than they go up! While an elevator-style counterweight could be implemented, this would increase inertia. You could implement a vacuum assist counterbalance (Airpel), but given the lengths of travel… well, perhaps its best to keep the main carriage light!

    I always thought delta format robots were tied up in patents but I have no idea how this affects the Maker community. Perhaps at this point they are all expired!

    I thought I had come across a quad linkage system once (maybe here) which would make the math a good bit more simplistic. I think it also was done to avoid patent issues, but I could be very wrong.

    I think this implementation is fantastic and my hat is off to these folks!

    1. Z axis rapid speed asymmetry is only an issue if you *really* need to maximize rapid speeds. If not, just determine the limit on upward acceleration and speed and use that for both directions.

      Most 3D printers don’t need much Z speed though, so usually there is no need to counter-balance the weight. Anyway, it serves to eliminate backlash in Z, so as long as it isn’t an impediment, you can consider it a feature.

    2. The math is actually trivial. I thought it was hard at first, so I worked it out.

      All of this is in two dimensions:
      First define three vectors from the origin to each support/drive pillar: A,B,C
      Define a vector from the origin to the desired location of the print head: W
      Define the length of an arm: r
      Define the height of each carriage on its pillar: ha, hb, hc

      Then the horizontal distance from each pillar to the print head is:
      a = |W-A|
      b = |W-B|
      c = |W-C|

      Then, knowing the length of the arm, each height is defined as:

      ha = z + sqrt(r^2 – a^2) = z + sqrt(r^2 – (W-A)^2)
      hb = z + sqrt(r^2 – b^2) = z + sqrt(r^2 – (W-B)^2)
      hc = z + sqrt(r^2 – c^2) = z + sqrt(r^2 – (W-C)^2)

      This is actually pretty easy math!

      1. Inyaner….
        to explain the origin of the math…

        Its important to note that a delta robot is capable of roll and pitch movements that arent necessary in a layerwise build. To use those movements you would need a more complicated trigonometric formula.

        However, this formula assumes all right triangles which will keep the head perpendicular to the build plane……very simple.

        Its all Pythagorean theorem.

        a²+b²=c²

        The distance from the z axis to the extruder tip is the base (b) of 3 right triangles…this distance is unique to each of the 3 arms.

        The length of each arm is the hypotenuse (c)…so this is the same for each arm.

        Using this his formula computes the height of each triangle for the intended head position.

        Thanks Annirak…before your posting I hadnt even considered such a simplified equation for perpendicular delta travel….Ive always just stuck with the more dynamic trig solution.

      2. @techartisan: No problem! I tried to do it with dynamic trig at first too!

        While you’re right that *some* deltabots are capable of pitch and roll, a 3-actuator delta bot can only position in x,y,z. The problem is this: any object, unconstrained, has 6 degrees of freedom: x,y,z, yaw, pitch, roll. In fact, it seems that you need one arm per degree of freedom. There might be one you can get for free, but I’m not sure about that: I know that 4 arms is unstable, but I’m not sure if 5 arms is or not.

        Since we want to use the smallest possible number of actuators, we know that we need to constrain yaw, pitch, and roll. Rostock does this by tying pairs of arms together and attaching them to the same actuator, creating parallelograms which constrain the yaw, pitch, and roll.

      3. @Techartisan I had a few more thoughts on this problem.

        Suppose you have a 6-independent arm deltabot, with arm-mount carriages that move only in the z-axis, like Rostock (the math is very similar for sliding-arm deltabots like this one: http://www.youtube.com/watch?feature=fvwrel&NR=1&v=NDzUiZsbQtw )

        1. Find the platform connection points of the arms on the toolhead:

        define six vectors (p1..p6) which point from the centre of the toolhead to each attachment point.

        2. Orient the toolhead. All of the vectors (p1..p6) exist in the horizontal plane, with unit normal vector n0 = . To angle the toolhead correctly, you just need to orient the normal vector and apply the same transform to each of p1..p6. This is two matrix rotations M1 (angle X around the x-axis) and M2 (angle Y around the y-axis). Once calculated, they can be stored as M = dot(M1,M2).

        M1 =
        [ 1 0 0 ]
        [ 0 cos(X) -sin(X) ]
        [ 0 sin(X) cos(X) ]
        M2 =
        [ cos(Y) 0 sin(Y) ]
        [ 0 1 0 ]
        [ -sin(Y) 0 cos(Y) ]

        Now, multiply each p1..p6 by the combined rotation matrix M to get the new endpoints q1..q6

        All the trig is now over. The rest of this solution uses plain vector math.

        3. Position the toolhead. Use a position W = . Each new endpoint, q1..q6, is positioned using W to obtain e1..e6:

        e1 = W+q1 = M*p1 + W
        e2 = W+q2 = M*p2 + W
        etc…

        4. Find the heights of each carriage. From here, it’s essentially the same problem as before. Assume arms of length r, and pillars in positions P1..P6, where each Pn has x component Pnx and y component Pny. We know the x/y part of each e vector, so we can construct a set of right-triangles. The height of each carriage (h1..h6) is calculated as follows:

        h1 = z + sqrt(r^2 – (e1x-P1x)^2 – (e1y-P1y)^2)
        h2 = z + sqrt(r^2 – (e2x-P2x)^2 – (e2y-P2y)^2)
        etc…

        This style of math will work for any linear-actuator based delta bot. It’s a little more complex with the rotating-arm delta bots.

      4. When looking at a “professional” delta bot, the design usually varies a bit. To make roll and pitch possible the arms are connected to the platform by a balljoint. The arm angles now also need to be controlled to achieve full control again. Yaw is hard to achieve from just the arms. Adding a rotating table to the object table would be much easier to do.

        Delta bots are patented up to the hilt. This is not a problem for a maker if he makes designs for his own use. The real problem with patents only starts once you try to actually commercialize the product. (Aka, sell blueprints or complete bots)

  3. I personally am making one of these right now. I started as soon as I saw the design. There may only be a few more people working on one in the world. I am finding it to be quite an amazing and simple design.

    Just from a speed perspective this thing could revolutionize extrusion based 3D printing at home. The number of parts is lower, the moving weight is low, and with a stationary print surface, these motors should have no problem really stepping up the speed. Especially on a higher voltage system, something closer to 24 volts or 30 volts.

    My current 3D printer has very heavy parts on each moving axis, while it prints very precisely, I have to do it very slowly. Mostly because they are moving over a half pound each with all the machined metal used. This design completely removes all those obstacles. While simultaneously adding almost a foot of vertical build area. It’s a beautiful thing. The supersize possibilities are huge too. You could print a whole table in just a few prints.

    1. Check out ultimaker.

      The main problem with higher speed (around ultimaker capabilities) becomes extrusion speed. You end up increasing the extruder temperature to compensate for the temperature drop between the heater and the melting chamber of the plastic. But this is inaccurate: when your design has a few jumps, the slower effective powerdraw in the melting chamber will cause the plastic to overheat.

      You might be able to obtain a faster print if you’re printing super-thin layers. However I find that the thin layers means that you are extruding little plastic per-mm-travelled, so that the plastic ends up coming out in “droplets”.

      And when travelling fast, the positioning accuracy suffers. Both due to software effects as mechanical. (I think…)

      1. chicken and the egg. need a 3d printer. the parts for one are on thingverse, but you cant print them because you dont have a 3d printer. kit form, seriously, he could make a couple hundred bucks per unit.

      2. All I need is the dimensions. I have the machine tools to make my own parts. I’m a billet aluminum and sintered oilbrass bushing kind of guy. It appears some research is in order before I fire up the mill and the lather.

        Time to scavenge some scrap billet!

      3. As far as needing a 3D printer, have you seen 100k Garages? It’s a kind of matchmaking site for people with printing/extruding/milling hardware and designers who need work done (or vice versa). Kind of a community version of Ponoko or Shapeways.

    1. I would wonder at the control architecture you are using to transform the gcode layer deposition into the delta’s three-control actuation. Have you made your code available through Git or anything for review? Several of our educators are interested in this because it is very different from the other layouts for 3D Printers we have ben discussing.

  4. Why so small? isn’t the beauty of that design to scale on X and Y axis pretty cheap?

    you have a rather high Z for the size…you could probably double the are and keep the same height only adding the irrelevant cost or larger arms. or am i missing something obvious?

    1. The Z rods have to be the length of the arms plus whatever printable z height you need, plus space for mounting hardware at the top and bottom.

      If you make the X-Y plane bigger the arms get longer, so the required Z distance goes up.

      Since the Z rods need to all remain parallel to each other, and can only be clamped at the top and bottom, at some point the flex in the rod is going to become a problem, and you’ll have to go up to heavier rods and bigger bearings (or maybe switch to a three-rod assembly).

      For a bigger system it might be interesting to make the Z rods with MakerSlide instead, so they would be quite rigid to begin with, but could also be braced at the midpoints, as the bearings wouldn’t go all the way around .

    1. For a given arm length, r, and maximum build height h, the total height of the platform must be h+r. That means, that for a cubic build volume, you need double that volume, stacked, for the bot to operate in. This makes for some tall structures, which are hard to make rigid.

      Other than that, it’s an awesome design! I’m planning to build one!

  5. I noticed there were some visible glitches in the circular movement during the higher speed portions of the demo; but that’s faster than you’d be able to deposit material anyway. It’s certainly very impressive!

    I think a kit would be a big hit.

    1. Zip ties are neat. But just wait until you try stainless steel aircraft safety wire. The thicker stuff, not the really thin.

      Stainless hose and band clamps are also cool.

    1. Typos happen, especially if you write many blog posts and don’t have all that much time to do it. Don’t get hung up on it – all the content in the post got across perfectly fine. The easiest solution to most typo problems is the spelling nagger moves on and learns to live with a world where typos happen.

  6. Great machine… sort of like looking at startrek in reality.

    I wonder how much the resin costs and what say a matchbox car size object actually costs to make.

    I can see this hitting the consumer market the next 5 years and am already worried about the cartridges for them :D

    1. I was just thinking that. Since adding extra extruders adds very little weight to the platform and the bulk of the extruder mechanism is moved out of the way, this design would allow multi-material much easier than for instance the rep-rap design.

      1. well sure but keep in mind that there are some other hurdles to take. the ultimaker uses a similar split printhead/extruder and it has massive trouble with leaking plastic if dualstruding.

      2. Since The filament is fed through a tube, shouldn’t it be possible to retract it a bit, to prevent leaking, or is there a non trivial problem with that? (I might be missing some detail, since I never built or even used a 3d printer).

  7. I’m asking on the forum right now about a concept for a new way of printing aluminium using the Delta (but any really)….

    Does anyone here know about molten metal flow rates and such ? Basically I think i have the perfect heating element, from my work with special effects, where I pretty much use them all the time – http://www.crystaltechnica.com/ – 1100-1300 C stable at over 3 hours of continuous use…. Imagine that hollow with aluminium wire being mechanically pushed through the heater – melts and then pushed through nozzle through some sort of continuous flow deposit…..

    I don’t want to steal this post, so please instead answer in the forum if you want to partake in my little brainstorm….

    http://forums.hackaday.com/viewtopic.php?f=2&t=2339&p=11213#p11213

  8. I can’t get over this thing, saw it a couple days ago and am still checking it out.

    Could it be scaled DOWN, it seems like the delta configuration is capable of insane positioning accuracy. I’d like a build envelope of no bigger than a 6″ cube- at that size, any material for rods, maybe even carbon fiber for ultimate stiffness, could scale down with high resolution for custom jewelry- printing with wax.

    I have a friend who has a massive (1,000s) collection of hand cut tourmalines and is actively looking for a 3D printer solution to make custom settings for them. It’s not easy because they aren’t common sizes- being hand cut means they currently have to be adapter to set size molds. Some of his shapes don’t even fit a mold, and his stuff is incredible.

    Could this be adapted for small scale hyper accurate wax printing with a high print res?

  9. We are spinning off a new sompnay selling new 3D Printer technologies and would like to speak to the partners at Rostock. We would like to exhibit your printer at NASA, Lockheed and other Federal agencies we work with.

    Please provide your contact info.

    Please call me on my cell at 404-556-8828
    Ron Robinson – President
    IT Data Storage’

  10. Annirak:
    Your math for doing the linear motion in 2D is incorrect….
    When I use that formula in my Simulation, instead of making a straight line from the Origin Point to the Destnation Point, it makes a 3D curved line that starts from Origin and ends up at Destination points………it DOES end up at the correct point, but the path is not straight the way it needs to be for 3D Printing. This non-linear curve would somehow need to be accounted for in the motor speeds or software output. maybe we would need to break each line into many small segments and do the math on each segment?

  11. Still trying to get my head around Annirak’s maths…
    Designed and built my own circuit board 4-5 years ago but didn’t finish it… too busy with other stuff! Back then, people were using 3 axis of stepper motors and a DC motor for the extruder, pretty basic. My motion hardware was pretty crude, M6 and M8 threads, too slow when I started back on it recently.
    Now with some T5 (5mm per tooth) belt, drive pulleys and some Rostock parts and it’s such a different animal! Arm microcontroller running 4 steppers with a 64 value half sine wave table and the motion is fast, but so smooth I can barely hear or see the steps if I introduce delays between them. 66.6666 steps per mm ? gross overkill ?

    I keep thinking about the print head’s offset from centre to the arm attachments, looks like it’s ignored in the maths ?

    I’d better start updating my blogspot again… quiet for the last 4 years.
    Graham.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.