UserGuide iRC Robolink
UserGuide iRC Robolink
igus® GmbH
Spicher Str. 1a
51147 Cologne
Germany
Phone Support: +49 (0) 2203-96498-255
ww-robot-control@igus.net
www.igus.de, www.igus.eu
2
Table of Contents
Safety Instructions.............................................................................................................................. 5
Quick Start Guide ................................................................................................................................. 6
2.1. Set up and Connections.............................................................................................................................6
2.2. Switching on ....................................................................................................................................................6
2.3. Connect and Move the Robot ................................................................................................................ 7
Introduction ............................................................................................................................................ 8
3.1. System Overview..........................................................................................................................................8
3.2. Glossary and Abbreviations....................................................................................................................9
3.3. Specifications................................................................................................................................................ 11
3.4. Mechanical Dimensions .......................................................................................................................... 12
Electrical Connections ..................................................................................................................... 14
4.1. Overview.......................................................................................................................................................... 14
4.2. Pinout: Stepper Module .......................................................................................................................... 15
4.3. Pinout: Support Module .......................................................................................................................... 16
4.4. Pinout: Digital Input/Output Module ................................................................................................17
4.5. Connect Sensors and Actors to the DIO Module ...................................................................... 18
4.6. Option: Control Cabinet ......................................................................................................................... 20
4.7. Option: Embedded Computer .............................................................................................................. 21
4.8. Option: Operating Panel......................................................................................................................... 24
Safety ....................................................................................................................................................... 25
5.1. Safety-Related Features of the Modular Robot Controller .............................................. 25
5.2. CE Certification .......................................................................................................................................... 25
5.3. Integration of SIL-Rated Safety Components .......................................................................... 25
Software Installation ....................................................................................................................... 27
6.1. Installation of the iRC - igus® Robot Control ...............................................................................27
6.2. Licensing ......................................................................................................................................................... 29
6.3. Setting up the Ethernet Connection to the Embedded Computer................................. 29
6.4. Installing the CAN-to-USB Driver ..................................................................................................... 30
Moving the Robot with iRC ............................................................................................................. 31
7.1. The iRC Graphical User Interface ...................................................................................................... 31
7.2. Connecting the Robot ............................................................................................................................. 34
7.3. Referencing the Robot ........................................................................................................................... 35
7.4. Moving the Robot with Gamepad or Software Buttons .......................................................37
7.5. Starting Robot Programs ...................................................................................................................... 38
7.6. Digital Inputs and Outputs .................................................................................................................... 39
7.7. Software Interfaces ................................................................................................................................ 40
3
7.8. Updating the Software .......................................................................................................................... 40
Programming the Robot with iRC .............................................................................................. 41
8.1. The Program Editor ................................................................................................................................... 41
8.2. Comments and information in programs..................................................................................... 44
8.3. Variables and Variable Access .......................................................................................................... 46
8.4. Execution flow ............................................................................................................................................. 50
8.5. Motion .............................................................................................................................................................. 58
8.6. Gripper and digital I/O............................................................................................................................ 64
8.7. Camera ............................................................................................................................................................ 65
Stand-alone Operation with Embedded Computer and the Operating Panel ..... 66
9.1. Reset Errors/Enable Robot ................................................................................................................. 67
9.2. Moving the robot with the 3-Axis Joystick .................................................................................. 67
9.3. Referencing.................................................................................................................................................. 68
9.4. Starting and Stopping a Program .................................................................................................... 69
9.5. Manually Setting the Digital Inputs/Outputs............................................................................ 69
9.6. Display of Status Information ............................................................................................................ 70
9.7. Organize Programs on the Embedded Control ......................................................................... 70
Project Configuration....................................................................................................................... 72
10.1. Program ...........................................................................................................................................................72
10.2. Tool .....................................................................................................................................................................72
10.3. Inputs / Outputs...........................................................................................................................................73
10.4. Virtual Box ......................................................................................................................................................73
Advanced Robot Configuration .................................................................................................. 74
Interfaces Configuration ................................................................................................................ 75
12.1. Cameras ...........................................................................................................................................................75
12.2. PLC Interface ................................................................................................................................................75
12.3. CRI Ethernet Interface............................................................................................................................ 76
Troubleshooting...................................................................................................................................77
13.1. Support Contacts ....................................................................................................................................... 77
13.2. Online Tool - Fault Identification and Recovery ........................................................................ 77
13.3. Configuration of the Stepper Modules ......................................................................................... 78
13.4. Calibration of the Robot ........................................................................................................................ 79
13.5. Error Codes .................................................................................................................................................. 80
4
Safety Instructions
Operate the Robot safely!
Always ensure personal safety of users and others while operating
a Robot Arm or commissioning a robot cell! In particular, no person
or obstructions may be present in the working area of the Robot.
In its basic version the Robot Controller package does not contain safety related
functionality. Depending on the application, these may need to be added. See “CE
marking” below and section 5.
CE marking: Robot Arm and the Robot Controller are a part of one system, which must be
risk assessed in its entirety and comply with the current safety regulations to ensure
personal safety. Depending on the result of the assessment further safety components
must be integrated. These are usually safety relays and door switches. Responsible is the
commissioning engineer of the system.
The Robot Controller contains a 24V power supply unit that itself requires mains voltage
(120 / 240 V), depending on the configuration. Please check the label on the power supply.
Only qualified personnel may connect the power supply to the mains and put it into
operation.
Work on the robot electronics should only be carried out by qualified personnel. Check
current electrostatic discharge (ESD) guidelines.
Always disconnect the Robot Controller from the mains (120 / 240 V) when working in the
Control Cabinet or any electronics connected to the Robot Controller.
Do NOT hot-plug! It may cause permanent damage to the motor modules. Do not install
or remove any modules or plug/unplug connectors (e.g. Operating Panel, Emergency Stop
Button, DIO Modules or external relays, motor connectors) while powered on.
The Robot Arm must be set up on a sturdy surface and bolted down or otherwise secured.
Only use and store the system in a dry and clean environment.
Only use the system at room temperature (15° to 32°C).
The ventilation of the system must be able to operate without hindrance, to ensure
sufficient airflow to cool the Stepper Motor Driver Modules. There must be at least
10 cm of space next to the fan of the Robot Controller. The fan must, ideally, point
upwards or to the side (reduced efficiency). The fan must not point down.
Backup important data prior to installing the igus® Robot Control software.
5
Quick Start Guide
Feed the Robot cables through the large circular hole in the Control Cabinet and plug them
into the Stepper Modules. Each motor is
connected to its Stepper Module via 4
connectors.
All connectors are labeled and coded to aid
this process (see Section 4):
o Motor cable (labelled Motor)
o Encoder cable (2 connectors labelled
ENC-1 and ENC-2)
o Reference sensor (labelled End-Stop)
Secure the robot cables against tension, e.g. with a cable tie to one of the holes in the
Control Cabinet. If available, plug in the display cable and secure it via the screw
connection.
After that the Robot can be connected to the mains.
2.2. Switching on
Switch on the Robot using the on/off switch on
the Control Cabinet.
The green light-emitting diodes (LEDs) on the
modules are now on, also most red LEDs and
potentially some of the yellow LEDs.
Optional: When shipped with an Embedded
Computer, the green LEDs will start flashing after
approx. 20 s. This shows communication, now the
Robot Controller is up and running. If available,
you can now move the Robot using the Operating Panel (optional). Details can be found in
Section 8.
6
2.3. Connect and Move the Robot
2.3.1. Preparation using the Embedded Computer
Connect your PC to the Robot Controller via an
Ethernet cable. Use the Ethernet port located
directly next to the USB socket on the embedded
computer of the Robot Controller.
Set the IP address of the PC to:
static and 192.168.3.1
with subnet mask of 255.255.255.0
7
Introduction
Figure 3.1: robolink DP with Embedded Computer running the Robot Control Software.
Figure 3.2: robolink DP with Robot Control Software and Programming Environment
8
3.2. Glossary and Abbreviations
9
Emergency - Single-channel
Stop Button emergency stop
10
3.3. Specifications
Robot Arm (if included)
Type igus® robolink®
Number of axes Depending on version: 4 or 5
Payload Depending on version: 2.5 to 3 kg
11
3.4. Mechanical Dimensions
For more information see the igus® manual “Technical Documentation robolink® DP Version”.
Figure 3.3 Schematic of operating range of igus® robolink® DP, 5-axis version.
12
Figure 3.4 igus® robolink® DP of: A) Robot base; B), hole pattern flange of the 5th axis (five axes
version); C) Gripper adapter (four axes version). Dimensions are depicted in mm.
13
Electrical Connections
4.1. Overview
14
4.2. Pinout: Stepper Module
Each Stepper Module drives a bipolar stepper motor with Motor Encoders. The encoder signals
are evaluated by a line driver (RS422).
Signals to each axis travel via three cables: the motor cable, encoder cable and reference
switch cable.
The motor cable is connected to a plug labelled “Motor”, the encoder cable is connected to two
plugs labelled ENC-1 and ENC-2 and the reference switch cable is connected to the plug labelled
“End-Stop”.
Motor connector:
Connects a bipolar stepper motor.
Pin 1 (left): blue B
Pin 2: white A
Pin 3: black B/
Pin 4: brown A/
End-Stop connector:
Connects to an end-stop or reference switch.
Pin 1 (left): brown 24 V
Pin 2: blue ground (GND)
Pin 3: black signal
Pin 4 do not connect
15
4.3. Pinout: Support Module
The Support Module provides 5 V logic voltage, a single-channel emergency stop relay,
a SoftStart relay. It feeds the signals into the DIN rail bus system.
16
4.4. Pinout: Digital Input/Output Module
The DIO Module provides input and output channels, e.g. to operate a gripper valve. The
outputs can switch up to 500 mA. The inputs use optocouplers and are compatible to for input
Voltages between 12 and 24 V.
A circuit switched by the output relays must not contain any larger capacitors.
If the current exceeds 500 mA, the solid-state relays can suffer damage.
For safety reasons, the inputs and outputs of the DIO Module are electrically isolated. This
means that the circuits of the inputs and outputs are not connected to the internal circuits of
the controller.
It is, therefore, necessary to connect a supply voltage for the outputs and a ground line for the
inputs. For this purpose, the 24 V available in the robot controller can be used, but also an
external independent voltage source. In Software the inputs and outputs of the first
DIO Module are numbered 21-27; the second DIO Module (if supplied) has numbers 31-37; and
the third 41-47.
Digital Out connector A (D-out A):
The output relays connect the pin of the power
supply with the corresponding output pins.
Pin 1 (left): Input voltage (for all seven channels)
Pin 2: D-Out channel 1 (in software: Dout21)
Pin 3: D-Out channel 2 (in software: Dout22)
Pin 4: D-Out channel 3 (in software Dout23)
Digital Out connector B (D-out B):
The D-out B pins are (from left to right) the
Digital Out channels 4-7 (picture not shown).
17
4.5. Connect Sensors and Actors to the DIO Module
The easiest way to connect a programmable logic controller (PLC) is via digital inputs and
outputs. Each Robot Controller comes with one DIO Module.This provides 7 inputs and 7
outputs (see Section 4.4). If additional inputs and outputs are required, up to two additional
DIO Modules can be integrated, see section 10.1. A total of up to 3 DIO Modules can be
controlled.
The outputs are controlled via solid state relays and can switch up to 500 mA. This value must
not be exceeded during the switching process (e.g. by charging currents of capacitors) to
prevent damage to the relays.
The inputs and outputs are galvanically separated from the robot control. A power supply
(labelled “IO Supply” in the Image above) must be connected. The integrated 24V supply may
also be used.
18
4.5.1.1. To connect a sensor
Pin 1 (GND) of the D-In 1 connector must be connected to GND of the power supply of
the sensor.
The sensor signal (positive) must be connected to an input pin D-In 1 connector pins 2-
4 or D-In 2 connector pins 1-4.the positive side of the sensor has to be connected to
VDD of the power supply
The status of the inputs can be monitored in the "Input/Output" tab at the bottom of
iRC, see Section 7.1
In a robot program inputs can be queried and reacted upon e.g. in a if-then-else
command, see Section 0.
Pin 1 (Supply) of the D-Out 1 connector must be connected to a power supply (e.g. 24V)
The actor (relay, etc.) is then powered from a free pin of the D-Out connectors (D-Out
1 pin 2-4 and D-Out 2 pin 1-4).
You can set the outputs manually in the “Input / Output” tab on the bottom of iRC, see
section 7.1
In a robot program you can set the state of the outputs using the digital-out
command, see section 8.6.
19
4.6. Option: Control Cabinet
The Modular Robot Controller can be ordered in a steel cabinet. The cabinet shields the control
from dust, humidity and accidental access.
Figure 4.4: Control cabinet, closed. On the lower left the mains IEC connector / switch / fuse and
the cable fittings can be seen.
The cabinet includes a 24V / 10A power supply for 220V / 110V input. A fuse (8A). Distribution
blocks are included. A small fan is mounted on the left side of the cabinet.
Figure 4.5: Control cabinet with Power Supply, without Modular Control Electronics.
20
4.7. Option: Embedded Computer
An Embedded Computer can be combined with Modular Robot Controller, so that an external
computer is just required for programming but not for day to day operation. This resembles
“Configuration A” in the introduction, section 3.1.
The Embedded Computer is a single board computer with Linux operating system, running the
TinyCtrl robot control software. It is used to:
Operate the robot arm
Replay programs
Connect with iRC on a Windows computer via Ethernet for programming
The Embedded Computer communicates with the Modular Control Electronics on the DIN rails.
Figure 4.6 Embedded Computer with Ethernet cable connected to the ETH0 socket.
21
The 2 leaded ribbon cable of the Embedded Computer is
the RS232 connection for the Operating Panel. One lead is
marked black (lead 1).
It is connected via a distribution block to a 9-pin D-Sub
connector.
Lead 1 (black) D-Sub conn. Orange
Lead 2 D-Sub conn. Brown
Pin 1: 24V
Pin 3: RS232-TX
Pin 6: GND
Pin 7: RS232-RX
All remaining pins are not connected
22
4.7.3. CAN Connection
CAN ribbon cable Establishes the CAN Lead 1: GND (black)
(three conductors) connection to the Stepper Lead 2: CAN-L
Modules. To be connected to Lead 3: CAN-H
the Support Module
23
4.8. Option: Operating Panel
The Operating Panel is used to control the Robot via the Embedded Computer. For operating
instructions see section 9.
The connection of the D-Sub-9 connector is mating to the D-Sub-9 socket of the Control
Cabinet section 4.7.2.
Figure 4.8: Operating panel with touch screen and 3 axis joystick.
24
Safety
5.2. CE Certification
The components of this robot system are provided with CE marking as requested by the
European machinery directive. Responsible for the components are:
igus GmbH: robolink DP robot arm
Commonplace Robotics GmbH: Modular robot control
These CE markings confirm the adherence of these parts of the final machine to the necessary
standards. The final machine, i.e. the complete robot cell, is not covered by these CE markings.
Safety relays can be connected in series with the motor power bridge connector (section 4.3)
of the Support Module (Figure 5.1). The connector is labelled “Ext Rel”. Via this connector the
motor supply is routed out of the module and via a jumper lead back into the module and then
into the bus. If this connection is interrupted, no active movement of the motors is possible.
This enables the implementation of safety features with the safety integrity level (SIL)
required by the application.
25
Figure 5.1 Schematic wiring of the safety components with the Support Module.
26
Software Installation
Backup important data before installing the igus® Robot Control software.
Before updating the igus® Robot Control software, create a backup of the
current version, e.g. by renaming the folder C:\ iRC-igusRobotControl\ to
C:\iRC-igusRobotControl_BAK\.
27
In the next step you can choose where
igus® Robot Control should be
installed. The recommended directory
is
C:\iRC-igusRobotControl
Now you can start igus® Robot Control via the link on the desktop or via the start menu.
Installation error:
The installation wizard checks whether all necessary extensions are available, especially the
.NET framework. If this is not the case, an error message appears. The .NET framework must
be installed manually:
Search the network for "Microsoft .NET download" and install it.
28
6.2. Licensing
The igus® Robot Control software requires a license key to be started.
This key is installed automatically during the installation version of igus® Robot Control.
Please do not change the content of the license file, otherwise it will become invalid!
The included standard license allows the installation and use of igus® Robot Control on
any number of computers in the company or organization of the licensee.
Set the IP of the PC to 192.168.3.1 (the Robot has IP 192.168.3.11). Further assistance on
how to change the IP address can be found online.
From this point on the igus® Robot Control programming environment can be used to operate
the connected robot.
29
6.4. Installing the CAN-to-USB Driver
When no Embedded Computer has been supplied, a CAN to USB adapter is supplied that
connects the Modular Robot Controller and a computer. It requires the appropriate driver. The
Robot Control Software is delivered with the PCAN-USB driver from www.peak-system.com,
which can also be found igus® Robot Control installation USB memory stick (directory PCAN-
USB-Adapter) or the installation CD of the manufacturer.
After starting the installation, you must:
accept the license agreement,
and
specify the installation folder.
In the next step, please check whether the PCAN-USB device and the PCAN-View CAN-Bus
Monitor are selected for installation as shown below.
30
Moving the Robot with iRC
igus® Robot Control is a control and programming environment for robots. The 3D user
interface should help to get the robot up and running quickly. Due to its modular design
different kinematics and motor drivers can be controlled.
These operating instructions are supplemented with the respective robot-specific operating
instructions.
In the upper left corner, the three tabs "File", "Scene" and "Motion" provide access to the main
function-sets. In the left corner, information about the current state of the physical Robot is
31
displayed. Additional functions such as loading another project ("Open project") or "Reference
robot" can be found in the "File" tab (Figure 7.1).
The "Help" icon can be found in the bottom right corner and contains links to the
Wiki pages (related to "Online documentation", "Software updates", "Examples",
"Examples", "Troubleshooting") and link to "Contact support".
Figure 7.2 Selecting Robot type of the "File" tab in the "Open project".
32
7.1.2. Mouse: Navigation and Moving Robot in the User Interface
To navigate in the igus® Robot Control 3D environment, a 3-button mouse is recommended:
Left button:
o Selection of icons and features in the software ribbon.
o Moving a Robot axis: place cursor over a joint (it will highlight), then click and move the
cursor up and down while holding down the left mouse button.
Middle button/wheel:
o Navigation in the scene to turn the Robot: move the cursor while holding down the
middle mouse button.
o Mouse wheel: zoom in/out to the current cursor position.
Right key: pan
33
7.2. Connecting the Robot
7.2.1. Connection to Hardware
The real Robot can be controlled like the simulated one, only the hardware has to be connected
first by clicking "Connect", "Reset " and "Enable" icons in the "Physical robot" ribbon group in
the "Motion" tab (see Figure 7.3). After that the robot needs to be referenced.
Figure 7.3 Icons for connecting to the hardware, resetting errors and enabling the motors;
referencing icon; and "Status" indicator.
The "Status" indicator remains red. The error messages are deleted, only "Motors not
enabled" remains. If other error messages are displayed, try again and follow the
instructions in the Robot documentation.
3. "Enable": Activation of the motors.
The "Status" indicator is now green.
34
7.2.2. Moving the Robot
It is now possible to move the Robot with: jog buttons, a mouse in the user interface or
a gamepad, see sections 7.1.2 and 7.4.
35
Figure 7.4 Referencing tools of Axis 5.
Figure 7.6 Control panel for moving the Robot (marked in blue).
A gamepad is potentially the most intuitive way to move the Robot. Figure 7.7 shows the key
assignments. By pressing "Connect Controller", igus® Robot Control connects to a gamepad.
If the connection was successful, an OK sign is displayed on the controller icon. The device
must be of the "Joystick" or "Gamepad" type. You can find further information on establishing
a connection in the "LogMessages" tab (on the bottom of the screen).
Legend:
1. Change motion type
2. Change key assignments:
Switching between X, Y, Z and A, B, C
in Cartesian motion mode, or A1,2,3
and A4,5,6 in Joint motion mode.
2. Software buttons allow to select "Motion Type", which include three modes and in each
case the movement speed can be changed between 0 and 100% (Figure 7.6):
"Joint": A click on A1 to A6 moves the corresponding robot axis (if available). E1-E3 move
the external joints. This could be a linear axis, rotational (Figure 7.8).
37
"Base" (cartesian mode), the Robot moves in straight lines along the X, Y and Z axes of
the base coordinate system.
"Tool" (cartesian mode), the Robot moves in X, Y and Z of the current tool coordinate
system.
Figure 7.8 The software buttons for "Joint" movements in "Jogging" tab. In both cartesian modes,
the buttons change to X, Y, Z, A, B and C.
38
2. Adjust the speed-override:
The state of the inputs and outputs can be monitored in the “Input / Output” section of iRC.
Both inputs and outputs can be set manually:
Outputs can be set manually, when no program is running.
Inputs can be set only in simulation when there is no robot connected. Hence one
can test the reaction of programs on different inputs in the absence of hardware.
39
Figure 7.10: Input / Output section of the iRC software.
See section 4.5 on how to set up the electrical connections and section 10.1 on how to extend
the number of available digital Inputs / Outputs. It is also possible rename the different inputs
/ outputs.
The programming with digital Inputs / Outputs is shown in sections 0 and 8.6.
40
Programming the Robot with iRC
igus® Robot Control allows the creation of robot programs. The type of programming is called
“Teach-In-Programming”, which works as follows:
1. Move the robot manually to the position you want to record
2. Record the position and define how to reach this position (linear/joint motion)
3. Repeat these steps and in between add digital output commands or program flow
commands.
The integrated Program Editor is provided for setting up and editing these robot programs.
Figure 8.1: Opening the program editor with the “Edit” button.
The following sections show how to write programs with the editor.
41
8.1.1. Changing the Command Sequence
To move the command down, click on “Move down”, on “Move up” to move up. It is also possible
to use the arrows on the right side of the commands.
The Program Editor will prevent commands that would render the structure of a program
illegal. If moving of a command in a up or down is impossible, the respective buttons and menu
items will be greyed out.
The Program Editor will then replace the position constant in the command with the current
position of the robot.
42
8.1.3. Current starting command
It is possible to execute programs command-wise, or to pick a specific command as starting
point of a program for debugging purposes.
The command that will be executed first, next time the program is started, or – if the program
is currently running – the currently executed command is indicated in the Program Editor.
The subprogram that contains this command is designated by a filled black circle in front of the
Program Name:
The command itself is designated by a filled black circle in the header bar of the command:
To choose a specific command as starting point for execution, click on “Start here” in the
context menu that pops up when clicking on the header with the right mouse button:
43
8.1.4. Undo and Redo
8.2.2. Descriptions
Any command of a program contains a description. It can be filled with any text and should be
used to describe what the intention behind the respective command is to other programmers.
44
8.2.3. Comments
The Comment command can be used to include pure descriptions into programs. It has no
effect on the robot during execution, its sole purpose is to provide a Description.
45
8.3. Variables and Variable Access
Two types of variables are supported in programs for iRC and TinyCtrl:
Number variables: these can be used to store integer or floating point numbers
Position variables: these can be used to store Cartesian positions and joint
positions. Whether such a variable will be interpreted as cartesian position or joint
position depends on context.
A position variable will be initialized with the cartesian and joint position that the
robot has when the command is being executed.
“Number constant”:
A number variable will be initialized with the constant given under “Value”.
46
“Position constant”:
A position variable will be initialized with the constants given under “Cartesian
position”, “Joint position” and “External axes”. Depending on the kinematic model of
the current robot certain axes may be unavailable.
The name of the variable can be set under “Variable”. If a variable with the same name has
already been defined its value and type will be overwritten. All variables are global, i.e. they will
also be accessible from subprograms.
47
8.3.4. Operations on variables
Operations on variables can be performed by using the Math command, which is accessible in
iRC’s Program Editor through the menu entries under “Special”->”Variable operation”.
“Operand 1” defines the first operand of the operation that is to be performed. It will also be
used to store the result of the operation. Only names of user-defined number variables or
components of user-defined position variables are allowed.
“Operand 2” defines the second operand of the operation. It can contain numeric constants,
names of number variables or components of position variables.
The following operations are supported and can be chosen under “Operation”:
Set:
This will set the first operand to the value of the second operand.
Add:
This will increment the first operand by the value of the second operand.
Subtract:
This will decrement the first operand by the value of the second operand.
Multiply:
This will multiply the first operand by the value of the second operand.
Divide :
This will divide the first operand by the value of the second operand.
Modulus:
This will store the remainder of the division of the first operand by the second
operand into the first operand.
48
8.3.5. Monitoring variables
You can monitor the current values of all defined variables under iRC in the variables tab:
49
8.4. Execution flow
8.4.1. Conditional expressions
Conditional expressions can be used in if-then-else commands, conditional loops and as abort
conditions in motion commands. The conditional statements can be combinations of digital
inputs, global signals, Boolean operations and comparisons. Examples:
DIn23 True, if digital input 23 is high
DIn23 AND !DIn27 True, if digital input 23 is high and digital input 27 is not high
modelclass = 31 True, if variable modelclass is 31
mempos.x > 350.0 True, if the x component of the position variable mempos is
higher then 350
50
8.4.2. Stop
The Stop command stops the program execution.
8.4.3. Pause
The Pause command pauses execution of the program. Execution can later be resumed by the
user.
8.4.4. Wait
The Wait command allows the robot to wait for a fixed amount of time or until a conditional
statement evaluates to true. It is accessible though the menu entries under “Flow”->”Wait” in
iRC’s Program Editor.
51
The different modes can by chosen under “Type”:
“Timeout”:
This will cause the robot to wait for the time that is given under “Duration”.
“Condition”:
This will case the robot to wait until the conditional statement given under
“Condition” evaluates to “True”.
52
8.4.5. If-then-else
The If command branches execution of the program depending on the value of a conditional
expression. It is accessible through the menu entry “Flow”-“If…then..else” in iRC’s Program
Editor.
The conditional expression given under “Condition” must match the syntax described in section
Fehler! Verweisquelle konnte nicht gefunden werden. . The branch between “If” and “Else” will
be executed if it evaluates to true, the branch between “Else” and “EndIf” will be executed
otherwise.
53
8.4.6. Loops
The Loop command allows to define execution loops. It is possible to choose between the
following types of loops under “Type”:
“Condition”
The loop will repeat until the conditional expression given under “Condition”
evaluates to “True”. It must follow the syntax described in section Fehler!
Verweisquelle konnte nicht gefunden werden. .
“Counter”
The loop will repeat the number of times that is specified under “Count”.
The loop command is accessible via the menu items “Flow”->”Loop”->”Condition” and “Flow”-
>”Loop”->”Counter”.
54
8.4.7. Matrix loops
The Matrix command is designed to execute loops that allow the robot to perform raster-
movements, for example for palletizing tasks. It can be accessed through the menu item
“Flow”->”Matrix”.
The illustration below shows the movement pattern that can be achieved by using the Matrix
command.
The position variables given as “Position A”, “Position B” and “Position C” define the corners of
the area that will be covered by the matrix loop (see illustration above). The number of steps
that are to be made are given by “X (from A to B)” and “Y (from A to C)”. For example, in the
illustration above, X would be 4 and Y would be 3.
55
The block between “Matrix” and “Matrix End” will be executed for each step. The position
variable given to “Target” will contain the position of the current target point for the current
step. Row and column of the current step will be stored in the number variables given to
“Counter X” and “Counter Y” respectively.
56
8.4.8. Subprograms
The Sub command can be used to call subprograms.
The path to the file of the subprogram is given under “Filename”. It is relative to the Programs
subfolder of iRC’s Data folder. The command can be accessed via the menu item “Flow”-
>”Subprogram”.
57
8.5. Motion
8.5.1. Abort conditions
An abort condition can be given to any motion command. It is a conditional expression,
following the syntax described in section Fehler! Verweisquelle konnte nicht gefunden
werden. . During the execution of the motion command the statement is continuously
evaluated, and the moment it evaluates to “True” the robot will stop moving. It can be specified
under “Abort condition” for each motion command respectively:
Any non-motion command will divide such a motion set and interrupt smoothing.
Parameters:
“Acceleration”:
Percentage of the maximally possible acceleration.
“Smoothing”:
Scope of the smoothing in percent.
58
8.5.3. Joint motion
The Joint command moves the robot to a (absolute) target position given in joint coordinates.
The resulting motion of the TCP will typically be a curve and not a straight line. The target
position can be given in the following ways (choose corresponding “Source”):
“Variable”: The target position is taken from the position variable given to
“Variable”.
The movement speed is given by “Velocity”. It is measured in percent of the maximally allowed
movement speed for the respective robot axes.
The joint command can be accessed in iRC’s Program Editor under the menu entries “Action”-
>”Joint motion” and “Action”->”Variable motion”->”Joint”.
59
8.5.4. Linear motion
The Linear command moves the robot to an (absolute) target position given in Cartesian
coordinates. The resulting motion of the TCP will follow a straight line. The target position can
be given in the following ways (choose corresponding “Source”):
“Constant”:
The target position is a constant given by Cartesian coordinates x,y,z and Euler
Angles A,B,C and positions of external axes if supported by the current robot
kinematic.
“Variable”:
The target position is taken from the position variable given to “Variable”.
60
The movement speed is given by “Velocity”. It is measured in mm/s, if it exceeds the maximally
allowed movement speed of the robot it will cause a kinematic error during execution.
The joint command can be accessed in iRC’s Program Editor under the menu entries “Action”-
>”Linear motion” and “Action”->”Variable motion”->”Linear”.
62
“Linear – Tool”:
A linear movement with an offset specified in Cartesian coordinates will be
performed. The coordinate system used for the offset are tool coordinates. The
movement speed is given by “Velocity”. It is measured in mm/s, if it exceeds the
maximally allowed movement speed of the robot it will cause a kinematic error
during execution.
63
8.6. Gripper and digital I/O
8.6.1. Digital inputs
Digital inputs and global signals are accessible as reserved words in conditional statements as
expressions in section 4.1. For global signals these are GSig1, GSig2, … , for digital inputs these
are Din1, Din2, … . Depending on the state they will either evaluate to “True” or to “False”.
Under “Channel type” it is possible to specify if a digital output or a global signal are to be set.
“Channel ID” specifies the channel of the digital output or global signal. Under “State” the
desired state after execution of the command is specified. The command is accessible in iRC’s
Program Editor by the menu entry “Action”->”Digital output”.
64
You can set the desired aperture, measured in percent, under “Aperture”. A value of 0%
represents a fully closed gripper, 100% represents a fully opened gripper. For grippers that can
only be either fully opened or fully close the threshold between these states is at 50%
aperture.
8.7. Camera
We are currently working on this feature. The command specification will follow soon.
65
Stand-alone Operation with Embedded Computer
and the Operating Panel
To run the robot without a Windows PC connected, the Embedded Computer is necessary. It
runs the TinyCtrl software as Robot Control Software. The Embedded Computer allows to jog
the robot arm (using the Operating Panel), and to replay robot programs. To set up new
programs it is connected via Ethernet to a Windows Computer running iRC.
This section shows how to operate the robot with Embedded Computer and Operation Panel.
After all electrical connections to the Robot have been established, the Robot has been
switched on and the Emergency Stop Button has been released, the errors first need to be
"reset" and then the robot needs to be "enabled".
When moving the Robot, always keep a hand on the Emergency Stop Button to prevent it from
hitting an object unexpectedly, for example if it is about to collide with the table.
66
9.1. Reset Errors/Enable Robot
On the touchscreen display,
press the "Enable" button in the upper menu (top
right) to get to the Enable page.
Press "Enable":
The status changes to "No Error".
"Not ref'd!" (in red) means not referenced.
2. Press A1.
Then move and turn the joystick.
You can now move the axes 1, 2 and 3.
3. Press A4.
Now, move axes 4 and 5 by moving and rotating
the joystick.
67
4. Repeat steps 2 and 3 until:
the Robot is roughly in a "gallows position" and
the "reference pin" (Figure 7.4) on the flange of
5th axis points towards the Robot base.
9.3. Referencing
To enable an automatic program sequence, the Robot electronics must be referenced.
The type of referencing movement depends on the Robot or encoder type.
68
6. Now press the round "Reset" button, followed
by the round "Enable" button. The Robot is now
referenced.
69
The three buttons on the left side allow you to switch between several DIO Modules.
If a signal is present at the digital input, it will be displayed in the digital inputs field at the
bottom edge of the display.
70
Figure 9.2 igus® Robot Control Windows software with "Manage programs" icon (circled in blue).
71
Project Configuration
10.1. Program
With “Configure Project / Program” the starting set up can be defined:
File: which program to load during startup
File logic: which logic program to load during startup. The logic file runs parallel to the
main program allowing e.g. to set lights.
Override: the override (speed) that is set after startup.
Replay mode: the replay mode that is set after startup
10.2. Tool
With “Configure Project / Tool” the tool attached to the robot is chosen.
This setting changes the robot kinematic. Programs written using a different kinematic setting
cannot be replayed because this might lead to a collision.
72
10.3. Inputs / Outputs
With “Configure Project / IOs” the number of available inputs and outputs can be configured
and renamed. The corresponding names will show up in the Input/Output tab.
For the robolink robot control the base IO area is not used. Relevant is the DIN rail IO section.
The standard robot control comes with one DIO module with 7 inputs and 7 outputs. You can
define names for the IO here.
If another DIO module is added, then the setting has to be changed to “2 modules”, or “3
modules”.
The settings are automatically synced with the Embedded Computer.
73
This functionality assists to avoid mechanical damages. It is not a functionality
rated for personal safety!
In manual jogging mode an error message appears on the left side of the iRC window.
When running a program that violates the virtual box the program is stopped with an error
message.
74
Interfaces Configuration
12.1. Cameras
The iRC software has built-in support for receiving target positions from cameras. Currently
the IFM O2D is supported.
The work piece position reported by the camera can be accessed with the “Camera” command
in the robot program, see section 8.7.
75
inputs: "reset/enable motors", "start/stop program”, "reference";
outputs: "noFault", "enabled" and "program running".
Further details are available on the Wiki (section "PLC interface", http://wiki.cpr-robots.com/).
This interface makes it possible to combine the igus® Robot Control functions with
application-specific algorithms, such as a teleoperation system or a database. The CRI
documentation and a C# sample project for a client can be downloaded on request.
76
Troubleshooting
77
13.3. Configuration of the Stepper Modules
The operating parameters of the Stepper Modules, particularly the motor currents, can be
adapted to the application. The Stepper Modules are delivered with a standard
parameterization for the specific Robot. Normally no change of the parameters is necessary.
If the Robot is to be operated at high loads or speeds, the motor currents can be increased.
This configuration can be done via the software tool "CPR ModuleCtrl". It can be downloaded
from the Wiki (http://wiki.cpr-robots.com/).
Figure 13.1 shows the configuration of the stepper motors. The behavior during referencing is
defined on the left side. Motor currents and microstepping are defined on the right side.
78
The Current Scale parameters define the max. current during normal operation (Load),
during the start-up phase (Start), at standstill (Idle) and during referencing (Ref).
o The Stepper Module uses Trinamic CoolStep technology to adjust the motor current
between these values and a lower limit value, which is a fraction of the Current Scale
value.
o At lower Current Scale values, total power consumption and heat generation are lower.
However, a so-called "motor stall" can occur. In this case the current scale values must
be increased.
o At higher values, there is no motor stall, but the system becomes hotter.
The current scale during the reference movement can be set separately to avoid damage,
e.g. by collision.
The higher the microstepping, the smoother the movement. In operation without encoder
a microstepping of max. 1:64 should be used.
It is possible to reverse the direction of rotation of the encoder. This change is applied after
the next cold start of the controller. If the encoder direction does not correspond to the
motor direction, the axis does not move correctly but accelerates until a position lag error
occurs. In this case, the encoder direction must be changed, and the system restarted.
The axis should then function properly.
If the Robot was supplied with the Robot Controller, these offsets are already set.
To perform the calibration yourself, you will find the necessary steps on the Wiki (section
"Define the Zero Position Offsets", http://wiki.cpr-robots.com/).
79
13.5. Error Codes
The Robot Controller provides several status information:
Status LEDs on the Electronic Modules.
igus® Robot Control status information, received via CAN status bytes.
Stepper Module:
Green LED on: Logic power supply on
Green LED flashing: CAN communication with the Stepper Module
Orange LED on: Reference switch is active
Red LED on: Stepper Module is in error state or motor is not
enabled
80
13.5.2. CAN-Bus and iRC Status Information
Bit in
Error Meaning Measures
error byte
Bus dead The CAN-Bus is not available. Check the plug connections of the
Reasons are missing power power supply and the CAN line.
supply or missing plug Restart the control computer.
connections.
Temp Bit 1 The temperature of the Motor Check if the ventilation is installed
Modules is too high. and working. The motor current
may have to be reduced.
E-Stop / Bit 2 Emergency stop or voltage too Check if the Emergency Stop
Supply low. Button is released.
MNE Bit 3 No error. The motors are not Press the "Enable motors" button.
Motor not released yet.
enabled
COM Bit 4 The time period without CAN The position commands via the
Comm command from the controller CAN-Bus must be sent in short
Watch was too long. intervals. Turn off other programs
Dog or update / virus scan functions.
LAG Bit 5 Position lag error. The Robot Decrease the speed of movement.
Position cannot maintain the target
Lag position.
ENC Bit 6 Error in motor encoder or Check the encoder cables
Encoder absolute encoder
Error
OC Bit 7 Overcurrent in the motors Reduce the motor current
Over
Current
DRV Bit8 Error in motor driver or motor Drive specific
algorithm
After an "Error Reset" the normal status of the axes is 0x04 (motor not enabled).
After releasing the motors the status is 0x00, now the axes are ready for operation.
81
82
83