Professional Documents
Culture Documents
LINK
PRELIMINARY EDITION
intelitek Inc.
444 East Industrial Park Drive
Manchester, NH 03109-5317
USA
Tel: 603-625-8600
Tel: 800-777-6268
Fax: 603-625-2137
website: www.intelitek.com
email: info@intelitek.com
Table of Contents
Introduction
ABOUT THIS ACTIVITIES BOOK ..................................................................................... XI
SAFETY ......................................................................................................................... XII
Activity 1
Activity 2
Activity 3
Activities Book
0209
Activity 5
Activity 6
Activities Book
0209
vi
Activity 8
Activity 9
Activities Book
0209
vii
Activity 11
Activity 12
Activities Book
0209
viii
Activity 14
Activity 15
Conclusion ....................................................................................................15-1
Objectives ............................................................................................................... 15-1
Skills ....................................................................................................................... 15-1
Activities Book
0209
ix
Materials................................................................................................................. 15-1
Overview ................................................................................................................ 15-2
Post-Test....................................................................................................... 15-2
Final Projects ............................................................................................... 15-2
Procedures .............................................................................................................. 15-2
Task 15-1: Final Projects .................................................................................. 15-2
Task 15-2: Shut Down....................................................................................... 15-3
Activities Book
0209
Introduction
Materials are the specific items you will need for each activity.
The Overview introduces you to the subjects you will explore in each activity.
The Procedures contain a series of Tasks, or operations. The first time an operation is to
be performed, instructions are given in a tutorial manner. In subsequent tasks you should
be able to perform these operations without guidance.
Many tasks are best performed when each team member takes on a different role. One
student may, for example, handle the hardware while another student manages the
software. The activities are designed so that team members can switch roles and repeat
tasks, thereby allowing everyone more hands-on time.
Questions and tables for entering results and observations appear throughout the tasks.
Questions for discussion and review conclude each activity. All questions and tables are
printed on a set of Worksheets supplied with this book. Record your answers in the
worksheets, or as directed by your instructor. Do not write in this book.
The Academics section at the end of each activity contains enrichment material, such as
industrial applications and opportunities, or the scientific background upon which the
tekLINK technology is based.
In AMT tekLINKs that include hardware (e.g., panel, robot), you will be directed to
perform inventory and safety checks at the beginning of every working session, and to
shut down the system properly at the end of each activity.
In AMT tekLINKs that utilize software, it is assumed that you are familiar with the PC
and are comfortable working in the Windows/DOS operating environment. However,
instructions are explicit enough to allow novices to use the tekLINK's specific software.
Activities Book
0209
xi
Safety
You will work offline in the Robotics and Materials Handling 2 tekLINK so safety
should not be an issue. However should your laboratory also include robotics and
materials handling hardware, it is imperative that you make sure that the equipment is
offline before beginning the tekLINK. Previous users may have left the system online
which could cause a potentially dangerous environment for both the human operators and
equipment.
Activities Book
0209
xii
Activity 1
Getting Started
Before you begin this activity, take the Pre-Test according to your
teacher's instructions. Allow 15 minutes for the test.
The purpose of this Pre-Test is to measure your knowledge and skills in
the field of Robotics and Materials Handling. This test will not affect your
tekLINK grade! When you have finished the test, please hand it in to your
teacher. Then proceed to this activity.
OBJECTIVES
In this activity you will accomplish the following:
Measure your knowledge of robotics and materials handling.
Identify components of RoboCell software.
Describe the advantages of using simulation software.
Load and run a robotic program.
Control viewing options in the simulated robotic cell.
SKILLS
In this activity you will develop the following skills:
Academic & Employability:
!
Document inventory and safety procedures for lab set-up and shutdown.
MATERIALS
In this activity you will need the following materials:
Computer with RoboCell software
Pre-Test and Pre-Test answer sheet
Worksheets for Activity 1
Activities Book
0209
1-1
OVERVIEW
A file, with the 3DC extension, containing the data regarding the robot
When the SCORBASE program is executed, the virtual robot will move
within the defined workcell, according to the program positions and
commands.
Zoom In/Zoom Out - zooms in and out of the image by pressing the
Activities Book
0209
1-2
Rotating the Image - rotates the view of the image by pressing the right
Moving the Camera Up/Down - use the windows scroll bar to adjust
Figure 1-1
SCORBASE Toolbar
Figure 1-2
Activities Book
0209
Stop
New
Open
Save
Run single
line
Run single
circle
1-3
program..
Run
continuously
Search Home
Control On
Control Off
Pause
Charts
Level 1
Level 2
Pro
3D Image Toolbar
Figure 1-3
Reset
Activities Book
0209
1-4
Redirect
Camera
Follow-me
Camera
Activities Book
0209
Drag
Top View
Save Camera
Names
Positions
Path
Clear Path
1-5
Send Robot to
Object
Send Robot to
Point
Send Robot to
Above Point
Activities Book
0209
1-6
PROCEDURES
Task 1-1: Running RoboCell and Opening the Demo 3D model File
1. Turn on the computer.
2. Run RoboCell by doing one of the following:
!
Figure 1-4
Activities Book
0209
1-7
Figure 1-5
!
Several windows and dialog boxes appear on the screen. The program
appears in the window in the upper left corner of your screen. The 3D
cell image appears on the right side of the screen.
In the 3D Image window, a robot stands on a table. In front of the
Activities Book
0209
1-8
RoboCell window
RoboCell toolbar
RoboCell menu
Program window
Program toolbar
3D Image window
3D Image toolbar
Workspace window
XYZ View
Status bar
Figure 1-7
Activities Book
0209
1-9
The robot moves to the nearest cylinder, picks it up and places it on the
table between the cylinders and the cubes. Then it moves to the second
cylinder picks it up and places it on top of the first. Afterwards it
places the third cylinder on the previously stacked two cylinders. It
then repeats this process with the green cubes. When all cylinders and
cubes are stacked, the robot systematically unstacks them.
Program execution will take some time. Answer the following
questions as you watch the program execution. Should you wish to
pause the robot at any time, simply click on the Pause icon. Reclick on
the Run Single Cycle icon to restart the program.
Q Describe what the robot does with the red cylinders.
Q Describe what the robot does with the green cubes.
Q Describe what the robot then does with the green cubes and red
cylinders.
Q Describe what the robot does after placing the last cube.
Q What will the robot do if Run a Continuous Cycle execution mode is
selected?
Activities Book
0209
1-10
This command places the camera in the center of the cell ceiling facing
downwards.
Figure 1-8
3. Place the cursor anywhere inside the 3D Image window.
Activities Book
0209
1-11
4. Hold down the right mouse button and move the mouse forward. The
Figure 1-9
5. Hold down the right mouse button and move the mouse backward.
Activities Book
0209
1-12
Figure 1-10
7. Click on one of the green cubes.
The selected box has now been moved to the center of the window.
This feature enables you to determine the object (or position) that will
be in the center of the image.
8. Deactivate the Redirect Camera feature by re-clicking on the depressed
icon.
9. Place the cursor anywhere inside the 3D Image window.
10. Hold down the right mouse button and move the mouse forward.
Now the zoom in feature is performed so that the selected box stays in
the center of the camera output image.
11. Hold down the right mouse button and move the mouse backward.
12. Place the mouse cursor anywhere in the window.
Activities Book
0209
1-13
13. Hold down the right mouse button and move to the right and left.
This rotates the displayed image. The center of rotation is the position
selected when you executed the Redirect Camera command.
Figure 1-11
14. Move the scroll bar up and down.
This moves the camera up and down, changing the viewing angle.
Figure 1-12
Throughout this tekLINK, you will learn to adjust the viewing tools in
order to find the most comfortable viewing angle and position for you.
Activities Book
0209
1-14
Hint: After selecting this tool, click on one of the objects in the window
(cylinder or cube) and run the program.
Task 1-6: Shut Down
Exit RoboCell software by doing one of the following:
Select File | Exit.
Press Alt + F4
From the Title-bar, click on the application icon and select Close.
ACADEMICS
History
Robots and Automated Machines
The term robot originates from the Czech word robota, meaning
compulsory labor. It was first used in the 1921 play R.U.R. (Rossum's
Universal Robots) by the Czech novelist and playwright Karel Capek. The
word robot has been used since to refer to a machine that performs work to
assist people or work that humans find difficult or undesirable.
The concept of automated machines dates to antiquity with myths of
mechanical beings brought to life. Automata, or manlike machines, also
appeared in the clockwork figures of medieval churches, and 18th-century
watchmakers were famous for their clever mechanical creatures.
The development of the multijointed artificial arm, or manipulator, led to
the modern robot. A primitive arm that could be programmed to perform
specific tasks was developed by the American inventor George Devol, Jr.,
in 1954. In 1975 the American mechanical engineer Victor Scheinman,
while a graduate student at Stanford University in California, developed a
truly flexible multipurpose manipulator known as the Programmable
Universal Manipulation Arm (PUMA). PUMA was capable of moving an
object and placing it with any orientation in a desired location within its
reach. The basic multijointed concept of the PUMA is the template for
most contemporary robots.
from "Robot," Microsoft Encarta 97 Encyclopedia. 1993-1996
Microsoft Corporation. All rights reserved.
Activities Book
0209
1-15
Activities Book
0209
1-16
Activity 2
SKILLS
In this activity you will develop the following skills:
Academic & Employability:
!
Document inventory and safety procedures for lab set-up and shutdown.
Use robotics control software to manually move the robot along the
XYZ axes.
MATERIALS
In this activity you will need the following materials:
Computer with RoboCell software
Diskette or personal subdirectory on computer hard drive
Worksheets for Activity 2
Activities Book
0209
2-1
OVERVIEW
Figure 2-1
In RoboCell, the end effector of the virtual robot will always be a gripper
(Figure 2-2). In industry, however, real robot systems can perform specific
tasks by connecting special tools to the robots arm in place of the gripper.
Building the optimal tool for a robot is probably one of the most difficult
and creative tasks of a robotic engineer. Tools enable robots to perform
tasks such as welding, painting, screwing and carrying objects.
Activities Book
0209
2-2
Figure 2-2
Figure 2-3
Activities Book
0209
2-3
In the robot system, the center of the robot base (on the table) is defined as
the origin. Therefore, moving the TCP:
Up/down is considered movement along the Z-axis.
Right/left is considered movement along the Y-axis.
Away from/towards the robot base is considered movement along
the X-axis.
entering the coordinates (and angles) of the tool. Use this command if
you know the accurate coordinates of a position you want to use in
your program.
Figure 2-4
Activities Book
0209
2-4
Figure 2-5
In this activity, you will explore the following functions of this dialog box:
Function/Icon/Field
Activities Book
0209
Description
Position Number
Record
Expand
Go Position
Get Position
Teach
Simple
2-5
Figure 2-6
As you may notice from the figure, positions numbering is done in such a
manner as to help you better remember specific locations. All positions on
the table level are given one digit numbers (e.g. positions #1 and #2).
Positions directly above the one digit positions are named by adding ten to
the number of the position they are above (positions #11 and #12).
In order for the robot to move the cube, you must do the following:
Find the location of the cube in the Cartesian system and define its
Define the next three positions (#11, #12, and #2) through which the
Write a program that will instruct the robot how to perform the job.
Move to position #11 fast (the tool is not sent directly to position
#1; instead it will approach the cube from a position above it)
Move to position #1 slow (to prevent damage and increase accuracy)
Close the gripper
Move back to position #11 fast
Move to position #12 fast
Move to position #2 slow
Open the gripper
Move back to position #12 fast
Activities Book
0209
2-6
Remark: ************************************
Remark: ACT#
Remark: ************************************
Remark: ACTIVITY NAME
Remarks are added using the Remark dialog box (Figure 2-7).
Figure 2-7
PROCEDURES
Task 2-1: Running RoboCell and Importing a 3D Image File
1. Run RoboCell for ER 4u.
2. Every SCORBASE program is part of a project, which can also
Activities Book
0209
Press [Ctrl] + N.
2-7
Figure 2-8
3. You now need to open a 3D image model for this project.
Figure 2-9
Activities Book
0209
2-8
Figure 2-10
Figure 2-11
4. You now need to arrange the windows in positions optimal for viewing
Activities Book
0209
2-9
Figure 2-12
6. Select 3D Image | Top View or click on the Top View icon.
Figure 2-13
Activities Book
0209
2-10
7. Select 3D Image | Show Origin to see the point of origin (0,0) of the
cell (at table level). The positions of all objects in the cell are defined
as relative to this point of origin.
If the X and Y labels dont appear unobstructed in the window, zoom
in/out or change the viewing angle to seem them (Figure 2-).
Figure 2-14
8. Select 3D Image | Camera | Redirect Camera or click on the
10. Use the zoom features and the scrollbar to see a clear view of the cube
Activities Book
0209
2-11
Figure 2-15
do the following:
!
!
!
TCP Motion
1/Q
2/W
3/E
4/R
5/T
In this setup, the cube was placed so that its Y coordinate is zero. Since
the initial Y coordinate of the gripper is also zero you only need to
manipulate the robot along the X and Z-axes.
Activities Book
0209
2-12
3. Using the buttons/keys in the Manual Movement dialog box, you will
now move the TCP along the X and Z axes until the cube is between
the open jaws of the gripper. Be sure that the gripper tips do not touch
the table or the cube.
!
!
The robot is now in position #1 and you will record this position.
4. Click in the Teach Positions (Simple) dialog box, located to the right
Figure 2-17
Position #1 is now recorded. You will now teach the next three
positions required for the required task.
Activities Book
0209
2-13
Figure 2-18
!
Figure 2-19
5. In your worksheet, record the X, Y and Z coordinates of position #1 in
the table.
Position #
1
11
2
12
Activities Book
0209
2-14
In the Z (mm) field, enter the new value for Z you recorded in the
table and leave all other coordinates intact.
Figure 2-20
9. Click the Go Position button.
Figure 2-21
Activities Book
0209
2-15
Figure 2-22
Activities Book
0209
Click Go Position. The robot moves to the newly recorded position #2.
2-16
13. In the Teach Positions (Expand) dialog box, do the following to teach
Make sure that the Position Number field is set to 2 and click the Get
Position button. The coordinates of position #2 appear in the box.
In Table 2-2 on your worksheet, copy the X and Y coordinates of
position #2 to position #12.
Add 40 to the Z coordinate of position #2 and record it in the table
as the Z coordinate for position #12.
In the Z (mm) field, enter the new Z coordinate and leave all other
coordinates intact.
14. You will now save the positions that you recorded into a project file.
!
Figure 2-23
!
Activities Book
0209
2-17
The USER2 project file now contains the positions that you just
recorded.
15. Click in the Workspace window.
16. The project you just saved now appears in the Project tab window
(Figure 2-16).
Figure 2-24
17. Open the USER2 tree by double-clicking on USER2 or clicking on the +.
18. Note that the project USER2 is composed of a program file, positions
Activities Book
0209
2-18
Figure 2-25
19. Double-click on Positions user2 to view the positions you just
recorded.
Figure 2-26
Q How do the coordinates shown in the window compare with the
to position #2?
20. Close the Positions window.
21. Return the robot to its initial position by doing one of the following:
!
The Reset Model function returns all objects in the robotic cell to their
original positions. The robot and peripheral objects assume their home
positions. And the 3D Image returns to its default view.
Task 2-3: Programming
In this task, you will program the robot according to the specifications
designated in the Overview.
Activities Book
0209
2-19
Figure 2-27
2. From the Program Flow section of the Command List, double click on
Remark.
Activities Book
0209
2-20
Figure 2-28
Figure 2-29
3. In the Text field, enter a line of asterisks (*********************).
Positions.
Click OK to accept.
6. Again add a remark with a line of asterisks.
Click OK to accept.
7. Click on the Open Gripper icon in the Program window.
Activities Book
0209
2-21
Figure 2-30
!
Figure 2-31
9. Add the Go Position command again, setting the target position to 1
fast.
12. Click on Go Position. Set the Target Position to 12 and the speed to
fast.
13. Add a command moving the robot to position #2 in speed 1.
Activities Book
0209
2-22
Remark: **************************
Remark: Activity 2
Remark: Recording XYZ Positions
Remark: **************************
Open Gripper
Go to Position 11 fast
Go to Position 1 speed 1
Close Gripper
Go to Position 11 fast
Go to Position 12 fast
Go to Position 2 speed 1
Open Gripper
Go to Position 12 fast
Your screen divides such that the program appears on the left and the
3D Image appears on the right (Figure 2-32).
Figure 2-32
2. Click on the first line of the program.
3. Click on the Run Single Line icon or press F6.
Activities Book
0209
2-23
As you learned in the previous activity, one line of the program will be
executed each time you select this icon or press F6.
4. Continue running the program to the end by clicking repeatedly on the
Model.
The cell will return to its initial position.
6. Click on the first line in the program to ensure program execution will
A full single cycle of the program will be executed each time you press
this icon/key.
Task 2-5: Team Discussion and Review
Q What would happen if you clicked the Run Single Cycle icon again,
ACADEMICS
Industrial Applications
Simulation Software
Whatever the application in robotics, it is essential to ensure that the
investment, training and operation in any factory automation project is
both thoroughly researched and accurately implemented.
With the introduction of simulation software, these prerequisites can be
achieved with considerable savings to the small and medium sized
customer, without sacrificing quality, but achieving economy of scale.
Simulation provides an efficient interactive graphical environment in
which to improve the way industrial robots are programmed. Everincreasing numbers of robot installations are now being planned using
computer simulation. Only a few years ago the cost of technology to
achieve these aims was prohibitive for all but the largest organizations.
However, simulation, calibration and programming of industrial robots is
possible even on a standard low-cost PC compatible computer.
Simulation software was primarily intended as a visualization aid for those
engineers and managers involved in the process of designing and
Activities Book
0209
2-24
Activities Book
0209
2-25
Activity 3
SKILLS:
In this activity you will develop the following skills:
Academic & Employability:
!
Document inventory and safety procedures for lab set-up and shutdown.
MATERIALS
In this activity you will need the following materials:
Computer with RoboCell software
Diskette or personal subdirectory on computer hard drive
Worksheets for Activity 3
Activities Book
0209
3-1
OVERVIEW
Continuous Cycles
In this activity, you will load the program and cell you saved in the
previous activity and modify it such that the robot will also return the cube
back to its initial position (position #1). Because the robot and peripheral
equipment will always return to their initial positions, you will be able to
run a continuous cycle of the modified program. A continuous cycle is a
cycle that can be operated continuously without having to reset the cell.
You will then load a different robotic cell in which the cube is placed 70
millimeters away from its previous initial position. You will learn how to
modify an existing program and/or its recorded positions to accommodate
a different robotic 3D model. You will then run this modified program as a
continuous cycle, as well.
PROCEDURES
Task 3-1: Running RoboCell and Opening 3D model File
1. Turn on the computer
2. It is important that while running RoboCell, no other programs are
Figure 3-1
Activities Book
0209
3-2
ensure that you do not record over your Activity 2 files, resave this
project as USER3a.
Select File | Save Project As to save the project as USER3a.
6. View the 3D Image from above by doing one of the following:
!
Activities Book
0209
Command
3-3
Q Should you record more positions if you want the robot to return the
Command
simulated program.
2. Reset the robotic cell (select 3D Image | Reset Model or click on the
Activities Book
0209
3-4
continuously without having to reset the cell between cycles. You will
no longer get the impact error messages encountered in the Team
Discussion and Review of Activity 2.
6. To run the program in continuous mode, do one of the following:
!
Press F8.
Press F9.
Figure 3-2
Activities Book
0209
3-5
As mentioned, the only difference between the cell you loaded just
now and the one you previously used (ACT2.3) is that the cube Yoffset is 70 mm.
3. Arrange the windows by selecting Window | Simulation & Teach.
4. Save this new project as USER3b in the Users directory.
5. Redirect the camera to the red cube.
6. Use the viewing tools to clearly see the cube and the robot gripper
the robot will move the cube from the current position back 100 mm.
Q Do you need to write an entirely new program?
You will now modify the four positions so that the robot will move the
cube from its new initial position. To modify the previous positions,
you need only change the Y coordinate of the four positions.
8. If the Teach Positions dialog box has disappeared, select Window |
positions:
!
Make sure the TCP trajectory is clear and the gripper is open.
Click Go Position.
Click Expand.
!
!
Activities Book
0209
3-6
the robot.
4. When you have completed running a full cycle of the program, click
program execution.
Task 3-6: Team Discussion and Review
1. Reset the cell.
2. Click on the first line of the program.
3. Zoom in on the cube.
4. Click on the Run Single Line icon.
When the robot is in position #1, note that the gripper is not aligned
with the cube.
5. Click on the Run Single Line icon again.
Activities Book
0209
3-7
ACADEMICS
Industrial Applications
Virtual Reality
Virtual Reality, (VR), system enables users to move and react in a
computer-simulated environment. In some cases various types of devices
allow users to sense and manipulate virtual objects much as they would
real objects. This natural style of interaction gives participants the feeling
of being immersed in the simulated world. Virtual worlds are created by
mathematical models and computer programs.
Researchers have been working on virtual-reality devices for many years.
In the 1960s Raymond Goertz at Argonne National Laboratory in
Argonne, Illinois, and Ivan Sutherland at the Massachusetts Institute of
Technology in Cambridge, Massachusetts, demonstrated early versions of
HMDs. Goertz, and later Michael Noll of Bell Laboratories, also
developed prototype force-feedback devices. In recent years, virtual-reality
devices have improved dramatically as the result of various technological
advances. Computers now are more powerful, have a higher memory
capacity, are smaller, and cost less than in the past. These developments,
along with the advent of small liquid-crystal displays (LCDs) that can be
used in HMDs, have made it possible for scientists to develop virtualreality simulations.
Virtual reality is currently used to explore and manipulate experimental
data in ways that were not possible before. Therapists use VR to treat
sufferers of child abuse and people who are afraid of heights. Muscular
dystrophy patients can learn to use a wheelchair through virtual reality
"Virtual Reality," Microsoft Encarta 97 Encyclopedia. 1993-1996
Microsoft Corporation. All rights reserved.
Activities Book
0209
3-8
Activities Book
0209
3-9
Activity 4
Recording Positions by
Sending the Robot to Objects
OBJECTIVES
In this activity you will accomplish the following:
Record positions using simulation software features that send the robot
to objects.
SKILLS
In this activity you will develop the following skills:
Academic & Employability:
!
Document inventory and safety procedures for lab set-up and shutdown.
MATERIALS
In this activity you will need the following materials:
Computer with RoboCell software
Diskette or personal subdirectory on computer hard drive
Worksheets for Activity 4
Activities Book
0209
4-1
OVERVIEW
Teaching Positions
In most robotic systems, positions are recording by the following two
methods (or a combination of them):
1. Guiding the robots TCP to the position that should be recorded. When
the TCP is in place, the position is recorded using the output of the
robot location sensors. You used the Record command to record
positions in this manner.
2. Calculating and typing in the coordinates of the positions. This method
object (including the table), moves the TCP to an object in the cell.
By default, the open gripper will move to a point 10 millimeters above
the objects position so that closing the gripper will grasp the selected
object.
2. Selecting Robot | Send Robot to Point, followed by clicking on a
target point, moves the TCP to any location in the cell. It is similar to
the Send Robot to Object command but allows you to send the robot to
any point on any object in the cell.
For example, when you click on any object, such as a cube or table, the
target point is the exact point where you click, not the objects
position. Be sure to use this option when you want to send the TCP to
a specific point on the tabletop.
Activities Book
0209
4-2
point, moves the TCP to a point above any selected location in the cell.
By default, the tool will stop 150 millimeters above the selected object.
Figure 4-1
Figure 4-2
Due to safety reasons, the cylinders must be lifted 100 millimeters before
being moved along the Y axis. The stacking procedure will be divided into
two stages:
1. Cylinder #1 will be placed on cylinder #3.
2. Cylinder #2 will be placed on cylinder #1 (which is already placed on
cylinder #3).
Activities Book
0209
4-3
PROCEDURES
Task 4-1: Running RoboCell and Opening the 3D model File
1. Turn on the computer and run RoboCell.
2. Create a new program and import the 3D model file ACT04.3.DC.
3. From the Graphic Display menu, do the following:
!
!
!
Activities Book
0209
4-4
4. Record positions #2 and #12 the same way you recorded positions #1
and #11.
5. To record position #3, do the following:
!
!
!
Change the viewing angle in the Graphic Display window such that
the window is filled with the centered, top surface of the cylinder.
(Use the Top View option.)
You may need to continually redirect the camera to cylinder #3 and
adjust the viewing tools.
Select Robot | Send Robot to Point.
Click on the center of the red circle (the top surface of cylinder #3).
Try to be as exact as possible.
This will define the exact center point of cylinder #3 on which you
will stack cylinder #1.
Q Observe the coordinates for position #13 (Get Position) and explain
gripper. Then using the Send Robot to Point command, send the robot
to the center point of the top surface of cylinder #1 (stacked on top of
cylinder #3) and record this position as position #23.
Activities Book
0209
4-5
Remark: *********************************
Remark: ACT4
Remark: Recording Positions with Send Robot Options
Remark: *********************************
Open Gripper
Go to Position 11 fast
Go to Position 1 speed 5
Close Gripper
Go to Position 11 fast
Go to Position 33 fast
Go to Position 13 speed 5
Open Gripper
Go to Position 33 fast
Go to Position 12 fast
Go to Position 2 speed 5
Close Gripper
Go to Position 12 fast
Go to Position 33 fast
Go to Position 23 speed 5
Open Gripper
Go to Position 33 fast
robotic cell.
Activities Book
0209
4-6
replaced with three blocks. Will the robot stack the blocks one on top
of the other such that the cube bases will overlap one another? If no,
suggest a solution.
Task 4-6: Shut Down
1. Exit RoboCell.
2. Then turn off the computer.
ACADEMICS
Industrial Applications
Robots in the Automobile Industry
Robots weld parts of an automobile together on an automated production
line in Fenton, Missouri. Robots are faster and less prone to errors than
human workers; as computer and robot technology has become more
advanced, robots are increasingly able to perform more complicated tasks.
Figure 4-3
Tom McHugh/Photo Researchers, Inc. from "Automation," Microsoft
Encarta 97 Encyclopedia. 1993-1996 Microsoft Corporation. All
rights reserved.
Activities Book
0209
4-7
Activities Book
0209
4-8
Activity 5
SKILLS
In this activity you will develop the following skills:
Academic & Employability:
!
Document inventory and safety procedures for lab set-up and shutdown.
MATERIALS
In this activity you will need the following materials:
Computer with RoboCell software
Diskette or personal subdirectory on computer hard drive
Worksheets for Activity 5
Activities Book
0209
5-1
OVERVIEW
Degrees of Freedom
One of the ways to characterize robot maneuverability is by counting the
robots Degrees of Freedom (DOF). A degree of freedom can be defined
as the robots ability to move its tool along or around an axis. Assuming
that a robot can move a tool independently along an axis, then it can move
a TCP along two or three axes at the same time, enabling higher
maneuverability.
An object which is free to move (or rotate) in any direction has six DOF:
(see the arrows in Figure 5-1):
1. Along the X axis (in or out).
2. Along the Y axis (left or right).
3. Along the Z axis (up or down).
4. Rotate about the X axis (Yaw).
5. Rotate about the Y axis (Pitch).
6. Rotate about the Z axis (Roll).
Figure 5-1
So far you have observed that the virtual robot can move the end effector
along each of the axes and rotate about the Y and Z axes. Therefore the
SCORBOT-ER 4u robot has five out of six possible degrees of freedom.
A full description of the TCP location and position in a RoboCell robotic
cell is therefore composed of three coordinates and two angles.
The coordinates, defined in millimeters, describe the distance of the
TCP position from the cell origin (as you have already seen).
Activities Book
0209
5-2
PROCEDURES
Task 5-1: Running RoboCell and Opening the 3D model File
1. Turn on the computer and run RoboCell.
2. Open the program and positions file USER4 that was saved in the
previous activity
3. Import the 3D model file ACT05.3DC.
The cell you loaded is similar to the cell used in Activity 4. In this cell,
the cylinders are replaced by cubes with sides of 35 mm.
4. Use the viewing tools to observe the cell from a comfortable viewing
angle.
5. Redirect the camera to the center cube (cube #2) and then zoom in.
6. Select Labels | Object Names.
7. Select View | Follow Me Camera.
cube #3.
Q Describe the angle between the gripper jaw and cube #2 before the
gripper closed.
Q Describe the relative position in which cube #2 is placed on top of
cube #1.
Q What is the reason for the misalignment of the cubes?
Q Count the positions whose angles must be changed.
Activities Book
0209
5-3
10. As you can see, the position must be adjusted in order for the cubes to
be stacked correctly.
This adjustment can be done using one of the following methods:
!
Figure 5-2
Figure 5-2 shows the reason for the shift in the angle in positions
#13 and #23.
When the robot grips cube #1 and moves to place it on top of cube
#3, the gripper (and the cube) rotate with it. To correct the error,
the robot should turn its gripper to keep it in line with cube #3. The
amount of rotation needed can be determined by finding the size of
the angle whose tangent is calculated by:
tg a = -200 = -0.66 = a = -33.69
300
Q How many degrees should the gripper be rotated in position #13 so
Activities Book
0209
5-4
Task 5-2: Modifying Positions #13 and #23 by Calculating and Teaching
the Roll
1. Change the Remark commands to indicate that the file is now
applicable to Activity 5.
2. Then save the file as USER5. This file contains the previous program
!
!
Activities Book
0209
The position data is displayed. The three coordinates (in mm) are
on top and the two angles are just below them.
Click Go Position.
Click Teach.
Click Simple.
5-5
2. From the Graphic Display window, redirect the camera to cube #2 and
then zoom in. Try to get a good view from above the cube so that you
can clearly see the cube and the gripper.
Pay special attention to the angle in which the gripper jaw is
approaching the cube.
3. In the XYZ mode of the Manual Movement dialog box, click buttons 5
Note that the program is intact; only the roll angle of the three
positions changed.
Task 5-4: Running the Program
1. Reset the robotic cell.
2. Using the single cycle icon, run through the entire program.
cube #3.
Q Describe the angle between the gripper jaw and cube #2.
Q Describe the relative position in which cube #2 is placed on top of
cube #1.
Activities Book
0209
5-6
Figure 5-3
ACADEMICS
Industrial Applications
Uses for Robots
In 1995 about 700,000 robots were operating in the industrialized world.
Over 500,000 were used in Japan, about 120,000 in Western Europe, and
about 60,000 in the United States. Many robot applications are for tasks
that are either dangerous or unpleasant for human beings. In medical
laboratories, robots handle potentially hazardous materials, such as blood
or urine samples. In other cases, robots are used in repetitive, monotonous
tasks in which human performance might degrade over time. Robots can
perform these repetitive, high-precision operations 24 hours a day without
fatigue. A major user of robots is the automobile industry. General Motors
Corporation uses approximately 16,000 robots for tasks such as spot
welding, painting, machine loading, parts transfer, and assembly.
Assembly is one of the fastest growing industrial applications of robotics.
It requires higher precision than welding or painting and depends on lowcost sensor systems and powerful inexpensive computers. Robots are used
in electronic assembly where they mount microchips on circuit boards.
Activities Book
0209
5-7
Activities Book
0209
5-8
Activity 6
corroding acid.
SKILLS
In this activity you will develop the following skills:
Academic & Employability:
!
Document inventory and safety procedures for lab set-up and shutdown.
MATERIALS
In this activity you will need the following materials:
Computer with RoboCell software
Diskette or personal subdirectory on computer hard drive
Worksheets for Activity 6
Activities Book
0209
6-1
OVERVIEW
Figure 6-1
The robot will pick the cylinder, dip it in each of the four tanks for a
period of five seconds and then place it at its initial position.
You will not see actual tanks in the robotic cell; imagine that they exist.
Activities Book
0209
6-2
If you were to use the program commands learned thus far, you would
need to record the following 10 absolute positions to perform the task:
Initial cylinder position
50 mm above the initial cylinder position
Inside tank A
50 mm above tank A
Inside tank B
50 mm above tank B
Inside tank C
50 mm above tank C
Inside tank D
50 mm above tank D
In this activity, however, you will work with relative positions to simplify
the programming. You will need to record only one absolute position and
three relative positions. The absolute position (position #1) will be 50
millimeters above the cylinder, and the relative positions will be:
Position #2 - 50 mm below the current TCP position.
Position #3 - 50 mm above the current TCP position.
Position #4 - 70 mm to the right of the current TCP position.
Activities Book
0209
6-3
Activities Book
0209
Click Expand.
6-4
as an absolute position:
!
Select Absolute.
5. Teach position #2 in the same way you recorded position #3. It should
+70 mm.
Make sure that the coordinate fields are (0,0,0) before adding the Yoffset. If they are not, click again on Relative To.
7. From the SCORBASEpro menu, select View | List Positions.
Select XYZ.
Q What information does this dialog box provide?
8. Close the List Positions dialog box.
Activities Book
0209
6-5
Now you will program the procedure for dipping the cylinder in tank A.
8. Add a remark stating START A, to indicate that the robot is now
Figure 6-2
Enter 50. 50 tenths of a second will create a 5 second pause inside the
tank.
Click OK to close the dialog box.
12. Select Go Position #3 fast.
entered. To simplify programming, use the Copy & Paste tools to copy
the program lines starting from the remark and to paste them at the end
of the program:
!
!
!
In the Program window, click and hold down the mouse button,
highlighting lines 10-14.
Right click to copy the selected lines, or select Copy from the
SCORBASEpro Edit menu.
Place the cursor at the end of the program.
Right click to paste the lines, or select Paste from the
SCORBASEpro Edit menu.
Repeat twice more to paste the lines for tanks C and D.
14. Now you still have to change the three last remarks from A to B, C and
D.
Double click on the second START A line.
Activities Book
0209
6-6
START D respectively.
Q How will you now order the robot to return to its initial position?
16. Add commands at the end of the program to return the robot to its
initial position, place the cylinder there and then move up 50 mm.
17. Compare the program you just assembled with the following:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Remark: *********************************
Remark: ACT6
Remark: Recording Relative Positions
Remark: *********************************
Open Gripper
Go to Position 1 fast
Go to Position 2 speed 5
Close Gripper
Go to Position 3 fast
Remark: START A
Go to Position 4 fast
Go to Position 2 speed 5
WaiT 50 ( 10 ths of seconds )
Go to Position 3 fast
Remark: START B
Go to Position 4 fast
Go to Position 2 speed 5
WaiT 50 ( 10 ths of seconds )
Go to Position 3 fast
Remark: START C
Go to Position 4 fast
Go to Position 2 speed 5
WaiT 50 ( 10 ths of seconds )
Go to Position 3 fast
Remark: START D
Go to Position 4 fast
Go to Position 2 speed 5
WaiT 50 ( 10 ths of seconds )
Go to Position 3 fast
Go to Position 1 fast
Go to Position 2 speed 5
Open Gripper
Go to Position 3 fast
Activities Book
0209
6-7
3. Click the Run Single Line icon seven times (until the robot is in
position #2).
4. Select 3D Image | Show Path.
icon. When the program finishes executing line #29, disable the Show
Robot Path option by reselecting it from the menu (the checkmark
should disappear).
Make sure that you disable the option but dont clear the robot path.
6. Run the program until its end.
ACADEMICS
Industrial Applications
The State of the Robotics Industry
In general, there was a significant slump in the mid to late 1980's in
industrial robotics. However in the early 1990's, sales and numbers have
rebounded to surpass early 1980 numbers and dollars.
From Motion Control Magazine April 1994
Robotics Industries Association said recently robot orders jumped 40%
through June, 1993, as the industry posted its best opening half-year
ever.... Net new orders received by U.S. based robotics companies totaled
3,640 robots valued at $306.2 million, the highest unit and dollar figures
ever.
Activities Book
0209
6-8
From the New York Times, Wednesday September 7th pC1 (paraphrased)
In the late 1980's a steep decline in robot orders drove most US companies
out of the business. In the first half of 1994 4,335 robots with a total value
of $383.5 million. Fanuc is the leader with about $360M in sales this year.
Asea Brown Boveri (ABB) is second with sales estimated at $120M. The
next several are Japanese: Motoman, Panasonic, Sony and Nachi.
The only major US producer to have survived is Adept Technology with
about $50M in sales in a $700M market. The following table is interpreted
from a graph in the article.
# of Robots
$US
1984
5800
$480M
1985
6200
$380M
1986
5400
$320M
1987
3800
$300M
1988
4000
$325M
1989
4500
$510M
1990
5000
$510M
1991
4000
$410M
1992
5250
$500M
1993
6800
$630M
1994
4335 (6 mos.)
$383M (6 mos.)
Activities Book
0209
6-9
Activities Book
0209
6-10
Activity 7
SKILLS
In this activity you will develop the following skills:
Academic & Employability:
!
Document inventory and safety procedures for lab set-up and shutdown.
MATERIALS
In this activity you will need the following materials:
Computer with RoboCell software
Diskette or personal subdirectory on computer hard drive
Worksheets for Activity 7
Activities Book
0209
7-1
OVERVIEW
Feeder
In this activity, you will learn about two
components often used in modern
automated production processes: feeders
and templates. You will also learn a new
way to record programming positions.
Figure 7-1 shows a pneumatic feeder.
Feeders are used to provide required
materials or components to the
production process. The feeder shown in
Figure 7-1 is supposed to supply the
production process with cubes.
Figure 7-1
In the feeder, the cubes are stacked one on top of the other. When a cube is
needed for the production process, the robot pulls out the bottom cube.
The robot feeder is considered an output device. Output devices receive
control signals from the system. Following the removal of the bottom
cube, an output is turned on, and another cube is sent to the bottom by the
robot controller. Feeders are periodically filled with new cubes, thus
providing a continuous cube supply.
A major advantage of the feeder is that the position of the available cubes
remains the same. When a cube is taken from the feeder, another cube
immediately replaces it. When another cube is needed, the robot needs
only to return to exactly the same position and repeat its procedure.
Template
Templates are used to hold and store various
products in modern production and
manufacturing systems. Figure 7-2 shows a
simple template.
A template is a plain platform on which
parts can be placed in various positions
using special mounting brackets (when
needed). The template is fitted with a
handle that the robot can grasp in order
to move the template (with the part attached)
to different positions.
Activities Book
0209
7-2
Figure 7-2
with the same tool can be used to move the templates (and the parts)
from one place to another.
Figure 7-3
Activities Book
0209
The robots gripper will move to above the cylinders initial position
(at the feeders mouth), lower 40 mm, grip the cylinder and move up
again.
The robot will move to above the destination of cylinder #1, lower 50
mm, open the gripper and then move back up.
The robots gripper will move back to above the new cylinder at the
feeders mouth, lower 40 mm, grip the cylinder and move back up.
The robot will move to above the destination of cylinder #2, lower 50
mm and then move back up.
7-3
Recording the positions for this task could be quite difficult. If you chose
to record the positions as absolute, you would need to record six positions
(the initial cylinder location at the mouth of the feeder, the two end
positions and a position above each point). Teaching these six positions
would be complicated and mistake-prone, primarily because the positions
are not provided and would need to be calculated.
For these reasons, you will use the Relative To position recording method.
As you saw in the previous activity, this method allows you to record
positions as relative to a given position. Note that relative positions can be
considered as absolute positions provided the reference position remains
unchanged.
PROCEDURES
Task 7-1: Running RoboCell and Opening the 3D model File
1. Turn on the computer and run RoboCell.
2. Open the 3D model file ACT07.3DC.
3. Click on View | Dialog Bars | Digital Outputs. The Digital Outputs
feeder.
5. Use the viewing tools to clearly see the cylinder from a comfortable
viewing angle.
Task 7-2: Recording Positions
1. Open the robot gripper.
2. Send the robot above the red cylinder.
3. Then send the robot to the red cylinder.
Activities Book
0209
7-4
Description
Relative Dimensions
11
Relative to position #1
(z = 40)
Relative to #1 (y = -110,
z = -10)
12
Relative to #2 (z = +50)
Relative to #2 (y = -80)
13
Relative to #3 (z = +50)
Table 7-1
Q Why is the robot ordered to lift the cylinder 40 mm?
Q Why should the cylinder be lowered 50 mm to the template?
will be identical and you can use the cut and paste tools to avoid
repetitive programming.
To write this program, you must use two new program commands,
Turn output on (ON), and Turn output off (OF.) These commands
are found in the Inputs & Outputs section. Double click ON to insert
the turn input on command. This tells the program to send an output
from the controller to the feeder. This will release the cylinder from the
feeder.
You must also tell the program to turn off the output. If the output is
not turned off, you will not be able to turn it back on to release the next
part. To insert the turn output off command, double click on OF.
Activities Book
0209
7-5
2. When you have finished programming, compare your program with the
following:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Remark: ********************************
Remark: ACT7
Remark: Recording More Relative Positions
Remark: ********************************
Open Gripper
Turn on output 2
Turn off output 2
Go to Position 11 fast
Go to Position 1 speed 5
Close Gripper
Go to Position 11 fast
Go to Position 12 fast
Go to Position 2 fast
Open Gripper
Go to Position 12 fast
Go to Position 11 fast
Go to Position 1 speed 5
Turn on output 2
Turn off output 2
Close Gripper
Go to Position 11 fast
Go to Position 13 fast
Go to Position 3 speed 5
Open Gripper
Go to Position 13 fast
above data?
Task 7-5: Shut Down
1. Exit RoboCell.
2. Then turn off the computer.
Activities Book
0209
7-6
ACADEMICS
Industrial Applications
Robot Manipulators
The inspiration for the design of a robot manipulator is the human arm, but
with some differences. For example, a robot arm can extend by
telescopingthat is, by sliding cylindrical sections one over another to
lengthen the arm. Robot arms also can be constructed so that they bend
like an elephant trunk. Grippers, or end effectors, are designed to mimic
the function and structure of the human hand. Many robots are equipped
with special purpose grippers to grasp particular devices such as a rack of
test tubes or an arc-welder.
The joints of a robotic arm are usually driven by electric motors. In most
robots, the gripper is moved from one position to another, changing its
orientation. A computer calculates the joint angles needed to move the
gripper to the desired position in a process known as inverse kinematics.
Any robot designed to move in an unstructured or unknown environment
will require multiple sensors and controls, such as ultrasonic or infrared
sensors, to avoid obstacles. Robots, such as the National Aeronautics and
Space Administration (NASA) planetary rovers, require a multitude of
sensors and powerful onboard computers to process the complex
information that allows them mobility. This is particularly true for robots
designed to work in close proximity with human beings, such as robots
that assist persons with disabilities and robots that deliver meals in a
hospital. Safety must be integral to the design of human service robots.
"Robot," Microsoft Encarta 97 Encyclopedia. 1993-1996 Microsoft
Corporation. All rights reserved.
Activities Book
0209
7-7
Activities Book
0209
7-8
Activity 8
SKILLS
In this activity you will develop the following skills:
Academic & Employability:
!
Document inventory and safety procedures for lab set-up and shutdown.
MATERIALS
In this activity you will need the following materials:
Computer with RoboCell software
Diskette or personal subdirectory on computer hard drive
Worksheets for Activity 8
Activities Book
0209
8-1
OVERVIEW
Work Envelope
So far you have only operated the robot in a stand alone station. When a
robot works as a stand alone, its capabilities are quite limited. The robot
can only move a tool within a 3-D environment, reaching a limited range
of positions. The positions within the robots reach are a function of its
arm length and structure. This range of accessible positions is known as
the robots Work Envelope.
The Work Envelope of a robot is defined as the span of the robots
working range. It is shown as a geometrical shape containing every
position within the robots reach.
In Figure 8-1, the robot arm of the SCORBOT-ER 4U is fully extended.
Figure 8-1
The overall length of the arm defines the work envelope. When the robot
arm moves up and is fully extended, the TCP moves in an arched
trajectory to the position shown in Figure 8-2.
Figure 8-2
Activities Book
0209
8-2
Rotary Table
The Rotary Table is an excellent example of a peripheral device capable
of moving objects in and out of the robots work envelope. The rotary
table is constructed from a round disk that can be rotated by a motor, often
controlled by the robot controller (shown in Figure 8-3).
Figure 8-3
Note the cylinder placed on the table in the figure. This cylinder is presently
out of the robots reach; the robot cannot pick and place it. However, if the
table were to be rotated, the cylinder would then be within the robots work
envelope, allowing the robot to pick and place it where necessary.
Figure 8-4
RoboCell allows you to record positions both for the robot and the
peripheral equipment. In order to perform the task of loading the cylinders
and stacking them, you will record eleven different positions -- seven for
the cylinders and four for the rotary table:
Position #1: for picking the green cylinder.
Position #11: above the green cylinder.
Position #2: red cylinder final position.
Position #12: blue cylinder final position.
Position #22: yellow cylinder final position.
Position #32: green cylinder final position.
Position #42: above the green cylinder final position.
Activities Book
0209
8-3
The red cylinder (as well as remaining cylinders) will be stacked by the
following procedures:
Sending the robot to the green cylinders initial position (position #11).
Sending the table to position #4 so that the red cylinder will be in the
PROCEDURES
Task 8-1: Running RoboCell and Opening the 3D model File
1
Activities Book
0209
8-4
As you can see, only the green and pink cylinders can be reached and
are therefore within the robots work envelope. To enable the robot to
pick the other cylinders, the rotary table must be rotated in order to
move the other cylinders into the robots work envelope.
Q Is it possible to perform this task without a rotary table?
Q What is the advantage of using a rotary table?
7
Use the viewing tools to see an unobstructed view of the rotary table
with cylinders placed on it, robot and table with base cylinder.
Task 8-2: Recording Positions for the Robot and Peripheral Devices
Q How will you load the blue cylinder?
1
Send the robot to the green cylinder and record this as absolute
position #1.
In the Include Axes section, make sure that only robot (and not
peripherals) is selected!
Position #1 is therefore located next to the green cylinder.
Send the robot to the pink base cylinder and record the absolute
position as position #2.
Position #2 is 35 mm above the current TCP position.
Activities Book
0209
8-5
Teach position #32 as relative to position #22 with a Z-offset of +35 mm.
Position #32 marks the final position of the green cylinder.
Teach position #42 as relative to position #32 with a Z-offset of +35 mm.
You will now teach the four rotary table positions, using the Peripheral
command for the first time.
The robot is now standing in its position #11. For the table, it will be
recorded as position #3 (the initial position of the green cylinder).
13 In the Teach Positions dialog box, do the following:
!
!
Click Absolute.
Click Record.
Activities Book
0209
8-6
Using the buttons in the Manual Movement dialog box, click 8/I to
rotate the table until the red cylinder is in the initial position of the
green cylinder. You must center the cylinder between the grippers
jaw as much as possible.
In the RoboCell robotic cell, the rotary table is known as axis 8. As
you can see from the Joints mode of the Manual Movement dialog
box, axis 8 is controlled by the 8 and I keys (clockwise and
counter-clockwise rotation).
To make sure that the cylinder is centered between the grippers
jaw, move the robot to position #1 and click Close Gripper to make
sure that the robot can easily pick the cylinder from the table in that
position.
Record this peripheral position as position #4 (the red cylinder).
Dont forget to cancel the Robot default in the Teach Positions
dialog box.
applying the same technique used to record position #4. Dont forget to
open the robot gripper before starting.
Task 8-3: Programming
1
Move the rotary table so that the right cylinder is below the gripper
Note that the same process is repeated four times in the program,
differing only in the rotary table position and the final cylinder
position. Use the Cut & Paste tools to copy the segment and then
modify the necessary two lines.
2
Activities Book
0209
Remark: ******************************
ACT8
Remark: Recording Positions for Peripheral Devices
Remark: ******************************
Open Gripper
Remark: STARTING OF RED CYLINDER
Go to Position 11 fast
Remark: robot above rotary table
Go to Position 4 fast
Remark: rotary table in position
Go to Position 1 speed 5
Close Gripper
Go to Position 11 fast
8-7
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Activities Book
0209
Go to Position 42 fast
Go to Position 2 speed 5
Remark: cylinder in place
Open Gripper
Go to Position 42 fast
Remark: STARTING OF BLUE CYLINDER
Go to Position 11 fast
Remark: robot above rotary table
Go to Position 5 fast
Remark: rotary table in position
Go to Position 1 speed 5
Close Gripper
Go to Position 11 fast
Go to Position 42 fast
Go to Position 12 speed 5
Remark: cylinder in place
Open Gripper
Go to Position 42 fast
Remark: STARTING OF YELLOW CYLINDER
Go to Position 11 fast
Remark: robot above rotary table
Go to Position 6 fast
Remark: rotary table in position
Go to Position 1 speed 5
Close Gripper
Go to Position 11 fast
Go to Position 42 fast
Go to Position 22 speed 5
Remark: cylinder in place
Open Gripper
Go to Position 42 fast
Remark: STARTING OF GREEN CYLINDER
Go to Position 11 fast
Remark: robot above rotary table
Go to Position 3 fast
Remark: rotary table in position
Go to Position 1 speed 5
Close Gripper
Go to Position 11 fast
Go to Position 42 fast
Go to Position 32 speed 5
Remark: cylinder in place
Open Gripper
Go to Position 42 fast
8-8
Hint: You can record a single position for the robot and peripheral
equipment.
Save the file as USER8A.
Task 8-6: Shut Down
1
Exit RoboCell.
ACADEMICS
Industrial Applications
Off-line Programming and Robot Calibration - The Car Industry
The major users of robots have traditionally been the car companies whose
product is unique in that starts as a mass produced sheet of metal whose
complexity requires intensive and advanced automation techniques with a
short set-up time. In North America, the 'big three' car makers are
Chrysler, Ford, and General Motors. Based in Detroit and elsewhere in the
continent, these companies have spent the past five years investing heavily
in robot simulation and off-line programming. The urgency exerted by an
unexpected demand for the most popular models as well as a large upturn
in consumer spending on cars has created a pressure-cooker atmosphere in
Detroit. Here production lines are designed and built and running in weeks
or months and every off-line programming technique is examined closely
for potential improvements in set-up time or production rate.
Activities Book
0209
8-9
Activities Book
0209
8-10
One person is responsible for the simulation from start to finish (the
finish being when the production line is up and running smoothly and
there are no more changes);
The simulation goes down onto the shop floor with the off-line
program where last minute changes can be immediately introduced
into the simulation.
So with all these potential pitfalls and inaccuracies in robot simulation and
off-line programming, is it really worth attempting? If you want the
answer, come to Detroit. The car companies will not spend money on any
technology that doesn't produce savings that can be measured in dollars
and cents, and they see robot simulation and off-line programming as the
revolutionary technology that will enable them to build more cars, quicker
and at a lower cost than ever before.
http://www.rosl.com/offline2.html
Activities Book
0209
8-11
Activities Book
0209
8-12
Activity 9
SKILLS
In this activity you will develop the following skills:
Academic & Employability:
!
Document inventory and safety procedures for lab set-up and shutdown.
Monitor and analyze the operation of the system for quality control.
MATERIALS
In this activity you will need the following materials:
Computer with RoboCell software
Diskette or personal subdirectory on computer hard drive
Worksheets for Activity 9
Activities Book
0209
9-1
OVERVIEW
Encoders
In all the previous activities, you recorded the positions of the robot and its
peripheral accessories. Recording positions in RoboCell (and with many
industrial robots) is done using a device called an Encoder, as shown in
Figure 9-1.
Figure 9-1
Activities Book
0209
9-2
Encoder 1
Encoder 2
Encoder 3
Encoder 4
Encoder 5
1000
2000
3000
4000
2000
2000
2000
5000
2000
1000
2000
5000
If the robot is in position #1 and is ordered to move to position #2, then the
controller will activate the axis motors as follows:
The motor of axis 1 will be started in the + direction until 1000 pulses
The motor of axis 3 will be started in the - direction until 1000 pulses
The motor of axis 4 will be started in the + direction until 1000 pulses
Activities Book
0209
9-3
PROCEDURES
Task 9-1: Running RoboCell and Opening the 3D model File
1
Open the program and positions file USER8.WS. This is the program
and positions file you saved in Activity 8.
Open the 3D model file ACT8.3DC. This file contains the same 3D
model used in the previous activity.
Figure 9-2
Your positions may differ slightly from the figure above. Note the
following:
!
Activities Book
0209
9-4
Figure 9-3
!
You can also change the Positions screen to display the Joint positions
only by right clicking and selecting Show Joint.
After reviewing the different display options, deselect List Positions.
1
Activities Book
0209
Click repeatedly on the Run Single Line icon (F6) until the robot is
sent to position #42, just above the base (pink) cylinder (stop after
completing line #14).
9-5
Q What should the encoder value for the blue cylinder be to be located
Figure 9-4
Activities Book
0209
9-6
Observe the Manual Movement dialog box and note from the
following chart how clicking the buttons (or pressing the keys on the
keyboard) in Joint Mode (the default) controls the various axes.
Keys
Joint Motion
1/Q
Control axis 1.
3/E
Control axis 3.
4/R
Control axis 4.
5/T
Control axis 5.
6/ Y
Control axis 6.
8/I
Activities Book
0209
Record position #5 when the encoder value for axis 8 is -30,750 (with
a tolerance of error of 5 counts).
Record position #6 when the encoder value for axis 8 is -20,500 (with
a tolerance of error of 5 counts).
Run the program and zoom in on the growing tower to observe the
improved stacking accuracy.
9-7
Using the Go Position option, send the robot to position #11 and the
table to position #3.
Select Absolute.
Click Record.
Resetting the robotic cell first, record an absolute position #14 for the
robot and peripheral when the robot is in position #11 and the table is
in position #4.
Repeat step 3 above to record an absolute position #15 for the robot
and peripheral when the robot is in position #11 and the table is in
position #5.
Repeat again to record an absolute position #16 for the robot and the
peripheral when the robot is in position #11 and the table is in position #6.
Reprogram the robot by replacing each two lines that first send the robot
and then the table to their positions with a single command that will send
both to the newly recorded positions (#13, #14, #15 and #16).
Dont forget to change the Remark commands in the beginning of the
program.
Activities Book
0209
Remark: *****************************
Remark: ACT9
Remark: Recording Positions Using Encoder Values
Remark: *****************************
Open Gripper
Remark: STARTING OF RED CYLINDER
Go to Position 14 fast
Remark: robot above rotary table
Remark: rotary table in position
Go to Position 1 speed 5
9-8
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Activities Book
0209
Close Gripper
Go to Position 11 fast
Go to Position 42 fast
Go to Position 2 speed 5
Remark: cylinder in place
Open Gripper
Go to Position 42 fast
Remark: STARTING OF BLUE CYLINDER
Go to Position 15 fast
Remark: robot above rotary table
Remark: rotary table in position
Go to Position 1 speed 5
Close Gripper
Go to Position 11 fast
Go to Position 42 fast
Go to Position 12 speed 5
Remark: cylinder in place
Open Gripper
Go to Position 42 fast
Remark: STARTING OF YELLOW CYLINDER
Go to Position 16 fast
Remark: robot above rotary table
Remark: rotary table in position
Go to Position 1 speed 5
Close Gripper
Go to Position 11 fast
Go to Position 42 fast
Go to Position 22 speed 5
Remark: cylinder in place
Open Gripper
Go to Position 42 fast
Remark: STARTING OF GREEN CYLINDER
Go to Position 13 fast
Remark: robot above rotary table
Remark: rotary table in position
Go to Position 1 speed 5
Close Gripper
Go to Position 11 fast
Go to Position 42 fast
Go to Position 32 speed 5
Remark: cylinder in place
Open Gripper
Go to Position 42 fast
9-9
Q Compare the efficiency of the new program with the previous one.
Task 9-3. What will the encoder values be of the newly recorded
positions (#13, #14, #15 and #16)?
Figure 9-5
Activities Book
0209
Exit RoboCell.
9-10
ACADEMICS
in the myriad ways that a problem can be solved. This gives us ideas
and techniques that we can use to improve future robots.
Activities Book
0209
9-11
Find out about the many robot contests and competitions around the world
through the listing at: http://www.ncc.com/misc/rcfaq.html .
Activities Book
0209
9-12
Activity 10
SKILLS
In this activity you will develop the following skills:
Academic & Employability:
!
Document inventory and safety procedures for lab set-up and shutdown.
MATERIALS
In this activity you will need the following materials:
Computer with RoboCell software
Diskette or personal subdirectory on computer hard drive
Worksheets for Activity 10
Activities Book
0209
10-1
OVERVIEW
Figure 10-1
While the virtual robot always has a gripper attached to its end effector,
you will pretend in this activity that the robot has a welding tool attached.
The robot (whose base is shown in Figure 10-1) needs to move the TCP
along the edge of the two adjacent blocks to simulate a welding operation.
The two end positions, #1 and #2 (whose distance from the origin is
equal), were recorded and their encoder values are shown in Figure 10-2.
Figure 10-2
Note that in position #1 and position #2, encoders 2, 3, 4, and 5 have the
same values. The only difference between the two positions is in
encoder 1. When the robot is ordered to move from position #1 to #2, only
axis 1 moves and drives the manipulator until the encoder value will equal
Activities Book
0209
10-2
the value of position #2. Since axis 1 is a rotary axis (turning the robot
base), the robot TCP will move from position #1 to position #2 in a
circular path (as shown in Figure 10-3), and not along the straight line.
Figure 10-3
A simple way to ensure that the TCP path will be nearly linear is to record
another position (#3) along the path, as shown in Figure 10-4. You can
then send the robot from position #1 to #2 via position #3, guaranteeing an
almost linear path. The more intermediate positions recorded, the more
linear the robot trajectory.
Figure 10-4
Activities Book
0209
10-3
Linear Movement
The Teach Positions (Simple) dialog box and the Command List offer two
options for instructing the robot to move to a position:
Go Linear to Position: This command sends the robot to a recorded
The Teach Positions (Expanded) dialog box and the Command List also
offer a third movement Option, Go Circular, which will be discussed later
in this book.
To successfully weld, the TCP must move along a straight line at a
constant speed. You will compare the following four methods for
controlling the TCP trajectory:
Recording two end positions and then using the Go Position command.
Recording two end positions and then recording an intermediate one.
Recording an end position and then sending the robot to this position
this task.
PROCEDURES
Task 10-1: Running RoboCell and Opening the 3D model File
Activities Book
0209
Use the viewing tools to clearly view the blocks and the robot gripper
from a comfortable viewing angle.
10-4
Task 10-2: Recording Two End Positions and Running the Program
1
Write a program that will order the robot to move from position #1 to
position #2 fast.
Remark: ****************************
Remark: ACT10
Remark: Programming the Robot from Point 1 to Point 2
Remark: ****************************
Go to Position 1 fast
Go to Position 2 fast
By selecting the Show Robot Path option, the path of the TCP during
the cycle has been drawn on the screen. The TCP path is shown drawn
at a constant time interval. The distance between the cubes is
proportional to the TCP speed.
Q Describe the TCP path.
You may wish to use the Top View feature to best observe the TCP
path.
Q Describe the TCP speed during program execution.
11 Deselect 3D Image | Show Robot Path.
Activities Book
0209
Modify the program so that the robot will pass through position #3 on
its way from position #1 to position #2.
10-5
Remark: ****************************
Remark: ACT10
Remark: Programming the Robot from Point 1 to Point 2
Remark: ****************************
Go to Position 1 fast
Go to Position 3 fast
Go to Position 2 fast
Save the program and positions file ( to overwrite what you previously
saved).
You may wish to use the Top View feature to best observe the TCP
path.
Q Is the TCP path in this program closer to a straight line than in the
previous program?
Q Describe the TCP speed during program execution.
8
Record position #4 as relative to the current TCP position with a Yoffset of +50 mm.
Modify the program so that the robot is sent to position #4 five times
fast on its way from position #1 to position #2.
Note that you can use the Cut & Paste tools to aid in repetitious
programming.
Activities Book
0209
Remark: ****************************
Remark: ACT10
Remark: Programming the Robot to Execute Linear Movements
Remark: ****************************
Go to Position 1 fast
Go to Position 4 fast
Go to Position 4 fast
Go to Position 4 fast
Go to Position 4 fast
Go to Position 4 fast
Go to Position 2 fast
10-6
You may wish to use the Top View feature to best observe the TCP
path.
Q Is the TCP path closer to a straight line this time?
Q Describe the TCP speed during program execution.
9
Task 10-5: Using the Go Linear Command and Running the Program
You will now use the SCORBASE command Go Linear that will move
the TCP in a straight line from position #1 to position #2. To execute this
command, the controller calculates the coordinates of many positions
along the line, and then sends the robot to these intermediate positions
without stopping in the middle.
1
Cut the remaining lines of the program. You will replace them with the
more direct, Go Linear, command.
Activities Book
0209
Remark: ****************************
Remark: ACT10
Remark: Programming the Robot to Execute Linear Movements
Remark: ****************************
Go to Position 1 fast
Go Linear to position 2 fast
10-7
You may wish to use the Top View feature to best observe the TCP
path.
Q Describe the TCP speed during program execution.
9
program with the Encoder Counts dialog box open. Note that when the
TCP moves from position #2 to position #1, only the encoder values
for encoder 1 changed. When the TCP moves from position #1 to
position #2, however, all the encoder values changed.
Q How can you explain this?
Exit RoboCell.
ACADEMICS
Activities Book
0209
10-8
Activities Book
0209
10-9
Activities Book
0209
10-10
Activity 11
SKILLS
In this activity you will develop the following skills:
Academic & Employability:
!
Document inventory and safety procedures for lab set-up and shutdown.
MATERIALS
In this activity you will need the following materials:
Computer with RoboCell software
Diskette or personal subdirectory on computer hard drive
Worksheets for Activity 11
Activities Book
0209
11-1
OVERVIEW
Figure 11-1
To designate a specific arc, a third position along the arc (aside from the
endpoints) needs to be recorded. The robot can then be programmed to Go
Circular to the destination via that intermediate position. Note that the
TCP will not stop in the intermediate position.
Activities Book
0209
11-2
Figure 11-2
The letter B is composed of four lines and two arcs. As shown in the
figure, you must record eight positions in order to program the robot to
draw the letter.
In your program, position #1s coordinates will be (200,200). You will
record the remaining seven positions as relative to position #1 such that
changing its coordinates will cause the robot to draw the letter B.
PROCEDURES
Task 11-1: Running RoboCell and Opening the 3D model File
Activities Book
0209
Use the viewing tools to clearly observe the table from a comfortable
viewing angle.
11-3
Coordinates: (200,200,20)
Pitch = -90
Roll = 0
Record the other seven positions as relative to position #1, using the
coordinates shown in the following table.
Remember that with each new position, you must click Relative To in
order to reset the XYZ coordinates.
Position #
-40
-40
30
-20
50
30
20
50
40
30
40
Activities Book
0209
11-4
Remark: ****************************
Remark: ACT11
Remark: Programming the Robot to Execute Circular Movements
Remark: ****************************
Go to Position 1 fast
Go Linear to position 2 speed 5
Go Linear to position 3 speed 5
Go Circular to position 5 through 4 speed 5
Go Circular to position 7 through 6 speed 5
Go Linear to position 8 speed 5
Go Linear to position 1 speed 5
Go Linear to position 5 speed 5
Go to Position 9 fast
Repeatedly click the Run Single Line icon until the robot reaches
position #5 for the second time (line #12).
Note that the currently executed command is highlighted in the
Program window.
Using the viewing tools, observe what the robot has written.
Disable the Show Robot Path option. (Reselect the option to remove
the checkmark. Do not clear the robot path.)
This action is similar to the de-activation of an ink jet.
Run the last line in the program to return the robot to its initial position
(position #9).
Activities Book
0209
11-5
Exit RoboCell.
ACADEMICS
Industrial Applications
Robot Simulation and FMS: Non-Rigid Objects
The following information was excerpted from the homepage of the
Kaemart Group:
In order to improve the cost effectiveness of Flexible Manufacturing
System, powerful simulation tools are needed. Off-line programming of
robots has proved to be effective in reducing time and cost efforts in
manufacturing equipment reprogramming. The use of simulation packages
to study and evaluate automated handling systems is becoming more and
more important. The objective of this research is to provide the mechanical
engineer with a set of tools to design, predict and evaluate via graphic
simulation possible configurations also for non-rigid material handling
system.
At present, most simulation systems are capable of dealing only with rigid
objects. Therefore they are not able to model and simulate the behavior of
non-rigid materials during handling operations, e.g. pick and place of a
piece of cloth. Our idea is to extend current tools to obtain a software
environment to model and simulate systems, products, and all operations
involving non-rigid material. This system allows to assembly the working
environment and to plan robot task, with emphasis on the analysis of
interaction among kinematic devices and objects present in the
environment.
With a graphical interactive interface users can verify if the target points
are reachable, if the path passes through control points and if there are
possible interferences among the objects present in the simulation
environment.
http://ied.eng.unipr.it/KAEMART/AREAS/OFF_LINE_PROGRAMMING
/main.html
Activities Book
0209
11-6
Activity 12
SKILLS
In this activity you will develop the following skills:
Academic & Employability:
!
Document inventory and safety procedures for lab set-up and shutdown.
MATERIALS
In this activity you will need the following materials:
Computer with RoboCell software
Diskette or personal subdirectory on computer hard drive
Worksheets for Activity 12
Activities Book
0209
12-1
OVERVIEW
A discrete color sensor set for detecting red can sense whether the
Conditional Branching
In this activity, you will simulate a robot system (Figure 12-1) that contains a
robot, rotary table, chemical treatment tank and a sensor that can detect blue
objects (connected to input #1). Placed on the rotary table are red and blue
cylinders in random order. The virtual robots task is to pick only the blue
cylinders from the table, place them in the tank for two seconds, and then
place them back at their original position on the rotary table.
Figure 12-1
Activities Book
0209
12-2
The program flow needed to carry out this task differs from the flow of
previous programs. This is primarily because the robot is incapable of
predicting a cylinders color and therefore knowing whether or not it
should be picked and placed in the tank.
So far you have only worked with programs whose commands were
executed once and in a descending order. This type of program flow is
only appropriate, however, when all robot actions are easily predicted or
known in advance.
In this activity, you will write a program that can decide, according to
the data supplied by the sensor whether to order the robot take a cylinder
to the tank or leave it on the rotary table. In such a program, the commands
to be executed would differ depending on the color of the cylinder
detected. This type of program flow, in which several options are possible,
is called Conditional Branching.
If Input # On Jump Command
In this activity you will work with a new SCORBASE command used only
in conditional branching: If Input # On Jump (where # is replaced by an
input terminal number). When executed, the controller checks the input
terminal status. The status of the sensor connected to the designated input
determines whether the program flow should be directed to a subroutine or
to a label command.
The If Input #On Jump command is located in the Inputs & Outputs
section of the Command List. When selecting this command, the dialog
box shown in Figure 12-2 will appear.
Figure 12-2
Activities Book
0209
12-3
Subroutines
A subroutine can be used to repeat an action at different places in the
program. Instead of writing the same series of commands every time the
program requires this action, one subroutine which contains the necessary
commands can be written and called (activated) each time it is needed.
Subroutines therefore save programming time and storage (file) space.
Figure 12-3 shows a program containing eight commands. When the
program is executed, the commands are executed one after the other.
However, when the fifth line is executed, the subroutine is called and
program execution stops. The subroutine is then executed.
Figure 12-3
After executing the subroutine commands (lines 10, 11, 12), the last
command of the subroutine causes program execution to resume (from the
sixth line forward). The seventh command will have the same effect as the
fifth: program execution will pause and the subroutine commands will be
executed again. When the subroutine ends, program execution will resume
from the eighth line. Finally, when the program ends at line #9, the
subroutine will not be executed again, as it has not been called.
In this activity, you will write a program that includes a subroutine. The
program will rotate the table, then stop it when a cylinder faces the sensor
and the robot stands above the cylinder. If the sensor determines that the
cylinder is blue, the subroutine will be called. The subroutine will order
the robot to take the cylinder from the table, place it in the tank, wait two
seconds, pick the object from the tank and place it at its original position
on the rotary table. If the cylinder is red, the subroutine will not be called.
The next cylinder will be examined immediately after examining a red
cylinder or, in the case of a blue cylinder, after returning from the
subroutine.
Activities Book
0209
12-4
Subroutine Commands
A subroutine is created using the following SCORBASE commands:
Set Subroutine: the first command in every subroutine, always
the Program Flow section of the Command List. When selecting the
Call Subroutine command, the dialog box shown in Figure 12-4 will
appear.
Figure 12-4
One position at which the robot can pick the cylinder facing the sensor
(position #1) -- at this position, were the robots gripper to close, the
cylinder would be in it.
Activities Book
0209
12-5
PROCEDURES
Task 12-1: Running RoboCell and Opening the 3D model File
1
Figure 12-5
3
Use the viewing features to clearly observe the sensor and cylinder
facing it.
Activities Book
0209
12-6
You should see the red cylinders position label is 100, 350.
!
!
0209
Redirect the camera to the red cylinder facing the sensor and zoom
in closely.
Activities Book
Using the 7/U keys in the Manual Movement dialog box, rotate the
table counter-clockwise.
Notice that the coordinates of the cylinders change as the table
rotates.
Remember that you can select a slower speed to increase accuracy.
Click 7 until the coordinates of the next cylinder are approximately
(100, 350) -- meaning that the next cylinder now faces the sensor.
Then record this as absolute peripheral position #4.
12-7
Activities Book
0209
Remark: ************************************
Remark: ACT12
Remark: Programming with Subroutines
Remark: ************************************
Go to Position 3 fast
If Input 1 on call sub. PICK
Go to Position 4 fast
If Input 1 on call sub. PICK
Go to Position 5 fast
If Input 1 on call sub. PICK
Go to Position 6 fast
If Input 1 on call sub. PICK
Go to Position 7 fast
If Input 1 on call sub. PICK
Go to Position 8 fast
If Input 1 on call sub. PICK
Go to Position 9 fast
If Input 1 on call sub. PICK
Go to Position 10 fast
If Input 1 on call sub. PICK
Set Subroutine PICK
Open Gripper
Go to Position 11 fast
Go to Position 1 speed 5
Close Gripper
Go to Position 11 fast
Go to Position 12 fast
Go to Position 2 speed 5
WaiT 20 ( 10 ths of seconds )
Go to Position 2 speed 5
Go to Position 12 fast
Go to Position 11 fast
Go to Position 1 fast
Open Gripper
Go to Position 11 fast
Return from Subroutine
12-8
one used in this activity except that the sensor that detects blue was
replaced with a sensor that detects red.
Q Do the program and/or positions need to be modified in order to now
sort the red cylinders? If yes, then save the new program and positions
as file USER12A.
Task 12-6: Shut Down
1
Exit RoboCell.
ACADEMICS
Industrial Applications
Robot Simulation and Off-Line Programming
The following was taken from the home page of Tehdasmallit, a
Scandinavian robotics company:
Tehdasmallit uses IGRIP (Interactive Graphics Robot Instruction Program)
as a simulation and off-line programming tool. IGRIP is an interactive, 3D
graphic simulation tool for designing, evaluating, and off-line
programming robotic workcells.
Actual robotic/device geometry, motion attributes, kinematics, clamps,
fixtures, and I/O logic are incorporated to produce extremely accurate
simulations. The IGRIP provides an interactive 3D graphics based
environment, in which to verify production concepts, workcell designs and
manufacturing processes before implementing them on the shop floor.
After verification is completed, automated factory floor devices, such as
robots and turntables, can be programmed off-line based on the CAD data
for the part being processed.
Simulation and analysis functions include automatic collision and nearmiss detection, and automatic adjustment of a robot work envelope for
tool offsets and joint limits.
Off-line programming case can be divided as follows:
Creating 3D model of the robotic workcell
Activities Book
0209
12-9
Language (GSL)
line.
No unexpected collisions.
Easy program editing and modifying much faster program creation
http://www.tdm.fi/products/rosiolp.html
Activities Book
0209
12-10
Activity 13
jumps.
SKILLS
In this activity you will develop the following skills:
Academic & Employability:
!
Document inventory and safety procedures for lab set-up and shutdown.
Monitor and analyze the operation of the system for quality control.
MATERIALS
In this activity you will need the following materials:
Computer with RoboCell software
Worksheets for Activity 13
Activities Book
0209
13-1
OVERVIEW
Figure 13-1
First, the robot will place medical equipment needing sterilization onto a
conveyor. The conveyor will be started, transporting the equipment into a
machine responsible for sterilizing it. After being sterilized, the equipment is
moved out by the conveyor from the sterilizing machine. When it reaches a
sensor the conveyor is stopped, and the robot takes the sterilized object away.
Writing a program for this task, using the If Input command, may seem easy.
However, further examination shows that the synchronization of the program
flow with the conveyor speed may cause problems. For example, the
equipment could pass the sensor while another command (other than the If
Input command) is being executed. The equipment would therefore not be
detected by the sensor, and it would therefore continue on its path along the
conveyor until it falls off.
Activities Book
0209
13-2
Figure 13-2
It sets the condition for an input interrupt service. The service (Call Subroutine)
will be performed whenever the condition (input status) is satisfied, regardless of
the current program flow. This means that the system will continuously check the
sensor (input terminal) until a signal is received. Once the signal is received, the
program will abandon the command currently being executed and immediately
execute the command specified for this interrupt instead. The program will resume
from the point where it was interrupted as soon as the subroutine completes its
execution.
When working with the On Input Interrupt#_On command, you must also add
the following pair of commands to your program:
Disable Interrupt #_: This command causes the specified input interrupt
to become inactive.
These two commands open the dialog box shown in Figure 13-3.
Figure 13-3
In the Input Number field, you should enter an input number, variable or the
word ALL.
Activities Book
0209
13-3
PROCEDURES
Task 13-1: Running RoboCell, Opening the 3D model File and Recording
Positions
The program will require the recording of 8 positions.
1
Use the viewing tools to clearly view the cell from a comfortable viewing
angle.
Using the Send to Object option, record position #1 as near the green
cylinders initial position such that closing the gripper would grip the
cylinder in the center of the its jaws.
Hint: The easiest way to record the position would be to grip the cylinder
in the robots grippers and using the Send to Point option, place the
cylinder on the template.
12 Teach position #14 as relative to position #4 with a Z-offset of +50 mm.
13 Compare the XYZ positions you just recorded with those shown below.
Activities Book
0209
13-4
Figure 13-4
!
!
Activities Book
0209
Remark: ********************************
Remark: ACT13
Remark: More Programming with Conditional Branching
Remark: ********************************
On Input Interrupt 1 on call sub. STOP
Open Gripper
Go to Position 11 fast
Go to Position 1 speed 5
Close Gripper
Go to Position 11 fast
Go to Position 12 fast
Go to Position 2 speed 5
Open Gripper
Go to Position 12 fast
Start Conveyor axis 7 at speed 3 in Plus direction
Go Linear to position 13 fast
WaiT 300 ( 10 ths of seconds )
Set Subroutine STOP
13-5
19
20
21
22
23
24
25
26
27
28
29
30
it again.
Q Print the program (or copy it) and then draw lines that describe the
program flow.
Q Describe the robot response.
Q Give reasons for the robot response.
Q Describe the task of the Disable input Interrupt 1 command.
Activities Book
0209
Exit RoboCell.
13-6
ACADEMICS
QUALIFICATIONS:
Minimum of 2 years electronic assembly, testing, and troubleshooting
Activities Book
0209
13-7
Proficiency in soldering.
Prefer PC skills.
FOR MORE INFORMATION ABOUT SRS: Visit us on the World Wide Web at
http://www.schilling.com .
http://www.schilling.com/jobs/eatt.html
Activities Book
0209
13-8
Activity 14
Subroutine.
SKILLS
In this activity you will develop the following skills:
Academic & Employability:
!
Document inventory and safety procedures for lab set-up and shutdown.
MATERIALS
In this activity you will need the following materials:
Computer with RoboCell software
Diskette or personal subdirectory on computer hard drive
Worksheets for Activity 14
Activities Book
0209
14-1
OVERVIEW
Review of Subroutines
In Activity 12, you used a subroutine to control the robot actions. The
relationship between a program and its subroutine is shown in Figure 14-1.
Figure 14-1
Program execution starts from the first line of the program (the first
command). During program execution, commands are executed one after
the other in the order in which they appear. When the Call Subroutine
command is executed, the main program execution is halted and the
commands of the subroutine are then executed one after the other. At the
end of the subroutine, the Return command returns execution back to the
line following the Call command in the main program.
One of the great advantages of using a subroutine is that you can order the
robot to repeatedly perform the same set of commands without repetitious
programming. In the above example, the main program flow is
unidirectional (starting from the beginning of the program to its end).
Activities Book
0209
14-2
The conveyor was started, moving the object into the sterilizing
machine.
When the sterilization process was finished, the conveyor moved the
object out of the sterilizing machine. The object was then detected by a
sensor.
Following detection, the conveyor was stopped and the robot picked
the object and placed it on a template.
In the program from the previous activity, when the robot reached position
#13, the program execution paused until the sensor detected the object.
Upon detection, the program performed the subroutine. However, if the
object was not detected by the sensor, the program was terminated after a
30 second pause.
To prevent the termination of the program (if the object was not detected),
you will modify the program from Activity 13 by adding another
subroutine. Adding another subroutine is not without its problems,
however. After executing the subroutine commands, the program will
return to the Wait command and pause program execution for another 30
seconds. Reexecuting the Wait command is unnecessary and program
execution should terminate after the object has been placed on the
template.
To solve this problem, you will use a flag variable named STOP_LOOP.
When the robot reaches position #13, the program will set the value of this
variable to zero (flag is down) and wait three seconds (using the Wait
command). If after three seconds the value of STOP_LOOP is still zero,
the program will wait another three seconds and then recheck the value of
STOP_LOOP. This procedure will continue in an endless loop while the
value of STOP_LOOP is zero. In the case of an interrupt, the subroutine
will be called and it will set the value of STOP_LOOP to one.
Activities Book
0209
14-3
Figure 14-2
Figure 14-3
Activities Book
0209
14-4
PROCEDURES
Task 14-1: Running RoboCell, Opening the 3D model File and Loading
the Positions and Program
This activity requires the same positions recorded in Activity 13, and much
of the program is similar, as well. To avoid the tedious rerecording of the
positions, you can simply load the file saved at the end of Activity 13
(containing the program and positions) and save it under a new name. Then
use the cut and paste tools to make the necessary changes in the program.
1
Open the program and positions file USER13, which you saved in the
previous activity.
The program you will write is almost the same as in the previous
activity:
!
Enable interrupt.
!
!
When the interrupt is executed, call a subroutine that will stop the
conveyor.
Immediately return to the main program.
Pick the object from its position on the conveyor where it faces the
sensor.
Place it on the template.
When you finish (or give up), compare your program with the
following:
1
2
3
4
5
6
7
8
9
10
11
12
Activities Book
0209
Remark: *************************************
Remark: ACT14
Remark: Advanced Use of Subroutines
Remark: *************************************
On Input Interrupt 1 on call sub. STOP
Open Gripper
Go to Position 11 fast
Go to Position 1 speed 5
Close Gripper
Go to Position 11 fast
Go to Position 12 fast
Go to Position 2 speed 5
14-5
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Open Gripper
Go to Position 12 fast
Start Conveyor axis 7 at speed 3 in Plus direction
Go Linear to position 13 fast
Set Variable STOP_LOOP = 0
WAIT:
WaiT 30 ( 10 ths of seconds )
IF STOP_LOOP==1 jump to CONTINUE
Jump to WAIT
CONTINUE:
Disable input Interrupt 1
Go to Position 3 speed 5
Close Gripper
Go to Position 13 fast
Go to Position 14 fast
Go to Position 4 speed 5
Open Gripper
Go to Position 14 fast
Enable input Interrupt 1
Set Subroutine STOP
Disable input Interrupt 1
STop conveyor axis 7
Set Variable STOP_LOOP = 1
Enable input Interrupt 1
Return from Subroutine
Set the speed of the robot movement to position #13 to slow (speed 1).
Activities Book
0209
Exit RoboCell.
14-6
Activity 15
Conclusion
OBJECTIVES
In this activity you will accomplish the following:
Measure your knowledge of robotics.
Design, program and simulate a robotic application.
SKILLS
In this activity you will develop the following skills:
Academic & Employability:
!
Document inventory and safety procedures for lab set-up and shutdown.
MATERIALS
In this activity you will need the following materials:
Computer with RoboCell software
Diskette or personal subdirectory on computer hard drive
Post-Test and Post-Test Answer Sheet
Worksheets for Activity 15
Activities Book
0209
15-1
OVERVIEW
Post-Test
This activity concludes the Robotics and Materials Handling 2 tekLINK.
The test you will now take will measure your knowledge and skills in the
field of robotics.
Take the Post-Test according to your teachers instructions. Allow 30
minutes for the test.
When you have finished the test, hand it in to your teacher.
Final Projects
The final projects in this activity are designed to demonstrate various
properties of 3-dimensional space. The first project will not be difficult but
the second and third will be more challenging. Do as many of the projects
as time allows.
PROCEDURES
Task 15-1: Final Projects
Do as many of the following projects as you can in the time that remains:
1
Load 3D model file ACT15B.3DC. This cell is similar to the first cell
except that the cylinders were replaced with cubes (height = 35 mm).
By using the Show Object Positions options, you can see the cubes are
placed exactly in the same positions where the cylinders were.
Program the robot to stack the cubes on the table at (220,0). Note that
the cubes contact area should overlap.
Hint: Modify the program you just wrote.
Save the program and positions in file USER15B.
Activities Book
0209
Load the 3D model file ACT15C.3DC. This cell is also similar to the
two previous cells except that the cylinders/cubes were replaced with
two prisms (height = 35 mm; length = 35 mm; width = 50 mm). The
prisms are placed exactly where the cylinders/cubes were.
15-2
Program the robot to stack the prisms on the table at (220,0). Note that
the prisms contact area should overlap.
Hint: Modify the program that you just wrote.
Save the program and positions in file USER15C.
Task 15-2: Shut Down
Activities Book
0209
Exit RoboCell.
15-3