Hi Brendan,
You could do this all in RAPID before Syncronizing to the station, by creating the new tool and declaring all your robot targets you want to change to PERS first (you can change them back to CONST after the conversion).
There exists a neat little procedure that recalculates a point (robtarget) according a new tool and/or a new workobject. This is from a collection of RAPID procedures orignally authored by HA?kan Brantmark/ABB - to demonstratte the power of the S4 robot controller when it was released way back when…
To use it, the syntax is as follows: “rcp pChange,old_tool,new_tool,old_wobj,new_wobj;”
PROC rcp(
INOUT robtarget point,
PERS tooldata told,
PERS tooldata tnew,
PERS wobjdata wold,
PERS wobjdata wnew)
VAR pose ppnt:=[[0,0,0],[1,0,0,0]];
VAR pose ppntnew:=[[0,0,0],[1,0,0,0]];
VAR pose pb:=[[0,0,0],[1,0,0,0]];
VAR pose pa:=[[0,0,0],[1,0,0,0]];
ppnt.trans:=point.trans;
ppnt.rot:=point.rot;
pa:=PoseMult(PoseInv(PoseMult(wnew.uframe,wnew.oframe)),PoseMult (wold.uframe,wold.oframe));
pb:=PoseMult(ppnt,PoseMult(PoseInv(told.tframe),tnew.tframe));
ppntnew:=PoseMult(pa,pb);
point.trans:=ppntnew.trans;
point.rot:=ppntnew.rot;
ERROR
RAISE;
ENDPROC
Create a temporary routine and ONLY RUN IT ONCE!!! (Maybe a good idea to back-up your work before proceding).
ex:
PROC routine1()
rcp pMyPos1,old_tool,MyNewTool,old_wobj,old_wobj;
rcp pMyPos2,old_tool,MyNewTool,old_wobj,old_wobj;
rcp pMyPos3,old_tool,MyNewTool,old_wobj,old_wobj;
rcp pMyPos4,old_tool,MyNewTool,old_wobj,old_wobj;
.
.
.
rcp pMyPosN,old_tool,MyNewTool,old_wobj,old_wobj;
ENDPROC.
Be sure to delete the routine and re-declare your changed robtargets back to their default decleration CONST.
Hope this Helps…