Home Programming


Left ArrowBack to discussions page
Tyler_BerrymanTyler_Berryman Posts: 122 Handy
edited October 2016 in Programming
Hi guys,

A client recently asked me if it was possible to program a tool path in G-code and transfer this to a UR program. 

The idea is that most CNC programmers are comfortable with programming tool paths using CAM (Computer Aided Manufacturing) software to plan the CNC's tool paths. The shop owner was asking if his programmers could take on the robot's programming through this same logic since they already have the knowledge to program paths with this type of software. 

I found a software package on the UR+ website called RoboDK. RoboDK indicates that you can transfer G-Code to UR, DXF files to UR and that you can simulate scripts offline. Has anyone tried RoboDK or has anyone gotten any feedback about using this software to transfer G-Code to a UR program?

Tyler Berryman
Robotiq Integration Coach
[email protected]
1-418-380-2788, option 3


  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,267 Handy
    I haven't used RoboDK but we looked at Robot Master about 18 months ago and it seemed to work pretty well in the demos. 
  • RM_ChaheRM_Chahe Posts: 3 Apprentice
    Hi Tyler,

    We are the developers of Robotmaster, a CAD/CAM approach to programming industrial robots.  You can either create CAM paths inside Robotmaster or import paths that have been created in another software.  In either case we supports UR output.  For CAD/CAM style programming UR uses a SCRIPT file and we have successfully tested and programmed UR robots using this method, however SCRIPT files are limited to about 20,000 moves per file.  If you would like to find out more, I can put you in touch with someone at our office.
  • AlbertAlbert Posts: 8 Apprentice
    edited October 2016
    Hi @Tyler_Berryman ,

    There are different ways to input toolpaths in RoboDK to program robots:
    1- You can import NC files (such as G-code or APT files). 
    2- You can import DXF files. For example for 2D cutting.
    3- You can follow edges of a parametric part (STEP or IGES files). Typical feature used for welding.

    The first option requires additional CAD/CAM software and it is mostly suitable if you have a robot machining application. If you are looking for basic CAD-to-path features I would go with the the third option. Example:

    Do you have a sample CAM file or a 3D part? I can show you how to convert it to a robot program.

    [email protected]

  • Samuel_BouchardSamuel_Bouchard Posts: 150 Handy
    @jbahner do you want to point your customer to this discussion and see if he wants to try with one drawing?

    @Albert , @RM_Chahe thanks for your input.


  • SebastienSebastien Posts: 219 Handy
    What application is the client looking at. We looked at CNC machining with robots in the past and turns out robot are repeatable but not accurate. Is the client willing to do CNC machining with UR Robots? @RM_Chahe based on your experience, can you put some accuracy numbers on robot machining applications? With industrial robots such as Fanuc and also UR robots.

  • RM_ChaheRM_Chahe Posts: 3 Apprentice

    As you mentioned, industrial robots commit to repeatability specifications and not absolute positional accuracy.  For milling with robots, in addition to positional accuracy, other success factors would include speed independent motion accuracy and depending on the hardness of the material rigidity could also be a factor.  We have had good success with a variety of Fanuc robots, the workspace and rigidity requirements will influence the specific model of arm that can be used.  Once the exact model is determined calibration and accurate setup of user frame and tool TCP are necessary for good results.  If your application requires very long programs (ex: milling of molds) then you will need one additional item and that is a communications setup that can handle large programs.  One approach that we use is to break a large program into smaller sub-programs and manage the loading/unloading of smaller sub-programs to ensure a smooth playback and optimal milling results despite robot controller limitations.  We have conducted milling tests with UR5 and UR10 arms also.  Collaborative robots have worked well for tasks such as trimming, however for milling we have discovered that there currently are some hurdles that need to be overcome.  For UR robots the manufacturer recommends using SCRIPT files for milling programs.  During our testing we discovered that the maximum program length that a UR robot would load was about 20,000 points and a program of that length took over 30 minutes to load.  Universal Robots will be working on enhancing SCRIPT files for the future, however low payload is another factor that is prohibitive to using UR arms for milling unless the material is very soft (foam, low density resin, etc...).
  • SebastienSebastien Posts: 219 Handy
    @RM_Chahe thanks for the comments. What is the general rule of thumb when selecting a robot model for a milling application. Assuming that the spindle is mounted on the robot, I believe you should not just account for the weight of the tool when selecting robot model because of forces generated during the milling process. So what would you recommend to figure out which robot model you need for example if you are milling wood parts. 
  • AlbertAlbert Posts: 8 Apprentice
    edited October 2016
    Robots are definitely not as accurate and stiff as CNCs. But that doesn't mean that you can't use them for robot milling. There are many applications where CNC levels of accuracy is not required but if you build a good setup you can still have an accurate robot milling system.

    In my opinion, if you look for robot milling I would look for high payload robots with good repeatability. I believe that KUKA, ABB or Staubli are more suitable for robot milling applications. High payload Fanuc robots are not repeatable in general. If your spindle is 50 Kg and you apply a 5 Kg force during your finishing pass I would look for a 100 Kg payload robot or better. The KUKA KR 210 is an example of a robot with high payload (210 Kg) and highly repeatable (0.060 mm), this is a sample setup for marble milling with this robot:

    Furthermore, you can calibrate your robot with RoboDK and a measurement system (such as the Creaform C-Track) and improve accuracy by a factor of 2 or better for offline programming tasks. More information here:
Sign In or Register to comment.
Left ArrowBack to discussions page