# Calculating Dispense Tip with 2 intersecting lasers

• Hey Everyone,

I have run into multiple occasions where I am dispensing on a part with a robot. Sometimes the robots are 4-axis, sometimes 6-axis.

The dispense tip is exchangeable and therefore has a varying amount of bend to each tip. Our mechanical engineers designed a bracket with 2 intersecting lasers that I am supposed to use to recalculate the TCP.

The problem is that I am not sure what to base the recalculation on. I have tried finding the center of where the two beams cross by taking the average of where the sensors come on, on the left and right side of each laser. This gives me a center point, and then I find the deviation in the tool by comparing where the laser comes on to where the center point had been assumed. I also find the Z of the tool by rising in Z until the laser has turned off.

This works only okay, but it is not very accurate because the tool that I am using to calculate the center point is not accurate either.

Does anybody have a better, more accurate way of recalculating the TCP based on two intersecting lasers?

• Sounds like they asked you to reinvent the Leoni Advintech, which is a tool costing several thousand dollars. And they want you to do it for free.

The simple, brute-force method would be:

1. Create a Reference Tip, something that would fit repeatably where you normally attach the dispense tip.
2. TEach that Ref Tip as a TCP, as precisely as you can
3. Build a program that:
1. Aligns the XY axes of the tool with the lasers
2. Slowly drives the tip through the laser on one axis, then on the other. DO NOT rotate the TCP at any time during this process
3. Use Interrupts to record the moment the TCP passes through the laser(s). Ideally, catch the Entry and Exit positions, then average them together. It might be helpful to pass the tip through in both directions, and average the data from both passes
4. Because the TCP X and Y axes are aligned perfectly with each laser, you can use the differences between where the Ref Tip broke the lasers, and where the disposable tip broke the lasers, to add an offset. The Ref Tip TCP should never be altered, and should always be active when running the measure program -- only apply the offsets to your "disposable" TCP for the dispense paths.

Your technique with the Z should work similarly. You can have the tip hit the intersection of the lasers, and make sure you're moving in Tool Z axis. Again, you might want to "bob" it and record&average both the Enter and Exit positions.

Keep the moves short, and try to use the same lead-in motion. That'll minimize, but not eliminate, the backlash issues. I can't say how accurate it will be, but robots are pretty decent at relative motions and measurements. But you will need that Reference Tip tool to use as a baseline, and it will have to be built in such a way that it's 100% repeatable when you take it off and put it back on. Otherwise, the whole exercise is pointless, and your mechanical engineer is spending dollars to save pennies.

Honestly, the best answer I've seen to this issue is to build a metal sleeve on the tool that fits around the disposable plastic tip, and forces every plastic tip to the same tip position. That usually gets sub-millimeter repeatability without trying to use software to fix bad hardware design.

• does anyone have actual manual or datasheet for one of those things? how accurate are they?

0.1mm or 0.01mm?

2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

• I've done this before, with 1 laser. My application was determining the length, diameter, and thickness of various grinding media. Stuff like sandpaper cartridges and abrasive impregnated brushes. EOAT was a high speed spindle that took HSK25 toolholders.

The key for me was to know where the laser is relative to robot. I taught a frame on the laser switch. Using this frame, and a known good TCP that was the interface of the spindle to tools, I would run a series of searches. Using those results, I would then offset the known good tcp to the edges of the grinding media. The frame made the calculations very simple, as I could just take the found position and add or subtract then from the known good TCP to create the grinding TCPs.

The found TCP parameters were then compared to what was allowable, and if it passed, the created TCPs were then used in the grinding path with force control. The method I used is very similar to how SkyeFire describes.

That code has been implemented on serveral cells, and been running in production for about 5 years now. The customer is pretty happy with it.

does anyone have actual manual or datasheet for one of those things? how accurate are they?

0.1mm or 0.01mm?

While I didn't test acuracy, for my setup, my method was very repeatable. I ran 30 trials on a Fanuc M710iC, and got the exact same position when the search completed on all 30 trails. I was pretty impressed with the results. Granted the robot was brand new at that point. Laser switch input was sent over profinet. I would always come in from the same direction, at the same speed, which was 10mm/sec.

Check out the Fanuc position converter I wrote here! Now open source!

Check out my example Fanuc Ethernet/IP Explicit Messaging program here!

• Alright, this is what I thought the answer would be. I will make our mechanical engineers aware that if they use this 2 laser setup again (and I know they will) that we will need an extremely repeatable tool to base the calculations off.

I also like the idea of the sleeve to force the tools to be straight, but that is hard with the small Luer Lock style tips that we often use.

• does anyone have actual manual or datasheet for one of those things? how accurate are they?

0.1mm or 0.01mm?

The lasers themselves? That varies wildly depending on the laser, and the surface of the target. It's one reason I prefer to pass entirely through the beam and pick up both Entry and Exit -- as long as the tool breaking the beam is symmetrical and regular (ie, not smooth on one side and rough/prismatic on the other), getting the centerline between the two points is usually pretty reliable.

If you mean the Advintech, I ran a series of tests on it years ago, but I don't have the data logs anymore. My impression was that it was good enough for MIG welding work, but not for aerospace drilling operations (sub-0.015" requirement at the time)

I also like the idea of the sleeve to force the tools to be straight, but that is hard with the small Luer Lock style tips that we often use.

Ah, those. Wouldn't be easy... whatever the LL tip twists into would need a solid metal thread around it, that could accept a "pipe" whose internal geometry was fitted to the metal tip of the LL.

Nordson uses something like this on the (big) mixing tube for their 2K dual-material systems. And their catalog actually mentions something that sounds like this for Leuer Lock tips, although the verbal description is vague enough I could be wrong on that.