Welcome, Guest. Please login or register.
Did you miss your activation email?
May 23, 2012, 06:52:30 PM
Home Help Login Register
News: Any Problems or Experience with Industrial Robots ?
Register and place your Question / Answer to worldwide Robotexperts right here !

+  Robotforum | Support for Robotprogrammer and Users
|-+  Industrial Robot Help and Discussion Center
| |-+  Kawasaki Robots
| | |-+  TCP / OAT in AS Language
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] Print
Author Topic: TCP / OAT in AS Language  (Read 1098 times)
roboperson
Jr. Member
**
Offline Offline

Posts: 86


« on: April 20, 2011, 09:17:02 PM »

I'm hoping some of my fellow programmers can help me out with something I am working on. I understand that your TCP and OAT are actually two different characteristics that got slap togother. I like using the AS procedure for finding a TCP which is teaching the face plate of JT6 to a pointer and then making it a variable here A. Attach the E.O.A.T. then teach it to the point and making a compound transformation Here A + B. Then my tool is - B. Now this gives us the dimentions of the tool for the TCP but the O.A.T it gives is not correct because it is based on the posture of the tool at the time. My question is this.
Since we have the TCP with -B, shouldnt there be a mathmatial way of using this to get the OAT? I hope someone can help! Thanks.
Logged
rdixiemiller
Jr. Member
**
Offline Offline

Gender: Male
Posts: 64


« Reply #1 on: May 02, 2011, 07:04:13 AM »

 I usually use direct entry. Pull the dimensions off the tool in whatever CAD software it is drawn in. This will give you X, Y, and Z. O, A, and T can usually be figured out by observation. I am primarily working with large, flat manipulators, up to 72"x96". A typical tool would have the following TCP:
TOOL              0.000   535.000  1120.000   -89.500    45.000  -180.000

 This tool has a 45 degree angle between the plane of the tool body and the faceplate of axis 6.

 There is a TCP locating procedure in the AS language manual, but it is not quite correct.

Logged

Regards
Robert Miller
Fanuc P50, 145,155,200,ArcMate 100,120, Kawasaki FS30,MX500, old Kobelco/Kawasaki Painters
roboperson
Jr. Member
**
Offline Offline

Posts: 86


« Reply #2 on: May 03, 2011, 04:29:31 PM »

I have had a lot of success using the procedure in the AS language manual. The problem with that procedure is it only gives the XYZ. The OAT it gives is ambiguous and you have to eye it in. Basically it is the same as doing a 4 point TCP using a pointer. Kawasaki uses a 6 point TCP to determine the XYZ OAT. You would need the math to figure 2 of the 3 vectors and the 3rd would fall into postion by default. I was just hoping someone had tried this, or could point me in the right direction.
Logged
rdixiemiller
Jr. Member
**
Offline Offline

Gender: Male
Posts: 64


« Reply #3 on: May 03, 2011, 05:25:16 PM »

 Yeah, I know what you mean. The Fanuc method is simple, straight forward, and works. The Kawasaki method takes a bit of work to calculate OAT. It gets a bit tricky when I use a side orientated tool, it can take an hour or two to dial in.
Logged

Regards
Robert Miller
Fanuc P50, 145,155,200,ArcMate 100,120, Kawasaki FS30,MX500, old Kobelco/Kawasaki Painters
TygerDawg
Full Member
***
Offline Offline

Posts: 230


« Reply #4 on: May 04, 2011, 12:52:35 PM »

I posted this mathematical procedure in another forum somewhere, too lazy to look for it.  I paste here a procedure from a MSWord document I made some years ago for tool teaching in the V+ language.  Staubli teaches this method and lives and breathes by it.  Adapt to AS language, should work similarly.

As stated before, if your tool is well made and orthogonal design of determinate dimensions and angles, then you can build up a compound transformation.  Just visualize the tool flange coordinate system as it translates and rotates through the differerent mechanical elements to the final TCP.  And concatenate the transformations together.

TEACHING A TOOL TRANSFORM IN V+

1.   Attach a workcell reference pointer to the workcell in a convenient location.
a.   Not necessary to be "square & orthogonal" to workcell fixtures
b.   Attach in a convenient location
c.   Provide for robot motion and access
d.   Think ahead...place in cell in order to achieve tool orientation that is required for the arbitrary robot tool to be taught.  Meaning:  e.g., use two edges of a cube or table  in workcell, tweak orientation of tool to align tool axes with edges.  Can use edges again for arbitrary tool later to make axis alignment similar.
2.   Attach a robot reference pointer of known dimension to the robot ( reftool ).
3.   Invoke the robot reference pointer reftool:

TOOL reftool

4.   Teach the location of the cell reference pointer using TOOL reftool .
a.   Maintain the orientation necessary to define the X-Y-Z directions correctly on the arbitrary tool.
b.   Align the robot reference pointer to the cell reference pointer, workcell fixtures, or any other convenient datum surface.

HERE cellref

5.   Remove the robot reference pointer and replace with arbitrary workcell tool.
6.   Invoke the null tool:

TOOL NULL

7.   Position the arbitrary workcell tool to the cell reference pointer.
a.   Align the arbitrary workcell tool to maintain desired X-Y-Z orientation.
b.   This may take extensive experimentation to do this step to high accuracy.
8.   Teach the tool transform of the arbitrary workcell tool:

DO SET arb_tool = INVERSE(HERE):cellref

9.   Invoke the new arbitrary workcell tool transform:

TOOL arb_tool

10.   Test the new arbitrary workcell tool by performing rotations about Joint4 and Joint5 in Tool Mode motion.

END OF PROCEDURE



Logged

TygerDawg
Blue Technik
Virtuoso Robotics Engineering
www.bluetechnik.com
Pages: [1] Print 
« previous next »
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!