07-EASY-ROB-Chapter-05

40
R O B O T P R O G R M M I N G A N D S I M U L A T I O N V-1 Robot Programming and Simulation 5 EASY-ROB™ provides the programming language for Robot Simulation. This Chapter will introduce you about the ERPL (EASY-ROB™ Programming Language) and ERCL (EASY- ROB™ Command Language). The Chapter will also introduce you to creating the Program robot with Tech Window as well as the Robot motion commands (LIN, CIRC, PTP), the Robot Control Commands (Speed CP, Speed PTP), and modifying the Robots Attributes. Teach Window provides you with the User- friendly environment for programming the Robot simulation, and doesn’t require special knowledge about ERPL. With Teach Window you can make the robot program for any kind of simulation and environment. Enabling the Collision and Dynamics your simulation will become powerful with high quality of visual effects. You can store and reuse all commands as well as the program. Running the Robot Program When you load the cell file you can run the Robot program immediately by pressing the RUN button of the Toolbar or choosing: Simulate->Program’s-> Run Program You can stop the program by pressing the button, or abort the animation pressing the button. You can set the program to stop on each next command by pressing the button. Looping the program execution by the button. Decreasing and increasing the step size can be achieved by the button

Transcript of 07-EASY-ROB-Chapter-05

Page 1: 07-EASY-ROB-Chapter-05

R O B O T P R O G R M M I N G A N D S I M U L A T I O N

V-1

Robot Programming andSimulation 5

EASY-ROB™ provides the programming language for RobotSimulation. This Chapter will introduce you about the ERPL(EASY-ROB™ Programming Language) and ERCL (EASY-ROB™ Command Language). The Chapter will also introduceyou to creating the Program robot with Tech Window as well asthe Robot motion commands (LIN, CIRC, PTP), the RobotControl Commands (Speed CP, Speed PTP), and modifying theRobots Attributes. Teach Window provides you with the User-friendly environment for programming the Robot simulation, anddoesn’t require special knowledge about ERPL. With TeachWindow you can make the robot program for any kind ofsimulation and environment. Enabling the Collision andDynamics your simulation will become powerful with highquality of visual effects. You can store and reuse all commandsas well as the program.

Running the Robot Program

When you load the cell file you can run the Robot programimmediately by pressing the RUN button of the Toolbar orchoosing:

Simulate->Program’s-> Run Program

You can stop the program by pressing the button, or abort

the animation pressing the button. You can set the program

to stop on each next command by pressing the button.

Looping the program execution by the button. Decreasing

and increasing the step size can be achieved by the button

Page 2: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-2

and button respectively. You can activate all mentionedcommands via menu Simulate - > Program’s.

Note: While a program is running you cannot activate somecommands. For example while animation is running, youcannot load another cell file etc.

Teach Window

The easy way for creating or modifying existing program is bythe Teach Window. You can open the Teach Window by:Robotics->Robot Program->Teach Window, or byclicking the TW button in the On/Off Toolbar. The TeachWindow opens the existing loaded program. Otherwise itcreates the new default program file. The picture bellow showsthe Teach Window in Action.

Page 3: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-3

Buttons in the first line of window are for manipulating theprogram file. You can reload the program by pressing the

Reload button. The next button is . This buttonopens the program file with Notepad (preferred editor), which

you can edit directly. button allows you to create thenew program file. Save As and Save are the standard windowcommands for storing data in a file.

The Table below describes first group of the Teach Windowbuttons.

Button Description

Reload current program into Teach Window

Opens the Robot program with Notepad (or yourpreferred editor)

Creates the new Robot program

Saves the existing program with different name.

Overwrites/saves loaded program file.

Allows you to open the existing robot program.

Closes the Teach Window.

Starts EASY-ROB™ Online Help

Allows you to rewrite the next line in the programwith the current selected line of program.Executes the selected line in the program

Indicators for current selected line.

Inserts the Line in the program.

Cuts the line of the program.

Undo the cut.

Copy the line from the program.

Paste the line in the program.

Page 4: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-4

Modifies the selected line.

Note: If there is * (hash) in the button, after thenumber of a current line, this means that the current line hasbeen modified.

The table bellow describes the second set of commands of theTeach Window.

Button Description

Allows you to specify the new position andorientation for the Base frame.Note:The goal of all BASE commands is to shiftprogram commands. The BASE command isalways related to the robots base. (see also ERCBASE ...) i.e. All following motion commands aretransformed by the current base frame.

Moves the Robot to its zero position.

Moves the robot to target location with PTP type ofmotion.

Moves the robot to target location with LIN type ofmotion.Sets the Via point for CIRC motion type.

Moves the robot to target location with the CIRCtype of motion.Moves the robot to current tag location with PTPtype of motion.

Moves the robot to current tag location with LINtype of motion.Sets the Via point for CIRC type of motion to thecurrent tag.Moves the robot to current tag location with CIRCtype of motion.

Page 5: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-5

Program Commands ERPL

ERPL is syntax for EASY-ROB™ Programming Language. WithERPL you can set various robots and simulation parameters.ERPL can be divided in:

• Robot Motion Commands• Robot Control Commands

Robot Motion Commands

Robot Motion commands handle with the motion of the loaded

robot. You can open these commands by pressing the button. The picture bellow shows the Motion commands.

The Table bellow shows all available motion commands and itsdescriptions.

Button Description

Determines the position of each robot jointwith respect to the zero position of theappropriate joint.

Determines the position of each robot joint

Motion commands Windowcontains the buttons thatenable you to easily enterthe motion command in theRobot program.

Page 6: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-6

with respect to the current joint position ofthe appropriate joint.Moves the Robot to specified locationrelative to the current position andorientation of the TCP tool frame in PTPtype of motion.Moves the Robot to specified locationrelative to the current position andorientation of the TCP tool frame in the LINtype of motion.Sets the Via point for CIRC motion type.The point is relative to the current location ofthe TCP tool frame.

Moves the Robot to specified locationrelative to the current position andorientation of the TCP tool frame in CIRCtype of motion.

Sets the relative base coordinate frame.Note:BASE_REL will shift the current base frameby the relative location values givin bydX, ,dA related to the current base frame.

Allows you to specify the new position andorientation for the Program Base frame.Note:The BASE_PRG command operates withrespect to the current base frame. The finalreference for all motion and positioncommands with respect to the robots baseis calculated as:T_base_final = T_base_prg * T_base(T - homogeneous 4x4 matrix)

Sets the relative program base coordinateframe.Note:The BASE_PRG_REL works semilar to theBASE_REL command. i.e. the currentprogram base frame is shifted by the relativelocation values dX, ..., dA

Page 7: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-7

Moves the robot to current tag location withTag motion type. Is the Tag motion type notspecified (Def) the robot moves with thecurrent motion type to this tag location.Syntax: MOVE tagname

Moves the robot to current tag location withPTP type of motion.Moves the robot to current tag location withLIN type of motion.

Sets the Via point for CIRC type of motion tothe current tag.

Moves the robot to the current tag locationwith CIRC type of motion.Closes the Window Motion Commands

Robot Control Commands

Robot Control commands handle the general settings of therobot simulation. Control Commands includes: controls thespeed PTP, CIRC, LIN and CIRC orientation etc. You can open

these commands via Tech Window by pressing the button. The picture bellow shows the Window ControlCommands.

The table bellow describes the all available Control Commands.

The control commands alsoinclude the command forcalling the defined function oranother program file.

Page 8: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-8

Button Description

Sets the program override.

Sets wait time in seconds.

Sets the PTP Speed [deg/sec]

Sets the CP speed in [m/sec]

Sets the LIN orientation.

Sets the CIRC orientation.

Sets the location of the tool frame.

Sets the robot configuration.

Calls the defined function.

Sets the name of defined function.

Calls the program files.

Closes the window Control Commands

Note: The LIN and CIRC orientation can be determined on theseveral ways. The picture bellow shows the Orientation DialogBox.

Teach Window EASY-ROB™ Commands - ERCL

ERC Window contains the commands of EASY-ROB™ that youcan include in the Robot program. The ERC Window can be

The six orientationsare available in EASY-ROB™ for CIRC andLIN type of motion.

Page 9: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-9

opened by pressing the button in the Teach Window.The picture bellow shows the ERC Window.

Buttons ERC [] ON and ERC [] OFF enables or disables EASY-ROB™ commands.

The picture bellow shows the Dialog Box for enabling the ERC.The same situation is for disabling the EASY-ROB™commands.

EASY-ROB™ commandsare grouped in the buttons.

If you want to enableor disable specificcommands press theappropriate button.Dialog Box appears.Choose commandwith the mouse andpress the Ok button.

Page 10: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-10

The ERC LOAD [] loads the EASY-ROB robotics files: Tool,Body, Robot, Tags, View and Environment files. After choosingthe appropriate Item, File Dialog Box appears.For more information about files in EASY-ROB™ see theChapter 3 “EASY-ROB™ Files”.

The ERC VIEW [] stets the parameters for the Render Scene.The Picture bellow shows the ERC VIEW [] Dialog Box.

You can set theview by choosingthe 11 Items inthe Dialog Box.The First itemallows you to loadthe view file.Item 2 sets theView step, etc.For moreinformation aboutthe View of theRender Scenesee the Chapter 4“User Panel”

Page 11: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-11

The Tables bellow shows the buttons and its descriptions.

Button Description

Interrupts the Simulation.

Sets the units to [m], [mm], [inch], [deg], [rad]

Sets the zero position for the Robot Joints.

Stores the current position of Joints.

Renders all objects in the Render scene in Wireframe.Renders all objects in the Render scene in Flat.

Stets simulation step size in seconds.

Sets the Controller for motion planer step size inseconds.Sets the Controller step size.

Sets the system step size.

Set the Lead-time for IPO.

Set the Lag-time for IPO.

Attaches the specified robot body to another jointor axis- Sets the Base frame to the Frame of the body.- Sets the Base frame in TCP Tool frame.Grabs the specified body. After enabling thecommand specified body will be moving as theRobot is moved.

Releases the grabbed body.

Moves the selected body in the specified location.

Renders the selected object in the Render scenein the EASY-ROB available type of model.Manipulates with the list. You can create the newlist, add, delete, and remove the list.Changes the color selected object (robot, tool,body, etc)

Page 12: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-12

Numerical solutions.

Software Limit values for joints.

With Teach Window you can execute a single command.

By pressing the button. EASY-ROB executes theselected command in the Teach Window.

With the button you can view the current motioncommand in action.

The button shows you the quick descriptions of theTeach Window commands.

Creating the new program by using the Teach Window

This topic will introduce you about creating the new program bythe Teach Window.

Loading the robot file

When you make the new program robot it is recommended thatyou load the Robot file instead of Cell file. Loading the cell fileyou must rewrite the existing program file. When you load therobot file you are sure that existing program file for the robotdoesn’t exist.

From the file Menu choose:• Load-> Robot File• Select the file

C:\...\Easy-Rob\Lib\Robots\Other\Amtec.rob

• From the On/Off Toolbar choose the Tag Window

Page 13: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-13

By opening the Teach Window a new program file is created .The picture bellow shows the loaded Robot.

Entering the command for motion

TCP location: X = 0.3807, Y = -0.0656, Z = 0.5073,Rx = -26.6982°, Ry = 121.6266°, Rz = 20.2575°

Joint Values: Ax1 = -7.9765°, Ax2 = 5.7091°, Ax3 = 66.077°,Ax4 = -9.1024°, Ax5 = 46.716°, Ax6 = -0.5164°

Pressing the PTP button ortyping the PTP andcoordinates for a location youcan specify the motioncommand for the robot. If youpress the PTP button theTeach Window takes thecurrent position andorientation of the loadedrobot.

Page 14: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-14

• Press the PTP button• Double click on the new line and enter the following

values

0.4160 -0.2098 0.3821 -0.0000 94.9999 0.0001

• Press the button to accept the changes• Press the LIN button• Double click on the new line and enter the following

values

0.1337 -0.2098 0.3821 -0.0002 94.9998 0.0002

• Press the button to accept the changes• Press the button Save and type the name of the

program file.• Press the Run button from the Simulate Toolbar.

Loaded robot will be moved to the specified positions.

Enabling the On / Off ERC

EASY-ROB™ allows you to enter the ERC in the program file.The following example demonstrates the procedure for enablingthe Robot Trace.

• In the opened Teach Window double click on the firstentered line:

PTP 0.4160 -0.2098 0.3821 -0.0000 94.9999 0.0001

• Press on the button.

• In the new Window press on the button.• Dialog Box appears.• Select the first option and choose the Ok button.• Close the ERC Window• Press the Save button

Page 15: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-15

• Pres the Run button from the Simulate Toolbar.

The picture below shows the result of the program.

Change the Robot Attributes

Robot attributes allow you to manipulate with the main Robotproperties. While running Robot program EASY-ROB calculatesthe new position with the robot attributes. The picture bellowshows the main Dialog Box for setting the Robot attributes.From the Robotics menu choose the Kinematics or Dynamicssubmenu and click on the Robot Attributes option.

First, the Robot movedwith PTP motion typeand it returned to thesame position with theLIN type of motion.ERC TRACK ON –command enables theTrace of the Robot,which you can see onthe Picture.

The Dialog Boxcontains 10 Attributes.You can change theappropriated Item bydouble clicking on it.You can also choosethe Item by clicking onthe Item and choosingthe Ok Button.

Page 16: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-16

With the Robot Name attribute you can change the Name ofthe Robot. By choosing the Item, Dialog box appears.

Robot Homeposition allows you to change the Zero position ofeach joint of the Robot. By choosing the Item, Message Boxappears.

By choosing Yes, the home position (Zero position) is set for thecurrent position of the Robot. If you answered No, Dialog boxappears.

Double click on the Item forgetting the Focus. Enter theNew name and chose theOk button.

The Message Boxallows you to specifythe Home position forthe current positionof the Robot.

Page 17: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-17

Robot SW neg. Travel range sets the Robot Joint negativeTravel Range. The picture bellow shows the SW dialog Box.

Robot SW pos. Travel range sets the Robot Joint positiveTravel Range. The picture bellow shows the SW dialog Box.

Double click on the Itemfor getting the Focus andenter the new homeposition for the Joint.

Set the Software/Limitnegative Travel rangefor Stop On command.Stop On with SWEstops the Robot joggingwhen the negative travelrange is exceeded.

Set theSoftware/Limitpositive Travel rangefor Stop Oncommand.Stop On with SWEstops the Robotjogging when thepositive travel rangeis exceeded.

Page 18: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-18

Robot Joint offset specifies the offset for each Robot joints.The Picture bellow shows the Robot Joint offset Dialog Box.

Robot Joint Singul. Tol. specifies the Singularity Tolerance forCartesian in meters and Robot in deg or meters.

The picture bellow shows the Dialog Box.

Double click on the Itemfor getting the Focus.Enter new offset value forselected joint and clickthe Ok button.

Specify the Singularitytolerance and click theOk button.

Page 19: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-19

Robot Joint Speed allows you to specify the speed of the eachloaded Robots Joint. Depending on the type of Joint you canspecify the speed in meters per second or degrees per second.The picture shows the Dialog Box for speed.

Robot Joint Accels. allows you to specify the Acceleration ofthe each loaded Robots Joint. Depending on the type of theJoint you can specify the acceleration in [m/s2] or [deg/s2]. Thepicture shows the Dialog Box for accelerations.

Set the speed forthe each joint andpress the Okbutton.

Set theAcceleration forthe each jointand press the Okbutton.

Page 20: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-20

Robot Joint Torques allows you to specify the Torques foreach Robot Joint. The picture bellow shows the Dialog Box forspecifying the Joint Torques.

Set the torquesfor the eachjoint and pressthe Ok button.

Page 21: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-21

ERPL - EASY-ROB™ Program Language

The below table gives an overview about the EASY-ROBprogram structure and available robot motion commands.

Principle syntax definition:

• Units (length) are meter [m], degree [deg] or percentage [%]• Speed units are in length unit per seconds e.g. [m/s]• A cartesian pose consists of a position with X, Y and Z

values and an orientation with A, B and C angles.The Orientation definition for ABC angles is:Rot (A,B,C) = Rot(X,A) * Rot(Y,B) * Rot(Z,C)

• A Tagname is for example ’T_1’. To use a tagname with amotion command, the Tag must exist in the workcell.

General Program Structure

Command and Syntax Description

PROGRAMFILE Begin of ProgramExecuting this command assingle step command will resetsome status data, such asBASE, BASE_PRG, etc.

ENDPROGRAMFILE orEND

End of ProgramProgram executing stops

CALL fct_name Internal Function Callfct_name() - name of functionNote: The function must exist

in the current programfile

CALL FILE filename External Function Callfilename - name of program

fileNote: The program file must

have the same structureas the ’main’ program.

Page 22: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-22

FCT fct_name() Begin function definitionfct_name() - name of function

ENDFCT end of function

! some text and comments The ’!’ sign will comment outthe complete command line

Robot Motion Commands

Command and Syntax Description

! some text and comments The ’!’ sign will comment outthe complete command line

OV_PRO x [%] Programmable Overridex - percentage value

SPEED_CP dx dxe[m/s] Speed for continuous pathmotiondx - cartesian speed[dxe] - cart. speed at target

SPEED_PTP v ve[m,deg] Speed for PTP motionv - joint speed[ve] - joint speed at target

CONFIG n [] Robot Configurationn - config number

TOOL X Y Z A B C [m,deg] Tool data from tip to TCPXYZ - PositionABC - Orientation

TOOL tagname Tool data from tip to TCPtagname - name of Tag

EXT_TCP X Y Z A B C [m,deg] Extern TCPXYZ - PositionABC - Orientation

EXT_TCP tagname Extern TCPtagname - name of Tag

BASE X Y Z A B C [m,deg] Shift Targets by BASE frameThe goal of all BASEcommands is to shift programcommands. The BASEcommand is always with

Page 23: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-23

respect to the robots base.(see also ERC BASE ...)i.e. All following motioncommands are transformed bythe current base frame.XYZ - PositionABC - OrientationNote: see alsoERC BASE BODY bodynameERC BASE TCP

BASE tagname Program BASEtagname - name of Tag

BASE_REL dX dY dZ dA dBdC [m,deg]

Relative Program BASEShift the current base frame bythe relative locationdXdYdZ - delte PositiondAdBdC - delta Orientation

BASE_PRG X Y Z A B C[m,deg]

The BASE_PRG commandoperates with respect to thecurrent BASE frame.The final reference for allmotion and positioncommands with respect to therobots base is calculated as:T_base_final = T_base_prg *T_base(T - homogeneous 4x4 matrix)XYZ - PositionABC - Orientation

BASE_PRG_REL dX dY dZdA dB dC [m,deg]

Relative Program BASE_PRGdXdYdZ - delte PositiondAdBdC - delta Orientation

HOME n [] Homepositionn - number of homepos.

PTP X Y Z A B C [m,deg] Synchro PTPXYZ - PositionABC - Orientation

PTP_REL dX dY dZ dA dB dC[m,deg]

Relative Synchro PTPdXdYdZ - delte PositiondAdBdC - delta Orientation

Page 24: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-24

PTP tagname Synchro PTPtagname - name of Tag

PTP_AX q1 .. qn [m,deg] Joint specific Synchro PTPq1..qn - target Joint/Axis

PTP_AX_REL dq1 .. dqn[m,deg]

Relative joint specific Synchro PTPdq1..dqn - delta Joint/Axis

LIN X Y Z A B C [m,deg] Linear CP motionXYZ - PositionABC - Orientation

LIN_REL dX dY dZ dA dB dC[m,deg]

Relative Linear CP motiondXdYdZ - delte PositiondAdBdC - delta Orientation

LIN TagName Linear CP motiontagname - name of Tag

LIN_ORI ori_type Orientation Interpolation typefor Linear CP motionori_type -

VARIABLE, FIX,TANGENTIAL, AUX,VARIABLE2,QUATERNION

MOVE TagNames[]MOVE TagIdx[]

Moves to one or moreTagpoints in tag motion type.Example: Path with 4 tagpoints { T1, T2, T3, T4},T1 has PTP motypeT2 has LIN motypeT3 has CIRC motypeT4 has VIA motypeMOVE T1 T4 T3 T2moves to T1 in ptp, to T3 incirc via T4 and to T2 in linmotion type.Using Tagindex,MOVE 1 4 3 2causes the same motion.

CIRC X Y Z A B C [X2 Y2 Z2][m,deg]

Circular CP motionXYZ - Position

Page 25: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-25

ABC - Orientation[X2 Y2 Z2] - Via Point Pose

CIRC_REL dX dY dZ dA dBdC [dX2 dY2 dZ2] [m,deg]

Relative Circular CP motiondXdYdZ - delte PositiondAdBdC - delta Orientation[dX2 dY2 dZ2] - delta Via Point

PoseCIRC TagName [TagName2] Circular CP motion

TagName - name of target Tag[TagName2] - name of via

point Tag poseCIRC_ORI ori_type Orientation Interpolation type

for Circular CP motionori_type -

VARIABLE, FIX,TANGENTIAL, AUX,VARIABLE2,QUATERNION

VIA_POS X Y Z A B C[m,deg]

Via Position for Circular CPmotionXYZ - PositionABC - Orientation

VIA_POS_REL dX dY dZ dAdB dC [m,deg]

Relative Via Position forCircular CP motiondXdYdZ - delte PositiondAdBdC - delta Orientation

VIA_POS TagName Via Position for Circular CPmotionTagName - name of via point

Tag pose

WAIT x [sec] Wait Statementx - time in seconds

Page 26: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-26

ERCL - EASY-ROB™ Command Language

ERCL is an extension of ERPL, to automate all user interaction

Command and Syntax DescriptionERC SET_DEFAULTS Set default values:

Enables the robot, tool andenvironment bodies.

Disbales the robot jointcoorsys.

ERC SIM_STEP x [sec] Set Simulation step sizex - sim. step size

ERC CNTRL_STEP x [sec] Set Controller sample ratex - controller sample rate

ERC SYSTEM_STEP x [sec] Set robot modell sample ratex - modell sample rate

ERC IPO_STEP x [sec] Set Interpolation sample ratex - ipo sample rate

ERC IPO_LEAD_TIME x [sec] Set IPO Lead time, the motionwill start after this time.

x - ipo lead time

ERC IPO_LAG_TIME x [sec] Set IPO Lag time, at the end ofmotion, the robot willrest in that pose for thistime before moving tothe next target pose.

x - ipo lag time

ERCL - ON / OFF Commands

Command and Syntax DescriptionERC TRACK ON,OFF Enables / Disables the

TCP trace

ERC DYNAMICS ON,OFF Enables / Disables

Page 27: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-27

DynamicsERC STOP_SWE ON,OFF Enables / Disables monitoring

of software endswitches

ERC STOP_SPEED ON,OFF Enables / Disables monitoringof joint/axis speed

ERC STOP_ACCEL ON,OFF Enables / Disables monitoringof joint/axis acceleration

ERC COLLISION ON,OFF Enables / Disables monitoringof collision

ERC STOP_COLLISIONON,OFF

Enables / Disables theSTOP motion on collision

ERC ROBOTJOINTS ON,OFFERC ROBOTPOSITIONSON,OFF

Enables / Disables theOnline Robot IO Output

ERC FLOOR ON,OFF Enables / Disables theFloor

ERC FLOOR_RENDERON,OFF

Enables / Disables theflat shaded floor (flat or wire)

ERC EXT_TCP ON,OFF Enables / Disables thebrown colored external TCP

CoorsysERC ORTHOGRAFICON,OFF

Enables / DisablesOrthografic view

ERC DISPLAY_ROBOTON,OFF

Enables / Disables thevisualization of Robot

ERCDISPLAY_ROBOT_COORSYS ON,OFF

Enables / Disables thevisualization of yellow/green

colored Robot Joint/AxisCoorsys

ERC DISPLAY_TOOLON,OFF

Enables / Disables thevisualization of Tool

ERC DISPLAY_BODYSON,OFF

Enables / Disables thevisualization of Bodies /

EnvironmentERC TCP_COORSYSON,OFF

Enables / Disables thevisualization of blue colored

Tool/TCP Coorsys

Page 28: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-28

ERC IPO_COORSYS ON,OFF Enables / Disables thevisualization of red colored

IPO CoorsysERC BASE_COORSYSON/OFF

Enables / Disables thevisualization of green colored

Base CoorsysERCCREATE_TARGET_TAGSON/OFF

Enables / Disables creatingTag at target location

ERCRESET_ALL_POSITIONS_JOINTS ON/OFF

Enables / Disables restting allposiitons and robot joints

ERC NO_DECEL ON/OFF Enables / Disables theSpeed deceleration at target

poseERC GRAFIC_UPDATEON/OFF

Enables / Disables thevisualization of the RenderScene during programExecution.This command is useful to hidebackground command

ERC DISPLAY_TAGSON/OFF

Enables / Disables thevisualization of Tag poses

ERC STATUS_OUTPUTON/OFF [1-at simstep,2-attarget pose] [flnname] [fct# 0-12]

Enables / Disables theStatus Output during programexecution.Using this feature allows youto save the complete simula-tion status in an own definedformat. Typical values arejoint/axis data and alsocartesian TCP location.

Parameter:1st : 1 - save status data

every simstep2 - save status data at target location

2nd : filename, e.g. "out.dat"3rd : Function number

Page 29: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-29

0 - default output1..12 - user definedoutput, see API-DYNstatus_output_user_1()defined in dyn_user.cpp

Example: in folder ./proj/proj/Status_Output.cel andStatus_Output.prg

ERC INTERPOLATIONON/OFF

Disables continousinterpolation, robot jumps totarget location

ERC REALTIME_SIM ON/OFF Realtime Simulation causesprogram execution in realtime.This mode will calculate thesimulation step sizepermanetly.

ERCL - Render Commands

Command and Syntax DescriptionERC RENDER FLAT Sets the complete Render

Scene FLAT shaded,

same as icon ERC RENDER WIRE Sets the complete Render

Scene in WIRE frame,

same as icon ERC RENDER POINT Sets the complete Render

Scene as POINTS,

same as icon

ERC RENDER BBOX ON,OFF Sets the complete RenderScene as Bbox(bounded boxes),

same as icon

ERC RENDER groupbodyname render

Sets/modifies the render of anunique body

group - BODY, ROBOT, TOOL

Page 30: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-30

name - name of bodyrender WIRE, FLAT,

BBOXWIRE,BBOXFLAT,INVISIBLE, POINT

Example:erc render TOOL ’tool’ WIREerc render TOOL ’tool’ FLAT

ERC RENDER group render Sets/modifies the render of allparts in the group

group BODY_GRP,ROBOT_GRP,TOOL_GRP

render WIRE, FLAT,BBOXWIRE,BBOXFLAT,INVISIBLE, POINT

Example:erc render TOOL_GRP WIREerc render TOOL_GRP FLAT

Page 31: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-31

ERCL - Color Commands

Predefined COLOR values

BLUE

GREEN CYAN

RED MAGENTA BROWN

LIGHTGRAY DARKGRAY

LIGHTBLUE LIGHTGREEN

LIGHTCYAN LIGHTRED LIGHTMAGENTA

YELLOW WHITE

Command and Syntax DescriptionERC COLOR group bodynamecolor

Sets/modifies the color of anunique body

group - BODY, ROBOT, TOOLname - name of bodycolor predef. colorExample:erc color TOOL ’tool’ RED

ERC COLOR group color Sets/modifies the color of allparts in the group

Group BODY_GRP,ROBOT_GRP,TOOL_GRP

color predef. colorExample:

Page 32: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-32

erc color TOOL_GRP REDERC COLOR track color Sets/modifies the color the

robotsTCP tracetrack TRACK, TRACK_DYNcolor predef. colorExample:erc color TRACK REDerc color TRACK -1,

for alternating colorERC COLOR TAG color Sets the predefined TAG color

color predef. colorNote: When creating a new

Tag, the tag will havethis color

ERCL - Reset and Save Commands

Command and Syntax DescriptionERC RESET JOINTPOSITION Reset the joint/axis positionERC SAVE JOINTPOSITION Saves the joint/axis position

ERCL - Load Commands

This feature gives the user the ability to load a file, e.g. a robottool or a view file during program execution.

Command and Syntax DescriptionERC LOAD TOOL filename Loads a Tool file (*.tol)ERC LOAD VIEW filename Loads a View file (*.vie)

Note: The Render Sceneinterpolates to the newview with the number of’view steps’ERC VIEW steps n

Page 33: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-33

ERC LOAD ROBOT filename Loads a Robot file (*.rob)ERC LOAD BODY filename Loads a Body file (*.bod)

ERC LOAD TAGS filename Loads a Tag file (*.tag)ERC LOAD ENVIRONMENT[filename]

Loads an Environment file(*.env)

ERCL - Move Commands

Command and Syntax DescriptionERC MOVE BODY bodynameXYZ ABC [m,deg]

Moves a unique part from theBODY group to a newlocation

Bodyname - name of bodyXYZ - Position.ABC - Orientation

ERC MOVE BODY bodynameTagName

Moves a unique part from theBODY group to a newtag point pose.

Bodyname - name of bodyTagName - name of Tag

ERC MOVE TOOL bodynameXYZ ABC [m,deg]

Moves a unique part from theTOOL group to a newlocation.

Bodyname - name of bodyXYZ - PositionABC - Orientation

ERC MOVE TOOL bodynameTagName

Moves a unique part from theTOOL group to a newtag point pose.

Bodyname - name of bodyTagName - name of Tag

ERC MOVE ROBOTbodyname XYZ ABC [m,deg]

Moves a unique part from theROBOT group to anew location.

Bodyname - name of bodyXYZ - PositionABC - Orientation

ERC MOVE ROBOT Moves a unique part from the

Page 34: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-34

bodyname TagName ROBOT group to anew tag point pose.

Bodyname - name of bodyTagName - name of Tag

ERC MOVE_REL BODYbodyname dXdYdZ dAdBdC[m,deg]

Relative movement of a uniquepart from the BODYgroup.

bodyname - name of bodydXdYdZ - delta Position.dAdBdC - delta Orientation

ERC MOVE_REL TOOLbodyname dXdYdZ dAdBdC[m,deg]

Relative movement of a uniquepart from the TOOLgroup.

bodyname - name of bodydXdYdZ - delta Position.dAdBdC - delta Orientation

ERC MOVE_REL ROBOTbodyname dXdYdZ dAdBdC[m,deg]

Relative movement of a uniquepart from the ROBOTgroup.

bodyname - name of bodydXdYdZ - delta Position.dAdBdC - delta Orientation

ERC MOVE_REL BODY_GRPbodyname dXdYdZ dAdBdC[m,deg]

Relative movement of thecomplete BODY goup,with respect to thereference body.

bodyname - name of referencebody

dXdYdZ - delta Position.dAdBdC - delta Orientation

ERC MOVE_REL TOOL_GRPbodyname dXdYdZ dAdBdC[m,deg]

Relative movement of thecomplete TOOL goup,with respect to thereference body.

bodyname - name of referencebody

dXdYdZ - delta Position.dAdBdC - delta Orientation

ERC MOVE_RELROBOT_GRP bodyname

Relative movement of thecomplete ROBOT

Page 35: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-35

dXdYdZ dAdBdC [m,deg] goup, with respect tothe reference body.

bodyname - name of referencebody

dXdYdZ - delta Position.dAdBdC - delta Orientation

ERC MOVE_REL LISTlistname dXdYdZ dAdBdC[m,deg]

Relative movement of all partsdefined in a LIST

listname - name of ListdXdYdZ - delta Position.dAdBdC - delta Orientation

ERCL - Grab and Release Commands

Command and Syntax DescriptionERC GRAB BODY’bodyname’

Grab a bodyBodyname - name of body

ERC GRAB BODY_GRP Grab all parts in the BODY_GRP

ERC RELEASE BODY’bodyname’

Release a bodyBodyname - name of body

ERC RELEASE BODY_GRP Release all parts in the BODY_GRP

ERCL - Manipulate the Robot Base

Command and Syntax DescriptionERC ROBOT_BASE XYZ ABC[m,deg]

Move the robot base to a newlocation.

XYZ - PositionABC - Orientation

ERC ROBOT_BASE tagname Move the robot base to a newTag location.

Tagname - name of TAG

ERC ROBOT_BASE_REL Relative movement of the

Page 36: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-36

XYZ ABC [m,deg] robot base.DXdYdZ - delta Position.DAdBdC - delta Orientation

ERCL - TAG Commands

Command and Syntax DescriptionERCCREATE_TARGET_TAGSON/OFF

Enables / Disables creatingTag at target location.

ERC TAGS PREFIXprefixname

Sets the Prefix for TagsPrefixname - name of prefixNote: When creating a new

Tag, the tag will havethis prefixname

ERC TAGS DELETE tagname Delete a Tag pose from therender scene

Tagname - name of TagERC TAGS DELETE ALL Delete all tags from the render

Scene

ERCL - View Commands

Command and Syntax DescriptionERC VIEW steps n Sets the number of view steps,

important when loadinf a (*.vie)file

ERC VIEW hither x Sets value for the hither plane

ERC VIEW yonder x Sets value for the yonderPlane

ERC VIEW zoom x Zoom the render scene by thevalue x

ERC VIEW zoom_in x Zoom In the render scene bythe value x

Page 37: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-37

ERC VIEW zoom_out x Zoom Out the render scene bythe value x

ERC VIEW tcp_rot_tcp ABC Rotate the render scene aboutthe current robots TCP withrespect to the TCP orientationABC - relative Rotations

ERC VIEW tcp_rot_world ABC Rotate the render scene about the current robots TCP withrespect to the World frame orientationABC - relative Rotations

ERC VIEW world_rot_baseABC

Rotate the render scene about the world coorsys frame withrespect to the robot baseframe orientationABC - relative Rotations

ERC VIEW world_rot_worldABC

Rotate the render scene about the world coorsys frame withrespect to the world frameorientationABC - relative Rotations

ERC LOAD VIEW filename Loads a View file (*.vie)Note:The Render Scene interpolates to the new viewwith the number of ’view steps’

ERCL - TCP Trace Commands

Command and Syntax DescriptionERC TRACK_TYPE type [size] Sets the trace type and style

type POINTLINELINE_Z_DIRECTION,Z_DIRECTIONX_DIRECTIONY_DIRECTION

Page 38: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-38

[size] length of directionExamples:erc track_type lineerc track_type line_z_direction

0.2erc track_type line_z_direction

-0.2

ERC TRACK ON,OFF Enables / Disables theTCP trace

ERC COLOR track color Sets/modifies the color therobotsTCP tracetrack TRACK, TRACK_DYNcolor predef. colorExample:erc color TRACK REDerc color TRACK -1,

for alternating color

ERCL - Additional Commands

Command and Syntax DescriptionERC STOP Stops program execution

ERC ESSI ON,OFF [speedscale value] [size scale value]

Enables / Disables theInterpetation of ESSI NC-CodeOptional parameterSpeed scale value

will scale theprogrammed speed.

Size scale valuewill scale the targetlocation (programscale)

Note: This feature requires alicensed NC-Option

ERC EIA ON,OFF [speedscale value] [size scale value]

Enables / Disables theInterpetation of EIA NC-Code,

DIN 66025Optional parameter

Page 39: 07-EASY-ROB-Chapter-05

R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-39

Speed scale valuewill scale theprogrammed speed.

Size scale valuewill scale the targetlocation (program scale)

Note: This feature requires alicensed NC-Option

ERC BASE BODY bodyname Sets the BASE to thebodyname

ERC BASE TCP Sets the BASE to the currentrobots TCP

ERC SWE_NEG swe1 ... swennegative software endswitches[m,deg]

Sets the negative travel rangevalues.

The number of values shouldcoincide with the number ofjoints/axis

ERC SWE_POS swe1 ... swenpositive software endswitches[m,deg]

Sets the positive travel rangevalues.

The number of values shouldcoincide with the number of

joints/axisERC JOINT_WEIGHT 0 or 1for number of joints

Sets the joint_weight vector, toinfluence the result ofthe numerical solution

The number of values shouldcoincide with the number of

joints/axisERC MASK_VECTOR [0,1] forX Y Z A B C

Sets the mask vector, toinfluence the result ofthe numerical solution

Page 40: 07-EASY-ROB-Chapter-05

5 R O B O T P R O G R A M M I N G A N D S I M U L A T I O N

V-40