Change Active (Set) TCP in the Move or Installation -> TCP Configuration interface

Hello!

We would like the possibility to change the active TCP from the selection of TCPs, without setting it as default or changing the values of the TCP.

Background:
If an operator or programmer would like to create a program with several different TCPs, while checking or setting up the program, the TCP would need to be changed.
Currently, the only way to change an active TCP from the Polyscope UI, no matter if it’s been set on loading an installation or running the script command set_tcp(p[x,y,z,rx,ry,rz]) or after setting as default, is to press on the button “Set as Default” or change the values of the TCP, then change them back.

Example:
My Default TCP is called TCP_1 with a TCP of p[0,0,0.1,0,0,0]. I ran a program which sets the TCP to p[0,0,0,0,0,0]. Now I would like to have my default TCP_1 as active TCP again. Either I set any other TCP as default, then set my TCP_1 as default again, or I change the values of my TCP_1 to anything else, then back to p[0,0,0.1,0,0,0]

Solution 1:
Create a small Dropdown list of TCP Configurations, including the currently Active TCP if it’s not saved, in the Move Interface where it currently shows the currently active tool, like so:


and

Notice the new Dropbox added in the pictures.

Solution 2:
Add a button in the TCP Configuration interface. On the CB3 there isn’t so much space, but I guess maybe besides the Dropbox, and on the E-Series, maybe a second row in besides the TCP dropdown.

9 Likes

Hi @r.larsson,

It make sense, an I like the concept. I have moved it to the Polyscope subcategory.

It is similar to this request

1 Like

How do you suggest handling these situations until you implement this feature?

You can use the test button on the set node

I think this would be even more valuable when the selected tcp is automatically configured when using the move tab in a waypoint creation case and inserted dircetly into the waypoint node config. This way, The user does not have to use the setnode for the tcp while programming any more.

1 Like

Hi Ebbe,
yes, this is the way, how we have to make it. But seriously, if you are an UR programmer or technician, it is very annoying to adjust robot poses this way. I think, this is not so hard, to implement this action you showed us on the picture into the “select menu” element under “feature select menu” on the move tab.

The button itself is not the hard thing. But the Move screen is also used for assigning poses. Where the TCP might be explicit selected. So there is several scenarios to consider.

Ebbe

This would be extremely helpful doing setups (I do a lot of setups)

Please also consider updating the active TCP in the Move tab as the program is running. As it is now when you start a program and change to the Move tab the Active TCP does not update if the TCP updates in the program.

Yes, Yes, Yes!
This lack of feature drives me mad when doing a setup. Having to keep setting a TCP to default is really annoying and time consuming.

1 Like

This request is coming up on 2 years old, @Ebbe . How’s it going?

What sucks @m.hammerton is that when I’m trying to change something in the program but have the wrong TCP set, I have to go dig around in the program to find a Set command that puts it where I want it, then I have to dig around in the program AGAIN to find where I was working.

Completely unnecessary waste of time.

IMO the most efficient way (for the end user) would be to add a dropdown box just like the one for FEATURE but this one for TCP. The dropdown box would auto-populate with TCPs and changing them would update to the selected TCP with a confirmation prompt.

You would obviously want an option to turn that functionality OFF. Just like we have the option to turn off program edits while the program is running. Wait, what do you mean we don’t have that already? :rofl:

I can add this pretty trivially into a CAP I think, provided there’s some script that does this.

I got really lazy scrolling around in my program for various “Perch” positions and things, so I wrote a CAP to store positions into the Toolbar so I can just Jog to them easily. Then I added a tape measure (again because I’m incredibly lazy).

How do you envision this functioning? We implement something similar with our Welding CAP, and I have that written to disable the controls when the pendant is NOT in manual mode. ie if you’re running in auto, with an operator, don’t allow them access to change anything.

I’ll do a little experimenting when I get some free time, because I would have definitely benefitted from this myself on my last job. I should be able to pull a list of TCPs into a dropdown like you’re suggesting, and just run a “set_tcp(dropdown_selection)” command.

1 Like

I like to think of it as being efficient. :wink:

Very simple and based on the Feature Dropdown in the Move tab, where you select what Feature you want to use and it updates automagically. Perhaps with a Yes/No Confirmation message box.

For an enhancement to Polyscope’s base UI It would look like this:

I’m not familiar with URCaps so not sure how much you can attach to existing handles so this may not be possible in a URCap, but the simpler the better.

1 Like

I wouldn’t be able to change anything on the actual Polyscope screens themselves, but I have access to the UR+ Toolbar (where controls for things like grippers are often housed). So you’d be able to tap up there and get a dropdown list. Should be a fun little project. Sounds like I might be getting snowed in here this week, so I might have some free time.

1 Like

That would probably be a better place anyway because you could access it from any Tab. :+1:

Here’s the CAP @fuknrekd . Just install it like any other.

TCPhelper-1.0.0.urcap (30.2 KB)

Looks like this. You hit the UR+ button along the top, and click the TCP one (if you have multiple CAPs that contribute toolbars). Just tap the dropdown and a list of your TCPs should show up. Pick one, then press the “Set TCP” button to actually set it as active.

2 small notes:
You can only interact with the controls in Manual mode (or remote if a password has not been set).
The list of TCPs is updated when opening the toolbar. This means if you have it open, then make TCPs, they won’t appear in the list until you close and reopen the toolbar. This shouldn’t be a big deal, since you likely have the TCPs already taught.

I’m snowed in right now, so don’t have access to my real robot, but it looked like it was working on my simulator so you’re welcome to give this a try.

2 Likes

I installed this on one of my robots and it seems to work after very limited testing. Thank you!

Only thing it doesn’t do is refresh the Active TCP in the Move tab until you select a different tab then go back to the move tab. But this is the same legacy behavior that UR has: If the program is running and you’re on the Move tab and the TCP changes in the program you do not see the update, it does not refresh.

This will make life a LOT easier doing setups with multiple TCPs.

Now if we could just get UR to auto-update the Active TCP we’d be done here.

Yeah that refresh behavior has to do with how GUI components get updated. As you see, it happens any time a screen is opened. I don’t have access to any of those screens, and the refresh method is obviously not called when TCPs change. So that would be up to UR to implement.

1 Like

eric,
Outstanding work!
This will make life so much easier.

Thankyou

I can probably make the dropdown auto-update now that I think about it though. Would this be good enough for what you need, or do you really need it to update on the Move screen?

1 Like

Having it update on the Move screen would be nice to have but not essential for me