I’m currently trying to use the Universal Robots Post processor ( that you can find here as well as ABB and Fanuc post pro).
My issue is that as i’m using VC 4.1 Essential, and I cant check/modify the set angular speed and acceleration of each joint.
I believe, with some testing that the default ones are wrong and i’d like to be able to work with a more accurate simulation, cycle time wise.
Can someone with a Pro/Premium license tell me what are the values set for each joint and each robot (UR3, UR5 and UR10) ?
It will be much appreciated, and once my work is done, i’ll be glad to share a more advanced version of the UR post processor !
You can probably access and modify those values in the post processor Python script.
Unfortunately the PP doesnt currently handle acceleration nor the smoothing radius (Wich I already fixed). That’s the point of my work.
The speed is handled but the value is 360°/s, wich is wrong, the UR10 runs at 120°/s on J1 and 180°/s on the other joint.
I’d just like to be sure of what is set on the URs robot behavior so I can modify the code of the Post Pro acordingly.
I mean that you can use the Python API to find the robot controller behavior from the UR3/5/10 component and read the speed and acceleration values assigned there, then e.g. print them out for you to see.
Oh, I didnt think about that, that’s a good idea. I’m going to try this out. I’ll post the results here
Hi, i’m coming back after a few test.
I’m not able to run a script usine the GetComponent() method. I alway have an error when compiling.
Once again, i’m using VC 4.1 Essentials, so I dont know if it is the problem.
Can somone help me out ?
Share your script.
The getComponent() method is in vcScript, which is the type for a Python Script behavior. The method is imported along with all other methods in vcScript using “from vcScript import *”. That is component scripting.
If you are writing a script for add-on, that is application scripting. So the importing of modules is a very wild wild west. In the command file, you have access to the vcCommand methods. From there, you can get the application object and then find a component, app = getApplication() app.findComponent(<name>)
Tip! The vcHelpers modules can be imported in both component and application scripts.
So i m working on kind of same situation with this topic.
So i have a Molude named TestModule. It’s located under Python/site-packages and codes inside is like this:
app = getApplication()
comp = app.findComponent(cmp)
self.NAME = comp.Name
And in component i have another python code like this:
from vcScript import *
from TestModule import *
def OnSignal( signal ):
comp = getComponent()
Test1 = TestClass(comp.Name)
So if you can explain better how access vcCommand methods that would be awesome. Or any example code is appreciated.
TestModule can be placed in the My Commands folder in your Visual Components documents. That is, it does not need to be in C drive nor program files.
I would assume the TestModule is your add-on/command file. In that file, you can import vcCommand, and then use getApplication() to get the application object. From there, you can use the application object with the findCommand() method.
In the Python API, there is a topic about creating an add-on with sample code. Also, I very rarely ever have to define a class in a script.
But we are getting way off topic. What are yawl trying to do: modify the post-processor and/or read the speed and acceleration of UR robot joints? You do not need an add-on to read the values.
Sorry I was totally off the topic. Just saw you guys were talking about modules on here.
What i m trying to do is… I m trying to create a library that i can reach from every python code i create in any component. So if i create a class reachable from python codes in component. That would be enough for me.
I created several add-ons before somehow couldnt figure out how to do this one.
If I wanted to read the speed and acceleration of my ABB robot then, how should I do it?
Also, can I plot the speed and acceleration and show them in the statistics display? (Same way as the joint values can be shown)
Thank you in advance,
As someone commented in your other post, you could use that deprecated component as example. If you want to do scripting, get the Dof object for each joint, sample the value and run the equations to get values you need, and then assign those values to component properties, e.g. Real type. Next, create a chart that plots value, e.g. speed of each axis.