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

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

That’s what I figured. I honestly don’t think it would be a difficult task for UR to fix. I’m sure they’ve got their hands full but there have been some very good enhancement suggestions in the couple years I’ve been here (including one or three of my own) that would not be more than a dozen man-hours to implement.

Is there a command in the URCaps development package that might simulate either a tab change (or a real tab change if you can get back to the previous tab)?

Bottom line, it takes a second to tab away then back to the move tab to get the updated TCP so unless there’s a way to trick it into updated easily I wouldn’t worry about it.

Thanks again, Eric, great work!

Is there a command in the URCaps development package that might simulate either a tab change (or a real tab change if you can get back to the previous tab)?

There is a way to do this, but it is not easy. I don’t think you’re supposed to be able to access any of the Polyscope components via a CAP other than the Toolbar they explicit provide you.

I’ve had a chance to use this a few times on one robot and wanted to give some very brief feedback… So far it works as expected and I haven’t seen any issues with it. Makes this task exponentially faster and much easier. I’ll be installing this on the other robot as soon as I get it back on line. :+1:

Anyone looking to have a quick way to change Active TCPs should have a look.

Thanks again Eric.

2 Likes

Great work @eric.feldmann !

The active in the Move screen might be changed if the user went there with the intension of modifying a Waypoint that is with a specific TCP. So if the Move screen should be extended with a functionality it might need more considerations. The automatic TCP refresh or the option to turn off program edits while the program is running. Might be higher on the wish list :wink:

1 Like

That’s precisely why I joined this thread: so I could change TCPs while setting waypoints. :+1:

Now that I can change TCPs on the fly this item become more important to me. Especially that whole don’t make changes while running.

That’s a serious buzz kill.