0% found this document useful (0 votes)
49 views

2023 RobotStudio p1 - Introduction (1)

The document provides an introduction to RobotStudio®, a software application for offline simulation and programming of ABB robots, aimed at supporting robotics classes in a Master's program. It covers installation procedures, basic functions, and prerequisites for using the software, along with a structured tutorial format that includes lessons on creating and programming robotic stations. The document emphasizes the software's ability to create a digital twin of a robotic cell and the direct transfer of developed programs to real robot controllers.

Uploaded by

rafael sa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views

2023 RobotStudio p1 - Introduction (1)

The document provides an introduction to RobotStudio®, a software application for offline simulation and programming of ABB robots, aimed at supporting robotics classes in a Master's program. It covers installation procedures, basic functions, and prerequisites for using the software, along with a structured tutorial format that includes lessons on creating and programming robotic stations. The document emphasizes the software's ability to create a digital twin of a robotic cell and the direct transfer of developed programs to real robot controllers.

Uploaded by

rafael sa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 68

RobotStudio® Tutorials

Part 1 – Introduction

Paulo Abreu

September 2023
This work is exclusively intended to support the classes of Robotics, of the Master Degree in
Mechanical Engineering at DEMec, FEUP. Its reproduction and/or distribution outside this scope
requires the prior written consent of the author.
Contents
1. Global vision of RobotStudio® .............................................................................................. 1

1.1. Introduction ...................................................................................................................... 1

1.2. Installing RobotStudio® software .................................................................................. 2

Lesson 1 – My first station ............................................................................................................. 20

Lesson 2 - Moving the robot ........................................................................................................... 29

Reference Documents ...................................................................................................................... 40

ANNEX A – Basic Concepts ................................................................................................................ 41

A.1. Coordinate systems in RobotStudio® .................................................................................. 42

A.1.1. Introduction ...................................................................................................................... 42

A.1.2. Coordinate systems ......................................................................................................... 42

A.1.3. Robot repositioning and coordinate systems .............................................................. 54

A.2. Targets and Paths ................................................................................................................. 58

A.2.1. Introduction ...................................................................................................................... 58

A.2.2. Targets .............................................................................................................................. 58

A.2.3. Paths .................................................................................................................................. 58

A.2.4. Robot axis configuration ............................................................................................... 59


List of Figures
Figure 1 – Selection the language for the installation of RobotStudio® ............................ 4

Figure 2 – RobotStudio® installation start screen ..................................................... 4

Figure 3 – Confirmation of software licensing conditions............................................. 5

Figure 4 – RobotStudio® software licensing conditions ............................................... 5

Figure 5 – Setting the software installation directory................................................. 6

Figure 6 – Selection of software components to install ............................................... 6

Figure 7 – Selection for installing RobotStudio® ....................................................... 7

Figure 8 – RobotStudio® software installation final window ......................................... 7

Figure 9 – RobotStudio® access link on PC desktop ................................................... 7

Figure 10 – Download and install RobotWare for IRC5 controller .................................... 8

Figure 11 – Help Files available in the computer hard disk .......................................... 9

Figure 12 – RobotStudio® program start interface ................................................... 11

Figure 13 – RobotStudio® program activation interface ............................................. 11

Figure 14 – Setting up robotic station with IRB2400 and controller ................................ 12

Figure 15 – Robotic station with IRB 2400 robot ...................................................... 12

Figure 16 – RobotStudio® graphical interface ......................................................... 13

Figure 17 – Menu Customize Quick Access Toolbar ................................................... 14

Figure 18 – File tab ........................................................................................ 15

Figure 19 – Home tab ..................................................................................... 15

Figure 20 – Modeling tab ................................................................................. 16

Figure 21 – Simulation tab ............................................................................... 16

Figure 22 – Controller tab ................................................................................ 17

Figure 23 – Rapid tab ..................................................................................... 17

Figure 24 – Add-Ins tab ................................................................................... 18

Figure 25 – Navigation in the graphic window using the mouse .................................... 19

Figure 26 – Create new station (Solution with Station and Virtual Controller) ................... 21

Figure 27 – Inserting object into the station .......................................................... 23


Figure 28 – Worktable in its initial location ........................................................... 23

Figure 29 – Selecting instruction Set Position ......................................................... 24

Figure 30 – Defining Worktable new position .......................................................... 24

Figure 31 – Worktable placed in new position ......................................................... 25

Figure 32 – Importing a tool ............................................................................. 25

Figure 33 – Visible/Invisible Switch Instruction ....................................................... 26

Figure 34 – MyTool in the imported location .......................................................... 26

Figure 35 – Selecting instruction Attach to ............................................................ 27

Figure 36 – Validation of the position to be used with instruction Attach to .................... 27

Figure 37 – Station with robot and respective welding torch and table ........................... 28

Figure 38 – Open existing station ....................................................................... 29

Figure 39 – Workobject creation ........................................................................ 30

Figure 40 – Workobject definition ...................................................................... 30

Figure 41 – Viewing the Workobject Table_Ref ....................................................... 30

Figure 42 – Selecting Create Target Instruction....................................................... 31

Figure 43 – Create Target instruction definition ...................................................... 32

Figure 44 – Instruction Examine applied to target ................................................... 32

Figure 45 – View Tool at Target instruction ........................................................... 33

Figure 46 – Instruction View Robot at Target.......................................................... 34

Figure 47 - Instruction Create Target .................................................................. 34

Figure 48 – Viewing the four created targets.......................................................... 35

Figure 49 – Jump to target and selecting Robot Configurations .................................... 36

Figure 50 – Instruction Jump Home ..................................................................... 36

Figure 51 - Empty Path Instruction ..................................................................... 37

Figure 52 – Viewing the path instructions created within the Path_10 ........................... 37

Figure 53 – Instruction Auto Configuration ............................................................ 38

Figure 54 – Status Bar with default parameters ....................................................... 38

Figure 55 – Instruction Move Along Path ............................................................... 39


RobotStudio® Tutorials

Part 1
Introduction

1. Global vision of RobotStudio®

1.1. Introduction

RobotStudio® is a computer application that allows offline simulation and programming of ABB
robots. This application allows the creation of a virtual environment where, in addition to the
equipment supplied by ABB – robots, positioning tables, linear axes – other equipment such as
conveyor belts, grapples, automatic mechanisms can be imported and/or modelled. In this
virtual environment, there are the software tools for programming the ABB robots, with the
particularity of incorporating a virtual model of the real controller of the robot. This
functionality also includes a virtual model of the robot's programming console. This allows
programming the virtual robot in an identical way to the one the user would use if he were
programming online. In this way, it is possible to create a digital twin of a robotic cell, turning
the experience of programming a robot with this software quite realistic. The programs
developed in this software can be directly used in the real robot controller; no conversion or
post-processing is required. Thus, the created files can be transferred to the robot controller
directly, via an Ethernet connection between the computer and the robot controller or by
carrying the files via a USB stick. If the computer is connected to the robot controller, this
application, RobotStudio®, works as an interface to supervise, install, configure and program
the real robot (RobotStudio online).

RobotStudio® Tutorials 1
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
This document - RobotStudio Tutorials - is organized into several parts, with part I relating to
the introduction to this computer application. Each part consists of several lessons
accompanied by the presentation of basic concepts related to robot programming.

At the end of the set of tutorials and respective lessons, the student should:

• Know how to install and configure RobotStudio® software;


• Know how to use and apply the basic functions provided by RobotStudio® software;
• Be able to use RobotStudio® software to create, program and simulate a station (robotic
cell);
• Know how to write a program in RAPID language, for a low/medium complexity application;
• Have the ability to test and debug a program written in RAPID;
• Understand the limitations and potential of offline programming;
• Be able to program a real ABB robot.

Prerequisites for these lessons include basic knowledge of software installation, working in a
Windows environment, 3D modeling, and knowledge of functioning and operation of industrial
robots.

1.2. Installing RobotStudio® software

Generic considerations
RobotStudio® software is available for download from the ABB WEB page
(https://new.abb.com/products/robotics/robotstudio/downloads) along with tutorials,
examples, templates, and videos and other related applications (PowerPacs for RobotStudio®)
as well as links of interest.

There is a RobotStudio® user forum (https://forums.robotstudio.com) where you can find


information of interest.

RobotStudio® software requires a license, but it is possible to used it for free during the first
thirty days counting on the installation date. After this date, its use is limited, unless a license
is acquired from ABB. Attention is therefore drawn to this important limitation!

The RobotStudio® software has been the subject of continuous development by ABB, and there
are therefore multiple versions. In 2009 the version available was 5.12. In April 2013 version
5.15.01 was introduced. In December 2013 version 5.60 appeared and in December 2014 version
6.0 was introduced. In 2019, the nomenclature was changed and the 2019 version was made
available. This version introduced a new license management system and a new process to
deliver the robot controller software, RobotWare. This software is no longer included in
RobotStudio®, being distributed independently. The user can then choose to download and

2 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
install any version of RobotWare from the menu Add-Ins/Community/RobotApps, available
within RobotStudio®. As of the date of this edition, September 2023, the available version is
2023.2.1, introduced in September 2023. In this version the robot controller software,
RobotWare, is installed automatically with the RobotStudio installation.

Version 5.15 was the last one that is compatible with Windows XP SP3 operating system (32-bit
edition). Later versions, starting with version 5.6, already require Windows 7 SP1 or Windows
8.1 operating system. As of version 6.0.2, the recommended operating system also includes
Windows 10 (64-bit edition). In the current version, 2023.2.1, Microsoft Windows 10 Anniversary
Edition or later, 64-bit edition, is required. Note that ABB is continuously releasing new versions
of RobotStudio® but it has been verified that a wide range of features and operating structure
of RobotStudio® remain the same, so it is expected that these manuals will continue to be
useful for new versions of RobotStudio®.

For more details on RobotStudio® installation and hardware recommendations, see “Release
Notes\Articles” folder available in RobotStudio® installation file set.

Attention is drawn to the following aspects:

• Required operating system: Microsoft Windows 10 Anniversary Edition or later, 64-bit


edition
• Windows Firewall will try to block the access of some applications necessary to run
RobotStudio®, so you will need to give access permissions to those applications when
asked by the installation program.
• To be able to install the software, you need administrator permissions.

The installation process described below concerns an installation carried out on a computer
with an operating system Microsoft Windows 10 Enterprise, 64bit edition, version 21H1, OS build
19043.1320. Other operating system versions and level of updates may lead to a slightly
different installation process.

Download RobotStudio®

Access the page https://new.abb.com/products/robotics/robotstudio/downloads and select


the link “RobotStudio 2023.2.1”. in order to download the file. It will be necessary to proceed
with a previous registration process. Note that in a future access date to this page, another
interface or software version may already be available, as new versions have been made
available with some regularity.

Save the file RobotStudio_2023.2.1zip. Afterwards, proceed with the execution of this file so
that it is unzipped to a directory to be defined by the user (if the directory C:\TEMP is chosen,
the following four directories are created:

C:\TEMP\RobotStudio

RobotStudio® Tutorials 3
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
C:\TEMP\Release Notes
C:\TEMP\SLP Distributor
C:\TEMP\Utilities

Software installation

The RobotStudio® software installation starts by launching the setup.exe application, available
in the directory chosen for storing the unzipped files (C:\TEMP\RobotStudio). The window shown
in Figure 1, should then appear, and the option shown in English (United States) should be
selected.

Figure 1 – Selection the language for the installation of RobotStudio®

Afterwards, the installation process starts, and after some time, the window shown in Figure
2, appears, and the option Next must be selected.

Figure 2 – RobotStudio® installation start screen

The window shown in Figure 3 should appear and you must accept the software's licensing terms
and proceed with the installation.

4 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure 3 – Confirmation of software licensing conditions

The window shown in Figure 4 will appear by selecting the Accept button, which starts the
process of defining the software installation directory.

Figure 4 – RobotStudio® software licensing conditions

Then the window shown in Figure 5. appears. You can install in the suggested directory and
proceed. In the next window (Figure 6 ) select complete installation and continue the process.

RobotStudio® Tutorials 5
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure 5 – Setting the software installation directory

Figure 6 – Selection of software components to install

The window shown in Figure 7 will appear and you should continue by pressing the Install
button. The process starts and it is expected that it will take some time to reach the next
stage. Note that, depending on the software on the computer, some other update applications
may also be installed, namely those related to Microsoft.NET.

6 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure 7 – Selection for installing RobotStudio®

At the end of the installation, the window shown in Figure 8 will appear, and the Finish button
must be activated. On the desktop, the link (Figure 9) to the newly installed program will
appear.

Figure 8 – RobotStudio® software installation final window

Figure 9 – RobotStudio® access link on PC desktop

RobotStudio® Tutorials 7
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
From this moment on, the software is available to be used, either for offline programming and
simulation of robotic cells, or for direct control of the real robot controller.

It is worth mentioning here an important aspect of using and operating the RobotStudio®
software. RobotStudio® software includes a virtual controller of the IRC5 controller that is used
by ABB robots. This virtual controller has an “operating system” which is called RobotWare,
and there are several versions of this software (RW 5.12, RW 5.6, ….RW 6.0, RW 6.12, …, RW
6.15). Up to RobotStudio® version 6.0 it was necessary to install this software independently
of the RobotStudio installation. As of version 6, this software started to be installed in an
integrated way with the RobotStudio® application. From version of RobotStudio® 2019 up to
RobotStudio® 2021 it is once again necessary to install RobotWare independently, from within
RobotStudio®, from the Add-Ins / RobotApps Menu.

For RobotStudio® 2023.2.1 version, the latest RobotWare for the IRC5 controller is version
6.15.03 (September 2023) and this software is again installed in an integrated way with the
RobotStudio® application. Never the less, it is possible to arrange and install other versions of
RobotWare for IRC5. Thus, it is possible to configure a given robotic cell in a RobotStudio 2023
environment that uses a controller with RobotWare version 6.15, for example.

To install another version of the “RobotWare for IRC5” software, open the RobotStudio®
application and access the Add-Ins tab. Then, select the Package/Gallery menu, that opens
the window (see Figure 10), select “RobotWare for IRC5” and choose the RobotWare version,
being confirmed by the Add button The file is downloaded and installed automatically. If
deemed necessary, other versions of RobotWare can be added, making them available for use
with the virtual controller.

Figure 10 – Download and install RobotWare for IRC5 controller


The RobotStudio® 2023 version supports, in addition to the IRC5 controller, the new ABB
controller, OmniCore, that also has a “operating system” called RobotWare 7. This controller
supports the collaborative robots from ABB. This software can also be installed from the Menu
Add-Ins / Community/ RobotApps, being the latest version at the time of issue of this

8 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
document, RobotWare 7.10.1. If other previous versions are required, for compatibility reasons,
it is possible to install them. Multiple versions can be installed.

Please be aware that there are additional ABB applications known as PowerPacs, which can be
easily acquired through download from the official ABB website. These PowerPacs are designed
to enhance RobotStudio® by offering specialized software features tailored for specific
applications, thus expanding its capabilities. The PowerPacs currently available are:

 ArcWelding PowerPac 2023.2


 ArcWelding 2 PowerPac 2023
 Cutting PowerPac 2023.2
 Machining PowerPac 2022.2
 Machine Tending PowerPac 2023.2
 Painting PowerPac 2023.2
 Palletizing PowerPac 2023.2
 Picking PowerPac 2023.2
 Dispensing PowerPac 2019
 3D Printing PowerPac 2023.2
In addition to these applications, there is also other additional software, namely

 RobotWare Tools and Utilities 6.15.02 (for IRC5 Controller)


 RobotWare Tools and Utilities 7.10.1 (for OmniCore Controller)
However, these applications, for the purposes of this work, are not relevant, so it is suggested
that they should not be installed.

After installing the software, you can check the existence of several files and subdirectories
from the location C:\Program Files (x86)\ABB\RobotStudio 2023, (in case the Windows
installation has the default directory C:\Program Files (x86)).

It is worth mentioning the Help files, with versions in several languages, and available in the
directory C:\Program Files (x86)\ABB\RobotStudio 2023\Help\, (see Figure 11) which can be
accessed directly or through the application RobotStudio®.

Figure 11 – Help Files available in the computer hard disk

RobotStudio® Tutorials 9
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
In the RobotStudio® installation directory used (C:\TEMP\) it is also possible to find a set of
directories, in particular the “Release Notes” with additional information.

It is also worth mentioning other existing documentation, namely the one concerning the
RobotStudio® user manual, and the ones related to both the IRC5 and OmniCore controllers,
that can be downloaded (from the add-ins/Packages/Gallery) and accessed from the
RobotStudio menu Help / Documentation.

As an example, the following documents that are available from the program's Help Menu, can
also be obtained in a pdf version from the site of ABB:

 Operating manual, RobotStudio 2023.2


(Document id: 3HAC032104-001Revision AP)
 Application manual Controller software IRC5RobotWare 6.15
(Document id: 3HAC050798-001, Revision: S)

Another document is also available:

 Product Specification, RobotStudio


(Document ID: 3HAC026932-001, Revision: AD)

A directory called RobotStudio is also created, with several folders, in the user's area of the
computer, where files created by the user, backup copies, and others will be saved by default.
An example of a possible location for this directory is in C:\Users\user_name\My
Documents\RobotStudio (obviously depending on the configuration of the computer in question
and the username selected during installation).

1.3 Graphical User Interface

Start the RobotStudio® application. Typically, the application will be accessible via the desktop
icon or at the address: C:\Program Files (x86)\ABB\RobotStudio 2023\Bin\RobotStudio.exe. The
user interface that appears on the screen is shown in Figure 12. A window for activation of the
user license may also appear (Figure 13), in which the user can choose to select the Standalone
License / I want to request a trial license and follow the requested steps. Alternatively, if the
user has access to a network license, has to select the corresponding alternative and proceed
with the license activation procedure.

10 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure 12 – RobotStudio® program start interface

Figure 13 – RobotStudio® program activation interface

To create a station with a robot select the option File/New/Project/ and then choose the name
of the project, the file location, activating the option to include a Robot and a Virtual
Controller. Then select the Robot model and the version of the RobotWare. It is suggested to
use the data presented in Figure 14, where the robot model is the IRB2400 20Kg 1.55m and the
RobotWare 6.15.03.00 . Then select the Create button. A window similar to the one shown in
Figure 15 will then appear on the screen.

RobotStudio® Tutorials 11
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure 14 – Setting up robotic station with IRB2400 and controller

Figure 15 – Robotic station with IRB 2400 robot

12 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
This application presents an interface with a menu layout similar to that found in Microsoft
Office. Six main areas are highlighted and shown in Figure 16, namely:

 Area of tabs;
 Area of project definitions and instructions: Layout, Paths&Targets and Tags
windows
 Area of visualization Windows
 Area of document lists.
 Area of messages windows;
 Area of Status bar;

Each area can have several tabs/menus/windows. The Layout, Paths&Targets and Tags windows
are available by default in the definitions and instructions area.
Tabs

Vizualization
Documents
list
Project
windows

Messages windows

Status bar

Figure 16 – RobotStudio® graphical interface

The layout shown in Figure 16, which corresponds to the Default Layout, can be changed by the
user. Also, the width of the application window conditions the visibility of the different menus
available. Whenever it is necessary to return to this format, proceed as follows: with the mouse
positioned over the menu bar, press the right mouse button and, after a Menu Customize Quick
Access Toolbar appears, select the Default Layout option (Figure 17).

RobotStudio® Tutorials 13
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure 17 – Menu Customize Quick Access Toolbar

The area of tabs allows accessing the main instructions and menus available in each tab.

File – allows access to instructions related to the manipulation of files related to stations,
namely saving, saving as, opening, closing, sharing, printing; in addition, it lets you define the
way to create a new station, configure the RobotStudio® online connection to the real
controller of a robot, as well as access the Help Menu and instructions for setting program
options (see Figure 18).

14 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure 18 – File tab

Home – allows access to several instructions grouped by different names, namely the following
ones (see Figure 19):
• Build Station allows access to instructions that allow building stations, inserting
robots, importing components and defining references;
• Path Programming allows defining the path programming, involving the definition of
coordinate references, the creation and teaching of target locations;
• Settings allows selecting the Task, Workobject and Tool referential to be used in the
definition of programming instructions;
• Controller allows you to synchronize the station with the virtual controller and vice
versa
• Freehand makes available the instructions for moving the robot and objects present
in the station;
• Graphics provides instructions related to aspects of visualization of station elements,
namely views and perspectives, and wireframe/surface type visualization selection.

Figure 19 – Home tab

RobotStudio® Tutorials 15
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
Modeling: allows access to instructions related to the creation of objects for the station,
performing operations typical of a CAD system. In addition, it gives access to the process of
creating mechanisms and tools. The various instructions are grouped by different names,
namely the following (see Figure 20):

 Create;
 CAD operations;
 Measure;
 Freehand;
 Mechanism.

Figure 20 – Modeling tab

Simulation: allows access to functions related to the execution of simulations (animations) of


robot movements and other devices. The various instructions are grouped by different names,
namely the following ones (see Figure 21 ):

 Collisions;
 Configure;
 Simulation Control;
 Monitor;
 Signal Analyzer
 Record Movie;

Figure 21 – Simulation tab

Controller: this Tab gives access to the instructions that allow configuring the controller
(virtual or real) of the station. The various instructions are grouped by different names, namely
the following ones (see Figure 22):

 Access;
 Controller Tools;
 I/O;
 Configuration;

16 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
 Virtual Controller;
 Transfer.

Figure 22 – Controller tab

Rapid: this Menu gives access to functions that allow you to edit programs written in Rapid
language (see Figure 23):

 Access;
 Edit;
 Insert;
 Find;
 Controller;
 Test and Debug;
 Path Editor.

Figure 23 – Rapid tab

Add-Ins: this tab provides the menus of any additional applications that have been installed,
namely, PowerPacs (Machining, Machine Tending, …). In addition, this tab gives access to
RobotApps that are available on the ABB website and that are made available by the
RobotStudio® user community. It is also through this RobotApps tab that you can access the
ABB website in order to download other versions of RobotWare (RobotWare for IRC5 and
RobotWare for OmniCore) or to migrate from old versions of RobotWare to the current version.

This Menu is organized in the following instruction groups, but other groups may exist if other
Add-Ins have been installed:

 Packages (Install Package and Gallery)


 PowerPacs
 Gearbox Heat Prediction

RobotStudio® Tutorials 17
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure 24 – Add-Ins tab

Remark:
The RobotStudio® application allows you to create objects to be incorporated in robotic cells,
having a CAD module with basic functions. However, it is suggested the use of other CAD
applications, namely SOLIDWORKS ®, for the development of the components to be
incorporated. These objects must be saved in *.SAT format and then imported as geometry into
RobotStudio®.

Navigation in the graphic window using the Mouse


The selection of one of the application windows is done by positioning the mouse pointer over
the desired window and pressing the left mouse button (see Figure 25).

To drag the whole image (pan) press the CTRL key together with the left mouse button press
and move the mouse (Ctrl +left Key+ mouse move).

To rotate the image, press the left key and the center key of the mouse and move the mouse
simultaneously, or alternatively the center key and the right key of the mouse and move the
mouse.

To Zoom In / Out, use the central mouse button (wheel in 3-button mouse), or Ctrl+right
Key+mouse move (2-button mouse).

18 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure 25 – Navigation in the graphic window using the mouse

RobotStudio® Tutorials 19
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
Lesson 1 – My first station

Introduction

This first example aims at getting to know the basic functionalities of the RobotStudio®
application, allowing the familiarization with a set of elementary procedures for the creation
of a station (robotic cell), the robot's programming and its simulation. In the following lessons,
some features will be addressed with more detail, namely the ones regarding to programming
with the RAPID language. Each lesson is structured in consecutive stages, and the order of
execution of the different stages must be respected.

Remarks:

Save all files created in these lessons in a personal folder. If you use a computer shared by
others, be especially careful to avoid deleting or rewriting someone else's file.

Do not modify any original robot controller. If you want to change any controller, make a copy
from the original and use it by renaming it. Give it a private name so that it is easily recognized
by you.

Before proceeding, you should remember:

1) The concepts of location (position and orientation), the coordinate systems (frames) used in
robotics and the concept of Tool Center Point (TCP) and tool frame;

2) That sometimes the same point in space can be reached by the robot with different axis
configurations;

3) The basics of programming.

It is suggested that you read Annex 1 of this document now.

20 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Building a robotic station

In this section, you will learn how to build a robotic cell (station), having to learn how to import
a robot and tools/objects from the existing libraries and how to associate a tool to the robot.
Follow the procedures described in the next steps.

Step 1: Create a new project for a robotic cell (Project with Virtual Controller)

Start RobotStudio®, or if it is already open, go to Menu File / New / Project so that you will
see the window shown in Figure 26. Afterwards, assign a name to the Project (Project Name),
and you can choose to keep it the default name, set the directory (Location) to store the
station and controller (you can keep the suggested locations by default). Do not forget to tick
“Include a Robot and Virtual Controller”. Then select the RobotWare version to use (you can
keep the suggested version) and set the robot model to use as the IRB2400 20Kg 1.55m. Then
activate the Create instruction.

Figure 26 – Create new station (Solution with Station and Virtual Controller)

RobotStudio® Tutorials 21
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
Note: Selecting Project with Robot and Virtual Controller creates a station with a specific
robot and controller. Note that the chosen directory contains information relating to the robot's
virtual controller and the station's data, arranged into several directories.

An alternative to this process would be to create an Empty Station (instruction File / New /File/
Station / Create) then importing the model of the desired robot (using the instruction Home /
ABB Library), and then create the controller by doing Home / Build Station / Virtual
Controller / From Layout. This would be the way forward if you wanted, for example, to have
a station with a robot (or more robots) and a positioning table, to be controlled from the same
controller.

Another alternative is to create an Empty Station (instruction File / New /File / Station /
Create) and then add an existing Robot System (robot and controller), using the instruction
Home / Build Station / Virtual Controller / Existing Controller).

Step 2: Importing tools and objects to the station

Let's now add an object to the station – a worktable. The file corresponding to this object
(propeller_table.rslib) is available in the C:\Program Files (x86)\ABB\RobotStudio 2023\ABB
Library\Training Objects directory. For this it is necessary to use the Import Library instruction
from the Home tab.

Proceed as follows:

Within the Home/Build Station Menu select Import Library; in the displayed window, navigate
to the Equipment directory, scroll until you see the Training Objects component group and
select the desired object (propeller_table) (see Figure 27).

The worktable is then placed on the station (see Figure 28).On the layout window it is possible
to view on the list of components this new equipment.

22 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure 27 – Inserting object into the station

Figure 28 – Worktable in its initial location

Next, we will modify its location, placing it in position (mm) X: 1500, Y: -225, Z: 0, Orientation
(Deg) X: 0, Y: 0, Z: 90 (relative to the reference frame World of RobotStudio Station). For this,
the functionalities of modifying the positions of objects within the station will be used.

In the Layout window, select the object “table_and_fixture_140” and, with the RMB (right
mouse button) access the Position/Set Position… instruction (see Figure 29). A new Set Position
window: table_and_fixture_140 opens close to the Layout window, and the values of the new
location must be entered and validated (see Figure 30). Note that the values entered refer to

RobotStudio® Tutorials 23
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
coordinates referring to the base station reference (World) which also serves as a reference to
the location of the robot. Once the validation is done, we will have the table in the new
position, as shown in Figure 31.

Figure 29 – Selecting instruction Set Position

Figure 30 – Defining Worktable new position

24 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure 31 – Worktable placed in new position

Let's now import one of the tools – myTool.rslib – available in the program directory C:\Program
Files (x86)\ABB\RobotStudio 2023\ABB Library\Training Objects, and insert it into the station.
The import process can be carried out in a similar way as for the worktable. It may also be
possible to use the functionality of going directly to the desired directory using the instruction
Home / Build Station / Import Library /Browse for library; in the displayed window, look for
the desired tool: myTool.rslib (see Figure 32) and confirm your choice by clicking Open; confirm
that the Load Geometry check box is activated.

Figure 32 – Importing a tool

The tool is placed at the origin of the station reference frame, so it is not visible, since the
robot is already there. To be able to view the tool, the robot must be made invisible; for that,

RobotStudio® Tutorials 25
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
in the Layout window click on the robot icon (IRB2400_16_150_02) and with the right mouse
button, access the Menu and deactivate the Visible instruction (see Figure 33); then click on
the tool icon, (in the Layout window, see Figure 34).

Figure 33 – Visible/Invisible Switch Instruction

Figure 34 – MyTool in the imported location

Step 3: Attach the MyTool to the robot (Attach an object)

Let's now attach the MyTool to the robot so that when the robot moves, the tool moves
together. To do this, proceed as follows:

26 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
In the Layout window select the object “MyTool” and, by pressing the right mouse button, a
Menu opens, selecting the instruction Attach to; then choose the object to which you want to
connect the tool, which in this case is the robot (IRB2400_16_150_02(T_ROB1) – see Figure 35.

Figure 35 – Selecting instruction Attach to

Then the message shown in Figure 36 appears, choosing the YES option to update the position.
Once this validation is done, we will have the MyTool connected to the robot's terminal
element. As the robot was “invisible”, we must reactivate the robot's visibility. To do this, use
the mouse to select the robot, in the Layout window. Then press the right mouse button and
activate the Visible instruction. We will then have the image shown in Figure 37

Figure 36 – Validation of the position to be used with instruction Attach to

RobotStudio® Tutorials 27
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure 37 – Station with robot and respective welding torch and table

Step 4: Save the Project

To save the built station, use the Save instruction. To do so, access the File Menu and select
the Save Project instruction. The project is saved in the directory
C:\Users\paulo\Documents\RobotStudio\Projects\Project_1 . Inside this directory, you'll find
numerous folders and files, encompassing both the robotic station and the virtual controller.
One of the important files is the “Project_1.rsproj”. When this file is opened, it includes all
robotic station and the virtual controller.

Step 5: Close the project

To close the station, use the Close Project instruction. To do so, access the File tab and select
the Close Project instruction.

28 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Lesson 2 - Moving the robot

In this lesson you will learn how to move the robot (jogging), how to create targets and paths
and how to move the robot to targets or move the robot along paths.

Step 1: Open an existing station

To open the recent created station, use the Open instruction. To do so, access the File tab and
select the Open instruction. Navigate to the directory where the station was saved, select the
file “Project_1.rsproj” and activate the Open instruction (see Figure 38).

Figure 38 – Open existing station

Step 2: Creating a reference frame associated with the worktable

In the tab Home / Path Programming select the instruction Other / Create Workobject (see
Figure 39). A Create Workobject window opens in the Layout window area. Edit now in the Misc
data field, the Name variable, giving it the name “Table_Ref” Then enter the values of desired
location for that frame, to be next to one the table feet (X=1475, Y=-200, Z=4, values in
millimeters); to do this, select the User Frame / Position x,y,z / Values field and enter the
desired values; validate the entered values (Accept) and activate the Create button (see Figure
42).

The result is the creation of a Workobject named Table_Ref and located at the base of one of
the feet of the worktable, as can be seen in Figure 41.

This Workobject will now be useful for defining the targets that will be programmed in the next
step. The position of the targets will be defined in relation to this newly created frame.

RobotStudio® Tutorials 29
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure 39 – Workobject creation

Figure 40 – Workobject definition

Figure 41 – Viewing the Workobject Table_Ref

30 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Step 3: Multiple targets creation

Let's start by creating a target at one of the top vertices of the worktable. To create targets,
use the Create target instruction. For this, in the Home / Path Programming Menu, click on
the Target instruction and select Create Target (see Figure 44); close to the Layout window
will open a Create Target window, as shown in Figure 45(a); as the vertex is in the position
(X=0, Y=0, Z=304, expressed in the referential Table_Ref) and if you want to have the
referential rotated 180º (in the Y axis) in relation to the referential Table_Ref, the displayed
values must be entered in Figure 45(b); then the target creation must be validated, activating
the Create button (Figure 45(c)); attention is drawn to the following two aspects:

 The target's Reference field must be changed from the default value “World” to the
value “Workobject”;

 The Target name field allows editing its value, having been chosen to keep the value
suggested by the program (Target_10).

Figure 42 – Selecting Create Target Instruction

RobotStudio® Tutorials 31
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
a) (b) (c)

Figure 43 – Create Target instruction definition

After creating this target, let's now examine its location. For this purpose use the instruction
Examine; in the Paths&Targets window, on the Target_10 icon, click with the right mouse
button to open the menu window; select View / Examine (Figure 44).

Figure 44 – Instruction Examine applied to target

32 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
We can then see the robot tool on that same target. For this use the View Tool at Target
instruction; in the Paths&Targets window, on the Target_10 icon, press the right mouse button
to open the menu window; select View Tool at Target, press again and activate the desired
tool, which in this case is the MyTool Figure 45). To disable this feature, click on View Tool at
Target again.

Figure 45 – View Tool at Target instruction

We can also see the robot with the tool on the defined target. To do this, use the View Robot
at Target instruction; in the Paths&Targets window, on the Target_10 icon, press the right
mouse button to open the menu window; select View Robot at Target, (see Figure 46). To
disable this feature, click on View Robot at Target again.

RobotStudio® Tutorials 33
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure 46 – Instruction View Robot at Target

Let's now create 3 more targets, on the other 3 vertices of the tabletop. We will use a process
similar to the previous one, assuming that we know the coordinates of the 3 vertices in the
table frame (Table_Ref). For that, in the Home / Path Programming Menu, click on the Target
instruction and select Create Target in order to open the Create Target window, as shown in
Figure 47 (a); input data for 1st vertex location (position: -300, 0, 304, orientation: 0, 180, 0);
activating the Add button now, the image shown in Figure 49 (a) appears; then input the data
for the 2nd vertex (position: -300,400, 304, orientation: 0, 180, 0) and activate the Add button
(see Figure 47 (b) ); repeat the procedure for the 3rd vertex (position: 0, 400, 304, orientation:
0, 180, 0) and finally activate the Create button (see Figure 47 (c)). The 3 new targets are then
created: Target_20, Target_30, Target_40.

(a) (b) (c)

Figure 47 - Instruction Create Target

The four targets created can be seen in Figure 48. Note that in the Output window, the
information regarding the last 3 targets created, is referred that there is no robot configuration
for each of the targets. This however does not prevent us from being able to move the robot
to each of the defined targets. When a path is created, it is necessary to assign a configuration
of robot axes to each of the targets, which will be done in the following steps.

It should be noted that there are other ways to create targets, in addition to the input of
coordinates, which take advantage of the geometric definition of objects. Thus, targets can be
defined on vertices or midpoints of edges, where the use of the SnapMode instruction, available
on the status bar, is very useful.

34 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure 48 – Viewing the four created targets

Step 4: Jump To Target

To view the robot at a given target we can use the instruction Jump To Target. To do this, in
the Paths&Targets window, on the Target_10 icon, press the right mouse button to open the
menu window; select Jump To Target (see Figure 49). The robot will position its active tool
on the chosen target, but it will be necessary to choose a robot configuration to adopt for that
target. If you want to define/modify the assigned configuration, select the target in question
and activate the Configurations instruction, which opens a window that displays the possible
configurations for the respective target and allows selecting one of them. Now repeat these
operations to be able to assign the settings to the other targets previously defined. Use the
same configuration adopted for Target_10. The configuration for each target can also be
automatically assigned, using the Auto Configuration instruction, from the moment a path that
uses these targets is defined (as at the moment no path has been defined, this instruction
cannot be used!)

RobotStudio® Tutorials 35
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure 49 – Jump to target and selecting Robot Configurations

Step 5: Move robot to HomePosition (Jump Home)

To view the robot in its home position, we can use the Jump Home instruction. To do this, in
Layout window, over the robot icon, press the right mouse button to open the menu window;
select Move To Pose /Jump Home (see Figure 50). The robot will then move to its starting
position. You can also create other locations (poses) and use this instruction to move the robot
to those locations.

Figure 50 – Instruction Jump Home

36 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Step 6: Path creation (Create Path)

Based on the 4 targets created, let's now create a path, in order to allow the robot to make a
continuous movement between these targets. Let's start by creating an Empty Path. For this,
in the tab Home / Path Programming, click on the instruction Path / Empty Path; this will
create a path, which can be seen in the Paths&Targets window (see Figure 51). Next, we will
select the four targets and drag them into the path created. Proceed as follows:

 in the Paths&Targets window, press on Target_10, keep the Shift key pressed, and press
on Target_40 (all 4 targets are selected)
 click on the selected targets and keeping the mouse button pressed, drag the mouse
pointer over Path_10 and release.

Thus, 4 movement instructions will be created, inside Path_10, as can be seen in Figure 52.

Figure 51 - Empty Path Instruction

Figure 52 – Viewing the path instructions created within the Path_10

RobotStudio® Tutorials 37
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
Bearing in mind that the settings for each of the targets had already been assigned, it is now
possible to simulate the robot's movement. However, if a configuration had not yet been
assigned to each target, it could be done automatically, using the Auto configuration
instruction. Then proceed as follows: in the Paths&Targets window, position the mouse over
Path_10 and, by clicking on the right mouse button, open the Instructions Menu, selecting the
instruction Auto Configuration / All move instructions (Figure 53).

Figure 53 – Instruction Auto Configuration

After completing this operation, the robot performs a simulation of the movement along the
path using the 4 defined targets.

Another alternative would be to individually define the configuration for each target. For this
purpose, the Configurations instruction is available

It is worth noting at this point that the creation of Path_10 resulted in the use of linear motion
instructions. This can be confirmed by verifying that the instructions contained in the definition
of Path_10 (MoveL) correspond to linear movements, that is, the robot must use a linear
interpolation to move to each of the defined targets. The values used in the definition of the
movement instructions are previously defined, and can be edited from the status bar, as shown
in Figure 54. Anyway, the movement instructions can be edited and modified, without
interfering with the targets that were already defined.

Figure 54 – Status Bar with default parameters

38 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Step 7: Move Along Path

To move the robot along the created path, use the Move Along Path instruction. Then proceed
as follows: in the Paths&Targets window, position the mouse over Path_10 and, by pressing the
right mouse button, open the Instruction Menu, selecting the Move Along Path instruction (see
Figure 55).

Figure 55 – Instruction Move Along Path

The robot's movement along the Path is achieved, as long as the robot can fulfill the first of
the instructions of that path, which assumes a linear movement (MoveL) from the point where
the robot is to Target_10. It can happen that, for example, with the robot in its HomePosition,
the controller cannot perform the linear interpolation from that position to the first target. To
overcome this problem, you can choose to modify the program so that the first motion
instruction of the Path is of type MoveJ (point-to-point interpolation), using the Edit Instruction
and selecting Motion Type as Joint. Another alternative could be to place the robot in a position
close to Target_10, before executing the Move Along Path instruction.

Step 8: Save the work

Save the project. To do this, use the File/Save Project As instruction to be able to give it a
new name (Project_2).

RobotStudio® Tutorials 39
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
Reference Documents

 Operating manual, RobotStudio 2023.2,


Document id: 3HAC032104-001, Revision AP, 2023
 Application manual, Controller software IRC5, RobotWare 6.15,
Document id: 3HAC050798-001, Revision S, 2023
 Technical reference manual, System parameters, RobotWare 6.15
Document id: 3HAC050948-001, Revision U, 2023
 Technical reference manual, RAPID Instructions, Functions and Data types,
RobotWare 6.15, Document id: 3HAC050917-001, Revision S, 2023
 Technical reference manual, RAPID overview, RobotWare 6.15,
Document id: 3HAC050947-001, Revision Q, 2023
 Technical reference manual, RAPID kernel, RobotWare 6.15
Document id: 3HAC050946-001, Revision J, 2022
 Application manual, Functional safety and SafeMove2 IRC5/RW 6, RobotWare
6.15, 2023
Document id: 3HAC052610-001, Revision U
 Application manual, PROFINET Controller/DeviceIRC5/RW 6, RobotWare 6.15,
Document id: 3HAC065546-001,Revision P, 2023
 Product Specification, RobotStudio
Document ID: 3HAC026932-001, Revision AG, 2023

Remark: these documents are accessible from RobotStudio®, in the File/Help/Documentation


menu, or from the abb.com/Robotics website.

40 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
ANNEX A – Basic Concepts

RobotStudio® Tutorials 41
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
ANNEX A – Basic Concepts

A.1. Coordinate systems in RobotStudio®

A.1.1. Introduction

This section provides a brief introduction to the use and definition of coordinate systems that
are frequently used for programming robots in RobotStudio®.

In RobotStudio® we can define different coordinate systems (frames). Frame is the visual
representation of a coordinate system in RobotStudio®. Each frame refers to a location in
space, characterized by a coordinate system with 3 orthogonal axes, which corresponds to a
point in three-dimensional space (X, Y, Z) and an orientation (X,Y,Z). Each of these frames
has an editable name that can be viewed by a color coordinate system where the red color is
associated with the axis X, the green color axis Y and the blue color to axis Z.

Coordinate systems (frames) can be associated with certain objects or particular locations of
these same objects (for example, vertices), allowing to establish the relative positioning of the
different objects of a station.

A.1.2. Coordinate systems

Coordinate systems have a hierarchical structure, where the origin of each coordinate system
is defined relative to a reference frame of its predecessor. Below is a description of the most
used coordinate systems, starting at the top of this hierarchy.

RobotStudio World Coordinate System RS-WCS (World)


The world coordinate system is the absolute reference frame of the entire station (robotic cell)
in the RobotStudio® environment. This is the top of the hierarchy frame for all other frames
that can be defined. In stations where there is more than one robot and respective controllers,
the world coordinate system (World) serves as a common reference frame for defining the
other frames (see Figure A.1). In the RobotStudio station this frame is referenced as World.

42 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
RS-WCS World Coordinate System in RobotStudio (World)
TCP(R1) Tool Center Point of robot 1
TCP(R2) Tool Center Point of robot 2
BF(R1) Base Frame of robot system 1
BF(R2) Base Frame of robot system 2
P1 Robot target 1
P2 Robot target 2
TF1 Task Frame of robot system 1
TF2 Task Frame of robot system 2
Wobj Workobject
Figure A. 1 – Frames in RobotStudio®: WCS and others

Task Frame
The task coordinate system (Task Frame) is used to coordinate the positioning of elements
that make up a station that uses multiple robots and mechanisms. The use of one Task Frame
makes it possible to coordinate the relative positioning of several mechanisms (robots or
positioners) that perform a common task. The use of several Task Frames are employed when
working with several mechanisms that perform independent tasks. The Task Frame referential
can thus be seen as representing the origin of the world coordinate system of the real controller
of a robot, in the same way that the RS-WCS world coordinate system represents the origin of
the workspace in the RobotStudio® software environment (see Figure A.2). For stations with
two robot controllers, it is possible to use two Task Frames, each associated to each robot
controller (Figure A.3). For MultiMove systems it is used only one Task Frame (Figure A.4).

RobotStudio® Tutorials 43
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure A.2 – One Task Frame (TF) for two robots

Figure A.3 – Two Task Frames (TF) for two robots (Multiple robot systems)

Figure A.4 – Only one Task Frames (TF) in MultiMove systems

44 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Remark: in the examples of stations that will be discussed, only one task will be used, so the
Task Frame will overlap with the robot Base Frame –Figure A.5.

Figure A.5 – Task Frame (TF), overlapping with Base Frame (BF)

Base Frame
On a RobotStudio® station and on the physical controller, each robot has a Base Frame, which
is located at the base of the robot (see Figure A.6).

Figure A.6 – Base Frame of robot IRB2400

Tool Frame
The tool coordinate system, sometimes referred to as the TCP coordinate system or Tool
Frame, is the coordinate system whose origin is associated with the tool center point (TCP). As
a robot can move different tools (clamps, welding torches, grippers, ...) several TCPs can be
defined for the same robot, with the respective frame associated with each one. The TCP is
usually defined somewhere on the tool, i.e., at the center of the grip or top of the welding
torch (Figure A.7 e Figure A.8).

RobotStudio® Tutorials 45
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
Note that the TCP is a point and the Tool Frame is a coordinated system with its origin at the
TCP.

Figure A.7 – Tool Frame of distinct tools

Figure A.8 – Tool frame of the welding torch

When a program is executed, the robot moves its TCP (the selected TCP) to the programmed
positions. Also, when a robot is programmed to describe a certain trajectory (linear or circular),
it is also the TCP that describes that linear trajectory at the speed that has been programmed.

All robots have a pre-defined TCP, located in the robot's end effector. Its associated frame is
called tool0 (see Figure A.9). The origin is located at the center of the robot's end effector
(robot flange). The X axis points in the opposite direction to a control hole in the flange. The
Z axis points away from the flange, being perpendicular to the flange surface. This tool frame,
tool0, is fixed, and cannot be changed.

46 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure A.9 – Tool frame tool0

User Coordinate System - UCS


This is a user-defined coordinate system. The User Coordinate System (UCS) is a system of axes
that can be defined very quickly, with RobotStudio® having instructions that allow associating
this system of axes to any Frame, Tooldata (TCP Frame), Workobject, Target or Base Frame
(see Figure A.10 to Figure A.13); this UCS system can then be used as a reference to jog the
robot or to position any other object or even another frame.

Figure A.10 – Definition of a UCS associated Figure A.11 – Definition of a UCS


with a generic Frame associated with a Workobject

RobotStudio® Tutorials 47
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure A.12 – Definition of a UCS associated Figure A.13 – Definition of a UCS
with a Target associated with the robot Base Frame

Workobject
An important concept in RobotStudio® is that of “Workobject”. A Workobject is a coordinate
system that represents the physical location (position and orientation) of an object on the
station. The Workobject is therefore associated with a coordinate system (Workobject
Coordinate System). However, the definition of a Workobject implies the specification of two
coordinate systems: the User Frame (defined in relation to the Task Frame) and the Object
Frame (defined in relation to the User Frame) being the latter dependent on the first
(hierarchical structure) – see Figure A.14.

Figure A.14 – Workobject (User Frame + Object Frame)

Typically, a Workobject coordinate system is associated with each object, regardless of


whether the object is fixed or manipulated by the robot. The fact that the Workobject is

48 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
defined by two frames allows for greater flexibility in its definition and editing, making it easier
to adjust the program if the object is moved or if a new object is introduced. These Workobject
coordinate systems are also useful when you want to move the robot in directions associated
with the geometry of the objects. Thus, it is possible to jog the robot by selecting the desired
frame of the Workobject. Workobjects should always be defined as global variables to be
available to all modules in the program.

Defining a Workobject is usually done in one of two ways:

 by converting a given Frame into a Workobject – instruction Convert Frame to


Workobject or,
• by creating a Workobject – instruction tab Home / Path Programming / Other / Create
Workobject.

Before analyzing the process of defining a Workobject, it is necessary to review the concept of
Frame and the way in which it is defined.

A Frame represents a coordinate system, characterized by an origin and an orientation of its


axes. For the creation of any frame, RobotStudio® has two processes for its definition,
translated by the instructions Create Frame and Frame from Three Points, accessible from
the tab Home / Build Station / Frame (see Figure A.15) . The Create Frame instruction allows
you to define a generic Frame from the specification of the origin coordinates and the angular
orientation of its axes, expressed in the World or UCS frame. After the creation of the Frame
(Figure A.16), it is listed in the Layout window, being automatically assigned a name (the name
can be changed using the Rename instruction).

The other option to create a Frame from three points (Frame from Three Points instruction)
is to specify the position of the origin, a point on the X axis and a point on the XY plane, or
specify two points on the X axis and one point on the Y axis (see Figure A.17). In the same way,
after the creation of the Frame, it becomes listed in the Layout window.

RobotStudio® Tutorials 49
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure A.15 – Definition of a Frame

Figure A.16 – Definition and visualization of a Frame

Figure A.17 – Definition of a Frame from three points

In the process of converting a Frame into a Workobject (Figure A.18), the Frame is no longer
included in the Layout window and the Workobject definition appears in the Paths&Targets
window (see Figure A.19). The created Workobject is then defined by two Frames User Frame
and Object Frame. User Frame coordinates are the original Frame coordinates used for its
definition, expressed in the Task Frame referential. Object Frame coordinates are null
(Object Frame overlaps with User Frame). These data can be seen using the Modify
Workobject instruction – see Figure A.20.

50 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure A.18 – Convert Frame to Workobject

Figure A.19 – Visualization of created Workobject

Figure A.20 – Modifying/Viewing Workobject properties

The other process of creating a Workobject is its definition. Thus, activating the Create
Workobject instruction (tab Home / Path Programming / Other / Create Workobject opens

RobotStudio® Tutorials 51
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
the window shown in Figure A.21, allowing the user to define the location of the User Frame
and the Object Frame. Note that the User Frame is defined in relation to the Task Frame and
the Object Frame is defined in relation to the User Frame. In this Workobject definition
window, other parameters that dictate the behavior of the Workobject are defined, namely if
the Workobject must be moved by the robot or if it is fixed in space.

Figure A.21 – Create Workobject window

The use of Workobjects allows an easy adjustment of the robot program, using an offset, if the
position of an object needs to be modified. Thus, Workobjects can be used to calibrate
programs performed by an offline process. If the real location of the part relative to the robot
does not completely match the location defined with the offline program, simply adjust the
location of the Workobject.

Workobjects are also used to implement coordinated movements. If a Workobject is fixed to a


mechanical system (a positioning table, for example) and the system uses the option for
coordinated movements), the robot will find the Targets on the part, even if the mechanical
system is moving the corresponding Workobject.

The user can define various coordinate systems associated with objects existing on the station
by defining different Workobjects.

A robot can work with different workstations, which are placed in different locations (positions
and orientations). If in each workstation the taught targets are defined based on the respective
Workobject, if for some reason it is necessary to reposition the workstation, it will be enough
to redefine the User Frame of the Workobject and all programmed positions will be
automatically adjusted, without the need for reprogramming. Remember that these coordinate
systems (Workobjects) are defined relative to the Task Frame coordinate system (see Figure
A.22).

52 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure A.22 – Use of distinct Workobject

When programming a robot, all Targets are defined based on a certain Workobject, being
related to the Object Frame of that Workobject. If no other Workobject is specified, the targets
will be related to the default Workobject, Wobj0, which matches the Task Frame. Note that
the Workobject Wobj0 is predefined and cannot be changed.

User Frame
It is a coordinate system defined by the user, within the scope of the definition of a Workobject,
as seen above. The user can define several User Frame systems, each one associated with the
definition of a Workobject. The User Frame is defined in relation to the Task Frame
coordinate system.

The User Frame can be programmed by:

• definition of frame origin (X, Y, Z) and Euler angles or quaternions

• definition of three points (origin, point on X axis, point on XY plane)

• definition of three points (two points on the X axis and one point on the Y axis)

Object Frame
It is a coordinate system defined by the user, within the scope of the definition of a Workobject,
as seen above. The user can define several Object Frames, each one defined in relation to a
User Frame, within the scope of the definition of a Workobject.

The Object Frame can be programmed by:

• definition of frame origin (X, Y, Z) and Euler angles or quaternions

• definition of three points (origin, point on X axis, point on XY plane)

• definition of three points (two points on the X axis and one point on the Y axis).

RobotStudio® Tutorials 53
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
A.1.3. Robot repositioning and coordinate systems

When creating a new station in RobotStudio® with a single robot, the various frames have the
following layout (Figure A.23):

• World Coordinate System at position 0;

• Task Frame overlaps with World Coordinate System

• Base Frame overlaps with Task Frame

• Workobject wobj0 overlaps with Task Frame

• Tool Frame tool0 defined on the robot's end effector

Figure A.23 – Frames on a RobotStudio® station

If you move the robot's location (via the Set Position instruction) to another position, for
example to X=1000, Y=0, Z=0 (in the World frame) (see Figure A.24), the user is asked to confirm
that pretends to modify the Task Frame, so that it remains coincident with the robot's Base
Frame. If confirmed, the new locations of the frames are given by:

• World Coordinate System at original position;

• Base Frame at position X=1000, Y=0, Z=0

• Task Frame overlaps Robot Base Frame

• Workobject wobj0 overlaps the robot's Task Frame

• Tool Frame tool0 defined on the robot's end effector

54 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure A.24 – Changing the robot's position in the workspace

If, when changing the robot's location (using the Set Position instruction), the user chooses not
to modify the Task Frame, so that it remains coincident with the World Coordinate System and
updates the controller configuration (doing a restart to the controller) (Figure A.25), the new
location of the different frames becomes:

 World Coordinate System at original position;


 Base Frame at position X=1000, Y=0, Z=0
 Task Frame overlaps World Coordinate System
 Workobject wobj0 overlaps World Coordinate System
 Tool Frame tool0 defined on the robot's end effector

Figure A.25 – Changing the robot position without changing the Task Frame

RobotStudio® Tutorials 55
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
If now the user moves the Task Frame to the position X=1500, Y=0, Z=0 (expressed in the
World frame), using the Set Task Frame instruction, the user can confirm that he does not
want to modify the Base Frame, so that it remains in the same position (X=1000,Y=0,Z=0)
(Figure A.26). If you do so, the new location of the frames is given by, after a controller reset:

 World Coordinate System at original position;


 Base Frame at position X=1000, Y=0, Z=0
 Task Frame at position X=1500, Y=0, Z=0
 Workobject wobj0 at position X=1500, Y=0, Z=0 (World Coordinate System)
 Tool Frame tool0 defined on the robot's end effector

Figure A.26 – Changing the Task Frame without moving the Base Frame

Typically, when using a cell with a single robot, the Base Frame and the Task Frame must
match, and the Workobject wobj0 matches with the Task Frame. Thus, when you want to
place the robot on top of a pedestal, the Task Frame must be adjusted using the Set Task
Frame instruction and confirming that you also want to move the Base Frame (Figure A.27)).
In this way, the wobj0 is automatically repositioned overlapping with the Task Frame (see
Figure A.28). Thus, it can be verified that the wobj0 frame is always coincident with the Task
Frame.

56 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Figure A.27 – Modification of the Task Frame for placing robot on a pedestal

Figure A.28 – Verification after robot repositioning

RobotStudio® Tutorials 57
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
A.2. Targets and Paths

A.2.1. Introduction

In RobotStudio®, when you want to program a robot, it is necessary to specify the targets and
the paths that the robot must visit/follow. When the RobotStudio® station is synchronized with
its virtual controller, programs, written in RAPID language, are automatically created from
previously defined targets and paths defined within the station.

A.2.2. Targets

A Target is a location in space that the robot must reach. A Target is defined in relation to a
given Workobject and is associated with a specific configuration that the robot must have to
position itself on that target. A Target therefore contains the following information:

 Position: the position of the Target, defined in relation to the Workobject.


 Orientation: the target's orientation, defined in relation to the Workobject. When the
robot hits the target, the Tool Frame is aligned with the Target Frame.
 Configuration: robot configuration values that specify how the robot should reach the
target. Sometimes, the same position and orientation in the workspace can be achieved
by the robot with different configurations. Thus, it becomes necessary to specify which
configuration to use. Examples of different configurations include “elbow up/elbow
down, left arm/right arm”.

A.2.3. Paths

A Path is made up of a set of Targets that must be visited in a certain sequential order. Thus,
a Path consists of a sequence of motion instructions that allow the robot to move along a set
of targets.

Paths, defined in the station environment, are converted to procedures when they are
synchronized with the virtual controller.

58 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
Move instructions

A move instruction needs:

• A reference to a target

• Type of motion interpolation, velocity data and zone

• A reference to a particular tooldata

• A reference to a Workobject

Action instructions
An action instruction is a RAPID language instruction that can be used to set or modify various
parameters. Action instructions can be inserted, before, after or between move instructions.

A.2.4. Robot axis configuration

Axis Configuration
Each target is defined and stored, and can be seen as a frame to be reached by the robot tool's
frame. When the controller calculates the position of the various axes of the robot in order to
reach the intended target, it often finds more than one possible solution for the configuration
of the axes (see Figure A.29).

Figure A.29 – Axes configurations of a robot to reach the same location

In order to distinguish the different configurations, all targets have a value for the configuration
that specifies the quadrant in which each robot axis must be located.

For targets that are created after moving the robot to a certain location by jogging, the current
robot configuration is used and stored within that target. Targets that are specified by inputting
coordinates or whose positions and orientations are calculated, have a default value of the axis
configuration parameter (0,0,0,0), which may mean that the robot will not be able to reach

RobotStudio® Tutorials 59
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
the specified target. This means that after creating a Target with this mode, it is necessary to
find a valid configuration for the robot in order to reach that target. For this purpose, there
are automatic and manual procedures that allow finding a solution, as will be seen later.

Remark: When targets are created by processes other than the robot's jogging, the most likely
is that the robot will not be able to reach those targets with the default setting. Even if all
targets in a path have valid configurations, you may encounter problems when moving the robot
along the path, as the robot may not be able to move from one configuration to another. This
typically happens when it is necessary for the robot to move one of its axes more than 90º,
during linear movements. This problem stems from the controller's inability to automatically
find a solution for the robot's inverse kinematics problem.

To solve these problems, you can assign a valid configuration for each target and use an
instruction to check if the robot can move along the path. You can also turn off the
configuration monitoring instruction (ConfJ \off or ConfL \off), which allows you to ignore the
configurations stored in the targets and let the robot controller find the appropriate
configurations (see point 2.9 of the RobotStudio® p3- programming II document .pdf). Note
that if ConfJ \On the robot moves to the programmed position, orientation and axis
configuration. However, it may turn out that it is not possible to obtain a uniform path without
reorientation movements taking place. In other cases, valid configurations may not exist, so it
may be necessary to reposition the objects, reorient the targets (if acceptable for the process)
or even the need to introduce new targets in order to change the configuration of the robot
axes so that it can reach the intended targets.

Specification of axes configuration

In the RAPID language, the configuration of a robot's axes is specified by a four-component


vector, confdata, which identifies the location of the angular value of the main axes in one of
four quadrants corresponding to a complete rotation. The quadrants are numbered starting
from zero for a positive (counterclockwise) rotation and from -1 for a negative (clockwise)
rotation. The configuration for a serial structure six-axis robot, such as the IRB 2400 robot, can
take, for example, the following value: [0, -1, 2, 1]:

 The first value (0) specifies the position of the first axis: somewhere in the 1st positive
quadrant (between 0 and 90 degrees)
 The second value (-1) specifies the position of axis 4: somewhere in the first negative
quadrant (between 0 and -90 degrees)
 The third value (2) specifies the position of axis 6: somewhere in the 3rd positive
quadrant (between 180 and 270 degrees)
 The fourth value (1) specifies the position of an X axis, a virtual axis, used to specify
the wrist center relative to the other axes.

60 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023
For a better understanding, it is worth referring to the confdata definition structure, which is
an integral part of the definition of a target. Thus, this four-component vector is defined by:

VAR confdata confname := [cf1, cf4, cf6, cfx]

Being confname the name of the variable, and the other variables depending on the physical
configuration of the robot (serial, articulated, scara, cartesian or parallel) and on the number
and type of axis (linear or rotation)

With:

cf1 (Data type: num)


Rotating axis: The current quadrant of axis 1, expressed as a positive or negative integer.
Linear axis: The current meter interval of axis 1, expressed as a positive or negative integer.

cf4 (Data type: num)


Rotating axis: The current quadrant of axis 4, expressed as a positive or negative integer.
Linear axis: The current meter interval of axis 4, expressed as a positive or negative integer.

cf6 (Data type: num)


Rotating axis: The current quadrant of axis 6, expressed as a positive or negative integer.
Linear axis: The current meter interval of axis 6, expressed as a positive or negative integer.

Cfx (Data type: num)


Rotating axis: For serial link robots, the current robot conFiguretion, expressed as an integer
in the range from 0 to 7.
For SCARA robots, the current robot configuration, expressed as an integer in the range from
0 to 1, see SCARA robots.
For 7-axis robots, the current robot configuration, expressed as an integer in the range from
0 to 7, see 7-axis robots.
For paint robots, the current quadrant of axis 5, expressed as a positive or negative integer.
For IRB 5500, see IRB 5500.
For other robots, using the current quadrant of axis 2, expressed as a positive or negative
integer.
Linear axis: The current meter interval of axis 2, expressed as a positive or negative integer.

Depending on the model and physical configuration of a robot, and for a given target (position
and orientation), there may be different configurations that the robot can adopt. Figure A.30
shows the robot IRB2400 positioned in its HomePosition, for which there are four possible
configurations. For this purpose, four targets were defined that have the same definition of
position and orientation, differing only on adopted the configuration:

CONST robtarget
Target_10:=[[928,0,1412.5],[0.5,0,0.866025404,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_20:=[[928,0,1412.5],[0.5,0,0.866025404,0],[0,-2,-
2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_30:=[[928,0,1412.5],[0.5,0,0.866025404,0],[-2,0,-
2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_40:=[[928,0,1412.5],[0.5,0,0.866025404,0],[-2,-
2,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

RobotStudio® Tutorials 61
Part 1 - Introduction, Edition 1.2
Paulo Abreu, September 2023
Confdata [0,0,0,0] Confdata [0,-2,-2,0]

Confdata [-2,0,-2,0] Confdata [-2,-2,0,0]


Figure A.30 – Four distinct configurations of the IRB2400 robot in its HomePosition

62 RobotStudio® Tutorials
Part 1 – Introduction, Edition 1.2
Paulo Abreu, September 2023

You might also like