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

How to turn the knife along the path?

#1
I am using RoboDK provided example for drawing svg in a board. 
I am trying to achieve the same using Motoman GP 180 and knife as tool. 

Would be helpful if I got to know how to turn the arm along with knife so that the knife will be along the path of drawing.

I have attached the rdk. 

Please use any svg with name draw.svg in the same folder where rdk is present


Attached Files
.rdk   motoman_svg.rdk (Size: 2.51 MB / Downloads: 407)
.zip   robodk.zip (Size: 2.44 MB / Downloads: 341)
#2
Hi Vignesh,

Do you really need to start from a .svg file? Or was it just a way for you to get started with RDK?

What I would recommend is either importing a .dxf or the 3D model of the part or using one of our CAD plugins to import the part.
You can then use a Curve Follow Project with the "Tool orientation follows path" algorithm.

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


#3
Thanks Jeremy,

I have implemented as you said.

Requesting to guide me to achieve the following:

1. I am trying to add .dxf dynamically to Machining settings in python using setMachiningParameters(). I also did the same. when I try to silently invoke RoboDK Im getting below error .

m.setMachiningParameters(ncfile='C:\\sample.dxf')

  File "C:\Users\AppData\Local\Programs\Python\Python38-32\lib\site-packages\robolink\robolink.py", line 4415, in setMachiningParameters

    newprog = self.link._rec_item()

  File "C:\Users\AppData\Local\Programs\Python\Python38-32\lib\site-packages\robolink\robolink.py", line 813, in _rec_item
    buffer = self.COM.recv(8)

2. I want to start cutting/marking the .dxf away from its origin. I have achieved the same for .svg where the full setup is completely designed in python using offset value given thru transl. Please let me know how to achieve the same using RoboDK GUI
#4
Hi Vignesh,

1. OK, I didn't think you needed to do it all dynamically.
The machining project won't accept the DXF directly, it needs to go through an open source software called "DXF2Gcode".
You can try it out by creating a simple station (robot, tcp, one reference frame) and drag-drop the .dxf to RoboDK.
That will automatically call for DXF2Gcode to translate the dxf into an NC code RoboDK can understand. The DXF2Gcode parameters are important, it will set things like "retraction height", "number of passes", etc.
I think that if you use the API to simply "Open" the dxf file, it should trigger the same process as doing it manually.

2. That would be in the DXF2Gcode parameters if it's there.

On another note, I know of a customer that create a Python script to automatically extract the path from a dxf and feed it to a Curve Follow project.
I don't have the details on how he did exactly, but I just open a DXF file in a text editor and it doesn't seem that complicated. Dxf is a relatively standard format used by many machines/software for things like laser cutting. It's potentially the same as the svg format though... Never really took the time to play with it.

But in the end, if you want the knife to follow the path direction, you need to feed the data to either a Robot Machining or Curve Follow project.
Robot Machining project accepts NC format (.gcode, .nc, .apt) and the Curve Follow project accepts list of points (xyzijk) as a curve.
You'll find more information in my answer to this thread: https://robodk.com/forum/Thread-costume-...on-surface

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


#5
Hi Jeremey,

Thanks for you suggestion.

Requesting to share your knowledge on the below

1. How to pause and resume the real robot until the user desires using python when a machining project is running on it?

2. While running on real robot, I could see an error stating "invalid command setrounding 1". How to fix it?

3. On moving the robot using machining project, real robot and simulation seems to be jerking (stopping for ~500ms in all points along the path).
How to make it travel along all points without stopping in each point ?
Note: Robot movement is not ending in each point. It is standing in a point for a second and moving to the next point. The same continues till it reaches the end.

4. I have imported .dxf file and in D2G the machining type is drag_knife. In this case, an error is throwing in MoveC statement.
In .JBI, there is only 1 MoveC statement for an arc. How to turn a robot in arc properly ?
#6
Hi Vignesh,

Before answering the other question, I'll start with #3 as it may void #1 and #2.

3. You can't have fluid motion using the driver. As the motion commands are streamed one by one the controller and as a handshake is required between commands, the robot will inevitably stop at each point so that it can receive the next one.

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


#7
Thanks for your quick response.

As you said, if each command is passed one by one to the controller, there should be a way to pause and resume the real robot until user desires. May I know how to achieve the same using python?

Is there any way to pass the full command to controller in one shot and let the robot finish the job?

Also looking answers for 2 and 4.
#8
Hi Vignesh,

Sending a "robot.Pause(time)" should be enough.

No there is no way, that's my point. At least there is no way, as far as I know, our driver wasn't created for that purpose.


2 - When you are using the driver or when you are generating the .JBI file?

4 - I'll need more information than that to help you.
Find useful information about RoboDK and its features by visiting our Online Documentation and by watching tutorials on our Youtube Channel


#9
Hi Jeremey,
I am able to insert pause command to the instruction. My question is, Is there a way to resume the endless pause ( pause(-1) ) command using python ?

Also I can't pause the robot movement when running in silent mode (-NOUI). 

2. Error "invalid command setrounding 1" occurs while using MotomaHSE.exe driver.

4. MoveC command is running well in simulation but not in real robot. It is throwing error.
I am importing dxf file to machining project. In DXF-2-GCODE, I have choosed machine type as drag_knife.
#10
Hi Vignesh,

1 - I don't know. I'll take a look and ask.

2 - I'll bring this issue forward to our dev, but in the end rounding commands won't have any effect on the program using the driver as we are streaming the commands one by one and rounding do require the controller to be aware of the next move following the one in process.

4 - Are you using the driver for this one too? What error is it throwing? I can't just guess.
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)