# FAKULTI KEJURUTERAAN PEMBUATAN

AI and Robotics

Nov 14, 2013 (4 years and 7 months ago)

97 views

UNIVERSITI TEKNIKAL
MALAYSIA MELAKA

FAKULTI KEJURUTERAAN
PEMBUATAN

No Dokumen :

DMF3463

-

A
-

01

Tarikh Pelaksanaan :

Subjek :

Robotic and Automation

Tarikh Perubahan :

Bil. Perubahan : 0

OFF
-
LINE ROBOT PROGRAMMING

USING WORKSPACE

Laboratory Name

:

Robotic Laboratory

Course Code

:

DMF3463

Subject
Title

:

Robot
ic and Automation

Introduction

To accurately define a point in space requires six independent val
ues. These values are
usually expressed as three position values (x, y, and z) and three orientation values
(roll, pitch, and yaw).

Because of this, most industrial robots have six independent joints. This gives the robot
six degrees of freedom, which al
lows the robot to reach most of the positions and
orientations within its envelope.

If a robot cannot reach a point, it is because one of its joints has hit a Joint Limit. Each
joint has a physical limitation to the amount it can move.

ize a point's six parameters, Workspace graphically represents each
point as a set of co
-
ordinate axes.

Workspace performs an automatic reach check for each point associated with a robot.
The points the robot can reach are green; the ones it cannot reach
are red.

Each robot has associated with it two co
-
ordinate frames: the Base Frame, and the Tool
Frame. The Base Frame is the point of origin from which all other points' positions and
orientations are
measured.

The Tool Frame is used to determine the cor
rect position and orientation of the tool. A
robot achieves the correct position and orientation by positioning the origin of its Tool
Frame at the origin of a target point's co
-
ordinate frame and aligning the axes of its
Tool Frame with the corresponding
axes of a point's co
-
ordinate frame.

The robot's inverse kinematics are used to determine what joint angles are required to
place the Tool Frame in the correct position and orientation. Sometimes there is more
than one set of joint angles that can be used

by the robot to achieve a given position
and orientation. Each set of joint angles is said to have a different Configuration. The
Configuration, along with the position and orientation, can then be used to define the
point.

UNIVERSITI TEKNIKAL
MALAYSIA MELAKA

FAKULTI KEJURUTERAAN
PEMBUATAN

No Dokumen :

DMF3463

-

A
-

01

Tarikh Pelaksanaan :

Subjek :

Robotic and Automation

Tarikh Perubahan :

Bil. Perubahan : 0

For some points there are an i
nfinite number of solutions for the set of joint angles that
can be used. This occurs when two of the robot's joints are in alignment. This is called
a Singularity.

There are three Motion Types allowed by Workspace and by most industrial robot
controllers
: Linear Moves, Circular Moves, and Joint Coordinated Motion.

When a robot executes a Linear Move, it moves in a straight line from one point to
another. When a robot executes a Circular Move, it moves along an arc from the start
point, through via point,

to an end point. When a robot executes Joint Coordinated
Motion, it moves from one point to another by the simplest path determined by the
motion control software.

It is possible to achieve a Joint Limit when executing a Linear or Circular Move even if
a
ll of the points along the path are reachable. This is not possible with Joint
Coordinated Motion. This is because it is impossible to change Configuration while
executing a Linear or Circular Move without going through a Singularity, but it is
possible wi
th Joint Coordinated Motion.

It is nearly impossible to predict the path of the Tool Frame while using Joint
Coordinated Motion.

UNIVERSITI TEKNIKAL
MALAYSIA MELAKA

FAKULTI KEJURUTERAAN
PEMBUATAN

No Dokumen :

DMF3463

-

A
-

01

Tarikh Pelaksanaan :

Subjek :

Robotic and Automation

Tarikh Perubahan :

Bil. Perubahan : 0

:

ROBOT MECHANISMS

INTRODUCTION:

Mechanisms are simple robots. They do not have Inverse Kinematics.
Workspace a
llows
the user to create mechanisms with up to thirty
-
two independent joints, and a limitless
number of dependant joints.

The joints are controlled by functions, which can be edited using the VBA editor.

AIM:

To familiarize the students with the proced
ure for creating and editing mechanisms.

LIST OF EQUIPMENT:

NO

DESCRIPTION

QTY

1

Workstation / Desktop Computer with Graphic Card

1

2

Workspace software

1

GUIDE PROCEDURE:

1. Open a new project.

2. Create a box located at 0,0,375 with dimensions of
300,300,750 and name it Turntable.

3. Create a cylinder located at 0,0,770 with dimensions of 40,500 and name it Tabletop

4. Create a box located at 0,0,850 with dimensions of25,1000,150 and name it Divider.

5. Attach Divider to Tabletop.

6. Save this proj
ect as AuxAxis.wsp to be used in a later section.

7. Select the Turntable and select Create
\

Mechanism.

8. When you are prompted for the number of Auxiliary Joint Variables, enter 1.
Result: A
mechanism named Turntable has been created. You can see it lis
ted under Mechanisms on the
Simulation page of the Project View.

9. Select View
\

Pendant.

Result: A pendant opens with one joint position.
Note: Changing this joint value doesn't do
anything. This is because you haven't defined a joint yet. If you do cha
nge the joint value, be
sure to set it back to zero before you close the pendant.

10. Clear selection and then select Create
\

Joint.

11. For the parent select Turntable, and for the child select Tabletop.

Result: A joint has been created between the Turnt
able and the Tabletop. The joint is
displayed by the black arrow encircling the turntable. And the Edit Joints dialog box is
opened.

UNIVERSITI TEKNIKAL
MALAYSIA MELAKA

FAKULTI KEJURUTERAAN
PEMBUATAN

No Dokumen :

DMF3463

-

A
-

01

Tarikh Pelaksanaan :

Subjek :

Robotic and Automation

Tarikh Perubahan :

Bil. Perubahan : 0

Note:

Name
: The Parent's name + The Child's name by default (TurntableTabletop) but you can
change this to whatever you w
ant.

Type of Joint
: Rotational by default but you can also set it to Transnational.

Parent
: The parent object in the joint. You can change this to any other object in the project.

Child
: The child object in the joint. You can change this to any other objec
t in the project.

Swap
: Swaps the Parent and Child objects of the joint.

Position
: The position and orientation of the joint relative to the World coordinate system. By
default this is placed at the Parent objects coordinate frame.

Visible
: Determines whet
her or not the axis of the joint and the black arrow are visible.

Value
: The current value on the pendant.

Robot
: The name of the robot or mechanism that this joint is located on.

Function
: The name of the VBA function that controls this joint.

Joint Minim
um and Maximum
: The joint limits. These are set at 150 by default, but can be
changed to any value.

Monitor Limits
: Determines whether or not Workspace monitors this joint to see if it exceeds
its limits.

Delete Joint
: Deletes this joint.

All Joints
: Opens

the All Joints dialogue box, which allows you to set all the joints as Visible
or not and whether or not to monitor all limits.

12. Close the Edit Joints dialog by selecting OK.

13. Open the pendant and change the value for Joint 1.

Result: The Tabletop
rotates.

14. Press Home.

Result: The joint returns to a value of 0, and the Tabletop rotates back to its original
position.

15. To edit joint, select Robot
\

Edit Joints.

Result: The Edit Joints dialogue box is opened.

16. Select Options
\

Visual Basic.

Re
sult: The Visual Basic editor is now opened.

17. Double click on JointExpr_Turntable in the Project View found in the Modules folder.

Result: The code module that contains the Joint Expressions for the Turntable mechanism is
opened.

Note: There is only one

joint so there is only one function. The function sets the joint

(Joint_TurntableTabletop) equal to the value(l) on the pendant (RRobot.Axispos(l)).

18. Type in a 2 * before RRobot.

Note: This sets the joint equal to 2x the value(l) on the pendant.

UNIVERSITI TEKNIKAL
MALAYSIA MELAKA

FAKULTI KEJURUTERAAN
PEMBUATAN

No Dokumen :

DMF3463

-

A
-

01

Tarikh Pelaksanaan :

Subjek :

Robotic and Automation

Tarikh Perubahan :

Bil. Perubahan : 0

19. Close the Visual Basic editor.

20. Change the value on the pendant.

Result: The Tabletop rotates an angle twice as large as the value on the pendant.

Note: Any type of mathematical function can be used in the joint expressions. Also, several
pendant
values can be used in a single joint expression. for example:

Joint_ObjOObjl = RRobot.Axispos(l) * RRobot.Axispos(2)

21. Select Robot
\

Joint Speeds.

Result: The Joint Speeds Dialog box opens. This is where you can enter the maximum
Velocity and Accelerati
on for any joints you create. You can also choose whether or not to
monitor these limits.

22. Close the Dialog box.

Create a Clock with a cylindrical clock face, an Hour Hand and a Minute Hand. The pendant
should have one value that controls b
oth the minute hand and the hour hand. When the pendant
shows 30 the clock should read 12:30. When the pendant shows 120 the clock should read 2:00.
Save your work under the name

UNIVERSITI TEKNIKAL
MALAYSIA MELAKA

FAKULTI KEJURUTERAAN
PEMBUATAN

No Dokumen :

DMF3463

-

A
-

01

Tarikh Pelaksanaan :

Subjek :

Robotic and Automation

Tarikh Perubahan :

Bil. Perubahan : 0

:

MOVING A ROBOT

INTRODUCTION

There are thre
e main ways to move a robot model using Workspace: with the Pendant,
the Follow Mouse command, or moving to GPs.

With the Pendant you can move the robot by changing the value of one joint at a time, or
you can move the robot by changing the Cartesian value
s of the Tool Frame.

With the Follow Mouse command the robot moves to the location of a mouse click in the
Main View Port, but its orientation does not change.

GP stands for Geometry Point, and is Workspace's equivalent to a Teachpoint. There are
several w
ays to create GPs and they will be covered in a later section.

OBJECTIVE
:

To familiarize the students with all the different methods for moving a robot in Workspace.

EXAMPLE PROCEDURE

I. Open the IRB6400_24. wsp.

2. Select View
\

Pendant

3. Change the

Values on the pendant labeled 1
-
6.

Result: As you change the value the corresponding joint moves. If you try to change a value
beyond the limit of that joint a warning error appears on the bottom of the pendant in the
Message section.

Note: The values for

x, y, z, a, b, and c change as you change the values of the joints. Those
values give the current position of the Tool Frame with respect to the robot's Base Frame.

4. Click your mouse where the value appears for one of the joints.

Result: A dialogue box

appears which allows you to enter in a new value for that joint.

5. Press Home.

Result: The robot returns to its Home position. By default this is set to Joint Zero.

6. Change the Cartesian values on the pendant.

Result: The robot coordinates the motion
of its joints so as to move in the direction defined
by the value you change.

7. Select Robot
\

8. Click your mouse in the Main View Port in front of the Robot.

Result: The robot moves to the position of the mouse click if it is within reach,
otherwise a
warning is given in the message section of the pendant.

UNIVERSITI TEKNIKAL
MALAYSIA MELAKA

FAKULTI KEJURUTERAAN
PEMBUATAN

No Dokumen :

DMF3463

-

A
-

01

Tarikh Pelaksanaan :

Subjek :

Robotic and Automation

Tarikh Perubahan :

Bil. Perubahan : 0

9. Press Learn GP on the pendant. Select No Path and press Ok.

Result: A GP is created. The GP is displayed as a set of Axes in the Main View Port and is

listed in the GP folder of t
he robot as well.

10. Press Home and close the pendant.

11. Right click on the name of the GP in the Project view and select Move To.

Result: The robot returns to the GP.