Tool TCP Offset
mechman
✭
in RobotStudio
I am looking for a way to offset the TCP according to the tool coordinates, similar to changing the object frame for a work object.
I have found a way to offset it according to the J6 coordinates, but since the tool is rotated, this will not work.
Anyone have an idea if this is possible?
0
Comments
-
Hi mecman,Have you tried the RelTool command?
Functions RelTool - Make a displacement relative to the tool <- -> - Usage RelTool (Relative Tool) is used to add a displacement and/or a rotation, expressed in the active tool coordinate system, to a robot position.
Basic examples Basic examples of the function RelTool are illustrated below.
Example 1MoveL RelTool (p1, 0, 0, 100), v100, fine, tool1;
The robot is moved to a position that is 100 mm from p1 in the z direction of the tool.
Example 2MoveL RelTool (p1, 0, 0, 0 Rz:= 25), v100, fine, tool1;
The tool is rotated 25A? around its z-axis.
Henrik Berlin
ABB0 -
I have, but I don't think it's what I am looking for. I would like to offset the TCP for a couple of moves where soft float is used. It would be cleaner to offset it once, go through the moves and clear the offset.mechman2012-01-25 16:01:290 -
I would have done like this.
1. Define a new tool and let it have values of the original tool
tool_offset:=tool1;2. Offset the desired valuetool_offset.tframe.trans.x:= tool1.tframe.trans.x+100;
3. Use it in your instructionHenrik Berlin
ABB0 -
I may be incorrect, but it looks like that is transforming the TCP along the J6 coordinates. I want to move it along the tool's coordinates which are not the same as J6.0
-
How did you create your TCP? Did you add the rotation of the tool into the TCP tooldata? If you created the tooldata with the correct orientation then you can use the RelTool function to offset from a point relative to the tool coordinate system.
0 -
I have the same problem. I need an instruction to offset the tool coordinates in the toolframe direction and not the tool0 directions. Does anyone know how to do that??mechman is right, the following instruction offsets the tool in the tool0 direction:tool_offset.tframe.trans.x:= tool1.tframe.trans.x+100;My tool has a 45degree angle from the flange. I guess I could do some math to calculate it myself but there has to be an easier way.???1 -
HiI think it's quite easy to calculate with multiplying the pose datas. You can use your old TCP and some offset pose and multiply them and the result will be the new TCP. For example like this:CONST pose peOffset:=[[0,0,200],[1,0,0,0]];tool_offset.tframe:=PoseMult(tool1.tframe, peOffset);This way tool_offset will be a copy from the tool1, but there will be offset of 200mm in z-direction.-Osku0
-
Hey,I made this function to account for our tools having a variety of standoffs. I know it is the same as your response Osku, but could be handy. Its a shame it doesnt work in a MoveLe.g.
MoveL p10, v100, z5, myToolOffs(myTool1,0,0,reg1);FUNC tooldata myToolOffs(
tooldata RefTool,
num xOffs,
num yOffs,
num zOffs)
VAR pose tStandoff:=[[0,0,0],[1,0,0,0]];
!To call use
!tNewTool:=myToolOffs(tOldTool,0,0,10);
!
!creates a new pose with the new standoff
tStandoff.trans.x:=xOffs;
tStandoff.trans.y:=yOffs;
tStandoff.trans.z:=zOffs;
!Adds the new standoff to the tool
RefTool.tframe:=PoseMult(RefTool.tframe,tStandoff);
RETURN RefTool;
ENDFUNC0
Categories
- All Categories
- 5.5K RobotStudio
- 396 UpFeed
- 18 Tutorials
- 13 RobotApps
- 297 PowerPacs
- 405 RobotStudio S4
- 1.8K Developer Tools
- 249 ScreenMaker
- 2.7K Robot Controller
- 310 IRC5
- 59 OmniCore
- 7 RCS (Realistic Controller Simulation)
- 785 RAPID Programming
- AppStudio
- 3 RobotStudio AR Viewer
- 18 Wizard Easy Programming
- 105 Collaborative Robots
- 4 Job listings