Paid (!) Help Wanted for MPCNC pick and place

I think this is quite easy to do. Basically your cups already arrive aligned, so most of the job is already done.
First thing, you need to make the end of your production line longer, what I mean here is that, in the first picture you posted, the cups are all aligned on those 6 metal rods. Make those longer, at least as long as a full row in your tray.

Let’s say that the end of your production line is the X axis. You need to make a custom center carriage who takes a full row of cups at once directly from the end of your production line, then puts them down on the tray. That’s quite easy to do, just attach an aluminum square tube under the central carriage and attach your succions cups to this aluminum tube. Make some physical endstop clamps on your oustide tubes so that the travel is limited only to the necessary travel distance on X. Done.

Next line of cups, this time with one less cup, you very slightly move on the X axis by the distance of one cup, pick up the cups, move the Y axis on about 2/3rd of a cup distance and half a cup distance on the X axis, and finally move down to place the cups on the tray. Repeat these operations until one tray is done.
Since during the second row one of the succion cup will not hold vacuum (because there is one cup less to be taken), it is possible that you will need some kind of solenoid valve to cut the vacuum specifically to this succion cup. I think it is possible to do easily by connecting a simple push switch connected to a relay that will activate the solenoid when the center carriage reaches this specific position on X axis. Doesn’t even need to be connected to the rest of the system, simple on and off.

Once the tray is done, use the extruder change feature of marlin. This way you can call for a pause, until the operator presses a button. This will leave the operator as much time as he needs to place the new tray.
Once the operator presses the button, the process is started again. You also need to make sure that the tray is properly positionned to begin with, so make some kind of jig in order for it to be only put in the right spot.

There’s no need for any centering device in my opinion. As long as they are aligned in the end of the production line, which is super easy to do since from what I can see on your picture it is already the case, then I see no problem whatsoever. If really this turns out to be a proble, then there is an easy solution: make some kind of cones with the succion cups in the middle: the cones will automatically center the cups until they meet the succion cups at the bottom. Then you’ll have the right spacing and position every time.

I think is is pretty easy to do hardware wise, just need to make some kind of feature to hold as many succion cups necessary to pick up a full line on your center carriage, the rest is pretty much unchanged from a standard MPCNC. The X axis travel distance will be very small, it just needs to be around one cup diameter. So basically that can be extremely fast because all your travel distances will be greatly reduced on the X axis. The only long travels will be on Y axis at the very end of a tray, and on Z axis.

You can use a normal version of marlin to control the CNC, and all the programming work will be done through trial and error of a Gcode file. Once you get your Gcode written as you need, then as long as you don’t change your tray or your cups sizes it should work all the time. Once your code works for one tray, just copy paste it as many times as you want to create a big Gcode file that you will be able to repeat all day long. The point of this is to be able to restart a new tray just by pressing a button, instead of having to start a new job for each tray. So basically, you have your gcode in the SD card reader of the machine and after each tray you press the button to continue. At the end of the day you switch off the machine. Next day, you come back to work, switch on the machine, select “print from SD”, then select your file and you’re good to go for a new day.

You can even add the filament detection option in marlin in order to make sure that there are some cups ready in the end of the production line in the first place, so that you don’t continue picking stuff if the row isn’t full.

Electronics wise, you’ll need at the minimum an arduino mega, a ramps board, either DRV8825 drivers if you’re fine with the speeds I described earlier, or some beefier drivers capable of higher voltages, some power supplies, one or two electric relays and some pneumatic actuators. That should be pretty cheap. My advice would be to beef up the Z axis motor since it’s usually the slowest and you will have a bit of added weight with the succion cups, their support bracket and the air lines. You’ll also have to calculate the height of your machine carefully, it needs to have enough clearance to pick up the cups and lift them over the metal rods of your production line.

The only problem I can foresee is that if there is an error somewhere during the process (one cups falls off or something like that), then it might be a bit complicated to recover from it, you’ll either have to restart the new tray from scratch or to reassort it manually. But It’s not a big deal IMO, any machine would probably face the same problem without very complicated and expensive closed loop control.

Other that that, I think it should work fine and I’m pretty sure it’ll be very easy and fun to make it work :slight_smile:

1 Like

Ooh! I love a puzzle. How fast do the cups come off the line? I suppose its a fixed rate, or does it slow down if the cups are not picked up? Or thats the reason for the bin underneath, to catch the missed ones?

Pick and place seems doable but picking from a variable location will need some attention for it to work reliably.

I’m going to think about this a bit…

Oh man I wish I had time for this!!!

The extensibility of LinuxCNC is such that you can use it for controlling the actuators and effectors. The one thing I would wonder about is speed. Belts and pulleys aren’t the fastest methods possible. But what a great challenge.

The weight is very low here, so it’s easy to fit some larger pulleys. An other thing would be to use higher voltage drivers, with 24V, 36 or even 48volts the speed can be increased quite a lot. The MPCNC isn’t that bad regarding acceleration, on my giant printer I’ve set the acceleration up to 2000mm/s2 and I didn’t see any drop in printing quality or skipped steps. My current travels speed are 150mm/sec and that’s achieved with the regular DRV8825 drivers in 1/8 step mode.

I realize didn’t mention how the succion cups would work in my previous post, I think here you could easily use the same principle as used in laser cutting configuration: activate a relay that will activate a solenoid by sending the gcode that is used for switching on the laser diode. Everything the OP needs can be done within a standard Marlin config in my opinion.

2 Likes

Fun to see so many people jumping in to help with this engineering project! I have not had time to read it all so maybe it has already been suggested.

Based on the problem description a 5+ axis robotic arm might be more well suited. I have seen this project around https://www.anninrobotics.com/ which seems quite well designed. The cheaper 3D printed option could even be OK here as there are now heavy loads involved.

Good luck!

Hi there,

This project is very interesting but I think the project is discontinued as AR2 and AR3 are marked as such.

Such a robot was one of my first considerations. In the end I believe it’s not the way to go for several reasons.

  1. Please take the spacial requirements into account. The target area is 800x1200. This means the robot would need an action radius of 600x1000 if it stands in the middle of the pallet and my trigonometry hasn’t failed me.
  2. Complexity of the installation. I am afraid that moving several steppers in coordination will put unnecessary strain on the instalation.
  3. Speed. The speed at which this arm would have to operate would is just to much. If it does work we are talking about gating the setup for worker safety.

Feel free to contribute :slight_smile: As you hold the native files to the MPCNC your cooperation would be most appreciated.

Thx for this long post which is pretty much along the lines that I envisioned.

I think in arduino it is possible to insert push button command for pause, reset etc.

I was also thinking to offload the decision whether the cups are ready to be picked up to another smaller arduino and connect the sensors to that small unit and aggregate the green light decision there.

As for the tople detection: if cups are put down ok, they should form a more or less straight line. If we incorporate a simple foto-cell it would detect toppled cups by being interrupted for some time. If that detection is positive the machine could halt, and require operator input (turn off motors, fix row manually, turn on motors and then pick continue from top, from current row etc.)

I’d start with the standard drivers and motors as for the cycle timing (see answer to next post) we have a comfortable reserve.

I like the suggestion of @forcerouge handling entire rows at once. You might not need a vacuum at all if the cups line up on a little shelf that extends over the tray. You could have little fingers, sort of like a rake, that pulls a whole line of cups off the shelf and into the tray and then slides them into position.

Synchronizing the production with row handling could use an external command controller but it would be really nice if it were all in one. You could have a sensor that detects when the shelf is full and have M00 for each row. You would have to wire the sensor into the user button. Then it would pause until the shelf is full and then automatically trigger scooping the row of cups onto the tray.

An extra beep would alert the user to remove the tray but probably better not to pause unless the production is also stopping to wait for the user.

May be you don’t need any cnc at all. Just make your packing box tilted with a little angle and vibrate it. Cups will moved due vibration and enfill available volume. A few last cups an employee can put by hands.
The idea based on principle of vibration conveyor. Like that

5 Likes

This has been a fun little diversion. I had most of the bits and pieces handy so it didn’t require too much original fabrication to get this demo working.

I don’t think my version will save any industrial labor any time soon. But perhaps if you’re too drunk to set up the next round of beer pong, and if you can wait a while, then yeah, I’ve got the machine to do it! Please no vomiting on the robot.

11 Likes

That is awesome! I think you need to make one of those champagne glass towers with this next.

1 Like

That will take significant Z travel, won’t it?

2 Likes

Modify your table to have a removable/lowering spoil board…

2 Likes

way above the recommended MPCNC height :slight_smile:

3 Likes

It’s also not recommended to drink champagne around your MPCNC… :champagne:

That’s why I stick to Scotch.

1 Like

Ugh… Scotch… *sigh* Single or blended? Aged? How long? Rocks, crushed, or neat? These are important questions that reveal a lot about who you are. You can’t just throw “Scotch” out there…


4 Likes

Hey guys thanks for your posts but let’s resume the topic…