ERPL-/ ERCL - Program Language: Easy - ROB™ V6.0
ERPL-/ ERCL - Program Language: Easy - ROB™ V6.0
EASY-ROB™ V6.0
MAR 2012
Version 2.5
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
The right is reserved to make technical changes and improvements 2/31
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
EASY-ROB™
Table of contents
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
The right is reserved to make technical changes and improvements 4/31
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
EASY-ROB™
ERPL - EASY-ROB Program Language
The below table gives an overview about the EASY-ROB program structure and available robot motion
commands.
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
Robot Motion Commands
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
Command and Syntax Description
CONFIG n Robot Configuration
n - configuration number
TOOL X Y Z A B C [m,deg] Tool data from tip to TCP
XYZ - Position
ABC - Orientation
TOOL tagname Tool data from tip to TCP
tagname - name of Tag
TOOL DEVICE robname Sets the TCP for the current Robot to the TCP data of the robot
‘robname’. This command is useful after another robot is grabbed.
TOOL toolname Sets the tool / the TCP to the tool with name ‚toolname’
TOOL DEVICE Sets the TCP for the current Robot to the tool data of the tool ‚toolname’ of
tool_dev_name toolname the selected devices ‘tool_dev_name’. This command is useful after
another robot is grabbed
EXT_TCP X Y Z A B C [m,deg] Extern TCP
XYZ - Position
ABC - Orientation
EXT_TCP tagname Extern TCP
tagname - name of Tag
BASE X Y Z A B C [m,deg] Shift Targets by BASE frame
The goal of all BASE commands is to shift program commands. The
BASE command is always with respect to the robots base. (see also ERC
BASE ...)
i.e. All following motion commands are transformed by the current base
frame.
XYZ - Position
ABC - Orientation
Note: see also
ERC BASE BODY bodyname
ERC BASE TCP
BASE tagname Program BASE
tagname - name of Tag
BASE_REL dX dY dZ dA dB Relative Program BASE
dC [m,deg] Shift the current base frame by the relative location
dXdYdZ - delta Position, dAdBdC - delta Orientation
BASE_PRG X Y Z A B C The BASE_PRG command operates with respect to the current BASE
[m,deg] frame.
The final reference for all motion and position commands with respect to
the robots base is calculated as:
T_base_final = T_base_prg * T_base
(T - homogeneous 4x4 matrix)
XYZ – Position, ABC - Orientation
BASE_PRG_REL dX dY dZ Relative Program BASE_PRG
dA dB dC [m,deg] dXdYdZ - delta Position, dAdBdC - delta Orientation
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
LEADING_POSITION x Leading Position for continuous path motion
ON - Position has priority, keeps speed on a path
OFF - Orientation has priority
VAR - slowest profile has priority
LEADING_ORIENTATION x Leading Orientation for continuous path motion
(Opposite form LEADING_POSITION)
ON - Orientation has priority
OFF - Position has priority, keeps speed on a path
VAR - slowest profile has priority
HOME n Home position
n - number of home position
HOME homepositionname Home position
homepositionname - name of home position
HOME $NAME_N Homeposition
$NAME_N Name of the home position defined by the command
ERC SET_PARAMETER $NAME_1 ‘name’
SLEW X Y Z A B C [m,deg] SLEW (PTP), each Joint reaches its target at different time
[Extax1 Extax2 …] XYZ – Position, ABC – Orientation, Extax – external axis values
SLEW _REL dX dY dZ dA dB Relative SLEW
dC [m,deg] dXdYdZ - delta Position, dAdBdC - delta Orientation
SLEW tagname SLEW (PTP), each Joint reaches its target at different time
tagname - name of Tag
SLEW _AX q1 .. qn [m,deg] Joint specific SLEW
q1..qn - target Joint/Axis
SLEW _AX_REL dq1..dqn Relative Joint specific SLEW
[m,deg] dq1..dqn - delta Joint/Axis
PTP X Y Z A B C [m,deg] Full-Synchro PTP
[Extax1 Extax2 …] XYZ – Position, ABC – Orientation, Extax – external axis values
PTP_REL dX dY dZ dA dB dC Relative Full-Synchro PTP
[m,deg] dXdYdZ - delta Position, dAdBdC - delta Orientation
PTP tagname Full-Synchro PTP
tagname - name of Tag
PTP_AX q1 .. qn [m,deg] Joint specific Full-Synchro PTP
q1..qn - target Joint/Axis
PTP_AX_REL dq1..dqn Relative Joint specific Full-Synchro PTP
[m,deg] dq1..dqn - delta Joint/Axis
LIN X Y Z A B C [m,deg] ] Linear CP motion
[Extax1 Extax2 …] XYZ – Position, ABC – Orientation
Extax - external axis values
LIN_REL dX dY dZ dA dB dC Relative Linear CP motion
[m,deg] dXdYdZ - delta Position, dAdBdC - delta Orientation
LIN TagName Linear CP motion
Tag name - name of Tag
LIN_ORI ori_type Orientation Interpolation type for Linear CP motion
ori_type -
VARIABLE, FIX, TANGENTIAL, AUX, VARIABLE2, QUATERNION
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
MOVE TagNames[] Moves to one or more Tagpoints in tag motion type.
MOVE TagIdx[] Example: Path with 4 tag points { T1, T2, T3, T4},
T1 has PTP motype
T2 has LIN motype
T3 has CIRC motype
T4 has VIA motype
MOVE T1 T4 T3 T2
moves to T1 in ptp, to T3 in circ via T4 and to T2 in lin motion type.
Using Tagindex,
MOVE 1 4 3 2 causes the same motion.
Along path TagNameStrt Move along a path
TagNameEnd path : Path name to move along
TagNameStrt - first Tag to move to
TagNameEnd - last Tag to move to
TagNameStrt, TagNameEnd are identified by names “T_1” or by Idx
Examples:
along path01 T_1 T_5, moves from Tag “T_1” to “T_5”
along path01 T_1 -1, moves from Tag “T_1” to last Tag in cPath
nd th
along path01 2 6, moves from 2 Tag to 6 Tag in Path “path01”
Note: The motion type, speeds, etc. depending on Tag attributes when
”ERC USE_TAG_ATTRIBUTES ON” is set.
CIRC X Y Z A B C [X2 Y2 Z2] Circular CP motion
[m,deg] XYZ – Position, ABC - Orientation
[X2 Y2 Z2] – Via Point Pose
CIRC_REL dX dY dZ dA dB Relative Circular CP motion
dC [dX2 dY2 dZ2] [m,deg] dXdYdZ - delta Position, dAdBdC - delta Orientation
[dX2 dY2 dZ2] - delta Via Point position
CIRC tagname [TagName2] Circular CP motion
tagname - name of target Tag
[tagname2] - name of via point tag position
CIRC_ORI ori_type Orientation Interpolation type
for Circular CP motion
ori_type -
VARIABLE, FIX, TANGENTIAL, AUX, VARIABLE2, QUATERNION
CIRC_ORI_QUAT_IPO Orientation Interpolation type for Circular CP motion
ori_quat_type when CIRC_ORI = QUATERNION
START_VIA_END START_VIA_END – The x axis alignment in the via point determine
[START_END, the orientation interpolation
START_VIAORI_END, START_END – The orientation interpolation is determined by
TANGENTIAL, FIX] the orientation of start and target location.
START_VIAORI_END – During CIRC-Interpolation the via point
orientation in is reached in the via point.
TANGENTIAL – The x axis is guided tangential at the circular
segment
FIX – The orientation is kept unchanged, hereby the
orientation in the target is ignored.
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
VIA_POS X Y Z A B C Via Position for Circular CP motion
[m,deg] XYZ – Position, ABC - Orientation
VIA_POS_REL dX dY dZ dA Relative Via Position for
dB dC [m,deg] Circular CP motion
dXdYdZ - delta Position, dAdBdC - delta Orientation
VIA_POS tagname Via Position for Circular CP motion
tagname - name of via point Tag pose
JUMP_TO X Y Z A B C Jump to target location
[m,deg] XYZ – Position, ABC - Orientation
JUMP_TO tagname Jump to target location
tagname - name of target Tag
JUMP_TO_AX q1 .. qn [m,deg] Jump to target joint axis
q1..qn - target Joint/Axis
WAIT x [sec] Wait Statement
x - time in seconds
ZONE Rounding parameter. The command „Zone = 0“ forces the robot to move
to the exact position
AUTO_ACCEL ON Automatic calculation of acceleration dependent on programmed speed.
[OFF/AX/POS/ORI] AX – Calculation for PTP motions
POS – Calculation for CP motions for Position
ORI – Calculation for CP motions for Orientation
ON – Calculation for PTP, POS and ORI
OFF – Calculation deactivated
ACCSET Acc Ramp Lagging of accelerations. The arguments Acc and Ramp are given in
percentage values in the range 20% to 100%.
Acc – Acceleration and Deceleration as percentage value of normal
values
Ramp – Change of Acceleration and Deceleration as percentage value of
normal values
PTP_CALC_MODE Calculation specification for PTP motion.
SHORTEST_ANGLE [TURN, SHORTEST_ANGLE – shortest angle
MATH, IN_TRAVEL_RANGE, TURN – use TURN parameter
VAR_CONFIG] MATH – mathematical within [-180°,180°]
IN_TRAVEL_RANGE – within valid travel ranges if possible
VAR_CONFIG – variable Configuration, calculation of shortest
angle could result in new configuration.
TURN Turn_Ax1 ... Turn_Axn TURN-Values for each axis Ax1…Axn, for the following PTP or SLEW
Target, if TURN-Intervals are defined
MSG text ‘Text’ will be shown in the program window
NATIVE command The native command can be used 1 by 1 in the post processor API. It has
no effect in the simulation
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
IF, While and Goto Statements
! enter ERPL,ERCL here The condition is a mathematical expression and will be checked for “True”
and “False”. The condition is true when greater zero.
ELSEIF condition2
Example: xx > yy, thus the robot will move to Tag ‘T_1’
! enter ERPL,ERCL here xx=3; yy=1
IF gt(xx,yy)
ELSEIF condition3
LIN T_1
! enter ERPL,ERCL here ELSEIF lt(xx,yy)
LIN T_2
ELSE
ELSEIF eq(xx,yy)
! enter ERPL,ERCL here LIN T_3
ELSE
ENDIF ! enter ERPL,ERCL here
ENDIF
! enter ERPL,ERCL here The condition is a mathematical expression and will be checked for “True”
and “False”. The condition is true when greater zero.
ENDWHILE
Example: The robot will move along path ‘path01’ three times
xx=4; yy=1
WHILE gt(xx,yy)
xx = xx-1
ALONG PATH01 T_1 T_5
ENDWHILE
GOTO LABEL label_name GOTO Statement (to jump to another program line)
Example:
LABEL label_name GOTO LABEL my_label
…
! skip all these program lines
…
LABEL my_label
Tipps:
- use labels only if necessary
- a label can be placed everywhere, but only once in a program file
- never use labels to exit an if-else-endif or a while-endwhile statement
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
Commands for I/O Signals
WAIT_UNTIL_SIGNAL_SET my_signal
! continues when the signal „my_signal“ is set
! will wait as long as the signal „my_signal“ is not set
Das Kommando prüft eine Bedingung auf „True“ und „False“. Dabei ist die
Bedingung ein mathematischer Ausdruck und ist wahr, wenn größer 0.5
WAIT_UNTIL_SIGNAL_UNSET my_signal
! continues when the signal „my_signal“ is not set anymore
! will wait as long as the signal „my_signal“ is set
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
Math Parser Constants
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
Math Parser Functions
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
Triangle Parser Functions
In: alfa, c, a
Out: beta tr_assa (90*RAD, 1, 2) * DEG = 60° = beta
gamma =
tr_assa2 (alfa, c, a) In: alfa, c, a
tr_assa2 (90*RAD, 1, 2) * DEG = 30°= gamma
Out: gamma
angle side side > angle2
b = tr_asss (alfa, c, a)
In: alfa, c, a tr_asss (90*RAD, 1, 2) = 1.732051 = b
2 2
Out: b = sqrt ( 2 -1 )
angle side side > side
b = tr_sass (c, beta, a)
In: c, beta, a tr_sass (1, 60*RAD, 2) = 1.732051 = b
2 2
Out: b = sqrt ( 2 -1 )
side angle side > side
gamma =
tr_sasa (c, beta, a) In: c, beta, a
tr_sasa (1, 60*RAD, 2)*DEG = 30° = gamma
Out: gamma
side angle side > angle
alfa = tr_sssa (a, b, c)
In: a, b, c
tr_sssa (2,sqrt(3),1)*DEG = 90° = alfa
Out: alfa
side side side > angle
4 - angle calculation
gamma =
tr_sasssa In: d, beta, a, b, c
tr_sasssa (1,90*RAD,2,1,3) * DEG = 158.6955°
(d, beta, a, b, c) Out: gamma
= gamma
side angle side side side
beta is between <d,a>
> angle
gamma is between <a,b>
delta = In: d, beta, a, b, c
tr_sasssa2 Out: delta tr_sasssa2 (1,90*RAD,2,1,3)*DEG = 33.55731°
(d, beta, a, b, c)
beta is between <d,a> = delta
side angle side side side
> angle delta is between <b,c>
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
Robot-related Parser Functions
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
la (aJnt , direction) Transformation to next active Joint la(0,1)*m2mm = 0.000000
aJnt – Number active Joint [0..ndof] la(1,1)*m2mm = 0.000000
direction = [1..6] mit 1=x, 5=Ry la(6,5)* DEG = 90.000000
st
Note: aJnt = 0 Rbase to 1 Joint
lp (pJnt , direction) Transformation to next passive Joint lp(1,1)*m2mm = 0.000000
pJnt - Number passive Joint [1..npdof] lp(1,5)* DEG = 0.000000
direction = [1..6] mit 1=x, 5=Ry
lp0 (pJnt , direction) Transformation from last passive Joint lp0(1,1)*m2mm = 0.000000
pJnt - Number passive Joint [1..npdof] lp0(1,5)* DEG = 0.000000
direction = [1..6] mit 1=x, 5=Ry
unittom() Unit-to-Meter unittom() = 0.001000
collision() Return 1 if collision detected, else 0 coll = collision()
sim_time() global simulation time in sec simtime = sim_time()
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
EASY-ROB™
ERCL - EASY-ROB™ Command Language
ERCL is an extension of ERPL, to automate nearly all user interactions inside a robot program. Examples
are: Switch ON/OFF the TCP trace, collision, TCP coorsys, load another view, render bodies to flat, wire or
invisible, set a new color, change the simulation step size or the motion planner step size, move bodies,
define and move body lists, move the robots base, etc.. This feature is useful to create more advanced and
effective simulations
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERC ROBOTJOINTS ON,OFF Enables / Disables the Online Robot IO Output
or
ERC ROBOTPOSITIONS
ON,OFF
ERC FLOOR ON,OFF Enables / Disables the Floor
ERC FLOOR_RENDER Enables / Disables the flat shaded floor (flat or wire)
ON,OFF
ERC EXT_TCP ON,OFF Enables / Disables external TCP mode
ERC BASE_COORSYS Enables / Disables the visualization of green colored Base Coorsys
ON/OFF
ERC Enables / Disables creating Tag at target location
CREATE_TARGET_TAGS
ON/OFF
ERC Enables / Disables resets all positions and robot joints
RESET_ALL_POSITIONS_JOI
NTS ON/OFF
ERC NO_DECEL ON/OFF Enables / Disables the Speed deceleration at target pose
NO_DECEL=ON : will set ZONE=0.1 if ZONE<> 0
NO_DECEL=OFF : will set ZONE=0
ERC GRAFIC_UPDATE Enables / Disables the visualization of the Render Scene during program
ON/OFF Execution.
This command is useful to hide background command
ERC DISPLAY_TAGS Enables / Disables the visualization of Tag poses
ON/OFF
ERC activates / deactivates View Choreography, thus
VIEW_CHOREOGRAPHY “ERC LOAD View …” commands are skipped
ON,OFF
ERC activates / deactivates visualization of the robots joint coorsys for all
DISPLAY_ROBOT_COORSY active and passive joints
S ON, OFF
ERC activates / deactivates visualization of the robots name
DISPLAY_ROBOT_NAME
ON, OFF
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERC STATUS_OUTPUT Enables / Disables the Status Output during program execution. Using
ON/OFF [1-at simstep,2-at this feature allows you to save the complete simulation status in an own
target pose] [flnname] [fct# 0- defined format. Typical values are joint/axis data and also cartesian
12] TCP location.
Parameter:
st
1 : 1 - save status data every simstep
2 - save status data at target location
nd
2 : filename, e.g. "[Link]"
rd
3 : Function number
-1 - default output inside EASY-ROB™ for matlab visualization
0 - default output inside EASY-ROB™
1..12 - user defined output, see example API-DYN
status_output_user_1() defined in file dyn_user.cpp
Example: in folder ./proj/proj/
Status_Output.cel and
Status_Output.prg
ERC INTERPOLATION Disables continuous interpolation, robot jumps to target location
ON/OFF
ERC REALTIME_SIM Real time Simulation causes program execution in real time.
ON/OFF This mode will calculate the simulation step size permanently.
ERC BACKFACES ON/OFF Enables / Disables visualization of back faces
ERC Enables / Disables the use of tag attributes, such as motion type, speed,
USE_TAG_ATTRIBUTES acceleration, etc.
ON/OFF
ERC MSG_WIN ON/OFF Enables / Disables the message window
ERC PRG_WIN ON/OFF Enables / Disables the program window
ERC DISPLAY_CROBOT Enables / Disables the visualization of the current robot
ON,OFF
ERC DISPLAY_CTOOL Enables / Disables the visualization of the current tool
ON,OFF
ERC COLLISION_CROBOT Enables / Disables the collision check of the current robot
ON/OFF
ERC COLLISION_CTOOL Enables / Disables the collision check of the current tool
ON/OFF
ERC Enables / Disables the reference collision check of the current robot
COLLISION_CROBOT_REF
ON/OFF
ERC WORLD_COORSYS Enables / Disables the world coordinate system
ON/OFF
ERC ALL_COORSYS ON/OFF Enables / Disables all coordinate system in the workcell
ERC HISTORY_DEVICE Enables / Disables the recording of data (for one device) for the History-
ON/OFF Diagram
ERC HISTORY_DEVICE Enables / Disables the recording of data (for all devices) for the History-
ALL_ON / ALL_OFF Diagram
ERC HISTORY_OUTPUT StarteStart
ON of History-Diagram recording
/ ALL_ON [flnname] flnname – file name to store the data
ERC HISTORY_OUTPUT OFF Stopps the History-Diagram recording
ERC CELL_INFO_SHOW Enables / Disables the Cell Information line
ON/OFF
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERCL - Render Commands
same as icon
ERC RENDER POINT Sets the complete Render Scene as POINTS,
same as icon
ERC RENDER BBOX ON,OFF Sets the complete Render Scene as Bbox (bounded boxes),
same as icon
ERC RENDER group Sets/modifies the render of an unique body
bodyname render group - BODY, ROBOT, TOOL
name - name of body
render WIRE, FLAT, BBOXWIRE, BBOXFLAT, INVISIBLE, POINT
Example:
erc render TOOL 'tool' WIRE
erc render TOOL 'tool' FLAT
ERC RENDER group render Sets/modifies the render of all parts in the group
group BODY_GRP, ROBOT_GRP, TOOL_GRP
render WIRE, FLAT, BBOXWIRE, BBOXFLAT, INVISIBLE, POINT
Example:
erc render TOOL_GRP WIRE
erc render TOOL_GRP FLAT
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERCL - Color Commands
1 BLUE
2 GREEN
3 CYAN
4 RED
5 MAGENTA
6 BROWN
7 LIGHTGRAY
8 DARKGRAY
9 LIGHTBLUE
10 LIGHTGREEN
11 LIGHTCYAN
12 LIGHTRED
13 LIGHTMAGENTA
14 YELLOW
15 WHITE
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERCL - Transparency- Commands
This feature gives the user the ability to load a file, e.g. a robot tool or a view file during program execution.
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERCL - Move Commands
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERC MOVE_REL Relative movement of the complete ROBOT goup, with respect to the
ROBOT_GRP bodyname reference body.
dXdYdZ dAdBdC [m,deg] bodyname - name of reference body
dXdYdZ - delta Position.
dAdBdC - delta Orientation
ERC MOVE_REL LIST Relative movement of all parts defined in a LIST
listname dXdYdZ dAdBdC listname - name of List
[m,deg] dXdYdZ - delta Position.
dAdBdC - delta Orientation
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERC ROBOT_BASE XYZ ABC Move the cRobot base to a new location.
[m,deg] XYZ - Position
ABC - Orientation
ERC ROBOT_BASE tagname Move the cRobot base to a new Tag location.
Tagname - name of TAG
ERC ROBOT_BASE_REL Relative movement of the cRobot base.
XYZ ABC [m,deg] dXdYdZ - delta Position.
dAdBdC - delta Orientation
ERC VIEW zoom_out x Zoom Out the render scene by the value x
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERC VIEW world_rot_world Rotate the render scene about the world coorsys frame with respect to
ABC the world frame orientation
ABC - relative Rotations
ERC LOAD VIEW filename Loads a View file (*.vie)
Note:
The Render Scene interpolates to the new view with the number
of 'view steps'
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERCL - Collision Commands
ERC COLLISION BODY_GRP Enables / disables the collision attribute for a complete Group to
[ROBOT_GRP, TOOL_GRP] off, on=concave, convex or bbox
OFF, ON= CONCAVE, Note: Robot_Grp and Tool_Grp have effect to the geometries belonging to
CONVEX, BBOX the current selected robot ‘cRobot’
ERC COLLISION_TOL BODY Tolerance value for body ‚bodyname’ from Body-, Robot or Tool- group
[ROBOT, TOOL] bodyname with concave collision check in [mm]
tolerance [mm]
ERC COLLISION_TOL Tolerance value for complete group
BODY_GRP [ROBOT_GRP, with concave collision check in [mm]
TOOL_GRP] tolerance [mm]
ERC COLLISION DISTANCE Sets global collision threshold ‘tolerance’ in mm. Collision is detected if the
tolerance [mm] minimal distance between two tested geometries is less then this
collision threshold value ‘tolerance’.
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERCL - Attach Commands
ERC ATTACH ROBOT Reattaches a body (geometry) to another robot joint inside a Robot_Grp,
'bodyname' to_ROBOT defined by ‘bodyname2’
nd
['bodyname2'] Note: the body is attached to the robot base if no 2 body is specified
ERC ATTACH ROBOT Reattaches a body to the tip of the cRobot
'bodyname' to_TOOL
ERC UNIT M Sets the unit to meter [m] for all following ERPL & ERCL commands
Example: speed_cp 0.1 is 100 mm/s
ERC UNIT MM Sets the unit to millimeter [mm] for all following ERPL & ERCL commands
Example: speed_cp 100 is 100 mm/s
ERC UNIT INCH Sets the unit to inch [inch] for all following ERPL & ERCL commands
Example: speed_cp 1 is 25.4 mm/s
ERC UNIT DEG Sets the rotation unit to degree [°]
Example: speed_ori 20 is 20°/s
ERC UNIT RAD Sets the rotation unit to radiant [rad]
Example: speed_ori 3.1415 is 180°/s
ERC UNIT TRANS_SCAL x Scales the internal unit [m] by the user defined value x
Example: x=10 speed_cp 0.1 is 1 m/s = 1000 mm/s
ERC UNIT ROT_SCAL x Scales the internal unit [°] by the user defined value x
Example: x= 10 speed_ori 2 is 20°/s
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERCL - PARAMETER Commands
ERC SET_PARAMETER Copy name into the first of 100 possible global string parameter
$NAME_1 ‘name’ $NAME_1 = ‘name’
Usage:
ERC SET_PARAMETER $NAME_1 T_1 ! Tag point
ERC SET_PARAMETER $NAME_2 MYROB ! a device name
…
ERC CURRENT DEVICE SET $NAME_2 ! set ‘MYROB’ as current
LIN $NAME_1 ! move to tag ‘T_1’
ERC SET_PARAMETER Copy the text word plus a value name into the first of 100 possible global
$NAME_1 text_word [value] string parameter
$NAME_1 = text_word [value]
Usage:
ii=1
ERC SET_PARAMETER $NAME T_ ii ! Tag point “T_1”
ERC SET_PARAMETER Deletes all global string parameter
$NAME_RESET
ERC SET_PARAMETER shows all global string parameter in the message window
$NAME_INFO
ERC KUD row column x Sets value ‘x’ for the Kinematics User Data for current robot given by
row [1..12]
column [1..12]
Example:
ERC KUD 1 1 1
ERC KUD 12 12 144
ERC KUD name x Sets value ‘x’ for the Kinematics User Data for current robot given by
a name.
Valid names are: KUD_1_1 …. KUD_12_12
Note: The user can change the KUD name.
Example:
ERC KUD_1_1 1
ERC KUD_12_12 144
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERCL - Additional Commands
ERC BASE TCP Sets the BASE to the current robots TCP
ERC SWE_NEG swe1 ... swen Sets the negative travel range values.
negative software endswitches The number of values should coincide with the number of joints/axis
[m,deg]
ERC SWE_POS swe1 ... swen Sets the positive travel range values.
positive software endswitches The number of values should coincide with the number of joints/axis
[m,deg]
ERC TURN_INTERVAL Ax1 TURN -Interval for each axis Ax1…Axn, within [0°, ∞°[
...Axn [deg]
ERC TURN_ OFFSET Ax1 TURN -Offset for each axis Ax1…Axn, within ] -∞°, ∞°[
...Axn [deg]
ERC JOINT_WEIGHT 0 or 1 Sets the joint weight vector, to influence the result of the numerical
for number of joints solution
The number of values should coincide with the number of joints/axis
ERC MASK_VECTOR [0,1] for Sets the mask vector, to influence the result of the numerical solution
XYZ ABC
ERC CELL_INFO text String for cell Information line
EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]