PnP – a LEGO Pick & Place Robot

PnP is a very simple (but flexible) LEGO robot that mimics some of the things an industrial robot can do. The arm is very basic, but can address a large workspace using two-axis spherical motion and a parallelogram mechanism to keep the “finger” level at the end. Using NXT-G and the LEGO NXT motors gives it a high accuracy, enough to place 2×4 bricks within a few millimeters of the desired position. The result is that PnP can move simple objects, and a wide variety of “work stations” can be fitted around it. It can also firmly push on things, activating levers or sliding mechanisms. Since the NXT can easily drive at least one more motor, this minimalist mechanism can easily be expanded.

This was inspired by Ian Hendry’s amazing LEGO creations, and another project that seemed to require linear motion… but I wasn’t sure it did.

Duration : 0:4:51


Related Reading:

Uncategorized

Be Sociable, Share!

Technorati Tags: automation, Computer, DIY, gadget, Industrial, lego, mechanics, Mindstorms, NXT, robot

25 thoughts on “PnP – a LEGO Pick & Place Robot

  1. I can’t actually do …
    I can’t actually do that with black bricks… as if the color sensor detects black, that’s how it knows there’s no brick currently on the hand, and thus that the pallet is empty. But the idea is a good one (just use a different color).

  2. Heres one thing you …
    Heres one thing you could do. add a few black bricks into the system.(to represent defect bricks) Then lift the brick into a “defect” channel that sends it out of the system and have the third motor conected to that with an alternate path so that it can correct itself in the rare case of getting a color wrong.

  3. Well… this …
    Well… this certainly isn’t my first creation. Maybe some of yours *will* compare to this… or even be better. Someday. Just keep building!

  4. Thank you… not …
    Thank you… not nearly the speed of yours, but amazingly fun to watch none-the-less. Curiously, I didn’t intentionally copy DuckPro’s feed system, but functionally it’s identical (I’d forgotten DuckPro). Thank you for the inspiration!

  5. I exited my Dark …
    I exited my Dark Ages a little too late for that… but a Project X entry was the first stationary robot I ever built. I never got it moving fast, but in the end the idea was refined into my 3T robot (playing Tic-Tac-Toe; another of my YT videos).

  6. The ‘Pick’ racks ( …
    The ‘Pick’ racks (or pallets) are at preprogrammed locations in this example (fixed relative positions). In fact even that limit switch is never used after the initial calibration – once the program knows the position of the arm, it never needs to verify it again. The movements here are both constant velocity and accelerating (both are used), with the arm slowing down as it approaches a target position.

  7. Since the NXT can …
    Since the NXT can read the position of the motors, you can program it to move the arm “up” until the motor stalls (detecting a stall is easy: the motor encoder shows the motor isn’t moving). If there is a brick there, the arm will “stall” at one position, but if there’s a plate there, the arm would “stall” at a different location. By comparing the positions, you can tell where the arm was blocked, and therefore what might be in the way.

  8. Nice work Brian!

    Nice work Brian!
    Does this use accelerating movement or is it fixed speed?
    Are your ‘Pick’ racks calibtrated like the ‘Place’ rack or are they fixed relative positions?
    (I see how it detects the missing brick now, was being blind when I posted to lugnet..)

  9. That is awesome. …
    That is awesome. Can you explain a little more about how it “feels” the size of the brick?

  10. That’s a color …
    That’s a color sensor from HiTechnic, although you could certainly sort some colors with a normal light sensor.

  11. Thank you …
    Thank you Laurens200. Yours doesn’t use linear motion either, but one of my goals here was to show you could do very precise, level placement of elements without linear motion, (in the original project I also had other needs for the 3rd motor). Perhaps the more important thing (to me), however, is that it’s *not* really a color sorter – I used that example because it was familiar to people, but PnP is a more general purpose machine. Sorting by colors is just one possible task.

  12. Not long, actually …
    Not long, actually – the hardware only took a couple of days, one for the PnP arm, and one for the lever-dumped chute. Programming it only took a couple of hours, mostly to get the positions right (this could easily be a “teachable” robot you program by moving it to waypoints, I’ve just not done that… yet). But I built this based on a lot of previous work: the self-aligning pallets, the positioning code (a single My Block), etc.

  13. Thanks! Yes, I like …
    Thanks! Yes, I like the “test wave” as well. It looks very nice, but works pretty well too. If you watch closely, you’ll see it doesn’t always complete it either – it only “waves” it until it gets a valid reading, and then stops, so sometimes the “wave” is long, sometimes short… but it doesn’t matter where it stops, because the next positions are absolutely specified (not like “go forward 50°”, but something like “go to position 230°”).

  14. That is really sick …
    That is really sick. I love lego machines like this. Nice job. Is that a color sensor or a normal light sensor? Can’t wait for your next ting.

  15. That’s a very neat …
    That’s a very neat mechanism Brian! Maybe it’s time for brick sorter 6:) Though the brick sorter (“LEGO Mindstorms NXT Color Sorter”) I last created didn’t use linear motion either. (Or does it? I’m not completely sure if I’m right) It used an extra motor for gripping the bricks, but this was also required for precise measurement of the sensor.

Leave a Reply