Create own base by script and safe base for teaching (base transformation)

Hi all,

I’m having 2 questions regaring base(coordinate system) transformations for my UR10e in Polyscope 5.11:

  1. I have a script where I calculate a new plane (6D vector). I want to use this plane (coodrinate system) to teach the robotpath afterwards.
    Unfortunaltely so far I’m not able to save the plane as a coordinate system in the installation (under Installation → CoordinateSystems → Plane) permanetely.
    I can create a plane “first” first in the installation and then use it temporary in the script, by:
    myBase = createMyPlane(P1,P2,P3)
    But this seems to be only valid for the current program while running and I cannot teach with this (new) base “myBase” afterwards.

  2. Otherwise I would like to transform all teached points in a given base to new base by transforming the given base.
    In KUKA KRL this would look like something like this:
    Base[11] = Base[10]*Frame
    I stumbeld over the function pose_trans(). Is this the same function for UR?

Thanks in Advance and all the best
Tim

1 Like

Can you not take the 6 values your script computes and simply enter them into the Plane section in the installation? It will stay permanent then.

I haven’t worked with KUKA, but yes, what you’re describing is what pose_trans() is supposed to do.

Eric!
Thank you very much for the quick feedback.

That would be at least a manual workaround. Nevertheless, we really would appreciate a way, where we can save the plane without manual editing.

Good to know, that pose_trans() seems to be the right function. Got it.

I don’t think there’s any way to save it programmatically AND use it for jogging. When you add a Feature manually, it creates both the _const version and the variable version. The _const version gets stored when creating the Feature only, and cannot be programmatically changed. So it needs to be able to make this, which it can’t do via script.

Just out of curiosity, what’s your use case in this situation?

I will try to explain:

  1. We have a part laying on the table
  2. The position of the part is measured by an external camera system (frame comming from our script)
  3. We want to use this base/frame, for the user to manually teach the robot path for the given part
  4. The trained robot path will be used for further parts of the same type
  5. We have different parts each day (e.g. 30 parts per day, but they are diffent than the parts of yesterday :), eg. roughly 20 types per month)
    → Thats why we need to train with a coordinate system created by the camera every day for another type of part (nevertheless, the parts are similar in terms of their abolute dimensions)

Hi!

I think I have a similar problem…
I have programmed some trajectories directly with the Polyscope of my UR-5e. The waypoint values are saved with respect to the frame of the robot’s base. Before executing the program, I need to measure some points of my part and align it with three points, creating my new frame (“new frame”). Is there any method so that the trajectories that previously I have programmed with the Polyscope save them with respect to the new frame that I have created? I always need to align my robot to the part before I start running the program.
Therefore, I need all previously saved points (waypoints) to move based on the previous alignment (“frame new”).

Thanks!

You should be able to do this with the URcap SDK. It will allow you to create a feature within the installation and then it should show up in the polyscope gui (so you could jog and program waypoints relative to the feature). I am not sure if this can happen while a program is running but a urcap (while polyscope is still in manual teach mode) should be able to get this pose data from the camera and write it to the installation. There should be examples on the github site.

So… Can I do it directly with some Polyscope function? Or is It not possible?