TCP change oddity

I have a gluing application on a CB3 that is giving me some issues. I have the default TCP set up for the current glue tube that’s on the robot. I’m changing the mount that holds the glue tube to make it more universal. I set up a new TCP and set that as the default, but now it’s not going to the same positions as the original.

However, if I edit the original TCP values to my updated ones, it seems to work ok (though I haven’t done extensive testing yet). All the moves are set to use the active TCP and are relative to base. I would like to keep the original TCP so I can use the original mount if I need to.

Am I not understanding TCPs correctly? I thought I would be able to change the default TCP and still be able to run the same program. Am I just missing something obvious? That happens a lot…

What software version are you using? I seem to recall a bug fix several versions back related to this. Current Polyscope version is 3.15

We’re on the latest version, 3.15.1 I think.

Have you determined what the offset is? Is it a consistent offset? Is it possible you aren’t actually using the TCP you think you are using? Maybe use the command var-1 = get_tcp_offset() right before the move to determine what the robot thinks the TCP is at that time.