F1 Key online help, press F1 any time for help -1 +1 ... -6 +6 [7-12] move the robot in joint space -X +X ...-C +C Cnfg 1 move the robot in Cartesian space, current robot configuration is one AX switch to joint mode KART switch to Cartesian mode Adj. goto the Adjustment line (world view etc.) Menue open the MENUE window for more functions EXIT Exit EASY-ROB -+_* increase or decrease the moving step of robot
F1 Key online help, press F1 any time for help -X +X ...-Z +Z translate or rotate the 'activated' (cyan coloured) state Zoompoint activate 'Zoompoint' trn_world activate 'translate world view' trn_base activate 'translate base view' rot_world activate 'rotate world view' Refr refresh the screen Menue open the MENUE window for more functions Quit return to the Command line -+_* zoom in "+","*" or out "-","_"
F1 Key online help, press F1 any time for help Tool Data enter the TCP values Save save the current work Delete delete the current work Load load a new robot, tool, view, cell, etc. Miscellaneous activate additional functions Exit EASY-ROB bye Quit goto Command line or Adjustment line
Block
A block is determined by its X-,Y- and Z-length.
Each body has reference position (light cyan coloured coorsys) and a
position (cyan coloured coorsys) frame.
The position frame is related to the reference position frame.
Pyramid
A pyramid is determined by its X- and Y-length and the height in Z-direction.
Values dx and dy shift the top of the pyramid.
Pyramid X
A pyramid X is determined by its X- and Y-length for the bottom,
its X- and Y-length for top and the height in Z-direction.
Values dx and dy shift the top of the pyramid.
Cylinder
A cylinder is determined by its bottom and top radius,
2 heights and a scaling value in y direction.
Values dx and dy shift the top of the cylinder.
Cone
A cone is determined by its radius, the height and a scaling value in y direction.
Values dx and dy shift the top of the cone.
Sphere
A sphere is determined by its radius and a scaling value.
Arc gun
The Arc gun is a composition off the basic bodies available in EASY-ROB
| Top |
MENUE |
3D CAD |
The blue coorsys presents the TCP (Tool Center Point) of the robot. You can modify the Tool Data
every time. If you give a new Cartesian location (XYZ ABC) the robot interpolates in a
straight line moving to
the new location if this location is reachable. If not, a message appears and this location is rejected. You
can also give new joint values (in [m] and/or [deg]) for the robot. The robot interpolates in
synchro PTP
(Point to Point) to the new joint values.
Robot in wire frame
| MENUE |
Top |
The Switch ON-OFF Menu allows you to switch ON and OFF different things,
like the output window for the position,
show the robot TCP track, the render mode (wire or flat), etc.
The left window Show joint & position data displays the current joint values, Cartesain location
and the configuration of the loaded robot. If the travel ranges are exceeded, the joint values of these
axis are red coloured (see joint 4 and 5).
The Position is the TCP location related to the robot's base.
If a robot's program is executed, the total time (Time), the time for the current move command (Tipo),
the stepsize (dt) and the current override are displayed.
| MENUE |
Top |
When you switch ON the robot coorsys, the robot joint coorsys are displayed in yellow colour. A yellow coloured coorsys
determines an active robot joint. Green coloured coorsys determines passive joints like the back link. This is very helpful
to understand a robot kinematics, specially when you use the DH
or the Universal kinematics notation
to design your own robot.
| MENUE |
Top |
PTP, LIN, Configuration
These images show another robot with 6 DOF (Degrees Of Freedom). The TCP-Track is switched to ON
(green colour).
The robot was moved in straight line in -Y direction related to its TCP coorsys (blue colour). The right
image shows a PTP move to a new configuration. The final location is the same. This robot kinemartics type
has 8 configurations, i.e. 8 different sets of joint values for one Cartesian location. The inverse kinematics in
EASY-ROB calculates all possibilities for this kinematics.
| MENUE |
Top |
bTt = RotZ(q1) * Trans(l1x,l1y,l1z) * // to joint 2 RotY(q2) * Trans(l2x,l2y,l2z) * // to joint 3 RotY(q3) * Trans(l3x,l3y,l3z) * // to joint 4,5 and 6 RotZ(q4) * RotY(q5) * RotZ(q6) * Trans(0,0,l6z);The lengths l1, l2, l3 and l6z belong to the active joints. The backlink (two joints) are passive joints. A passive joint has a mathematically dependency to an active joint. In this case, the back link depends on the joint values of the active joint 2 and 3. The passive joint 2 is attached to the active joint 2. The passive joint 3 is also attached to the active joint 3 and is shifted transitional by (Jnt.3z..x) related to the coorsys of joint 3.
![]() 'uni_temp.rob' |
![]() The robot 'uni_temp' has one active joint (red coloured in flat) and three passive joints (grey coloured in wire frame). Each passive joints is mathematically dependent to this one active joint. Modify the values for the 2. Passive Joints. |
The title shows the current values 'RZC0' for this passive joint
1. Type is T or R, Direction is X-,Y- or Z-direction.
2. Chain spec. is inside 'C' or outside '_' the kinematics chain.
3. Attach to active joint prompts you to enter an active joint number.
4. Math. Jnt. dependency prompts you to specify a math. function.
5. Geometric Data for the transformation to the next joint in the kinematics chain.
Geometric Data
Enter the values for this passive joint no. 1 to the next joint in the kinematics chain.
Kinematic Information for the 'uni_temp' robot
This window gives you information about the robot kinematics. The 'uni_temp' robot has
1 active joint (1 DOF), which is rotational about Z-direction and has
3 passive joints.
Each passive joint is mathematically dependent to the active joint no 1.
pJ(1): f1 will call the function f1 from the er_kin.dll.
pJ(2): +1 will rotate with the same angle like active joint 1.
pJ(3): f2 will call the function f2 from the er_kin.dll.
| MENUE |
Top |
Contents| MENUE | Top |
0. Preface
1. Robot motion and process commands
2. ERC (Easy Rob Commands)
3. Example program
0. Preface For program generation you can use the EASY-ROB program generator, or use an editor. Each Program has following basic structure. PROGRAMFILE ! This is my program ; hello easy-rob config 1 ... ! call a function call my_fct() ENDPROGRAMFILE FCT my_fct() ! do s.th. ENDFCT Tips: - Set a robot configuration first for determined robot behaviour - If you generate a program while editing the program file and you like to save the current robots location, then you have to "open the program file for append". Open File for append MENUE - ROBOT PROGRAM - Open Program for append allows you to save CONFIG, PTP or LIN commands Edit the program file MENUE - ROBOT PROGRAM - EDIT current created Program choose your preferred editor in the configuration file Load program file MENUE - ROBOT PROGRAM - LOAD Program allows you to execute current created program for test !!! Quit the Program Execution, otherwise the program file is not closed Program Contents 1. Robot motion and process commands BEGIN - program starts here, this is default PROGRAMFILE - indicator for the interpreter. PROGRAMFILE must be in each first program line END or ENDPROGRAMFILE - indicate the end of a program FCT - indicator for the interpreter. The function definition starts here values: string example: FCT my_fct() ENDFCT - indicator for the interpreter. This determines the end of the function CALL - will execute the function call values: string example: CALL my_fct() CONFIG - set the robot configuration. The next motion command (PTP or LIN) should be a PTP move. (a robot cannot change its configuration during LIN move) values: integer example: config 1 PTP_AX - move the robot to the target joint position in PTP mode. The number of values is the DOF of the robot. values: float's example: PTP_AX 30.0 -90.0 20.0 0.5 0.0 -0.3 for a RRR:TTT robot with 6 DOF PTP_AX 30.0 -90 will keep the values of the last 4 joints. PTP - move the robot to the target position in PTP mode. The target position is related to the BASE position. ABC is RotA * RotB * RotC values: X Y Z A B C example: PTP 0.1 0.2 0.3 30.0 -60.0 180.0 X = 0.1 Y = 0.1 Z = 0.1 unit [m] A = 30 B = -60 C = 180 unit [deg] LIN - move the robot to the target position in LIN (straight) mode. The target position is related to the BASE position. ABC is RotA * RotB * RotC values: X Y Z A B C example: LIN 0.1 0.2 0.3 30.0 -60.0 180.0 X = 0.1 Y = 0.1 Z = 0.1 unit [m] A = 30 B = -60 C = 180 unit [deg] MSG - message to program window values: string example: MSG I enjoy robotics WAIT - wait for some seconds value: seconds example: WAIT 2.0 ERC - Easy Rob Command, see below PTP_REL - moves the robot relative to the current TCP location in PTP mode. values: dX dY dZ A B C example: PTP_REL 0 0.2 0 30 0 0 LIN_REL - moves the robot relative to the current TCP location in LIN mode. values: dX dY dZ A B C example: LIN_REL 0 0.2 0 30 0 0 TOOL - set the Tool Data, the TCP location related to the robots tip. values: X Y Z A B C example: TOOL 0 0 0.2 30 0 0 BASE_PRG - set the origin of the program base values: X Y Z A B C example: BASE_PRG 0 0 0.2 0 0 0 BASE_PRG_REL - shift the origin of the PROGRAM_BASE with respect to the PROGRAM_BASE coorsys. The new PROGRAM_BASE is: PROGRAM_BASE = PROGRAM_BASE * BASE_PRG_REL values: X Y Z A B C example: BASE_PRG_REL 0 0 0.2 0 0 0 BASE - set the base frame for target points values: X Y Z A B C example: BASE 0 0 0.2 0 0 0 The final TCP location of a robot is: BASE_PRG * BASE * target_location. BASE_REL - shift the origin of the BASE with respect to the BASE coorsys. The new BASE is: BASE = BASE * BASE_REL values: X Y Z A B C example: BASE_REL 0 0 0.2 0 0 0 SPEED_CP - set the speed for continuous path motion in [m/s] values: float example: SPEED_CP 0.375 SPEED_PTP - set the speed for PTP motions in [deg/s] and the orientation speed for continuous path motion. values: float example: SPEED_PTP 30.0 OV_PRO - set the programmed overrride in percent Allowed values are 1..200 values: float example: OV_PRO 50.0 Program Contents 2. ERC (Easy Rob Commands) The following command are used with ERC command parameter_list Examples: ERC TRACK ON ERC IPO_STEP 0.5 ERC RENDER FLAT ... SET_DEFAULTS - set program window ON - set robot visibility ON - set robot coorsys OFF - set tool visibility ON - set bodies visibility ON - set world coorsys visibility ON TRACK - set track on robot TCP on or off syntax: ERC TRACK ON/OFF IPO_STEP - set the interpolation time step , unit [sec] syntax: ERC IPO_STEP 0.25 LOAD - load a tool, robot, view, body or recording file syntax: ERC LOAD TOOL my_tool the extension *.tol in this case is appended automatically ERC LOAD ROBOT my_robot the extension *.rob in this case is appended automatically ERC LOAD VIEW my_view the extension *.viw in this case is appended automatically ERC LOAD RECORDING my_rec the extension *.rec in this case is appended automatically ERC LOAD BODY my_body the extension *.bod in this case is appended automatically RENDER - set render to wireframe or flat syntax: ERC RENDER WIRE/FLAT ORTHOGRAFIC - set the orthographic view on or off syntax: ERC ORTHOGRAFIC ON/OFF STOP - stop program execution until mouse click or any key syntax: ERC STOP txt is default ROBOTJOINTS - display the robot joint on or off syntax: ERC ROBOTJOINTS ON/OFF ROBOTPOSITION - display the robot Cartesian location "robot base to TCP" on or off syntax: ERC ROBOTPOSITION ON/OFF FLOOR - set floor visibility on or off syntax: ERC FLOOR ON/OFF FLOOR_RENDER - set floor render wire or flat syntax: ERC FLOOR_RENDER WIRE/FLAT ROBOT_BASE - set the robots base location related the world coorsys. The robots base will interpolate to its new base. It's a robot on a gantry now values: X Y Z A B C example: ERC ROBOT_BASE 0 0 0.2 0 0 0 ROBOT_BASE_REL - shift the ROBOT_BASE - shift the origin of the ROBOT_BASE with respect to the ROBOT_BASE coorsys. The new ROBOT_BASE is: ROBOT_BASE = ROBOT_BASE * ROBOT_BASE_REL values: X Y Z A B C example: ERC ROBOT_BASE_REL 0 0 0.2 0 0 0 GRAB - grab a body to the robot's tip syntax: ERC GRAB BODY my_body RELEASE - release a body from the robot's tip syntax: ERC RELEASE BODY my_body GRAB BODY_GRP - grab all bodies from the group: BODY to the robot's tip syntax: ERC GRAB BODY_GRP RELEASE BODY_GRP - release all bodies from the group: BODY to the robot's tip syntax: ERC RELEASE BODY_GRP TCP_COORSYS - set tcp_coorsys on or off syntax: ERC TCP_COORSYS ON/OFF BASE_COORSYS - set base_coorsys on or off syntax: ERC BASE_COORSYS ON/OFF PRG_WIN - set program window on or off syntax: ERC PRG_WIN ON/OFF DISPLAY_ROBOT - set robot visibility on or off syntax: ERC DISPLAY_ROBOT ON/OFF DISPLAY_TOOL - set tool visibility on or off syntax: ERC DISPLAY_TOOL ON/OFF DISPLAY_BODYS - set bodys visibility on or off syntax: ERC DISPLAY_BODYS ON/OFF DISPLAY_ROBOT_COORSYS - set robot's joint coorsys visibility on or off syntax: ERC DISPLAY_ROBOT_COORSYS ON/OFF RUN_RECORDING - run currently loaded joint recording file syntax: ERC RUN_RECORDING [my_rec] example: ERC LOAD RECORDING my_rec ERC RUN_RECORDING or ERC RUN_RECORDING my_rec will load an run my_rec Program Contents 3. Example program PROGRAMFILE ! prgfln ..\simrob\my_proj\uni_tmpl.prg ERC TRACK ON erc floor off erc load view uni_tmpl TOOL 0 0.15 0 0 0 0 MSG - MSG using the f1- and f2-fct from the er_kin.dll MSG - speed_ptp 20.0 PTP_AX 720.0000 TOOL 0 -0.15 0 0 0 0 PTP_AX 0.0000 ENDPROGRAMFILE Program Contents| MENUE | Top |
er_tutor.exe (~115KB) is a selfextracting archive.
Copy this file to your EASY_ROB directory, if EASY-ROB is already installed. If not, it does not matter where
this file resides on your system. When you unpack with the -d option the directory
.\er_tutor\ is created.
Start your Web Browser and open the er_tutor.htm file.
- download here -