You are on page 1of 44

ROBOTICS & MACHINE VISION SYSTEM LABORATORY 15MTL76

1. INTRODUCTION
A robot is a mechanical intelligent agent that can perform tasks on its own, or with
guidance. In practice, a robot is usually an electro-mechanical machine that is guided by
computer and electronic programming. Robots can be autonomous or semi-autonomous, as
well as those into more defined and specific roles that are used to make or move things or
perform menial or dangerous tasks, such as Industrial robots or mobile or servicing robots.
As mechanical techniques developed through the Industrial age, we find more
practical applications such as Nikola Tesla in 1898, who designed a radio-controlled
torpedo, and the Westinghouse Electric Corporation creation of Televox in 1926. From here
we also find a more android development as designers tried to mimic more human-like
features including designs such as those of biologist Makoto Nishimura in 1929.
Electronics then became the driving force of development instead of mechanics, with
the advent of the first electronic autonomous robots created by William Grey
Walter in Bristol,England, in 1948. The first digital and programmable robot was invented
by George Devol in 1954 and was ultimately called the Unimate.
Since then we have seen robots finally reach a more true assimilation of all
technologies to produce robots such as ASIMO that can walk and move like a human.
Robots have replaced slaves in the assistance of performing those repetitive and dangerous
tasks which humans prefer not to do, or are unable to do due to size limitations, or even
those such as in outer space or at the bottom of the sea where humans could not survive the
extreme environments.

Figure 1: Industrial robot

1
ROBOTICS & MACHINE VISION SYSTEM LABORATORY 15MTL76

2. ETYMOLOGY
The word robot was introduced to the public by the Czech interwar writer Karel

himself did not coin the word. He wrote a short letter in reference to an etymology in which

The word robotics was first used in print by Isaac Asimov, in his science fiction short

technology of electrical devices is electronics, he assumed robotics already referred to the


science and technology of robots.

3. HISTORY OF ROBOTS
The idea of automata originates in the mythologies of many cultures around the
world. Engineers and inventors from ancient civilizations attempted to build self-
operating machines, some resembling animals, and humans.
Since circa 400 BCE, myths of Crete that were incorporated into Greek mythology
include Talos.
In ancient Greece, the Greek engineer Ctesibius (c. 270 BC) "applied knowledge of
pneumatics and hydraulics to produce the first organ and water clocks with moving
figures."
In the medieval Islamic world, Al-Jazari (1136 1206) designed and constructed a
number of automated machines, including kitchen appliances, musical automata
powered by water, and programmable automata.
In Renaissance Italy, Leonardo da Vinci (1452 1519) sketched plans for a humanoid
robot around 1495 now known as Leonardo's robot.
In Japan, complex animal and human automata were built between the 17th to 19th
centuries, with many described in the 18th century Karakuri zui.
In France, between 1738 and 1739, Jacques de Vaucanson exhibited several life-sized
automatons: a flute player, a pipe player, and a duck.
The Japanese craftsman Hisashige Tanaka (1799 1881) created an array of extremely
complex mechanical toys, some of which served tea, fired arrows drawn from a
quiver, and even painted a Japanese kanji character.
In 1898, Nikola Tesla publicly demonstrated a radio-controlled torpedo. Based on
patents for "teleautomation", Tesla hoped to develop it into a weapon system for the
US Navy.
In 1926, Westinghouse Electric Corporation created Televox, the first robot put to
useful work.
William Grey Walter of the Burden Neurological Institute at Bristol, England created
the first electronic autonomous robots in 1948 and 1949.
The first truly modern robot, digitally operated and programmable, was invented by
George Devol in 1954 and was ultimately called the Unimate.
Commercial and industrial robots are now in widespread use performing jobs more
cheaply or with greater accuracy and reliability than humans. They are also
employed for jobs that are too dirty, dangerous, or dull to be suitable for humans.

2
ROBOTICS & MACHINE VISION SYSTEM LABORATORY 15MTL76

4. COMPONENTS OF A ROBOT

Figure 2: Components of a robot


POWER SUPPLY
At present, mostly (lead-acid) batteries are used, but potential power sources could
be:
Pneumatic
Hydraulics
Solar energy
Flywheel energy storage
Organic garbage
Radioactive source

ACTUATION
Actuators are like the "muscles" of a robot, the parts that convert stored energy into
movement. By far the most popular actuators are electric motors that spin a wheel or gear,
and linear actuators that control industrial robots in factories. The different types are:
Electric motor
Linear actuators
Series elastic actuators
Air muscles
Pneumatic artificial muscles
Muscle wire (Shape memory alloy)
Electroactive polymers
Piezo motors
Elastic nanotubes

3
ROBOTICS & MACHINE VISION SYSTEM LABORATORY 15MTL76

SENSING

TOUCH
Current robotic and prosthetic hands receive far less tactile information than the
human hand. The sensor array is constructed as a rigid core surrounded by conductive fluid
contained by an elastomeric skin. Electrodes are mounted on the surface of the rigid core
and are connected to an impedance-measuring device within the core.

VISION
Computer vision is the science and technology of machines that see. As a scientific
discipline, computer vision is concerned with the theory behind artificial systems that
extract information from images. The image data can take many forms, such as video
sequences and views from cameras. The computers are pre-programmed to solve a
particular task, but methods based on learning are now becoming increasingly common.

LOCOMOTION
Robot locomotion is the collective name for the various methods that robots use to
transport themselves from place to place. Although wheeled robots are typically quite
energy efficient and simple to control, other forms of locomotion may be more appropriate
for a number of reasons. Different types of locomotion are:
Wheeled
Walking
Bipedal walking
Running
Rolling
Hopping
Metachronal motion

MANIPULATION
Robots that must work in the real world require some way to manipulate objects;
pick up, modify, destroy, or otherwise have an effect. Thus, the "hands" of a robot are often
referred to as end effectors, while the "arm" is referred to as a manipulator. The different
types of grippers are:
Mechanical Grippers
Vacuum Grippers
General purpose effectors

5. CONTROL
The mechanical structure of a robot must be controlled to perform tasks. The control
of a robot involves three distinct phases - perception, processing, and action. Sensors give
information about the environment or the robot itself. This information is then processed to
calculate the appropriate signals to the actuators that move the mechanical. An immediate
task is inferred from these estimates. Techniques from control theory convert the task into
commands that drive the actuators.
4
ROBOTICS & MACHINE VISION SYSTEM LABORATORY 15MTL76

6. TYPES OF ROBOTS
Classification of robots is as follows:
Co-ordinate system
o Cylindrical
o Spherical
o Jointed arm
Pure spherical
Parallelogram spherical
Cylindrical
o Cartesian co-ordinate system
Cantilever
Gantry style
Control methods
o Servo
o Non-servo
o Point-to-point
o Continuous

Cartesian Co-ordinate Cylindrical

Spherical SCARA

Articulated

Figure 3: Types Of robots

5
Industrial Robotics -15MTL76

7. ADVANTAGES, DISADVANTAGES & APPLICATIONS OF


ROBOTS
Sl. No. Advantages Disadvantages Applications
Robots increases
productivity, safety, Unemployment, economic
01 Machine loading
efficiency, quality, and and social problems
consistency of products
Robots can work in
hazardous environments
High initial and
02 without the need for life Pick and place operation
installation cost
support, safety and
comfort
Robots need no
environmental comfort, Trained professionals are
03 such as lightning, air required to design and Welding
conditioning, ventilation program the robots
and noise protection
Robots can continuously
work without Robots requires accurate
04 Painting
experiencing fatigue or and precise programing
boredom
Robots have repeatable Robots lack the capability
05 Inspection
precision at all times to respond in emergencies
Robots can be much more Robots lack decision
06 Sampling
accurate than humans making
Robots and their
Robots require constant
accessories and sensors
07 power supply for Assembly operation
can have capabilities
operation
beyond that of humans
They have limited
Robots can multiple capabilities in degrees of
08 stimuli or tasks freedom, dexterity, Manufacturing
simultaneously sensors, vision system and
real time response
Safety measures are
required to ensure that
Robots can be easily
09 robots do not injure Surveillance
upgraded
operators and other
machines
Autonomous robots can ROBOTS MIGHT KILL
ALL HUMANS AND Assisting disabled
10 efficiently operate without
TAKE OVER THE individuals
any human intervention WORLD

6
Industrial Robotics -15MTL76

EXPERIMENT 01: POINT TO POINT DRILLING OPERATION

In this experiment, we will learn how to simulate a robotic arm to perform point to point
drilling on a solid model.

PROCEDURE

1. Run ABB Robostudio5.14.2 by double clicking the icon on the desktop.

2. On the home screen of ABB Robostudio, double click on Station with robot controller and select
the required controller.
Station with robot controller->IRB1410Kg1.44m->OK

3. As the station is loaded, a dialog box appears showing the different variants of the controller,
select the required.
IRB1410_S_144_01->OK

4. Once the controller appears on the station, select a tool (gun) to perform the drilling operation.
Home->Import library->Equipment->AW_GUN_PSF_25

5. A drilling gun appears on the screen, next to the controller. In order to fit it to the controller, go
to the layout tab, click on AW_GUN_PSF_25, drag and drop it on IIRB1410_S_144_01.

6. After the controller is set-up, create a solid model with required dimensions on which the
drilling operation will be performed.
Modeling->Solid->Box->Length=500->Breadth=500->Height=500->Create->Close

7. The solid model will appear on the screen. Use the move function from the freehand tab to place
the solid model at the appropriate position.

8. When the entire set-up is completed, the robot can be taught to perform the drilling operation.
To do this, create an empty path (it will appear on the left side of the screen in the layout tab).
Home->Path->Empty path

9. For the drilling operation, you have to move the robotic arm from its initial position, drill a hole
on the solid model, and return it to its initial position.

10. Use the jog linear function from the freehand tab to move gun (fixed to the robotic arm). Select
the gun and move it to its initial position, click on teach instruction in the home tab. Move the
gun through the solid model, give a teach instruction, return the gun to its initial position and
give the third teach instruction.

11. After carrying out all of the above steps, you have to check if the robot is properly configured.

12. Go to the layout tab, right click on path_10, move the cursor to configuration and select verify
configuration.

7
Industrial Robotics -15MTL76

13. Once you do this, the robotic arm will perform the drilling operation. If it is proper, proceed to
the next step; otherwise go to the layout tab, right click on path_10, move the cursor to
configuration and select auto configuration. The problem will be rectified.

14. Next, you have to synchronize the operations to virtual controller and add the path to the main
sequence.

15. Go to the layout tab, right click on path_10, select synchronize to vc. A dialog box appears in
which tick IRB and click OK.

16. Go to the simulation tab, click on simulation setup. A dialog box will appear containing path_10
on the right side. Apply it to the main sequence and click OK.

17. Go to the offline tab, click on simulation type and select continuous.

18. Go to the simulation tab and click the play button.

8
Industrial Robotics -15MTL76

EXPERIMENT 02: POINT TO POINT DRILLING OPERATION ON TWO


SOLID MODELS

In this experiment, we will learn how to simulate a robotic arm to perform point to point
drilling on two solid models.

PROCEDURE

1. Run ABB Robostudio5.14.2 by double clicking the icon on the desktop.

2. On the home screen of ABB Robostudio, double click on Station with robot controller and select
the required controller.
Station with robot controller->IRB1410Kg1.44m->OK

3. As the station is loaded, a dialog box appears showing the different variants of the controller,
select the required.
IRB1410_S_144_01->OK

4. Once the controller appears on the station, select a tool (gun) to perform the drilling operation.
Home->Import library->Equipment->AW_GUN_PSF_25

5. A drilling gun appears on the screen, next to the controller. In order to fit it to the controller, go
to the layout tab, click on AW_GUN_PSF_25, drag and drop it on IIRB1410_S_144_01.

6. After the controller is set-up, create a solid model with required dimensions on which the
drilling operation will be performed.
Modeling->Solid->Box->Length=500->Breadth=500->Height=500->Create->Close

7. Create another solid model of same dimension.

8. The solid models will appear on the screen. Use the move function from the freehand tab to
place the solid models at the appropriate position.

9. When the entire set-up is completed, the robot can be taught to perform the drilling operation.
To do this, create an empty path (it will appear on the left side of the screen in the layout tab).
Home->Path->Empty path

10. For the drilling operation, you have to move the robotic arm from its initial position, drill a hole
on the solid model, and return it to its initial position.

11. Use the jog linear function from the freehand tab to move gun (fixed to the robotic arm). Select
the gun and move it to its initial position, click on teach instruction in the home tab. Move the
gun through the solid model, give a teach instruction, return the gun to its initial position and
give the third teach instruction.

12. After carrying out all of the above steps, you have to check if the robot is properly configured.

9
Industrial Robotics -15MTL76

13. Go to the layout tab, right click on path_10, move the cursor to configuration and select verify
configuration.

14. In this experiment, the same drilling operation is performed on two solid models, so create
another path for the second model, and repeat the procedure from step 11.

15. After carrying out all of the above steps, you have to check if the robot is properly configured.

16. Go to the layout tab, right click on path_10 andpath_20, move the cursor to configuration and
select verify configuration.

17. Once you do this, the robotic arm will perform the drilling operation. If it is proper, proceed to
the next step; otherwise go to the layout tab, right click on path_10 andpath_20, move the
cursor to configuration and select auto configuration. The problem will be rectified.

18. Next, you have to synchronize the operations to virtual controller and add the path to the main
sequence.

19. Go to the layout tab, right click on path_10 andpath_20, select synchronize to vc. A dialog box
appears in which tick IRB and click OK.

20. Go to the simulation tab, click on simulation setup. A dialog box will appear containing
path_10andpath_20on the right side. Apply it to the main sequence and click OK.

21. Go to the offline tab, click on simulation type and select continuous.

22. Go to the simulation tab and click the play button.

10
Industrial Robotics -15MTL76

EXPERIMENT 03: TRAVERSING LINEAR PATH ON A SOLID MODEL

In this experiment, we learn how to simulate the robotic arm to move along the linear path of a
solid model.

PROCEDURE

1. Run ABB Robostudio5.14.2 by double clicking the icon on the desktop.

2. On the home screen of ABB Robostudio, double click on Station with robot controller and select
the required controller.
Station with robot controller->IRB1410Kg1.44m->OK

3. As the station is loaded, a dialog box appears showing the different variants of the controller,
select the required.
IRB1410_S_144_01->OK

4. Once the controller appears on the station, select a tool (gun) to perform the drilling operation.
Home->Import library->Equipment->AW_GUN_PSF_25

5. A drilling gun appears on the screen, next to the controller. In order to fit it to the controller, go
to the layout tab, click on AW_GUN_PSF_25, drag and drop it on IIRB1410_S_144_01.

6. After the controller is set-up, create a solid model with required dimensions on which the
traversal operation will be performed.
Modeling->Solid->Box->Length=500->Breadth=500->Height=500->Create->Close

7. The solid model will appear on the screen. Use the move function from the freehand tab to place
the solid model at the appropriate position.

8. When the entire set-up is completed, the robot can be taught to follow the linear path on the
solid model. To do this, create an empty path (it will appear on the left side of the screen in the
layout tab).
Home->Path->Empty path

9. Select snap end from the view toolbar (transparent toolbar in the workstation), and click on the
four top corners of the solid model. This will create four nodes for the gun to traverse.

10. Use the jog linear function from the freehand tab to move gun (fixed to the robotic arm). Select
the gun and move it to the first snap end position (as you bring the gun near to the position, it
will lock-on to the node), click on teach instruction in the home tab. Move the gun to the
remaining three nodes solid model, give a teach instruction, return the gun to its initial position
and give the final teach instruction.

11. After carrying out all of the above steps, you have to check if the robot is properly configured.

12. Go to the layout tab, right click on path_10, move the cursor to configuration and select verify
configuration.
11
Industrial Robotics -15MTL76

13. Once you do this, the robotic arm will perform the drilling operation. If it is proper, proceed to
x
the next step; otherwise go to the layout tab, right click on path_10, move the cursor to
configuration and select auto configuration. The problem will be rectified.

14. Next, you have to synchronize the operations to virtual controller and add the path to the main
sequence.

15. Go to the layout tab, right click on path_10, select synchronize to vc. A dialog box appears in
which tick IRB and click OK.

16. Go to the simulation tab, click on simulation setup. A dialog box will appear containing path_10
on the right side. Apply it to the main sequence and click OK.

17. Go to the offline tab, click on simulation type and select continuous.

18. Go to the simulation tab and click the play button.

12
Industrial Robotics -15MTL76

Building the MultiMove station

Overview
Before we start with MultiMove programming we will build a station with two
robots and create a MultiMove system. We will also create a workobject and a

path to use in the next exercise.

To import and place objects


1. Create a new empty station.
2. On the Home tab click the ABB library button and select IRB 1600 and then

13
Industrial Robotics -15MTL76

the 6kg and 1.45m model.


3. In the Layout browser right click the IRB1600_6_145 01 robot and select Set Position.
4. In the Set Position dialog select the World reference.
5. In the Position boxes enter X = 3300, Y = 0, Z = 0.
6. In the Orientation boxes enter X = 0, Y = 0, Z = 180, then click Apply.
7. On the Home tab click the ABB library button and select IRB 6600/6650 and
then the 175kg and 2.8m model.

8. On the Home tab click the Import Library button.


9. In the Open dialog browse to the folder Courseware\Libraries and while
pressing [ctrl] select the Fence and mySpintecTool libraries, and then click Open.
10. In the Layout browser drag the mySpintecTool tool to the IRB1600
robot. 11.In the Keep Current Position dialog click No.
12. On the Home tab click the Import geometry button.
13. In the Open dialog browse to the folder Courseware\Geometry and select the
geometry
training_part1, then click Open.
14. In the Layout browser drag the training_part1 to the robot IRB6600_175_280
01and in the Keep Current Position dialog click No.

14
Industrial Robotics -15MTL76

To Create System from Layout


1. On the Home tab click the Robot System button and select From
. This starts the Create System From Layout wizard.
2. In the System Name and Location page enter the name MultimoveSystem and
set the System Location to the folder Courseware\Systems, then click Next.
3. In the Select Mechanisms for the System page make sure that both robots are
selected.
4. In the Configure the System page select the robot IRB6600 and move it up to Task1
by
clicking the up arrow, then move the robot IRB1600 down to Task 2.

Then click Next.


5. In the System Option page click Finish.
Wait until you get the green confirmation in the down right corner.

In the Paths&Targets browser you can see that a system with two tasks has
been created.

15
Industrial Robotics -15MTL76

To create the workobject


1. In the Graphics window set the Selection Level and Snap Mode to Surface Selection
and Snap Edge.
2. Zoom the trainging_part1 so that you can see the left side of its front as in the
picture below.

3. On the Home tab, in the Task box select the task MultimoveSystem T_ROB2.

(You can also in the Paths&Targets browser expand the node for the Virtual
Controller
MultimoveSystem, right click the task T_ROB2 and then select Set as active).
4. On the Home tab, in the Tool box select the tSpintec tool.

5. On the Home tab click the Other button and select Create Workobject.
6. In the Create Workobject dialog, in the Name box enter obWorkpiece.
7. In the User Frame field click in the Frame by points box, then click the arrow.
8. In the Frame by points dialog, select Three-point.
9. Click the First point on X axis and in the Graphics click on point 1 as in the
picture. 10.Click the Second point on X axis and in the Graphics click on point 2
as in the picture.
The order of the first two points determines the direction of the X axis.
11. Click the Point on Y axis and in the Graphics click on point 3 as in the picture.
This determines the positive Y direction and also the intersection which determines
where the workobject will be created.
12. Click the Accept button.
13. In the Create Workobject dialog click Create.

14. In the Paths&Targets browser right click the obWorkpiece workobject and then point
to
Attach to and select IRB6600.
15. In the Keep Current Position dialog click Yes.

16
Industrial Robotics -15MTL76

16. Confirm that the workobject will be moved by the robot by clicking OK.
To create the path
Now we want to create a path following the upper edge of the bending body of the
workpiece.
1. Zoom so that you can see the training_part1 from above as in the picture
below. (IRB1600 is at the top of the picture.)

2. Make sure T_ROB2 is set as Active and check the active wobj/tooldata.

3. On the Home tab click the AutoPath button.

4. In the Graphics window select the selection level Surface and snap mode Edge.

5. Click close to the corner as below.

17
Industrial Robotics -15MTL76

6. Click Create.
7. In the Paths&Targets browser rename the new path to Path_Process.

To change the target orientations


1. Expand the node of the Path_Process path and right click the first instruction, then
select
View Tool at Target >
mySpintecTool. The tool reaches the
curve from behind.
2. Again right click the first instruction and select Locate Target.
3. When the target is selected, on the Modify tab click the Rotate button.
4. Rotate the target first -45 degrees around Y and then 90 degrees around Z.

5. On the Modify tab click the Copy Orientation button.


6. In the Paths&Targets brower select all the remaining targets and on the
Modify tab select Apply Orientation.
7. De-activate View Tool at Target.
8. Save the station as myMultimove_1.

18
Industrial Robotics -15MTL76

Programming MultiMove systems

Overview
In this exercise we will create a MultiMove program that contains both
synchronized and unsynchronized motions.

To create a synchronized MultiMove program


We will use synchronized MultiMove for our process path so that the work piece
robot continuously positions the work piece to facilitate for the tool robot.
Synchronized programs are created with the MultiMove function.
1. Open the station myMultimove_1 unless it is already open.
2. Save the station as myMultimove_2.
3. On the Home tab click the Multimove button.

4. In the Multimove window click the Setup button if the Setup page it is not
already visible.
5. In the System Config group, in the Select System box select the system
MultimoveSystem. Make sure that both robots are enabled and that the IRB6600
is set as workpiece robot and that the IRB1600 is set as tool robot.

6. In the Path Config group expand the node for the robot IRB1600 to make sure
that the path Path_Process is enabled. If necessary press the Update button.

7. Expand the Start position group, and in the Select Robot that other should jump to
box select the IRB1600 and click Apply.

19
Industrial Robotics -15MTL76

This moves the large robot so that the first target in its path is moved to the TCP of the
small robot.
8. At the bottom of the Multimove window, in the Test page click Play.

The robots now starts moving and synchronized paths for the robots are created.
When finished, the message Calculation OK appears in the status box
9. In the MultiMove window click the Create Paths button.
10.On the Create Paths page scroll down to the Generate Paths group and click
Create Paths.
Synchronized paths for the tool robot and the workpiece robot are now created in
the
Paths&Targets browser.
11.For each of the two mmPath_1 change the first motion instruction to Joint move.

20
Industrial Robotics -15MTL76

To add unsynchronized instructions to the program


We will now add unsynchronized instructions to the paths, where the robots move
to home positions independently of each other. First we will create three joint
targets and then we will add them to the paths.
1. In the Paths&Targets browser right click the task T_ROB1 and select Set as active.
2. In the Task bar set the template to MoveJ

3. In the Paths&Targets browser right click T_ROB1 and select Mechanism Joint Jog.
4. Set the joints to 0, 0, 0, 0, 90, 0.

5. On the Home tab click the Teach Target button.


If you get a warning click yes.
6. Under T_ROB1 expand the workobject and rename the new target to
p6600_Home. 7. Set the joints to 0, -40, -130, 0, -55, 0.

8. On the Home tab click the Target button and select Teach Target.
If you get a warning click yes.

21
Industrial Robotics -15MTL76

9. Under T_ROB1 expand the workobject and rename the new target to pChange.
We will now add the targets to the IRB 6600 path, it should go like this home
multimove home change.
10.Right click p6600_Home and select Add to Path > mmPath1 > First.
If you get a warning click yes.
11.Right click p6600_Home and select Add to Path > mmPath1 > Last.
12.Right click pChange and select Add to Path > mmPath1 > Last.
Now we will add a home position for the other robot as well.
13.In the Paths&Targets browser right click the task T_ROB2 and select Set as active.
14.In the Task bar set the template to MoveJ and workobject to wobj0.

If the targets where created in the other workobject they would be dependent.
15.In the Paths&Targets browser right click T_ROB2 and select Mechanism Joint Jog.
16.Set the joints to 0, -20, 20, 0, -30, 0.

17. On the Home tab click the Target button and select Teach Target.
If you get a warning click yes.
18. Under T_ROB2 expand wobj0 and rename the new target to p1600_Home.
19.Right click p1600_Home and select Add to Path > mmPath1 > First.
If you get a warning click yes.
20.Right click p1600_Home and select Add to Path > mmPath1 > Last.

To test the program


We will now synchronize the station to the virtual controller and run a simulation.
1. On the Offline tab click the Synchronize to VC button.
2. In the Synchronize to Virtual Controller dialog click OK.
3. On the Simulation tab click the Simulation Setup button.
4. In the Setup Simulation dialog select the T_ROB1 task and add the mmPath_1
procedure to the Main sequence box by click the arrow button.
5. Then select the TROB2 task and add the mmPath_1 procedure to the Main Sequence.
6. Click the OK button.
7. On the Simulation tab click the Play button.
The robots now execute the paths.
8. Save the station as myMultimove_2.

1. Smart Components
Tip
! When you are creating Smart Components (SC), you can minimize the risk of

22
Industrial Robotics -15MTL76

m ng mistakes by testing it as often as possible. For example: When you add a sensor,
a activate the sensor and hit the beam with a dummy object. The SensorOut signal
k should go high.
i

Create Smart Component (SC) - InFeeder

Overview
In this exercise we will learn how to create a Smart Component which generates a part,
moves the part linearly on a conveyor, and then stops the part when it reach a sensor.

To prepare the station


We will start with an empty station and import the geometry of the conveyor,
and the part which should be generated by the SC.
1. Import the geometry \Geometry\InFeeder.sat
2. Import the library ...\Libraries\box.rslib

To create the Smart Component


1. On the Modeling tab click the Smart Component button.
2. Name the SC SC_InFeeder

To add a part to the SC


Now we will add the part InFeeder to our SC as a Child component.
1. In the Layout browser drag the part InFeeder and drop it on SC_InFeeder.

23
INDUSTRIAL ROBOTICS-15MTL67

To add base components to our SC


A Smart Component consists of one or more base components. A base
component is a building block with predefined behaviors and properties.
1. In the SC view go to the Compose tab and click the Add component button.

2. In the Actions gallery click on the Source button.

24
INDUSTRIAL ROBOTICS-15MTL67

3. Right click on the Source and select Properties in the context menu (if the
properties window not already is opened).
4. In the Properties window select the box in the Source drop down box.
5. Press Apply.

6. Add the base component LinearMover from the Manipulators gallery, and
the base component Queue from the Other gallery.
7. In the Properties window for the LinearMover select the
SC_InFeeder/Queue as the Object. Change the Direction to X= -1000, Y=0,
Z=0 (the box will move in minus X direction). Change the Speed to 500mm/s.
Press Apply.
8. Activate the Execute signal.

To add Property Bindings


Now we will add a binding between the base component Source and the base component

25
INDUSTRIAL ROBOTICS-15MTL67

Queue to define the object that should be moved by the conveyor.


1. In the SC view, go to the Properties and Bindings tab and click the Add Binding
button.
2. Bind the Copy of the Source to the Back of the Queue and press OK:

To add Signals and Connections


To define the actions in our SC we need to define I/O Signals and I/O Connections.
1. In the SC view, go to the Signals and Connections tab and click the Add I/O Signals
button.
2. Add a signal of the type DigitalInput and name it diNewBox. Check Auto-reset.

3. In the SC view, go to the Signals and Connections tab and click the
Add I/O Connections button.
4. Set Source Object to SC_InFeeder, Source Signal to diNewBox, Target Object to
Source and Target Signal to Execute. Press OK.

26
INDUSTRIAL ROBOTICS-15MTL67

5. Add a new I/O Connection and set Source Object to Source, Source Signal to
Executed, Target Object to Queue and Target Signal to Enqueue. Press OK.

6. Save the station as \my_SC_InFeeder.

To test run the Smart Component


Before we add the sensor to the SC we will test that the source and the
queue works as expected. Each SC that consumes time (e.g. moving an
object) needs to have a simulation running.
1. Click on the my_SC_InFeeder:View1 tab so you can see the conveyor and the box.
2. Open the property window for SC_InFeeder.

3. Press Simulation Play.


4. Click on diNewBox a couple of times and verify that a new box is
created and starts moving for each click.
5. Stop the simulation and delete all boxes generated during the simulation.

27
Conveyor Tracking
Overview
In this chapter we will learn how to set up a Conveyor Tracking station in RobotStudio.

Creating the Conveyor Library


Overview
To be able to simulate the conveyor properly RobotStudio need a conveyor mechanism that
defines from where to where it travels, its limits and attachment points. This needs to be saved
as a library so that when the conveyor system starts we can point it out.

Create a Conveyor Mechanism


1. In the File menu select New and then double click Empty Station.
2. On the Home tab click the Import Geometry button and import Rail.sat from
\Courseware\Geometry
3. On the Modeling tab click the Create Mechanism button.
4. In the Mechanism Model Name insert myConveyor.

5. In the Mechanism Type drop down select Conveyor.

6. In the Selected Part drop down select Rail.

7. In the Start Position insert -2000.

The start position has to be negative as the wobj will connect passing zero.
8. In the End Position insert 10 000.

1
Conveyor Tracking

9. In the Attachment Points group in the Pitch and Count fields enter 2000 and 4 then
click the Add button.

This creates 4 attachment frames with 2000mm in between.


10.Click the Compile Mechanism button.
11.In the Create Mechanism dialog click the Close button in the bottom right corner.
12.In the dialog click Yes.

Testing the Mechanism


1. In the Layout browser right click the myConveyor mechanism and then select
Mechanism Joint Jog.
2. In the Joint Jog dialog drag the bar back and forth, the four attachment points will move
back and forth in the direction of the rail.
3. After clicking the bar insert 0 and the Enter key.

Save the Mechanism as Library


1. In the Layout browser right click the myConveyor mechanism and then select Save as
Library.
2. In the Save As dialog browse and save the mechanism as
\Courseware\Library\myConveyor.rslib.
3. Close the station without saving.

Creating the System from Layout

Overview
If the controller system includes the Conveyor Tracking option, it will request a conveyor
library during startup in RobotStudio.

Layout
We will now create the layout of the station. Note that we will change the baseframe of the
robot and let the conveyor remain in the origin of the station. This will make it less complex
when adding more robots to the same conveyor.
1. In the File menu select New and then double click Empty Station.

2
Conveyor Tracking

2. Save the station as \Courseware\Stations\myConveyorTracking1.


3. On the Home tab click the ABB Library button, in the gallery select IRB1600.
4. In the IRB 1600 dialog select 6 kg and 1.45 m and then click OK.

5. On the Home tab click the Robot System button, in the gallery select From Layout.
6. Enter the Name myConveyorSystem.
7. Enter the Location \Courseware\Systems\.

8. Click Next.
9. Click Next.
10.Click the Options button.

3
Conveyor Tracking

11.Check the Conveyor Tracking checkbox and click OK.

12.Click Finish.
13.Click OK in the dialog.

14.In the Select Library dialog browse and select the conveyor
\Courseware\Library\myConveyor.rslib and click Open.
15.In the Layout browser right click the IRB1600_6_145 and select Set Position.
16.In the XYZ fields enter 0, -1500, 500 and in the Orientation fields enter 0, 0, 60.

17. Click Apply


18. Answer No when you also want to move the Task

4
Conveyor Tracking

19. We should now update the controller and activate changes made to the system. Answer
Yes

20. Wait until the controller status in the bottom right corner indicates Green light.

We have now positioned the robot and updated the robot baseframe in the system (VC)

21. On the Home tab click the Import Library button.


22.Open the \Courseware\Libraries\mySpintecTool library.
23. In the Layout browser right click the mySpintecTool and on the context menu point to
Attach to and select IRB1600_6_145.
24. In the Keep current position dialog click No.
25. Save the station as \Courseware\Stations\myConveyorTracking1.

Configuring the Conveyor


Overview
All through the exercise there are a couple of restarts of the controller, make sure that the
controller in the bottom right corner indicates Green light before continuing.

If it does not then in the Paths&Targets browser right click the myConveyorSystem and select
Restart and then Warmstart.

Workobject and piece


Before setting up the conveyor configuration we need to have something to set it up with.
Therefore we will import a piece and create workobjects.
1. Save the station as \Courseware\Stations\myConveyorTracking2.
2. On the Home tab click the Import Library button.
3. Open the \Courseware\Libraries\Jigg library.

5
Conveyor Tracking

4. Repeat steps 2 and 3 to import a second jigg.

5. O n the Home tab click the Other button and select Create Workobject.
6. In the Name field enter wobjCNV1.
7. In the field select CNV1.
8. In the Programmed field select False.

9. Click the Create button.

Conveyor Tracking Setup


Now that we have the objects we will set up the conveyor.
1. On the Home tab click the Robot System button and select Conveyor Tracking Setup.
2. In the list first select Jigg and click the arrow then select Jigg_2 and click the
arrow again.

3. Change to the Part Tracking tab.

6
Conveyor Tracking

4. In the list first select Jigg and click the Add button then select Jigg_2 and click the Add
button again.

5. Click OK.

Encoder Unit
The encoder unit is a board in the controller. Since this is a simulation we need to configure
the hardware settings. For more information regarding this please check the Conveyor
Tracking option manual.
1. On the Offline tab click the Encoder Unit button.
2. In the Queue Tracking Distance enter 0.
3. In the Start Window Width enter 1000.
4. In the Maximum Distance enter 10 000.

7
Conveyor Tracking

5. In the Minimum Distance enter -500.

6. Click OK.
7. In the restart dialog click Yes.

Conveyor Simulation Setting


Another hardware data needs to be set. This is the speed of the conveyor.
1. In the Layout browser select the myConveyor mechanism.
2. On the Simulation tab in the Conveyor Tracking group click the Simulation button.
3. In the Conveyor Speed enter 300.

4. Click the Apply button.


5. Save the station as \Courseware\Stations\myConveyorTracking2.

Conveyor and RAPID

Overview
We will now create the RAPID program. For everything to work we need to enter some
conveyor tracking specific commands. In this exercise this is done through inserting action
instructions, but it could just as easily be done in the RAPID Editor.

Path and Action Instructions


1. Save the station as \Courseware\Stations\myConveyorTracking3.
2. On the Home tab click the Path button and select Empty Path.
3. In the Paths&Targets browser rename the new path to myPath_Jigg.

8
Conveyor Tracking

4. In the Paths&Targets browser right click myPath_Jigg and then select


Insert Action Instruction.
5. In the Instruction Templates drop down select ActUnit Default.

Check that the MechUnit is CNV1.


6. Click the Create button.
7. In the Instruction Templates drop down select ConfL Off.

Check that off is enabled.


8. Click the Create button.
9. In the Instruction Templates drop down select WaitWObj Default.

10.In the WObj drop down select wobjCNV1.


11.Click the Create button.
12. In the Instruction Templates drop down select DropWObj Default.

13. In the WObj drop down select wobjCNV1.


14.Click the Create button.
15. In the Instruction Templates drop down select ConfL On.

Check that on is enabled.

9
Conveyor Tracking

16. Click the Create button.

This is how myPath_Jigg looks like.


17. Save the station as \Courseware\Stations\myConveyorTracking3.

Conveyor Targets
Overview
We will now add move instructions and targets to the path. There are a couple of things we
must do;
Since the conveyor moves its workobject all the targets moving with the jigg must run
without configuration. We make sure of this with the Conf \off command.
So as not to create configuration issues in those moving targets we want start the path
with a target in a stationary workobject with a configuration right above the area.
Before dropping the workobject we again need a target in a stationary workobject.

Adding Targets to Conveyor Workobject


When we add the targets to the conveyor workobject it must be attached to the conveyor. Here
RobotStudio helps us by attaching it when we pass the 0 point on the conveyor mechanism.
1. Save the station as \Courseware\Stations\myConveyorTracking4.
2. In the Layout browser right click myConveyor and select Mechanism Joint Jog.
3. Drag the bar back and forth so that you get the connected event in the output window.

Note the message in the Output.


4. Click the bar then input 200 and the Enter key.
5. On the Home tab verify the Settings for Task, Workobject, and Tool to be as in the
below picture.

6. In the Status bar change the Motion Template to MoveL, v400, z0.

7. Change the Snap mode to Snap Object.

8. On the Home tab click the Target button and select Create Target.

10
Conveyor Tracking

9. In the Create Target dialog in the Orientation fields enter 0, 180, 135.

10.Click the first Position field and then click in the graphics on the plate closest to the
robot Corner - Mid - Corner. So that the targets go from the robot.
See the picture below.

11.Insert Move Instructions in myPath_Jigg by clicking the checkbox and selecting from
the drop-down menu.

12.Click the Create button


13.In the Paths&Targets browser under wobjCNV1 rename the targets to pJigg_10,
pJigg_20 and pJigg_30.
14.In the Paths&Targets browser under myPath_Jigg multi-select their instructions and
drag-and-drop them on WaitWObj wobjCNV1.

15.In the Paths&Targets browser under wobjCNV1 right click the target pJigg_10 and
select Copy.
16.In the Paths&Targets browser right click wobj0_of and select Paste.

11
Conveyor Tracking

17.Answer No to the reposition question.

18.Rename the new target to pAboveJigg


19.In the Paths&Targets browser right click pAboveJigg and point to Modify Target and
then select Set Position.
20.In the Set Position dialog in the Position Z field enter -200.

21.Click Apply.
22.In the Paths&Targets browser right click pAboveJigg and select Configurations.

23.Click Apply.

24.In the Status bar change the Motion Template to MoveJ, v1000, fine, tSpintec, wobj0.

The motion needs to be fine since the robot will stop and wait in them. Also before
dropping the workobject the robot must be at a fine point.

25. In the Paths&Targets browser right click pAboveJigg, point to Add to Path then
myPath_Jigg and then ConfL.

26. In the Paths&Targets browser right click pAboveJigg, point to Add to Path then
myPath_Jigg and then MoveL pJigg_30.

12
Conveyor Tracking

This is how the path looks like in the browser.

This is how the path looks like in the graphics.


27.On the Offline tab click the Synchronize to VC button.

28.Click OK.
29.On the Simulation tab click the Simulation Setup button.

13
Conveyor Tracking

30.In the Available Procedures select myPath_Jigg and click the arrow, twice.

31. Click OK.


32. On the Simulation tab in the Conveyor Tracking group click the Reset button.
33.On the Simulation tab click the Play button.
34.Save the station as \Courseware\Stations\myConveyorTracking4.

Challenge
Tidy up the station.
Put in a stand for the robot, some fences and a controller cabinet.
Change the orientation of the targets to get another orientation of the tool.
When we set up the wobjCNV1 we only set it in the origin, now change the object frame
by three points so that it ends in one of the accessible corners of the plate. Let the targets
remain in the same position. Run the simulation to make sure it still works.
There are four attachment frames on the conveyor, add two more jiggs and change the
settings so that the robot executes the motion on all jiggs.
Create a pHome position away from the conveyor from which the robot starts and ends
the cycle.

14
Conveyor Tracking

15
Conveyor Tracking

© Copyright 2011 ABB All right reserved.


ABB AB
Robotics Products
SE-721 68 Västerås
Sweden

16
Conveyor Tracking

17

You might also like