Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Light painting a DXF logo image "in-air"

#1
Hi,

I am trying to do some light painting with an industrial robot.
Basically a long exposure photo in a dark room where the only light is an LED attached to the robot.
  • I have installed the DXF2Gcode
  • I am able to generate toolpaths
  • I was able to get just a single toolpath by adjusting the DXF2Gcode slice depth and final mill depth both to -1,00mm. (If slice is less than the final depth, multiple passes are required... hence the double toolpaths)
  • I was able to solve the path and make the robot follow the path.
All is going well but I am wondering about some optimizations.

Questions:
  • I want the robot to be behind the logo. Normally milling and such is done from above... like drawing on the table. I want to basically draw from underneath the table. How can I do that?
  • Can I define the order of elements that are drawn? Some toolpath optimization is doing all the letters in seemingly random order... I understand that it comes from the G-Code and the software that generated it.
    In DXF2Gcode there is Options > Tolerances > Tolerance for common points and tolerance for curve fittings.... does not seem to make a difference. I would have expected circular features to be recognized as longer curve segments... and the generated KUKA robot code to be much fewer lines.
#2
Hi Koppel,

1 - Super easy, you can either just flip the orientation of the tool TCP (Z+ going "in" the tool) or "Tools"->"Options"->"CAM"->"Invert Machine Tool Axis"

2 - I didn't use DXF2Gcode enough to know that kind of detail. As it's separate software, you might have more luck looking into their community or documentation.

Jeremy
Find useful information about RoboDK and its features by visiting our Online Documentation and by watching tutorials on our Youtube Channel


#3
Weird but I am struggling with flipping the orientation. I rotate the frame some 15° to turn the logo up form the "table" a bit.
The Machining project is able to solve successfully.

I rotate the logo upwards 90° and compensate the TOOL also 90° ... So the logo is at the correct position but rotating the tool is half way there - working the logo form the top side only. I need it to be behind the logo.

I keep the logo upwards 90° and want the robot to be completely behind the logo and keep rotating the TOOL.
155° is the maximum... more than that and its not able to solve... "The robot cannot reach all targets in the path"

So I lifted up the logo and its now able to go to 160° But the robot is doing its "dance" a little weird. Something doesn't quite feel right.
My best bet at the moment is 90 degrees for the logo and 90 degrees for the tool. Then it behaves like a 3 axis machine - No weird movements, no drama. I have a 6 axis Kuka so it should handle a lot of situations.

Questions:
When is the Options > CAM > Invert Machine Tool Axis setting going to take effect? I found no difference.
Can I change the arc segment size that comes from the DXF2Gcode somehow? The robot movement on the arcs is really slow and jerky when running the physical robot from RoboDK (Run on Robot) And when the KUKA KRL code is generated its like a thousand rows and the speed is slow because of the very small sections I guess. I do not need the precision and would gladly exchange it for speed.

EDIT: I think I get it now. I guess its a singularities thing. Or a 6 axis robot just cannot draw on a straight wall. The software wants the tool to be perpendicular to the wall and that makes the body of the robot twist in weird ways. This actually would not be necessary for the task but the robot tries to do it anyway. It wants to do it like a milling operation and I want it to do it like holding a pencil. I had mild success when trying different starting positions for the joints but its still weird.
#4
Hi Koppel,

Can you attach the .rdk file.
That will help me help you.

Jeremy
Find useful information about RoboDK and its features by visiting our Online Documentation and by watching tutorials on our Youtube Channel


#5
Hi.

I attached the *.RDK file.

So the thing to notice is:
- I cannot make tool go completely flat behind the logo...
In the attached file I have it: {X 0, Y 0, Z 0, A 0, B 15, C 180}

As soon as I make B "0" degrees - it will not be able to solve.

I can turn B to "0" only when I turn C to 165 degrees.
Its not possible to make the robot flange exactly "flat" on the wall. And my guess is that it has something to do with singularities.

Somehow I should be able to "machine" this logo form behind... right?
And I attached an image with the very small arc segments. Is there something I can do about it?


Attached Files Thumbnail(s)
   

.rdk   RoboDK_StationWithKuka.rdk (Size: 1.17 MB / Downloads: 374)
#6
Hi Koppel,

I just look it up and it's indeed a singularity related issue.
An industrial robot is usually very bad a working right at the level of the elbow.

I was able to make it work by simply moving the logo upward a bit.

Have a great day.
Jeremy
Find useful information about RoboDK and its features by visiting our Online Documentation and by watching tutorials on our Youtube Channel


#7
Hi and thank you,

Can you also comment on the small arc segments?
Is there a way I can get the tiny segments to be longer?
If it were, I am convinced the robot should complete this drawing in under 30 seconds...
#8
Hi Koppel, 

Many things can be done regarding that. 

First, you should adjust the "Rounding" parameter in the Machining Project. You can find this setting under "Program Events".
Increasing the value, between -1 and 100 will affect the fluidity of the path ran on the robot. 
The second thing you can do is play with these parameters:

   

EDIT: In fact, the "Minimum step size is what you are looking for".

Hope it helps. 
Jeremy
Find useful information about RoboDK and its features by visiting our Online Documentation and by watching tutorials on our Youtube Channel


#9
I don't get it. I don't see a difference.
- I change the "Rounding" parameter form 0,xxx to 100 mm - I update the path. No noticeable difference. I generate robot program. Its 750 rows.
- I change the minimum step size from 0,005 to 5mm - A 1000x increase... No noticeable difference.

I close the program, I open the program.
I choose new NC files... I choose the old NC file again. No visual difference in the program. No difference in the generated Kuka KRL program file.
Are the changes not taking effect?
I was expecting such an extreme change in these parameters to have an extreme effect and I can start dialing it down... but I see no change. What am I doing wrong?
#10
1 - Changing the rounding value will only affect the program when executed on the robot controller.

2 - I looked deeper into the code and realized that each little segment of line is in fact a very small circular movement. Therefore the issue seems to be upward of RoboDK, either in the parameters of DXF2Gcode or in saving parameters of the DXF file. You can see that by "right-click" the "Machining" program and "Show instructions".
You can also add a "Minimum arc size" to the parameters of RoboDK.

I just tested:
No minimum: 808 lines
5 mm minimum for arc and line move: 625 lines

Jeremy
Find useful information about RoboDK and its features by visiting our Online Documentation and by watching tutorials on our Youtube Channel


  




Users browsing this thread:
1 Guest(s)