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

UR10e - How best to overcome file size limitation

#1
I am trying to tool path a pelletized plastic extruder (i.e. 3D printing) application via Python API for a Universal Robots UR10e (running Polyscope 5.11). I have modified the UR post-processor to overcome the default maximum program line limitations however the robot itself seems unable to cope with programs (*.urp) much larger than 5000 lines - either the program doesn't load, the robot hangs or we get a 'ValueStack Full Capacity' error. Unfortunately, for our purposes we desire programs with at least 50,000 (if not more) lines. We also require a smooth motion between waypoints which rules out running the program on the robot directly from RDK. Has anyone else come across this issue or can someone suggest a pathway forward? I am assuming that RoboDK's 'run on robot' functionality is the same as remotely running UR Scripts via socket? I would also add that the UR10e seems worse than its predecessor (UR10 CB series) as the workflow above was developed and tested on an older CB which could load larger programs albeit with long wait times.
#2
Did you try the default Universal Robot post-processor generating .script file?
Those might be smaller and more digestible for the controller.

Using the "Run on robot" wouldn't work in this case as there's a handshake between RoboDK and the controller at the end of each move, and therefore a brief stoppage. Not ideal for 3D printing.

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


#3
Hi Jeremy
Thank you for your reply. Yes we have tried script files which are indeed about 40% smaller however still face similar waypoint limitations. Is there a way via Python API to send 'packets' of commands or create a master program that calls 5-10 smaller programs? I would like to avoid our current hack which is we simple create multiple programs for each job that we must manually open and run. I feel our current approach invites too much opportunity for human error - i.e. someone loads/runs a program we have already run and crashes through the part! I believe an external context like ROS may offer ways to overcome our issues but I must confess I am very hesitant / reluctant to open that can of worms!
#4
Yeah, I don't think we ever did that for UR, but it's something we do regularly for Fanuc, we call that a "Dripfeed".

If you go to "Tools"->"Options"->"Program" you should see an option "Maximum number of lines per program".
Try activating that and see if the program is indeed split into pieces. If it's not the case, we can add that feature to the post-processor. I can't remember if it's done or not for the UR.
This will generate a "Main" with program calls to all the pieces of the program.

We then create a Python script using the FTP transfer feature of the robot (UR as it, so that's great) and we push the Main and the first 2 pieces.
We then monitor when the first piece is done (therefore the controller starts executing the second one), we delete it, and we push the third piece. And so on and so forth.

You can take a look at the FANUC RJ3 Dripfeed post-processor with a large program (you can use your UR station and just select this post, no need to create a station with a Fanuc robot) to see what it looks like.

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


#5
(12-01-2021, 10:27 PM)IainMaxMaxwell Wrote: Hi Jeremy
Thank you again for your ongoing support. The 'drip feed' approach sounds very much like the way around our issue. We have adjusted the max program lines as per your previous comment and as you suspected the standard URP post-processor does not create split *.script or *.urp programs. If you could add that functionality to the post-processor that would be fantastic!
#6
If you own a professional license of RoboDK, please, send us a request to "Help->Request Support" for this specific request.

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


#7
Hi Jeremy,
We have an educational license (University of Canberra, Australia), will RDK still support our request?
#8
You can send an email to info@robodk.com and ask for the post.
You would have to add the feature yourself.

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


#9
(12-15-2021, 11:01 PM)Jeremy Wrote: You can send an email to info@robodk.com and ask for the post.
You would have to add the feature yourself.

Jeremy

Hey,

Is there anything new about this topic?
Is the post processor integrated in newer versions of RoboDK?
Did it work and solve the problem?

Greetings,
Niklas
#10
The automatic splitting of long programs should work when you use the Universal Robots post processor (the default post processor for Universal Robots). 

You can configure this here:
  1. Select Tools-Options
  2. Select the Program tab
  3. Check the option Maximum number of lines per program
You can also configure this with your post processor. You can find more information here:
https://robodk.com/post/Universal-Robots
  




Users browsing this thread:
1 Guest(s)