CIROS Robotics Manual - FESTO
CIROS Robotics Manual - FESTO
Robotics
User’s Guide
1 562186 EN
08/2008
Order No.: 562186
Edition: 08/2008
Authors: U.Karras
Graphics: U.Karras
Layout: 08/2008 S. Durz
© Festo Didactic GmbH & Co. KG, 73770 Denkendorf, Germany, 2008
Internet: www.festo-didactic.com
e-mail: [email protected]
2
Contents
1. Introduction________________________________________ 5
1.1 The CIROS® 3D-simulation system ______________________ 6
1.2 What's new? _______________________________________ 7
1.3 System requirements ________________________________ 8
1.4 Installation Instructions ______________________________ 8
4. Programming ______________________________________ 48
4.1 Teach-In __________________________________________ 48
4.2 Example: Programming a Work cell ____________________ 51
4.3 Print Project _______________________________________ 60
4.4 Download in Mitsubishi Robot Controller _______________ 61
4.5 Project Wizard _____________________________________ 61
5. Simulation ________________________________________ 67
5.1 Example: Work cell Simulation ________________________ 67
5.2 Sensor Simulation __________________________________ 69
5.3 PLC simulation_____________________________________ 70
5.4 Controller Selection ________________________________ 70
5.5 Simulation Settings _________________________________ 72
6. Modelling ________________________________________ 75
6.1 Model hierarchy ___________________________________ 75
6.2 Model Libraries ____________________________________ 76
6.3 The Model Explorer _________________________________ 77
6.4 Example: Modelling in a Work Cell _____________________ 83
You decide yourself how you'll proceed with your course of study. With
its integrated library of work cells, CIROS® Robotics provides you with
an introduction to robotics covering various degrees of complexity. The
library of work cells encompasses innumerable examples of typical
industrial robotic work cells, including appropriate function descriptions
and technical documentation. A sample application is included for each
work cell, and instructions are provided for implementing each
respective application. You can decide whether or not you'd like to
install the sample solutions while installing the software. Of course
you'll also have the opportunity of developing and solving a host of
other tasks for any or all of the predefined robotic work cells.
The CIROS® Robotics leaning environment provides you with user help
in a number of ways. The CIROS® online help function is based on the
standard HTML Windows help format. The Microsoft Internet explorer
(version 5.0 or higher) is required in order to use the help function. The
help system was created by Help&Manual which enables the user to
extend the help.
1.2 The user interface was completely new designed, see chapter 3.3
What's new? The library of robot work cells got a new structure such that you can
better focus on certain training levels, see chapter 2.4
There are two ways to open the work cell in order to work with it
– Reference model
– User model
The reference model is write-protected. This allows you to present
the work cell always in the original status. If you want to do changes
or to create new programs you should select the user model. The
user model can be opened in user specified folders, see chapter 3.2
for further details.
Programs and position lists can be opened and edited in any text
editor. As well CIROS® Robotics provides a print function to print out
complete projects, see chapter 4.3 for further details.
The documentation of the sample work cells includes a new section
Coordinates. This section provides the dimensioning of all the
layout of this work cell including all integrated components. This
helps you to create interesting new tasks related to a modification of
the layout of the work cells.
Note that any change of the layout cannot be saved in CIROS®
Robotics.
The concept of Automation Suite overcomes this limitation of the
Robotics version. Applying CIROS® Studio (which replaces the old
version COSIMIR Professional) you may modify the predefined work
cells or create new ones and release them for using in CIROS®
Robotics.
Licensing is exclusively done via one USB license key. This license
key can be online modified at any time.
Recommended configuration
PC operating system. Windows 2000®/XP®/VISTA®;
Microsoft Internet Explorer at least version 5.0
Processor: Intel Core Duo 2,2 GHz
RAM: 1 GB
Hard Disk Space: 10 GB
Graphic Adapter: NVIDIA 7800GTX, 512 MB RAM
Monitor: 19" with 1280 x 1024 resolution
DVD-ROM drive
USB-interface
Ethernet interface
Internet access
Email-client with email-account on the PC to arrange online upgrade
of the license key
1.4 The product package CIROS® Robotics consists of a DVD, a manual with
Installation Instructions comprehensive installation instructions, this user guide as pdf-file on
the DVD and a USB license key. You may separately order this user
guide as a print out version. The installation does not need a license
key. The license key is only required for running the software. You may
find all further details in the installation instruction manual.
This open concept has also been implemented in organising the basic
knowledge. The central topic is robotics, which is why we call it the
Robotics Assistant. It's not laid out as a CBT or a WBT, but rather as an
interactive, multimedia knowledge and information system. The
contents of the program are presented as individual information
modules including:
Texts (concepts, explanations, regulations, examples etc.)
Graphics
Videos and animations
The Robotics Assistant provides you with various options for accessing
information in a targeted fashion:
Searches for keywords or topics
Tree structure navigator
List of selected topics
2.2 Robotics is a fascinating, but at the same time highly complex and
Approach and Learning intricate technology. We restrict ourselves here to the field of industrial
Goals robotic systems, and the area of mobile robotics will not be addressed
at all.
Target groups and Our approach is aligned to vocational training in the following areas:
prerequisites Mechatronics
Various technical qualifications for metalworking and electrical
engineering
Information technology
That which has been read or heard can then be subjected to practical
testing, analysed and implemented by the trainee in his work with the
numerous virtual robotic work cells. Of course we are aware of the fact
that a virtual work cell is not capable of imparting all of the many
aspects of this technology. Problems associated with drive technology,
accuracy and dynamics are not taken into consideration in the
simulations. For this reason, we also offer the respective hardware
environments for several of the work cells:
BP70
MPS® RobotStation
MPS® RobotAssemblyStation
MPS® PunchingStation
microFMS model MTLR 10: Work cell with a CNC milling machine, a
CNC lathe machine and the
Mitsubishi RV-2AJ mounted on a linear axis
iCIM station Assembly RV-1A: Assembly work cell with robot, image
processing and various magazines
iCIM station Assembly RV-3SB: Assembly work cell with robot,
image processing and various magazines
iCIM station Assembly RH-5AH55: Assembly work cell with SCARA
robot, image processing and various magazines
iCIM station Mill55: CNC feeding station with robot and milling
machine
iCIM station Turn55: CNC feeding station with robot and lathe
machine
iCIM station Mill and Turn RV-3SB: FMS work cell with robot, CNC
milling and CNC lathe machine.
2.3 The virtual work cells create an experimental environment for trainees,
Learning via Virtual Work allowing them to experience and grasp the required basic knowledge. At
cells the same time, they are a point of departure for the examination of new
questions and problems, i.e. for building upon existing knowledge.
An explorer (see figure 2.1) provides you with direct access to all virtual
work cells. Selection of the title of a work cell in the explorer tree will
open the descriptions corresponding work cell
I/O connections
Here you'll find a commentated list of I/O assignments for the robot
controller, as well as for the PLC if included.
Programming
The structure of the sample program is explained, and helpful
hyperlinks and tips are provided for program writing.
In addition to, and independent of the included hyperlinks, you can also
access any explanations of terminology and basic theory which you
need necessary for your problem solving task at any time with the help
of the assistant explorer or the index and search functions.
Introductory work cell Which work cell should you start with? If you have no previous robotics
knowledge, we recommend beginning with the "First Steps" and "Next
Steps" models. In the First Steps work cell, simple rectangular
workpieces can be picked up from a table, moved to a pallet, and finally
positioned on a second pallet. A glass plate is located between the two
pallets in the Next Steps work cell, and an alternate position must thus
be added to the pick & place sequence in order to avoid possible
collision.
Work-cells with either the Mitsubishi RV-2AJ robot or the RV-M1
predecessor model can be selected. The RV-2AJ can be programmed
with the modern, high-level Melfa Basic IV robot language, whereas the
simple command language, Movemaster Command (MRL), must be
used with the older RV-M1. We only recommend the model with the
RVM1 robot if your hardware environment also includes RV-M1 robots.
Before writing a robot program, you must first learn to move the robot
and actuate its gripper. The robot can be moved within various
coordinate systems:
Joint coordinates
World coordinates
Tool coordinates
Three-dimensional Three-dimensional navigation within the work cell presents you with an
navigation additional problem. The representation of the work cell changes
depending upon the point of view:
From the top left or top right
From the front or the back
From up close or far away
Robot motion You'll discover that it's quite advantageous to make use of motion
within the other coordinate systems in order to grasp a work piece. On
the other hand, each movement executed by the robot is the result of
coordinated motion of the individual joints. These can be viewed in the
status window, see chapter 3.3, for example in order to observe the
means by which axes must be moved in order to advance the gripper
along the X-axis in the world coordinate system. In order to execute the
gripping operation, the gripper must be appropriately oriented.
Consider whether or not restrictions would result in this area through
the use of a 5-axis articulated robot?
The position list Now that you've brought the robot into a position from which it can
grasp the work piece with its gripper, you can save this point to the
position list. The position list contains all of the points to which the
robot must move directly for a given program, as well as important
ancillary points for moving along a path (mid-point, diverging
point etc.).
Each work cell has its own position list which you can take advantage of
in order to reduce the time required for teaching in all of the positions.
The first robot program As is also the case with the teach-in procedure, two different types of
motion commands are also used for programming robot motion:
Movement from a starting point to an end point, which is known as
point-to-point movement (abbreviated PTP). The actual path to the
robot's end point is not defined, because all axes travel to their
endpositions independent of one another.
Movement of the robot to the end point via a predefined path
(for example along a straight line).
Sample task The blue workpiece in the First Steps model must first be set onto the
middle section of the first pallet. After a waiting period of 2 seconds, it
must then be sorted into the bottom section of the second pallet.
Sequence plan
2 The robot moves the gripper to the gripping position (blue work piece) with a PTP movement
4 The robot moves the gripper to the middle section of the first pallet with a PTP movement.
6 The robot moves linearly back to a point above the first pallet.
8 The robot moves the gripper back to the middle section of the first pallet (linear movement).
10 The robot moves the gripper to a point above the final position with a PTP movement
(for safety reasons).
11 The robot moves the gripper to the final position (linear movement).
14 End
The sequence plan should be laid out such that each step can be
implemented by means of a command or a subprogram. At the same
time, the sequence plan provides you with ideal documentation of your
program. Details regarding Mitsubishi programming languages can be
found in the "Programming" chapter included in the CIROS® help
function.
Downloading to the robot The program has now been created, and must be downloaded to the
controller robot controller. This procedure can be replicated in CIROS® Robotics,
because the simulation includes a fully fledged robot controller. The
downloading procedure is completed in two steps:
Compile the program, i.e. the syntax of the programming language is
checked and is translated into universal IRDATA machine code.
The machine code is downloaded to the robot controller, i.e. the
code is linked to the controller.
Any errors that might occur are displayed. The details for this procedure
are presented in chapter 4.2.
Simulation The program has now been downloaded without error to the robot
controller. Start the program and observe the 3D motion sequence. You
can select either the
automatic mode
or the
single step mode,
and you're able to determine whether or not the sequence is
executed in a logically and functionally correct fashion.
Collision detection If the sequence is error-free, you should then check to see if any
undesired collisions occur. The Next Steps model is used to illustrate
this procedure, which includes an additional glass plate between the
two pallets. Start collision detection (see chapter 5.2), and then start
the above described program. If a collision occurs, the robot's path
must be suitably changed. Check to see whether or not any other
collisions might occur during the sequence. Why, for example, does the
robot move to a point above the final position for safety reasons in the
above represented sequence plan? Check the other movements and
gripping positions with this in mind.
Flexibility in designing Various problems can be posed for each of the work cells. The layout of
tasks any given work cell can be readily changed with the help of the model
explorer (see chapter 6.3), for example the pallets or the work pieces in
the First Steps model can be repositioned. Can the tasks still be
completed after repositioning?
Note that changes of the layout cannot be saved. You can easily solve
this problem with the Automation Suite. Open the work cell in CIROS®
Studio. Do all changes you are looking for. Save and release it for using
this new work cell in CIROS® Robotics.
The IRL programming Robot systems from various manufacturers use different programming
language languages, although there is a standardised, universal robot
programming language known as IRL (industrial robot language). We
have selected the following didactic solution for CIROS® Robotics:
We offer the Melfa Basic IV high-level programming language or the
simple MRL command language for all robotic work cells with
Mitsubishi robots.
If the work cell does not include any Mitsubishi robots, we offer the
standardised IRL language. Please note that the robots in these cells
can also be programmed with Melfa Basic IV, but not all of the
language's attributes will be supported in this case.
Sensor technology A robot can only be used flexibly if it is capable of communicating with
its work environment. The analysis of sensor signals is utilised to this
end. We have provided numerous work cells for this purpose. We
recommend the BP70 model, and in particular the MPS® RobotStation,
for getting started with this subject matter. In this work cell, the
positions of objects are detected by the robot in an elementary way, and
are evaluated for further processing. You can make use of a simulation
box with 8 inputs and outputs that are connected to the robot's
controller in the BP70 work cell.
2.4 The sequence in which the work cells are laid out is organised such that,
The Work cells as a rule, knowledge gained in working with previous work cells is very
helpful in solving the problems posed by subsequent work cells.
However, if the trainee has prepared himself adequately, the work cells
can be processed in any other desired order. In any case, before you
begin work with any given work cell, you should carefully examine the
respective video animation, as well as instructions regarding
programming and I/O connections, and included component
descriptions.
The library of work cells is structured in sub libraries such that you get a
more comfortable overview.
Introduction models
MPS robot stations
iCIM robot stations
Special robot applications
Production systems
microFMS
Introduction models
FirstSteps / NextSteps These robotic work cells have already been described in detail in
chapter 2.3. They are available with RV-2AJ and RV-M1 robots. The
sample programs for the RV-2AJ have been created with Melfa Basic IV,
and for the RV-M1 with MRL.
PickandPlaceFesto A similar handling task is implemented with this work cell using a Festo
2-axis pneumatic linear system. This model is also available with
sensors that detect the objects to be handled. The sample program is
written in IRL.
BP 70 This work cell is available with the Mitsubishi RV-M1 robot, as well as
the RV-2AJ. It additionally includes two work piece holders, one tool
holder with tool, a pallet with work pieces and a simulation box with 8
inputs and outputs. A large number of different tasks can thus be
executed with the work cell:
Handling task
Machining task
Palletising task
The tasks section in our "Basic Robotics" workbook includes concrete
task suggestions. This was the first robotic work cell offered by Festo as
part of the MPS® product range.
MPS RobotStation This work cell is a simulation of the new MPS® Robot Station, and is
equipped with the RV-2AJ robot. Geometric data are based upon a CAD
import of the associated design engineering data. The station performs
the following task sequence:
Determine the material characteristics of a workpiece held by the
robot's gripper with the help of a sensor.
Remove workpieces from the seat in a chute after a signal has been
generated.
Detect the position of workpieces and set them down correctly
orientated at an assembly point.
Sort workpieces into magazines according to material
characteristics.
This is the standard MPS® robotic work cell. The sample program is
written in Melfa Basic IV.
MPS This work cell is a simulation of a combination including the new MPS®
RobotAssemblyStation "Robot" and "Assembly" stations. The combination replaces the above
described assembly station. The "Assembly" station is controlled by a
simulated S7 PLC, or by the robot controller. A comprehensively
documented sample program is available for both variants. The
programs are identical to the respective programs for the real robotic
work cells. The task consists of assembling model cylinders from the
following components:
Cylinder housing
Piston
Spring (piston return spring)
Cylinder cap
Through the use of various cylinder housings (red, black and silver), it is
possible to assemble various cylinders with different piston diameters
(identified by the colours black and silver).
Station Assembly RV-1A The Robot assembly station is responsible for the assembly of various
types of deskset. First a baseplate is positioned at the assembly
position, then the first instrument is inserted into the baseplate. The
camera system checks the orientation of the instrument - the robot
turns the instrument to the correct orientation. Once the first instrument
has been inserted into the baseplate and the orientation has been
corrected, the second instrument is inserted and oriented in the same
way. The instruments come from the magazines. A penholder -
aluminum or brass depending on the order - is inserted into the
baseplate. The penholder comes from a pallet. Finally, the pen is
inserted into the penholder. The pen comes from the station magazine.
The assembled deskset is brought back to its retrieval position and is
placed in the automatic storage/retrieval system for further use.
Station Assembly RV-3SB In this work cell a similar task will be realized using the Mitsubishi robot
of type RV-3SB.
Station Assembly In this work cell a similar task will be realized using the Mitsubishi
RH-5AH55 SCARA robot of type RH-5AH55.
Station Mill55 The FCM 56 station comprises two functional units (CNC feed station
with Mitsubishi RV-1A robot and EMCO MILL 55 lathe). The first
functional unit is the feed station for the machine tool, the second the
CNC lathe. Work pieces are handled by the Mitsubishi RV-21A robot.
The unmachined parts are delivered on pallets with a baseplate or
penholder.
After machining, the parts are placed back on their pallets.
There are three pallet buffer stations.
Station Turn55 The FCT 56 station comprises two functional units (CNC feed station and
PC Turn 55). The first functional unit is the feed station for the machine
tool, the second the CNC lathe. Work pieces are handled by the
Mitsubishi RV-1A robot.
The unmachined parts for penholders are delivered on pallets. After
machining, the parts are returned to their original positions. There are
three pallet buffer stations. This CNC machine is used to manufacture
penholders
Station Mill and The CNC station comprises three functional units
Turn RV-3SB (CNC feed station, CONCEPT MILL 155, CONCEPT TURN 155).
The first functional unit is the feed for the machine tools, the second is
the CNC milling machine and the third is the CNC lathe. Workpieces are
handled by a Mitsubishi RV-2A robot. The robot is mounted on a linear
axis, as the distance between the CNC lathe and the CNC milling
machine is greater than the operating range of the robot. All required
positions can be easily reached using this linear axis.
The unmachined baseplate and penholder parts are delivered to the Mill
& Turn station on pallets from store or from station magazines for
machining. Following machining, the parts are returned to their original
locations. The station has four buffer locations for the pallets.
The milling machine can machine the baseplate and the penholder. The
lathe machines penholders made either of brass or aluminum - and in
various designs.
Model LabAutomation This model shows the simulation of a robot executing different tasks in
a chemical laboratory.
A gripper exchange system is attached to the endeffector of the robot
(Object name RV-E2). With this system the robot can grasp different
tools like a pipett, a gripper, and a measurement tool. At first using the
pipett the robot mixes two chemical solutions. Afterward it puts the
pipett into a cleaner. Second task is to move the test tube with the
mixed solutions to a magentic mixer. The third task includes the
measurement of the pH-value of the mixed solution.
To control the different tools the robot uses its connected I/Os.
Model Packaging The work of a palletizing robot is simulated in this workcell. A vacuum
gripper (Object name VacuumGripper) is attached to the endeffector of
the robot (Object name Palletizer). By this gripper packages are grasped
and moved from a conveyor belt to a pallet. The packages are created
by a replicator mechanism (Object name Replicator).
The connected I/Os of the robot are used to request new packages and
detect a package at the end of the conveyor belt.
Model Disassembly The bolts must be removed from an automobile wheel using a Reis RV-
16 robot in the Disassembly.mod work cell. An inductive sensor is used
to determine whether or not the robot is using the right socket wrench
to remove the bolts. Programming must be written in IRL. Knowledge of
procedural and modular programming must be acquired. Sensor
interrogations must also be incorporated into the communications
sequence in this work cell.
Model Disk Test Hard disks are tested at four different stations with the Disktest.mod
work cell. The test stations perform a surface inspection of the metal
coatings on the disks. This task can be expanded with a requirement for
calculating the Cartesian coordinates of the disks, and corresponding
organisation of generated work cell data into data structures as part of
the programming.
Model RobWeld This work cell simulates the actual Festo Didactic FMS welding station.
Welding is performed by a Kawasaki FS03N robot. The gripper system
consists of a pneumatic 3-finger gripper and a welding torch, which is
connected to the robot flange via a collision-shutdown device for safety
reasons. The task is to weld three raw metal components together into a
cylinder housing. This can be accomplished by means of spot welding or
path welding. The sample program is written in IRL, and executes a spot
welding sequence. A glass shield for the prevention of
electroophthalmia must be brought into position during welding for
safety reasons. The welding torch must be cleaned after welding.
Production Systems
Model PCBMounting The PCBMounting.mod work cell is highly demanding, and is well suited
for project work. It simulates a PCB production line which consists of 6
work stations:
Station for inserting ICs
Station for soldering ICs
Station with three robots which position the PCB holder
Station for assembling the PCB to the holder
Station for screwing the PCB to the holder
The individual work cells are available as separate cell models, so that
each work cell can initially be processed alone. Integration can then be
accomplished in the form of a large project.
microFMS
Model MTLR 10 The CNC station is comprised of three functional units (CNC loading
robot, CONCEPT MILL 105, CONCEPT TURN 105). The first functional unit
is the processing machine loading robot, the second is the CNC milling
machine, and the third functional unit is the CNC lathe. The work piece
handling is carried out by a Mitsubishi RV-2AJ robot. The robot is
mounted on a linear axis, since the work path between the CNC lathe
and the CNC milling machine extends beyond the robot's operating
range. This linear axis makes it possible for all positions to be reached
without difficulty. The unmachined parts that are placed on belts 1 and
2 are processed. After processing, the parts are put on belt 3.
The lathe can turn 4 slots into the work piece. The milling machine mills
4 recesses into the front side of the work piece.
A robot handles the workpiece.
After starting CIROS® Robotics, you can directly access the CIROS®
Assistant, see figure 2.1.
The menu bar The menu bar provides access to functions like those of a standard
Internet browser. You can scroll forwards and backwards. You can
display or hide the navigation bar. You can select a home page, as well
as other options for Internet connections. You can print out any selected
topics that serve your needs.
Additional index cards You also have the option of conveniently navigating within the CIROS®
help function using additional index cards including contents, index,
search and favourites.
The Contents index card displays the entire contents of the CIROS®
help function in an explorer layout, which can be navigated just like
the Microsoft explorer.
The Index displays all of the keywords used by the entire help
function, by means of which information can also be accessed.
The Search function facilitates full-text retrieval using all of the
terms that occur within the entire CIROS® help function.
You can create your own explorer structure for the CIROS® help
function with the Favourites index card.
3.2 The CIROS® Assistant provides you with an online learning environment
The CIROS® Assistant for robotics applications in the field of automation technology. The
assistant is subdivided into two parts:
The CIROS® Robotics Assistant
Models
The Robotics part provides you with a description of all of the robotic
work cells. All applications can be accessed directly via a link .
Open model There are two options to open a work cell model:
Open reference model
Open user model
The reference model is write-protected. Teacher should select this
option in order to demonstrate this sample always at any time in its
original version.
Select the second option if you want to work with the model. Here you
can copy or rebuild all models and robot programs from CIROS
Reference to your personal folder. The default setting installs the files
under My Documents\CIROS Robotics Models. If you wish to save your
files to another folder, change the file ModelHandler.ini in the CIROS
program folder in the subfolder \bin\Tools.
[CusttomUserFolder]
AddUsernameAsSubfolder=1 Extends the path of the custom folder by a subfolder which has the
name of the current user
e.g. e:\AnnyMiller
AddCustomSubfolder=1 Extends the path for the user models by a variable subfolder in order
to allow multiple users under the same operating system account /
login to keep their models in individual folders.
Creating or changing the user folders can be easily done using the self
explaining dialog. Due to security reasons, only letters and digits are
allowed for the user folder names [a-Z][0-9].
The name of the currently selected user subfolder is stored in the file
"CurrentUserFolder.ini" which is located one level above the user
folders. The property used in this ini-file is named
If you have finished your work, you may delete your model folder by
clicking on the button Delete user model.
The opened work cell includes a display of all of the windows that are
required for solving the assigned problem. If you chose not to install the
solutions during installation, the position list and the programming
window are empty, but they are set up such that you can begin work.
The basic procedures for working with CIROS® are described in the
following pages.
3.3
The CIROS® User Interface
3.4 The most important window types used in the CIROS® user interface are
Window Types described below.
You can also select various predefined standard views. Use the menu
function View Standard to this end. A dialogue box appears which
includes various options:
Default Setting (O)
Front view (V)
Rear view (U)
Top view (A)
Left-hand side view (L)
Right-hand side view (R)
The desired view appears after clicking one of the above options, as
long as the work cell window is open. This can also be accomplished by
simply activating the corresponding keyboard keys.
Joint Coordinates
Press the F7 key or select the menu function View -> Robot position
Show Joint coordinates. The Joint coordinates window displays the
individual positions of each of the robot's joints. Position is specified in
degrees for rotary axes, and in millimetres for linear axes. The Set joint
coordinates dialogue box can be accessed by double clicking this
window.
World Coordinates
Activate the shift+F7 key combination or select the menu function
View Robot position Show world coordinates.
In this case the world coordinate system is always equal to the base
coordinate system of the robot.
Teach-In
Activate the F8 key or select the menu function Programming Teach-
in. In addition to the designations of the robot's joints, the window that
now appears includes two small buttons which can be used to advance
the robot's individual joints. The performance of a real robot is
simulated when these buttons are activated. The robot is accelerated to
the preset speed (override) if one of these buttons is pressed and held.
The preset speed is then held constant, and braking to a speed of 0
ensues when the button is released, controlled by means of a
acceleration ramp. By clicking the corresponding option, teach-in can be
performed using world coordinates or tool coordinates.
Further details are included in chapter 4.1.
You can record the movement of the TCP by the menu function
View TCP Tracking.
Position list
The screenshot shown on the left contains a position list for a robot. The
name of the associated object is specified in the header.
Click the menu function File -> Open and select the desired file type, i.e.
*.pos (for Mitsubishi robot)
*.psl (for programming in IRL).
Alternatively, create a new position list with the menu function
File New and select the desired data type as above.
Inputs/Outputs
Press the F9 key, activate the Ctrl+F9 key combination or select the
menu function
View Inputs/outputs Show inputs or Show outputs.
The Inputs window shows which signals are being applied to the inputs
of the simulated controller. 0 signals are displayed in red, and 1 signals
in green. If the input signal is forced, this is indicated by the fact that the
input value appears in angle brackets, e.g. <1>. If the input is linked to
an output, the input value appears in brackets, e.g. [1]. the same
applies to output displays.
Controller Selection
Select the menu function Programming Controller selection. CIROS®
Robotics includes work cells with several controllers, for example one
PLC and two robot controllers, which work together simultaneously in
the simulation mode. However, if a procedure is to be taught into a
robot, the teach panel must be first allocated to the desired robot. This
task is executed by the controller selection window. It is used to display
and select a master, and to activate and/or deactivate individual
controllers. The display of robot positions, the display of inputs and
outputs, and teach-in are only possible for the robot that has been
selected as a master.
Robot Program
Click the menu function File Open and select the desired file type:
*.mb4 (for programming in Melfa Basic IV),
*.mrl (for programming in Movemaster Command)
*.IRL (for programming in IRL = Industrial Robot Language)
Or create a new program with the menu function File New and select
the desired data type.
User Input/Output
The User Input/Output window appears automatically if the robot
program contains commands with which data can be read in or read out,
for example via the serial interface at the robot controller. Due to the
fact that the robot controller is only replicated in the simulation, data
are not transmitted via the serial interface, but rather
via the User Input/Output window.
3.5 The Camera Cruise can record different views of an active work cell
Camera Cruise window. During simulation these views are recovered in rotation. A new
view between two views is determined by linear interpolation. Thus the
viewpoint moves uniformly. At the configuration of the Camera Cruise
you can schedule times for holding a certain view and for zooming to
another viewpoint. As the Camera Cruise is synchronized to the
simulation time the viewpoint movement is always synchronized to the
simulation of the work cell.
You can also save a Camera Cruise in a video file. At this several
compression methods are supported. In the video file (File
extension.AVI) all view during the cruise are saved. The video file has
the same name and is stored in the same directory as the model file
(Extension .MOD) of the actual simulation model.
Stop recording
The menu function Extras Camera Cruise Camera Cruise Stop
stops the recording of a camera cruise.
Add
To add the current view to the list click Add.
Remove
To remove the selected view from the list click Remove.
Properties
To edit the properties of the selected view with dialog box Camera
Cruise - Step X click Properties.
Options
To change the options for recording the Camera Cruise with dialog box
options - video.
You can name the selected view, assign a dwell time and a zoom time,
Click in close proximity to the gripper end point with the left mouse key.
A voxel (pixel in 3D space) is marked at the clicked point. If you double
click the voxel, the robot moves to the selected point, if it lies within its
working range. The robot can be advanced in a much more targeted way
with the universal teach panel. The teach panel can be accessed via the
menu function Programming Teach-in (F8).
Select one of the robots six joints and click one of the corresponding
arrow buttons: The robot moves around the selected joint in the
corresponding direction. Speed can be selected with the override slider.
After clicking the Set Joint coordinates button, a dialogue box appears
to which joint coordinate values can be explicitly entered. The robot's
current position can be transferred to the respective position list by
clicking the Current Position Pos. List button.
The gripper can be closed by clicking the Close gripper button, after
which the button is renamed as Open gripper.
The robot can be moved along the world coordinate axes, and the
gripper can be rotated around these axes by clicking the corresponding
arrow buttons. Select the "Tool coordinates" mode in the teach-in
window in order to move the robot within the tool coordinate system.
The tool coordinate system is the robot's basic coordinate system, but
the zero point has been shifted to the robot's TCP.
4.2 This example necessitates the creation of a program for the Mitsubishi
Example: RV-2AJ robot that solves the sample task posed in section 2.3 for the
Programming a Work cell First Steps work cell. Open the First Steps RV-2AJ work cell as user
model.
Creating a position list We've already created the sequence plan in chapter 2.3. Now we'll need
to create a position list. First, delete the contents of the predefined MRL
position list and save it under the following new name:
"FirstStepsTest.pos".
Add the robot's initial position as the first entry to the position list.
Click the Current Position Pos. List button in the teach-in window
to this end.
The second position (P2) is the gripping position for the blue work
piece. A line in the position list is highlighted after clicking
underneath the first position. Click the Current Position Pos. List
button in the teach-in window once again. As an exercise, position
P2 will be edited manually. Select position entry P2 to this end.
The Position list entry dialogue box can be accessed with the context
menu function right mouse button Properties (Alt+Enter). Edit
the displayed position data as follows:
– Positions (X, Y, Z) = (167.00, -185.00, 240.00)
– Orientation (roll = A/P, pitch= B/R) = (-90.0, 180.0)
Move the robot to the new P2 position by double clicking the
position list entry.
Close the gripper by clicking the Close gripper button in the teach-in
window.
Use the world coordinate system in order to position the robot such
that the blue work piece is set into the middle section of the first
pallet.
Tip The coordinate axes can be displayed for improved orientation: View
Coordinate systems Show Tool Centre Point
Gripper settings The gripper settings dialogue box can be opened with the menu
function Settings Grip.
All outputs are included in the Teach-in gripper control drop-down list,
which are assigned to objects capable of executing gripping tasks. This
output is activated whenever you click the Close gripper button in the
teach-in window. You can also choose to have possible warnings
displayed for gripper operations.
Three dimensional It is helpful to open a second work cell window to facilitate three
navigation dimensional navigation (see also 3.4).
After moving to the desired position has been successfully
completed, add this position to the position list as point P3.
P4 is the final position in the second pallet.
Create program Click into the programming window in order to activate it. Delete its
contents and save it as a Melfa Basic IV program under the name of the
position list: "FirstStepsTest.mb4".
The names of the program and the associated position list must be
identical!!!
Implement the sequence plan from chapter 2.3 step by step in order to
create the program.
Sequence plan
The robot moves the gripper to the middle section of the first pallet 40 MOV P3
with a PTP movement
The robot moves linearly back to a point above the first pallet 60 MVS P3,-40
The robot moves the gripper back to the middle section of the first 80 MVS P3
pallet (linear movement)
Melfa Basic IV Project Before compiling your program for the first time, you'll have to create a
project. The project includes all of the associated programs and their
respective position lists. Select the menu function Programming
Project Management in the or click the button shown in the toolbar
screenshot on the left.
The following project management configuration window appears:
Select the Files register card and click the button shown in the
screenshot on the left. You are then prompted to open the program file.
The project name then appears in the right hand portion of the project
management window. Click the empty entry at the bottom, and the
corresponding line is selected. Now add the associated position list by
selecting the "MELFA BASIC IV position list (*.POS)" file type in the file
selection window.
Now, activate your project. Select your project entry and click Set as
Active Project in the context menu. Acknowledge your project entry by
clicking the OK button. You can now download your project to the
internal robot controller.
Activate the program window and select the menu function
Programming Compile & link (Ctrl+F9), or click the button shown in
the screenshot on the left.
4.3 Use the menu function File Print (Ctrl+P) to print your project data.
Print Project You get following dialogue box to configure your print out.
4.5 The Project Wizard assists you during the creation of a new Project. Use
Project Wizard the Project Wizard to create a robot in an empty work cell including a
programming environment in only three simple steps. To create a new
project, just use command File Project Wizard. You will then be
guided through the creation process step by step.
Step 1of 3
Project Name The project name is used identify the project. It will be the filename
after saving, and you must use this name to open the project later.
The default suggestion for the project name is "UNTITLED". During
installation a directory "Project Name" below the CIROS/CIROS
Programming directory is created automatically. According to the
selected project name a subdirectory with just that name is created
and all files belonging to the project are stored there.
Note:
The character <'> (apostrophe) within the project name is
automatically replaced by the character <_> (underscore).
Program Name Enter the desired program name into this edit field. The program
name is used as a suggestion when downloading a program into the
drive unit. After downloading the program you may use this name to
start the program or for a subprogram call.
Directory / Browse... The Directory field shows the currently selected location to save the
actual project. It shows the drive and path, not including the
filename. You may alter the location by using the browse button.
The default suggestion for the directory is the actual directory.
Created by Enter a name to identify the author of the project, robot program,
etc..
Initials Enter the author‚s initials, e.g. for referencing in the project
description or the project history
General All data entered within this dialog will be saved, if you change to
another step of the project wizard or leave the wizard using Finish.
All data entered within this dialog and during the actual use of the
project wizard will be lost if leaving the wizard using Cancel.
Step 2of 3
Robot Type Use this list box to select your robot type. The selected robot is shown in the
upper right area of the dialog.
I/O-interface cards Selects the number of interface cards of your drive unit. The maximum
number of cards to select depends on the actual robot type:
Movemaster RE-xxx: 3 cards
Movemaster RV-M1/2: 2 cards
Programming The programming language selected here is used for the creation of a
Language program file and selects the der syntax checker. This item is only available if
the selected robot type supports more than one programming language. If
there is only one possible language for the robot or the controller this
language is selected automatically.
Additional Axis 1 (L1) Use this item to determine the first additional axis. You may specify the type
of the axis. The selection lin describes a travel axis, rot a rotating table.
Additional Axis 2 (L2) Use this item to determine the second additional axis. You may specify the
type of the axis. The selection lin describes a travel axis, rot a rotating table.
This item is only available if the first additional axis is selected as lin or rot
and if the robot type supports 2 additional axis
Step 3of 3 Use this item to determine the second additional axis. You may specify
the type of the axis. The selection lin describes a travel axis, rot a
rotating table. This item is only available if the first additional axis is
selected as lin or rot and if the robot type supports 2 additional axis.
Changes
This field may be used for a description of the changes of the project.
You may enter any sentences, words, characters and symbols.
Then click on the button Finish and the work cell with the selected
robot, the programming window and position list will be shown. Using
the menu function Window Workspace Robot programming
Program, Position List and I/O's you get an ideal display of your
application windows.
The simulation of programs that have been written offline using CIROS®
is described in the following pages.
5.1 Open the First Steps RV-2AJ work cell with the First Steps Test project
Example: Work cell from the proceeding chapter. Start the simulation with the menu
Simulation function Simulation Start (F5), or click the button shown in the
toolbar screenshot on the left.
Collision detection As regards collision detection, you should first decide which
components are to be examined for possible collisions.
Example Consider our sample program to this end. The first critical point is
certainly the transfer of the blue work piece to the first pallet. The task
in this case is to specify that these two objects will be examined for
possible collision.
Use the menu function Settings Collision detection to this end. Click
the Selection index card
The index card displays a list of all of the objects included in the work
cell. Box3 is the blue work piece. Select Box3 and Pallet1.Pallet as you
would in the Windows explorer. Select the Selected objects against
each other option, in order to determine whether or not the selected
objects collide with each other.
Click the button shown in the toolbar screenshot on the left in order to
activate collision detection, or select the Collision detection function in
the Execute menu. Start the simulation once again. Notice that the blue
work piece turns red during transfer before it is set down onto the first
pallet. This indicates that a collision has occurred. This collision
persists, because the work piece is set down onto the pallet. How can
we eliminate this collision before the work piece is set down?
5.2 The sensor simulation functions expand the capabilities of CIROS® such
Sensor Simulation that complete robotic work cells can be simulated. Many of the sensors
utilised in manufacturing automation can be realistically configured and
simulated. Visualisation of sensor measuring ranges, which is not
possible in real applications, provides additional help in avoiding
design errors during the planning stages. Sensors are utilised in
numerous work cells, for example in the MPS® Robot Station, for
detecting objects and materials. The characteristics of these sensors
can be analysed with the model explorer (see also chapter 6.3).
Master By clicking on the appropriate radio button you assign the master state
to the referring controller. In case the chosen controller has been
inactive before, it is activated at the same time. The following window
contents or parameters are adjusted to the respective master controller:
Position window (joint or world coordinates)
Position list window
I/O window
Teach-In window
Loading of programs (IRL, S5 SPS, etc.)
Activity By clicking into the appropriate check box you activate or inactivate the
referring controller. The master controller is always active, it cannot be
disabled. Activation or deactivation of controllers has got the following
consequences:
Start/Stop of programs is only performed, if the controller is
activated.
State notifications are processed only, if the controller is activated.
Start/Stop This field shows the if the controller is running or not. All controllers are
started or stopped consecutively after choosing 'Start‚ or 'Stop‚ from
the execute menu.
5.5 Use the menu function Settings -> Simulation for configuration.
Simulation Settings
Simulation cycle The simulation cycle specifies the intervals, in which the simulation
controller interpolates the states of robots. Additionally it specifies the
cycle time for available PLCs and the recalculation time for all extension
modules (e.g. sensor simulation, transport simulation,...).
A high value results in a fast simulation, but with only very few
interpolation steps. Too high values may result in important steps not
being calculated. A low value calculates more interpolation steps, but
therefore decreases the simulation speed due to the need of more
machine time.
Example Granted that a robot needs exactly one second for a certain motion
command. Depending on the simulation cycle, the number of
interpolations would be as following:
Number of interpolations 25 10 5 2 1
Target Visualization Cycle The visualization cycle specifies the intervals, in which the model in the
work cell window shall be refreshed. The value can be interpreted as
"refresh work cell window each visualization cycle seconds". A very low
value means that the window will be refreshed very often, which may
due to a higher need of machine power, result in slowing down the
simulation.
Since the simulation is recalculated each simulation cycle, the value of
the visualization cycle must always be equal to of greater than the
simulation cycle.
Show End Positions This option ensures that the state at the end position of a robot motion
visualized, even if it lies between two visualization
Real Time Control Select this option to enable the real time visualization. The visualization
cycle will then be adjusted dynamically to provide real time views of a
running simulation.
Real Time Compensation This parameter determines a constant (amplification P) to control the
Visualization Cycle. Values range from 0.1 to 0.6. A small value means a
slower compensation, higher values may force fluctuations or even
oscillations.
Maximum Visualization Selecting Realtime makes the system set the Visualization Cycle
Cycle automatically to reach a synchronization between the simulation time
and the real clock.
In case that a model is very complex, it can happen that real time
control is not possible due to too high machine power requirements.
This would result in permanently increasing the visualization cycle. To
avoid this effect, the maximum visualization cycle can be limited to a
certain value. The range of the visualization cycle is always between the
simulation cycle and the simulation cycle.
Simulation / The parameter entered determines the relation between simulation time
Real Time Ratio and real time. The default value 1.0 controls the simulation time
according to realtime, a value greater 1.0 makes the simulation time run
faster then realtime.
Selecting the value 5.0 makes the simulation time run five times faster
than realtime. A simulation period of 50 seconds will take 10 seconds in
realtime.
Simulation Cycle Select this option to use spare computing power of your machine in
Optimization order to improve the simulation cycle. The simulation cycle will then be
optimized dynamically, depending on the unused computing power. The
lower limit for the simulation cycle can be defined in the field Minimum
simulation cycle
Minimal simulation cycle This field defines a lower limit for the option Simulation Cycle
Optimization.
Although new work cells cannot be saved to CIROS® Robotics, you are
provided with numerous modelling functions within the work cells that
allow you to change layouts, and to analyse alternatively configured
problems.
6.1 The following types of elements are included in the CIROS® model
Model hierarchy hierarchy:
Groups Groups are assigned to objects. Each group may enjoy a given
degree of freedom, and can thus be moved relative to the
previous group
Example: A robot jont is a group
6.3 All of the elements included in a work cell can be accessed via the
The Model Explorer model explorer. In addition to objects and their subordinate elements,
this also applies to materials, libraries, illumination settings and all I/O
connections.
The Objects folder contains all of the work cells components. We make
reference to this folder name in the work cells function descriptions.
Example You want to determine the exact position of the green work piece in the
First Steps work cell expressed in world coordinates.
1. Activate the editing mode using the Edit mode function in the
Modeling menu (Ctrl+E), and open the model explorer. Click the
green work piece. The object is then selected and the associated
object coordinate system is displayed. The "Objects" file is selected
in the tree structure, as well as the appropriate component, i.e.
"Box2", in the display window. The desired allocation has now been
established.
2. Click the "Box2" object in the tree structure and select Properties
from the context menu. The Object properties dialog box appears,
from which the Position index card must now be selected.
The Cartesian coordinates of the zero point from the object coordinate
system are displayed here, as well as the orientation of the object
relative to the world coordinate system (roll: rotation around the Z-axis,
pitch: rotation around the Y-axis, yaw: rotation around the X-axis).
Changing object properties We want to expand our sample task by requiring that the cell is changed
such that the green work piece is approximately at the centre of the
table, turned 45° relative to the world coordinate system:
Library elements Objects in a work cell can also be grouped together as library elements.
The goal is to assure that the included objects are always arranged in a
fixed geometric constellation in relation to one another. Library
elements are recognised by means of their designation. Library
elements always have two-part names: Library_name.Object_name
Example: (First Steps work cell): Pallet1.Pallet
Master Frame The masterframe is a user defined frame (x,y,z,R,P,Y), which can be
used for the positioning of elements or the tcp of the current robot
during graphical modeling. The masterframe is controlled by the
following toolbar buttons:
Sets the TCP of the current robot to the position of the masterframe.
I/O connections Select the folder I/O connections in the model explorer. Then you get a
list of all I/O connections where to each in- and output the
corresponding object is pointed out.
Sample task:
You would also like to know which input bit is allocated to the symbolic
"Part_AV" input at the robot controller in the "MPS®
RobotStation.mod" work cell.
Solution Open the folder for the RV-2AJ object and select the inputs subfolder. All
input bits are then displayed in the right-hand window.
You can now see that the input in question is allocated to input bit
no. 8.
6.4 In chapter 6.3 you learned how to change object properties, enabling
Example: Modelling in a you to easily modify the work cell layout.
Work Cell There are numerous other possibilities of remodelling your work cell in
a sensible fashion in CIROS® Robotics.
You wish to find out which light sources are turned on in the sample
work cell, and what effect they have on the work cell. Select, for
example, light source 1 with a left click. The orientation of the light
source is graphically represented in the work cell window by means of a
light beam, and the associated object properties window is opened.
Light sources can be turned on and off, and their orientation, intensity
and colour can be changed.
Robot selection You want to replace the robot in a given work cell with a different robot,
for example you would like to replace the RV-2AJ robot in the MPS®
Robot Station with the 6-axis Mitsubishi RV-1A robot. Open the model
explorer and select the name of the respective work cell,
"RobotStation". Open the properties dialogue box via the context menu
and select the libraries index card:
Select the "Exchange active robot" option. A line appears at the bottom
prompting you to acknowledge the change. Select "Yes" and then close
the dialogue box. Now open the model library dialogue box and select
the RV-1A from the Mitsubishi robots folder. Add this robot to the
process model. A dialogue box appears indicating that the operation
cannot be undone. Acknowledge with "Yes". The old robot is now
replaced with the new one, and all I/O connections are updated as well.
The name of the robot listed in the model explorer remains unchanged
(RV-2AJ)! Don't forget that all teach-in points must be updated.
Exercise You want to set up a partition between the two pallets in the First Steps
work cell, in order to demonstrate a collision problem.
Solution The model library does not include a partition, but the Next Steps work
cell does. Open the Next Steps work cell with CIROS® Studio and select
the "Wall" component in the model explorer from the work cell's object
folder. Save the object as wall.mod via the context menu. This file can
now be imported to any work cell in CIROS® Robotics with the help of
the menu function File Import.
Grip point
Create a rectangular work piece with a side length of 45 mm in CIROS®
Studio. Open the First Steps work cell in CIROS® Robotics and import
the new component named "Box4". Position the component at the
centre of the table. Teach the robot to grasp the new work piece. What
happens?
Select the menu function Settings Grip for troubleshooting
assistance. Then select the "Gripper warnings" option in the
configuration window.
Exercise A warning now appears when the gripper is closed: "No object". Why
does this warning appear?
Solution Compare the structure of the Box3 and Box4 work pieces in the model
explorer. As you can see, Box4 does not have a gripping point, which
means that the gripper does not recognise it as a graspable object.
Proceed as follows in order to create a grip point:
1. Select the Basic subfolder for the Box4 object.
2. Select New and Gripping point from the context menu.
3. A grip point appears in the right-hand window.
4. Select the grip point and open the properties dialogue box from the
context menu.
5. Select the object coordinate system and position the gripping point
at the centre of the work piece.
6. A grip point range can then be created in the "General" index card.
In addition to this, you can import any of the work cells and elements
included in the model library. However, you must keep in mind that
existing I/O connections are not imported. You'll have to set up the I/O
connections again after import. This process can be easily elucidated:
Exercise Connect the "On" input at LED_0 to the "OUT0" output at the robot
controller.
Solution Position the mouse pointer at the "On" input for LED_0 in the display
window. Press and hold the left mouse key. Move the mouse pointer to
the "OUT0" output at the robot controller in the navigation window of
the model explorer, and then release the key (connect by means of drag
and drop). The connection to the selected output appears in the display
window.