ABB Robots

Found some buggs in my post processor

Posted in ABB Robots, Milling on July 3rd, 2010 by x-firm – Be the first to comment

I found some bugs in my post processing with the interpolation to make circular instructions for the robot. The circular instruction want a start and a end point on a arc, it also want on more point some where on the arc. Its preferred that the point on the arc should be after the middle of the arc.

With the G2 and G3 commands you get the parametersĀ  I, J and k that are describing where the centre point for the arc are like in the image below.


I create two vectors from the calculated centre to the start and end point. Then I create a point after arc with Spherical interpolation like the image below. I’m using a function from ABB:s mathematicsĀ  library that has two vectors as a input and also a value from 0-1 that are proportional to where the new point should be created after the arc. Where 0 is the start point and 1 is the end point.


Some times the vectors is not getting the same length do to decimal error. And then the functions is not working and I get a point in the middle instead.

And I believe Its do to the fact that I’m not normalizing the vectors and if that don’t work I can always use the length of the first vector to make the other the same length.
My second problem in when the points and the centre is aliened and the vectors is getting parallel as in the image below.

But that I can simple check with the .dot product on the vectors and see that its not equal with 1. If they should be parallel and I try to make a interpolation then I get the point in the middle like in the other problem. I think I can create a new point 90 degrees to the left or right depending on if its a G2 or a G3 commando.

I will dig in the problem and I’m sure I will solve it..

Milling with a ABB robot

Posted in ABB Robots, Milling on July 1st, 2010 by x-firm – Be the first to comment

I stayed wail after work because I wanted to test to mill with on of our robots and it was quite good to be the first a tempt.

I made a post processor in C# that converts the g-code from LazyCam and creates the rapid code for the robot. It was quite easy do LazyCam hardly uses any G2 and G3 commands for circular segments

I have since then worked some more with it and added the support for CAM BAM that are generating a lot of circular segments. Circular segments G2 and G3 isĀ  interpolated so the can be converted to the robots circular instruction called MoveC. I later noticed that I got some problems with the curcular segments if they where to small for the robot to calculate.

I ended up with making a filter that convertet all to small circular segment to linear movements. I then bought a new mill an made a second try:

As you can see in the video the corners is not getting as good as I want like in the D and I in ANDON. I tought it was something wrong with the interpolation but a found that if I look at the generated tool path in CAM BAM i can see the same thing. I changed the setting StepOver to 0.8 and the it was good

I also added support for automatic tool change in my converting and some other small things.

The next step I think is to see if I can get some life in our old plasma cutter and make some programs for the robot from SheetCAM and cut some thing up…