Programming Epson Robots ME 4135 – Fall 2012 Dr. R. Lindeke Operating Ideas for Epson Environment We are currently using this method Overview Safety and Movement Developing A First Program Some Cool Tools – Pallets – SubRoutines – Etc. Proofing w/ the Simulator Running the Robots Safety And Movement Commands For Robots to be operated safely the operator must clear the workspace Each defined location must be moved to at slow speeds before inserting into programs Programs must be proofed step by step at reduced speed – physically using moving commands in teach pendent or Robot manager Safety And Movement Commands Motion is Either: – Point to Point where the robot travels from a pose to a pose and then stops before executing its next move – CP (continuous path) where the robot travels ‘thru’ an intermediate and it doesn’t execute a complete deceleration to a stop before heading to a new point Safety And Movement Commands Operator sets both Speed and Acceleration levels In interpolated movements they follow SPEEDS and ACCELS rates MOVE, BMove or ARC For other motions they follow SPEED and ACCEL rates GO, JUMP or BGo Safety And Movement Commands PTP: CP: Safety And Movement Commands The Epson RC 5.0 language supports the following motion commands: – GO: (pnt-to-pnt or CP) joint motion from current pose to defined target pose – MOVE: (pnt-to-pnt or CP) linear interpolated motion from current Pose to a defined target pose Safety And Movement Commands Epson also includes Relative motion commands: – BGo XY(0,0,15,0,0,0) which moves TCP relative in Local (base) system by 15 units in Z0 direction; TGo(0,0,15,0,0,0) is relative move in current tool frame – BMove XY(0,30,15,0,0,0) moves TCP linearly in Local (base) Frame 30 (Y0) by 15 (Z0) units; TMove XY(0,30,15,0,0,0) moves TCP linearly in current tool Frame Safety and Motion Commands Motion along a Spline Path (previously defined in a ‘CURVE” statement) can be executed using the CVMove motion command Safety And Movement Commands It is always best to approach objects without “slewing” and at controlled rates To accomplish this, Epson has included – “Jump” (SCARA) – “Jump3” (6 Axis Art Arm) These commands are combinational motions that can be executed either PTP or CP They use ARCH table from how high to “Jump” during the motion Using a connection, and the “Robot Manager” tools we can access and set the values of the ARCH setting for use with the Jump and Jump3 (Jump3CD) commands and note a ‘Z’ or height above distance is specified Safety And Movement Commands It is seen that the motion is in 3 parts: movement away from the current position to a clear plane depart is set in ARCH table movement toward the target position drop to the target position from the clear plane approach motion also in ARCH table Safety And Movement Commands ARC and ARC3 are circular interpolated motion from the current position They require a midpoint and end point to be specified They can operate PTP or CP Safety And Movement Commands Safety And Movement Commands Examining Syntax Go: Safety and Movement Commands Examining Syntax for Move: Safety and Movement Commands Examining Syntax for BGo or TGo: Safety and Motion Commands Examining Syntax for BMove or TMove: Safety and Motion Commands Examining Syntax for JUMP and JUMP3 Safety and Motion Commands Safety and Motion Commands Examining Syntax for ARC and ARC3 Motion Commonalities All require some form of geometry as a target In common use, these are defined as stored point targets either as P#’s or point labels. Defining Points: If known apriori (though IKS’ing Robot Maps) They can be directly entered into the robot point tables Defining Points Points can also be defined using the Teach and Jog Mode in the Teach Pendent As seen earlier, when connected, we can use the Robot Manager tool to jog the robot about and define point geometry as well. If points are already defined, the jog & teach tab of manager also allow the user to ‘drive’ the robot among and around points using the various motion types Defining a New Project Epson RC 5.0+ uses projects to bundle the various parts of a robot executable program together. It couples Points with Programs and simulations or Vision Tools It includes all of the various main and sub-routines needed to complete tasks Simply click Project Tab – select new and then give project a name and file location. After saving the project a build window (as seen here) is generated Once it is initialized it contains all of the standard files and a main function for our use From here it is mandatory that we do some planning (flow charting) of the desired activity; develop a map of the expected solution identifying relevant points; and finally an I/O map for use with the solution. And only then do we start to build the program and sub-routines, ‘tills’ and ‘traps’ Defining a New Project We pre-define variables names (up to 32 characters in length): Integers (as singles or arrays) Longs (as singles or arrays) Strings (as singles or arrays) & up to 255 characters Booleans (as singles or arrays) Reals (as singles or arrays) Double (as singles or arrays) Byte Global variables that can be used anywhere in program– must be declared outside of functions Diving In: We’ll do it live (– or sorta live) Taking Baby Steps!