Robot Studio Guide Tool Design

User Manual: Pdf

Open the PDF directly: View PDF PDF.
Page Count: 52

DownloadRobot Studio Guide Tool Design
Open PDF In BrowserView PDF
Guide for ABB RobotStudio
This guide explains step-by-step the process of creating a tool in RobotStudio

by
Michael Natapon Hansson
Department of Mechanical and Manufacturing Engineering, Aalborg University
January 2015

1

Content
Creating a Tool .................................................................................................................................................. 3
Creating a CAD Model ................................................................................................................................... 3
Importing the models in RobotStudio ........................................................................................................... 4
Altering the reference frame of your geometries ......................................................................................... 5
Creating a tool mechanism of your tool geometries ................................................................................... 16
Creating a Smart Component .......................................................................................................................... 25
Creating Virtual Controller I/O’s to control gripper ........................................................................................ 49

2

Creating a Tool
Before any tools can be created, you will need a geometry, a CAD file (*.SAT) or a library (*.rslib), to act as
the virtual representation of the physical tool. Since there exist many different types of tools that can be
used in robot assignments, this guide will show the basic steps of creating a tool in RobotStudio. The outset
of this guide is to create a parallel gripper from a CAD file, but the steps explained in this guide can also be
used to create other types of grippers (e.g. vacuum gribbers).

Creating a CAD Model
Create your model of the gripper in a CAD modelling software (e.g. SolidWorks).

Example of gripper

Since we are going to make a “mechanisme” in RobotStudio, we need to save all the moveable parts (the
jaws) in separate files. REMEMBER to save the files in the *.SAT format, otherwise there may be problems
importing the models in RobotStudio.

body.sat

fingerA.sat

fingerb.sat

3

Importing Models in RobotStudio
When you have made the necessary files to represent your gripper, we need to import them to
RobotStudio. A good advice is to create a new station, dedicated entirely to make your tool.

Next, click on the dropdown of the “Import Geometry” button. Find all the .SAT files that you have created
to represent your tool and import them to RobotStudio.

4

Your scene should look something like this.

Altering the reference frame of your geometries
Depending on how you have modelled your tool in the CAD modelling software (the reference frame you
are using), your geometries may not have the desired position and orientation, when you attach it to the
robot. A fast way to check is to import a robot and attach the “body” part of your gripper to the robot.

5

In this example, the geometries of the gripper is not modelled in a way that gives a correct attachment to
the robot.

Detach the gripper from the robot, and take a closer look on the robots tool attachment point. When
attaching a tool to the robot, the gripper will be attached to the robot according to this frame.

6

Next, take a look at the frame of your gripper.

The reason that the gripper was not correctly attached to the robot is that the frame of the gripper and the
frame of the attachment point of the robot DO NOT MATCH. So now there is two options, either you can
correct the frame of the gripper trough the CAD modelling software, or you can do it through RobotStudio.
For this example, we are going to do it through RobotStudio.
If you look back on the image where the gripper was attach to the robot, you will see that we have to alter
the grippers frame, so that the jaws/fingers are pointing up along the z-axis. Additionally, it would also be
nice if the “SCHUNK” logo were pointing away from the robot, so that it is visible.
Looking at the image above, we will have to make the jaws point upwards in the z-direction by rotating the
gripper around the x-axis. Start by marking all of the geometries of the gripper, right click on the mouse and
select “Rotate” under “Position”.

7

In the “Rotate” window, select the “Local” reference, and rotate 90 degrees around the x-axis.

8

Your gripper should now look like this.

To make the “SCHUNK” logo visible when attach to the robot, rotate the gripper 180 degrees around the yaxis.

9

Now we have rotated the gripper so that it has the desired configuration, and should look like this.

But as you can see on the image above, we have actually not changed the reference frame of the gripper,
since we wanted the yaws to point towards the z-axis. The reason why we have done the rotation of the
gripper in this matter is that it becomes much easier to actually change the frame of the gripper, now that
we have the correct configuration according to the world coordinate.
To change the frame of the gripper, start by marking the “body” geometry of the gripper, and click on “Set
Local Origin” under “Modify”.

10

If you select the “World” reference, you will see that the frame of the gripper is oriented with 90 degrees in
the x- and 180 degrees in the z-axis.

Just change these values to zero and apply.

You can now see that the frame of the gripper has been altered and that the jaws are pointing upwards in
the z-axis. Now do the exact same procedure for the rest of the gripper’s geometries.

11

If we mark all of the grippers geometries and attach them to the robot, we will now see that the gripper is
correctly attach to the robot (or at least how we want it to be attached).

Next, detach all the geometries of the gripper from the robot, and delete your robot, so only the tool is
represented in your station.

The last thing to do is to close the jaws of the gripper. The reason for this is that it will make life so much
easier when we are going to make the jaws move later on. The first thing we have to do is to get an
indication of how far we are going to move the jaws towards the center. Click on the “Snap Center” and
“Point to Point” buttons, and measure the distance from the center of the gripper towards the closest part
of a jaw. We can see that the distance that we have to move the jaw is 53.5 mm in the y-direction.

12

Mark one of the geometries for the tools jaw and click “Set Position” under “Position”.

13

Move the position of the jaw so that it reaches the center.

However, we still want the reference frame of the jaw to be in the center of the gripper. Right now we have
just shifted the jaw geometry, as seen in the image below.

14

Go to “Set Local Origin”

And change the value to zero

The reference frame will then move back to the centre of the gripper. Do the exact same procedure for the
other jaw.

15

You will now have a representation of your tool that looks like this.

Creating a tool mechanism of your tool geometries
Right now, your tool is actually nothing but a graphical representation. Therefore, the next step is to create
a tool mechanism of the tool geometries. Click on the “Modelling” tap in the top of your screen, mark all of
your tool geometries, and click “Create Mechanism”.

16

Type what you want the tool to be called and select that you want to create a tool mechanism.

Right click on “Links” and select “Add Link”

17

Type what you want the link to be named, select the body part, set it as Baselink, press the arrow, and
press apply.

Continue to do the same for the jaws. You will see that you cannot set them as Baselink, but then again,
you are not supposed to.

18

Your links should now be defined, and it should look like this.

Next, right click “Joints” and select “Add Joint”

19

Type what you want to call the joint, select “Prismatic”, since we want to create a parallel gripper. Type
“-1” in “Joint Axis”, this will indicate in which direction we want to move the jaw. We are typing “-1”
because we want positive values when we are going in a “positive” y-direction. Set the joint limits to “0”,
and “53.5”, and press “Apply”.

Do the same thing for the other jaw, BUT REMEMBER to select your baselink as “Parent Link”

20

Your joints should now be defined, and it should look like this.

The last thing to do is to define the “Tooldata”, which essentially is your tool frame, otherwise known as
the TCP (Tool center point). Where to define your TCP is entirely up to you, but in this example we are
going to define it at the tool tip. So first, we measure the distance from the gripper frame to the tool tip.
We can see that the tip is allocated “234.82” mm in the z-direction.

21

Right click on “Tooldata” and select “Add Tooldata”.

Type the name you want, select that it belongs to the BaseLink (we don’t want our tool point to move
whenever the jaws are moving), Insert “234.82” in the z-direction, and now you will actually be able to see
were its going to create the tool point. The more information you have of your tool, the more “real” will the
simulation be. In this case, we just type in some numbers (you decide).

22

Your Tooldata should now be defined, and it should look like this.

Click “Compile Mechanism”, and afterwards click close.

23

You have now created tool mechanism, feel free to play with it.

24

Creating a Smart Component
So now we have successfully created a tool mechanism, but the gripper is at the moment actually not able
to grasp objects. To accomplish this we have to create some logic..some SMART logic. In RobotStudio smart
components are used to add sensors, logic and actions to, among others, mechanism.
Go to “Modelling” and click “Smart Component”

Drag your tool mechanism to the created smart component

The smart component will then look like this

25

Right click on the component and set it as “Role”. More or less to say that this is our primary component.

Next jog the jaws, so that the gripper is wide open.

26

The reason for opening the gripper is that we want to create sensors to detect if there are any objects
touching the jaws. To do this, we want an indication of how big the sensors should be, and is much easier
when the jaws are accessible to measure. If you already know the dimensions of your jaws, you of coarse
do not need to measure them, but opening the gripper will still be a good thing for some of the later steps.
Measure the width and height of your jaws. In this case, the width is 30 mm and the height is 99 mm.

27

Next, measure the distance from the bottom of the gripper to the surface where the jaws can move. In this
case, 135.82 mm in the z-direction.

Go back to the smart component view, click “Add component” and select “PlaneSensor”. A sensor plane is
basically a sensor that can be used to detect objects.

This will create a plane sensor component. Here the sensor has been renamed to “PlaneSensorFingerA”,
since we are going to make two of them (one for each jaw).

28

Right click on “PlaneSensorFingerA” in the layout and select “Properties”

29

Type in the values that you measured and press apply. The reason for the “-15” in the x-direction is because
the frame of the sensor plane has its origin in (0,0,0). We measured a width of 30 mm, and want an evenly
distributed sensor at the jaw.

This will create a sensor plane that looks something like this.

30

Next, we will create a sensor plane for the other jaw, but since the jaws are identical we can just create a
copy of “PlaneSensorFingerA”, paste it in to “SmartComponent_1”, and rename it to “PlaneSensorFingerB”.

31

Now your smart component should look like this.

Next, we will add a component called “JointMover”, to actually be able to move the jaws.

32

Rename it to “JointMoverClose”, and your smart component should look like this.

Right click on “JointMoverClose” and select properties.

33

Select the “SCHUNK_WSG_GRIPPER” as the mechanism, specify how long you want it take to for the
gripper to close (it can be any number you want), and press apply. J1 and J2 are both set to zero, since
these are the joint configuration to close the gripper.

Create another “JointMover” component, and rename this to “JointMoverOpen” and type in these values.

34

Now your smart component should look like this.

Since our sensor planes are going to be added to the surface of each jaw, they will actually trigger as they
have detected an object, because they will have contact with the jaws. There are two ways of handling this:
one way is to move the sensor planes so that they will have an offset relative to the jaws, the other way is
to disable the jaws to be recognised by sensors. We are going to choose the second approach, well knowing
that this would mean that the jaws are not recognised by any sensor that will be placed in the cell. This
could be a disadvantage if for example you have some safety sensors that are to detect if the robot (+ tool)
is crossing a specific boundary.
You disable sensor recognition of the jaws like this.

35

Next we will create some I/O signals for our smart component, so that we can actually command the
gripper to grasp an object, and tell us if it has grasped an object. Go to “Signals and Connections” in the
smart component view and click “Add I/O signals”.

Create a digital input that we will use to command the gripper to open and close, and name it “diGribber”
(or whatever name you want).

36

Then create two digital output; “ doGripperObjectGrasped” that we will use to validate if the gripper has
grasped an object, and “doGripperExecuted” that we will use as feedback if a gripper action has
been executed.

It should now look like this.

Next, we will create a “Not” logic gate.

37

38

Next, we are going to “wire” the logic together to achieve that the sensor planes will always be active. Go
to “Design” in the smart component view and drag the signals to acquire this configuration.

Create another logic gate, this time an “AND” gate. Configure it like this.

This way we will create a signal that will give an indication whether or not both sensors have detected an
object. The output of the gate will be used to determine when we will “grasp” an object, and to determine
if the gripper should continue moving the jaws.

39

Next, we want to create the logic for closing the gripper.

What we have done is:
If diGripper is “1”, we will start to close the gripper, but only as long as the two sensor planes do not detect
any object, i.e. that the jaws are not grasping an object. In other words, we have made some logic that
actually functions as a force feedback feature for the gripper. Furthermore, if both sensor planes detect an
object, it means that we have contact with and object, and therefore can give a feedback that we have
“grasped” an object.

40

Next, we want to create the logic for opening the gripper. Since we already have the necessary
components, we just have to link them together like this.

So if diGripper is “0”, we start to open the gripper.
Next, we have to make the sensor planes move together with the jaws, so they are not located in a fixed
position. The first step to do that is to continuously monitor the jaws position whenever they are moving.
Add a “JointSensor” component like this.

41

Right click and select properties

Choose the “SCHUNK_WSG_GRIPPER, and will show the current joint values (positions of the jaws).

42

Create a new “OR” logic gate, and configure the joint sensor like this.

Next, we want to use the values from the joint sensor to update the position of the sensor planes. We will
first concentrate on updating “PlaneSensorFingerA”. The first step is to add TWO “VectorConverter”
components.

43

Next, connect them like this (IMPORTANT: the connection between “VectorConverter” and
“PlaneSensorFingerA” should be done as the last step).

Now do the exact same thing with the “PlaneSensorFingerB”, create TWO MORE “VectorConverter”
components, and connect them like this.

44

So far we have created a lot of logic, all with the purpose of facilitating the step… making an object
graspable by the tool… and here it comes. Create an “Attacher” component like this.

45

And setup the logic like this

Next, create a “Detacher” component

46

And set it up like this

The last step to do is to make the logic for indicating that a grasp action has finished. Create two new “OR”
logic gates and set it up like this.

47

We are now finally done with our smart component, remember to save it in its own station file. In general,
if you want to make your created tools available as a library component (so it can be used in other
solutions) just right click on the component save it as library.

If you have saved it in the path where RobotStudio has specified the location of a user library (normally
something like “C:\Users\{name of user}\Documents\RobotStudio\Libraries”), then it should appear like
this.

48

Creating Virtual Controller I/O’s to control gripper
We are almost done with the creation of our tool in RobotStudio. The last thing we need to is to learn how
to setup I/O’s that will enable us to activate/deactivate the gripper directly from a robot program.
So create a new empty station, load a robot, load the gripper (smart component), create a new robot
system (adding a controller).
The first thing we need to do after we have added a controller is to create a new I/O in the virtual
controller, and is done by going to “Controller”, click on the dropdown of “Configuration Editor” and click
“Add Signals”.

Make a digital output to control the gripper.

A message will pop up, saying that you need to restart the controller.

49

Click “Restart”

Next go to “Simulation” and click “Station Logic”. Here we can configure all logic that we want to include in
our simulation model.

50

Go to “Signals and Connections” and click “Add I/O Connection”

Setup a connection between the digital output that we made in the virtual controller and to digital input of
the gripper.

51

You will now be able to control the gripper from your robot program, through the command “SetDO”.

fin …

52



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
Linearized                      : No
Page Count                      : 52
PDF Version                     : 1.4
Title                           : Microsoft Word - RobotStudio_Guide_Tool_Design.docx
Producer                        : Mac OS X 10.11.3 Quartz PDFContext
Creator                         : Word
Create Date                     : 2016:02:11 20:33:05Z
Modify Date                     : 2016:02:11 20:33:05Z
EXIF Metadata provided by EXIF.tools

Navigation menu