1 / 53

Transformations in V+, VAL3, and TPP

Transformations in V+, VAL3, and TPP. Sebastian van Delden USC Upstate svandelden@uscupstate.edu. V+. Defining Transformations. The built-in V+ trans function creates a new transformation: trans(X, Y, Z, Yaw, Pitch, Roll). Related V+ Functions. set curpos = HERE

base
Download Presentation

Transformations in V+, VAL3, and TPP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Transformations in V+, VAL3, and TPP Sebastian van Delden USC Upstate svandelden@uscupstate.edu

  2. V+

  3. Defining Transformations • The built-in V+ trans function creates a new transformation: trans(X, Y, Z, Yaw, Pitch, Roll)

  4. Related V+ Functions • set curpos = HERE • The here function returns a transformation that represents the current location of the tool frame (NOTE: set needs to be used to populate location variables). • decompose curvals[ ] = curpos • The decompose function can be used to return the 6 position values. • dx (location) • Returns X value of location • dy (location) • Returns Y value of location • dz (location) • Returns Z value of location • inverse (transformation) • Return the inverse of its parameter

  5. Related V+ Functions • RX(angle) • Create a pure rotation transformation of angle degrees around X. • RY(angle) • Create a pure rotation transformation of angle degrees around Y. • RZ(angle) • Create a pure rotation transformation of angle degrees around Z. • SHIFT(transformation BY x_shift, y_shift, z_shift) • Return a transformation resulting from shifting the translation values of the transformation parameter. • scale(transformation BY factor) • Returns a scaled transformation

  6. Applying Transformations • Transformations can be multiplied together using a colon(:) to create a new location. • move trans(10,2,30,90,0,0):rx(30):a • ORDER MATTERS: • move rx(30):trans(100,0,0,0,0,0) • Make a 30 degree rotation around robot world X and then translate 100 mm down this direction. • I.e. rotation happen around world frame • move trans(100,0,0,0,0,0):rx(30) • Translate 100 mm down the original world X, and then a 30 degree rotation • I.e. rotation happen around tool frame

  7. Defining Tool Transformations/Frames • The tool frame is located on the tool flange. • Usually the tool frame is moved to an appropriate location in the tool. • Allows for better tool control • tool trans(X,Y,Z,Yaw,Pitch,Roll) • X,Y,Z,W,P,R are manually determine by user.

  8. Tool Transformations • IMPORTANT: Always assign the tool transformation before you teach points AND before you visit those points. • All motion instructions after the tool trans declaration use that tool frame. • The tool can be redefined at any point in the program with another tool trans statement

  9. Tool Transformation Example • What is the tool trans for this tool? Original tool frame on flange Desired location of tool frame

  10. Defining Generic Frames • A coordinate system, or frame, can be created in V+ by teaching 3 locations • An origin, origin. • A location on the X axis, x. • A location on the Y axis, y. • set f = frame(origin, x, y, origin) • The first parameter is where X and Y cross. This is usually the origin, but you can move this up or down.

  11. More on Frames • Be careful when moving to a frame. • Consider trying to touch the origin of the frame in the picture with the tip of tool. • move f • Will crash the arm in the box • move f:trans(0,0,0,0,180,0) • Will align Zs properly

  12. Approaching and Departing Locations • appro(A, 50) or appros(A,50) • Go to a location 50 mm “above” A, where “above” is along the Z axis associated with A • depart(50) or departs(50) • Move 50 mm away from the current location along the location’s Z axis.

  13. VAL3

  14. Defining Tool Transformations/Frames • Any number of tool transformations can be defined as global variables • 1. Cursor to “flange” • 2. Press “New” Key • - Give the tool transformation a name, for example, “mytool”

  15. Manually Enter X, Y, Z, W, P, R…

  16. Tool Transformation and Motion • Every motion instruction must include a tool transformation as a parameter: • movej(somePoint, mytool, motionDescription) • movel(somePoint, mytool, motionDescription) • movec(viaPoint, somePoint, mytool, motionDescription) • No guesswork!

  17. Defining Transformations • Transformation Variable trsfenables to make computation on Cartesian points • Ex : Approach on point, Shift in pallet, Compose a new point, …. • 6 numeric field : x, y, z, rx, ry, rz • If trsftrShiftis defined, two possible ways to populate it with values: • trShift={0,0,-100,0,0,0} • or trShift.x=0 trShift.y=0 trShift.z=-100 trShift.rx=0 ... • Not possible to make motions on trsf • !! Used ONLY for computation on Cartesian !!

  18. Apply a Transformation using APPRO p X X pPick -100 Z tool • POINT ←appro(POINT,TRSF) • APPRO computes a Cartesian point related to a point on which is applied a transformation POINT p POINT pPick TRSF trShiftzNUM nDistance=100are defined trShiftz={0,0,-nDistance,0,0,0} p=appro(pPick,trShiftz) movej(p,tGrip,mFast) • Or: • movej(appro(pPick,trShiftz),tGrip,mFast) • Or: • movej(appro(pPick,{0,0,-100,0,0,0}),tGrip,mFast)

  19. movej(appro(pPick,{180,0,-100,0,0,0}),tGrip,mSlow) 1 movel(appro(pPick,{0,0,-100,0,0,0}),tGrip,mSlow) 2 movel(pPick,tGrip,mSlow)) 3 2 180 1 100 X pPick 3 Z Transformation Example 1

  20. movel(pPick,tGrip,mSlow) 1 movel(appro(pPick,{0,0,0,0,-20,0}),tGrip,mSlow) 2 - 20° 2 1 X X pPick pPick Z Z Transformation Example 2 (Blend =off)

  21. Defining Generic Frames • Importance: • The robot is in production, • The application is working at full capacity, but …. Joe is driving the forklift and ... !!!! DISASTER !!!!! … one day for re teaching locations.. Except if ...

  22. Frame Creation • Local Coordinate system : • to make points re teaching easier • used to duplicate locations • shift of points in a pallet

  23. Y X Axis y Axis x Y Y X World X Origin fPallet Frame Teaching • Defined with 3 points to teach : • Use a precise tool : pointer • Define this tool as current • Teach points as far as possible each other (+ accurate)

  24. pA Y Y X World X fPallet POINTS IN A FRAME • Teach points using the frame so that they are created in the tree branch of the frame. • During teaching coordinates are displayed in frame reference • For the move instruction, it is not needed to specify the frame: • movej(pA ,tGrip, mFast)

  25. Setting a Frame in the Program nError = setFrame(pOrigin, pX, pY, fRef) 3 points O, X, Y Frame to compute (A Pass-by-Reference Parameter) Error Code : 0 : no error -1 : ptX too close to ptOrigin -2 : 3 points are nearly aligned

  26. Y Y 50 80 X X World fPallet Compose can be used to define a new point in the frame Compose(point,frame,trsf) : compute a point shifted by trsf expressed in frame p=compose(pFirst,fPallet,{160,50,0,0,0,0}) movel(p ,tGrip,mSlow)

  27. X Y Y Y fRef2 X fRef1 X World Using 2 Identical Frames • To use a point with same coordinates in 2 frames : • Create a point in each frame • Teach one of the point • Copy trsf of point in second one pRef2.trsf=pRef1.trsf

  28. TPP

  29. Defining the Tool Transformation/Frame • The tool coordinate system is defined by using the frame setup screen or changing the following system variables. • Ten tool coordinate systems can be defined. The desired one can be selected. • $MNUTOOL [ 1, i ] (Frame number i = 1 to 10) is set the value. • $MNUTOOLNUM [ group ] is set the used tool frame number. • Three ways to set a tool frame.

  30. Navigate to the Tool Offset Menu • Press the MENU key on the teach pendant and then navigate to SETUP -> FRAMES.

  31. You can define up to 10 tool frames • Select the one you want to define and click DETAIL. SETIND sets the current tool frame.

  32. Choose which method you want to use to define the tool frame

  33. Direct (Manual) Method – just type in the X, Y, Z, W, P, R values

  34. Three Point Method • Defines the only X, Y, Z location of the tool center point (TCP). • Teach three points that approach the TCP from different angles • The bigger difference in the angles the better. • Use a stationary point. • There is no “built-in” three point method in V+… • Exercise: Figure out how to do this in V+/VAL3 

  35. The Three Point Method Idea

  36. Think about the Geometry/Math

  37. TPP walks you through the three point method The three points to be taught

  38. Six Point Method

  39. Setting the Tool Frame in a Program • A taught location can only be revisited if the active tool frame is the same one it was taught with. • The program will generate a run time error if a different tool frame is active. • The tool frame can be changed in the program using the UTOOL_NUM = … command. To find this, press [INST], then:

  40. Setting the Tool Frame in a Program Set the appropriate tool frame before the motion instruction Taught using tool frame 2 Taught using tool frame 1

  41. Defining Generic Transformations/Frames • In TPP, you can define “offsets” which can be applied to any motion command. • It can be inserted directly in the motion command. • Example - move to location p[1] with an offset located in position register 2 (pr[2]):

  42. Step-by-Step Example: Offsets • Recall the previous program a couple slides back: • Let’s add an offset/transformation so that the point P[3] is visited with a -50 Z translation and a 20 degree Yaw rotation (around X).

  43. Defining the Offset in a Position Register. 2) Press |TYPE| (F1) and cursor to Position Reg 1) Press Data Key

  44. Enter the values: 0,0,-50,20,0,0 and press done when finished

  45. Modifying the Motion Instruction Press Edit key to get back to program and cursor over to the end of the desired motion instruction. Then press CHOICE.

  46. Navigate to Offset, PR[…]

  47. Finish Inserting the Offset • P[3] is now visited with an offset of -50 in tool Z and a Yaw of 20 degrees.

  48. Offset VERSUS Tool_Offset • Offset • Performs the transformation w.r.t the world coordinate system • Tool_Offset • There is also a “Tool_Offset” that you can navigate using the menus which performs the transformation w.r.t the tool coordinate system.

  49. Defining Generic Frames • Called User Frames in TPP, these frames are defined and used almost exactly like how tool frames are. • Like with tool frames, navigate to Frames:

More Related