Sei sulla pagina 1di 42

R O B O T K I N E M A T I C S

Robot Kinematics 8

Create a new Robot


This chapter will introduce you about Robot Kinematics and
creating a new robot in EASY-ROB. EASY-ROB provides
the easy way for creating the new robot, and applying the new
kinematics for the Robot. Creating the new Robots in EASY-
ROB is based on the Standard Robot with RRR:RRR,
RRR:TTT Simple, RRR:RRR back link, Universal Coordinates
and Denavit-Hartenberg Notation. This means that with EASY-
ROB you can create almost any kind of industrial robots, as well
as NC Machines.

Creating the Robot in EASY-ROB is based on its kinematic


lengths not on the 3D geometric. Thus, the geometry for each
robot joint can be replaced or substituted any time and the
kinematic length can be changed to simulate a various number
of robots.

In the robot file the first lines explain the robot kinematics. The
next lines describe the information in the robot file.

1.) ROBOTFILE V3.0


2.) ! robotfln
3.) !:\Easyrob\MY_PROJ\IRB2400_M94A.rob
4.) ! robotname IRB2400
4.) !
5.) name IRB2400
6.) kin_id 3 RRR:RRR back link
7.) kin_type RRRRRR
8.) num_configs 8
9.) kin_dof 6

The first four lines give you some information of the robot file.
The first line is the word, which every robot file has to begin.

VIII-1
8 R O B O T K I N E M A T I C S

Keyword ROBOTFILE V3.0, that you are using the robot file
for version 3.0.
The lines 2,3 and 4 are commented lines which give the
information for the user not for EASY-ROB.

The line 5 contains information about the name of the Robot.


This keyword is important, because every information and
dialog box use this name to show the property of loaded robot.

The line 6 is kinematics identification (kin_id). Our sample has


kin_id 3, for back link RRR:RRR structure.

The next line is kinematics type. Kinematics type may be, as


mentioned, standard RRR:RRR, TTT:RRR simple, RRR:RRR
back link, Universal Coordinate, and Denavit-Hartenberg
Notation.

Line 8 contains information about number of robot


configurations. The number of configurations depends on the
individual kinematic type. The RRR:RRR type has always 8
different sets of solution angles for one TCP location.

Line 9 is kinematics degree of freedom (kin_dof). Kin_dof


depends as well of the kinematics type. The standard (Build In
structures) robots have 6 DOF. Universal Coordinates and
Denavit-Hartenberg’s Notation supports the kinematics chain up
to 12 DOF.

The picture bellow shows the mentioned robot file.

The picture shows the


loaded robot file.
Robot file contains
information about
robot kinematics and
geometric data.
For more information
about robot file see
the Chapter 3 “EASY-
ROB Files”

VIII-2
R O B O T K I N E M A T I C S

Build In 6 DOF Robot Kinematics


The robot-modeling feature ROBMOD allows it to modify and
create new robot kinematics. 5 different kinematics types are
available.

• RRR:RRR Standard robot type with 6 degrees of


freedom (DOF). All joints are revolute.
• RRR:RRR Back Link robot type where joint 2 and joint
3 are coubled by a so called Back Link.
• TTT:RRR Simple robot type with 3 translational joints
and 3 revolute joints. The solution for the inverse
kinematics problem for these three robot types is solved
analytical and completely parameterized by the robot
kinematic lenhgts.

The standard robot with 6 DOF is the most popular and


practical industrial robot. These robots are:

• ABB Robots
• KUKA Robots
• Stäubli Robots
• Fanuc Robots

The following pictures show the mentioned robots.

Fanuc Robot
M-16i

VIII-3
8 R O B O T K I N E M A T I C S

KUKA Robot
KR-Series
KR-150-1

Robot Type RRR:RRR - Standard


Creating a new robot in EASY-ROB™ can be done in several
ways. The picture bellow shows the submenu Create new
Robot.

The first three


options create the
standard industrial
robots with 6 DOF.

VIII-4
R O B O T K I N E M A T I C S

By choosing the RRR:RRR Standard type, dialog box appears.

Select one of
the 10 items and
modify the
current default
values.

The table bellow shows the meaning of all items in the dialog
box above.

Item Description
l1z [m] Length of the link 1 in the z direction.
l1x [m] Length of the link 1 in the x direction.
l1y [m] Length of the link 1 in the y direction.
l2z [m] Length of the link 2 in the z direction.
l2x [m] Length of the link 2 in the x direction.
l2y [m] Length of the link 2 in the y direction.
l3z [m] Length of the link 3 in the z direction.
l3x [m] Length of the link 3 in the x direction.
l3y [m] Length of the link 3 in the y direction.
l6z [m] Length of the link 6 in the z direction.

Note: All lengths are calculated with respect to the relative


appropriated joint coordinate system.

To enable the joint coorsys, select from the VIEW Menu


Coorsys-> Robot Coorsys or click on the Icon.

VIII-5
8 R O B O T K I N E M A T I C S

After specifying the length of appropriated links, you have to


decide for creation default bodies. If you want model your own
robot bodies choose the No button.

Message box for applying


the default robot bodies.

After specifying the "default/no default robot bodies" the


standard robot is created in the Render Scene. This procedure
is very simple.

Default bodies are grey


and yellow colored, the
robots platform is in brown
color.

Robot Type RRR:RRR with Back Link

While creating the robot with RRR:RRR Back Link, the joints 2
and 3 are coupled. The picture bellow shows the links of the
robot with Back Links. The picture shows how can be applied
back links 2 and 3 on a Robot.

VIII-6
R O B O T K I N E M A T I C S

The picture
shows the
Dialog Box for
creating the
Robot
RRR:RRR
Back link

Additional values are described in the following table:

Item Description
Back link Length of the back link 2.
Joint2[m]
Back link Length of the back link 3.
Joint3[m]

VIII-7
8 R O B O T K I N E M A T I C S

Jnt d3z [m] Jntd3 is the transformation or distance in z, x or y


Jnt d3x [m] direction from joint 3 (yellow coorsys) to rotation
Jnt d3y [m] point of the backlink 3 (green coorsys).

Note: The description of the additional values are graphical


interpreted on the previous picture.

After specifying the length of appropriated links you have to


decide for creation default bodies.

Message box for applying


the default robot bodies.

Robot Type TTT:RRR Simple

The TTT:RRR Simple robot type contains 3 prismatic and 3


revolute joints. Similar like standard robot type, you can easily
create this type of the robot.

The picture bellow shows the dialog box for TTT:RRR Simple
type.

All transformation
values are similar to
the Standard robot
type RRR:RRR.

VIII-8
R O B O T K I N E M A T I C S

After specifying the values for links apply the default robot
bodies.

Variable Robot Kinematics

This topic will introduced you about two types for creating a new
robot in EASY-ROB:

• Universal Coordinates (UNIV)


• Denavit Hartenberg notation (DH)

Two additionally robot kinematics "Variable" types are available


to model non-standard robots with less or more than 6 DOF’s.
The first type can be described in "Universal Coordinates" up to
12 DOF’s for active and passive joints. Using the universal type,
it can be defined wether the joints are rotational or translational
in/about X, Y or Z direction. The second variable type is based
on Denavit Hartenberg Parameters (DH). The mathematical
description is similar to the universal coordinates, but is
restricted by translation and rotation in/about Z-direction. To
move the variable robot types in Cartesian space with respect
to the robots base a user defined solution for the inverse
kinematics is required, which requires the feature APIKIN or
NUMSOL (numerical solution, using inverse jacobian matrix) for
DH kinematics.

These two types of robot definition allow you to create nearly


every robot kinematics chain. In both cases you can define at
maximum 12 DOFs. These 12 DOFs called active joints in the
kinematics chain of the robot. Passive joints are inside
(between two active joints for example) or outside the
kinematics chain. You can have 12 of them. A passive joint can
have a mathematical dependency to an active joint (coupling).
For complicated mathematical dependencies you can use the
md_f1() to mdf12() functions in the inv_user.c file. Take a
look to the template "uni_tmpl.cel".

VIII-9
8 R O B O T K I N E M A T I C S

Example:
uni_tmpl.cel
This kinematic has one
active joint and three
passive joints:
pJnt1 is RZC0, F1
RZ = Rot about z-Axis,
’C’ = in the kin chain
0 = attached to joint 0
F1 = pass. joint depends
on user defined function
md_f1() in inv_user.cpp.

Active and Passive Joints

With Variable robot kinematics you can define active or passive


joint. Active joints are in the kinematics chain. You can define
up to 12 joints. Passive joint is inside the two active joints, or
outside of a kinematics chain. To define passive joint you have
to define mathematical dependency to an active joint. If you
enable show joint coordinate system, the yellow coordinate
system represents the active joint, green is for passive joint. To
define a passive joint you have to define:

• Number of passive joint


• Type of moving
• Chain type (inside or outside kinematics chain)
• Each passive joint is attached to active joint

• If more passive joints are attached to one active


joint and they are inside the kinematics chain, then
the 2nd passive joint for example is attached to the
first passive joint, the 3rd passive joint is attached
nd
to the 2 etc.

Note: If your robot has 3 DOF or 3 active joints, your passive


joint could be attached to active joint 0 (this is the robot base) or
to one of the 3 actives joints. The passive joint is inserted after
the active joint.

VIII-10
R O B O T K I N E M A T I C S

• Finally you have to define the geometric data.

Mathematical joint dependencies

After attaching the passive joint to an active, you have to


specify a mathematical dependency to an active joint.

• Enter ’+1’ has the effect that this passive joint will move
(T or R) by the joint value of the active joint number 1.
• Enter ’-2’ has the effect that it moves by the negative
joint value of active joint number 2.
• Enter ’f1’ does mean, that it uses the mathematic
formula in function md_f1() in file inv_user.cpp.
The formula in md_f1() is user defined and could be for
example: -3*sin(q[0])+2*cos(q[1]) or whatever.

Universal Coordinates
Creating the robot with Universal coordinates requires the
following steps:

• Defining number of active and passive joints


• Attaching robot base
• Choosing the inverse kinematics

The following picture shows the main dialog box for creating a
robot with Universal coordinates:

VIII-11
8 R O B O T K I N E M A T I C S

The option 5
shows the
information of
the current
kinematic.

By double-clicking on the Active Joint dialog box appears:

Double click on
the first option
and enter
number of active
joint. After that
you have to
specify the type
of each active
joint.

As the dialog shows, it is created 1 active joint by default, which


has RZ type of motion. This means that joint 1 is revolute joint
around the Z-axis.

For example enter the 5 active joint and click on the Ok button,
previous dialog is changed to the following dialog box:

Setting of the second


Joint.
Next Dialog is for 3rd
joint etc.

VIII-12
R O B O T K I N E M A T I C S

Defining the passive joint:

Double click on the option 2, and specify the number of passive


joint. For each passive joint you have to specify the following
options:

Type & Direction


option is similar like
for active joint. You
need to specify the
type of joint (revolute
or prismatic), and
direction. In which
direction (x, y, z axis)
joint is moving .

Double click on the Chain specification option and specify


how can passive joint be attached:
• in the kinematics chain,
• outside kinematics chain,
• or passive joint is separated.

The picture bellow shows the dialog box for specifying the
Chain specification.

Double click on the


option you want to
select for each
passive joint.

Attach to active joint option provides you to attach each


passive joint to an active joint.

VIII-13
8 R O B O T K I N E M A T I C S

The next picture shows the dialog box for attaching the passive
joints to active.

Enter number for each


passive joint.

You also have to specify the mathematical joint dependencies


for each passive joint. The picture bellow shows the dialog box
for specifying mathematical joint dependencies.

Enter a mathematical
expression beginning
with a ’=’ sign or
select a function
number beginning
with an ’F’ sign, and
press the Ok button.

Mathematical expression can be any mathematical expression


or constant value.
Example: =dof(1) + dof(2) + 45*rad()

"pass Jnt 1 TZC2" does mean, the passive Jnt no. 1 is


Translational in Z-direction, inside the kinematic Chain and is
attached to active Jnt no. 2.

The next two options specify the geometric data for passive
joint. After all passive joints are parameterized, the inverse
kinematics for a robot has to be selected.

VIII-14
R O B O T K I N E M A T I C S

The picture bellow shows available solutions for inverse


kinematics in EASY-ROB.

Choose the option and


press the Ok button.

If "1-No inv. kinematics"


is selected, you cannot
move the robots TCP in
cartesian space.

"2 to 13" uses the user


defined solution in
inv_user.cpp (API
INV)

14 - Enables the
numerical solution, if
we have a DH
kinematic.

15 to 21 are individual,
predefined special
kinematic solutions.

Option: Kinematics information in the main Dialog box shows


the option you have choused.

The Dialog displays


the main information
about kinematics of
the new Robot.

VIII-15
8 R O B O T K I N E M A T I C S

Denavit Hartenberg notation (DH)


Overview

Neighboring links have a common joint axis between them


parameters:
• Distance along common axis from one link to the other
(link offset)
• Amount of rotation about this common axis between one
link and its neighbor (joint angle)

The length a
and twist α of a
link

A serial link robot consists of a sequence of links connected


together by actuated joints. For an n DOF robot, there will be n
joints and n links. The base of the robot is link 0 and is not
considered one of the (n=6) links. Link 1 is connected to the
base link by joint 1. There is no joint at the end of the final link
(TCP). The only significance of links is that they maintain a
fixed relationship between the robot joints at each end of the
link. Two dimensions can characterize any link:

• The common normal distance ai (called link length) and


• The angle αi (called link twist) between the axes in a
plane perpendicular to ai (see Figure above).

Generally, two links are connected at each joint axis (see


Figure below). The axis will have two normals to it, one for each
link. The relative position of two such connected links is given

VIII-16
R O B O T K I N E M A T I C S

by di, the distance between the normals along the joint i axis,
and qi the angle between the normals measured in a plane
normal to the axis. di and qi are called the distance and the
angle between the links, respectively.

In order to describe the relationship between links, we will


assign coordinate systems (frames) to each link. We will first
consider revolute joints in which qi is the joint variable. The
origin of the frame of link i is set to be at the intersection of the
common normal between the axes of joints i and i+1 and the
axis of joint i+1. In case of intersecting joint axes, the origin is at
the point of intersection of the joint axes. If the axes are parallel,
the origin is chosen to make the joint distance zero for the next
link whose coordinate origin is defined. The z-axis for link i will
be aligned with the axis of joint i+1. The x-axis will be aligned
with any common normal which exists and is directed along the
normal from joint i to joint i+1. In case of intersecting joints, the
direction of the x-axis is parallel or antiparallel to the vector
cross product zi-1 x zi. Notice that this condition is also satisfied
for the x-axis directed along the normal between joints i and
i+1. qi is zero for the i-th revolute joint when xi-1 and xi are
parallel and have the same direction.
In case of prismatic joint, the distance di is the joint variable.
The direction of the joint axis is the direction in which the joint
moves. The direction of the axis is defined but, unlike a revolute
joint, the position in space is not defined. In the case of a

VIII-17
8 R O B O T K I N E M A T I C S

prismatic joint, the length ai has no meaning and is set to zero.


The origin of the frame for a prismatic joint is coincident with the
next defined link origin. The z-axis of the prismatic joint is
aligned with the axis of joint i+1. The xi axis is parallel or
antiparallel to the vector cross product of the direction of the
prismatic joint and zi. For a prismatic joint we will define the
zero position when di = 0. With the robot in its zero position, the
positive sense of rotation for revolute joints or displacement for
prismatic joints can be decided and the sense of the direction of
the z-axis determined. The origin of the base link (zero) will be
coincident with the origin of link 1. If it is desired to define a
different reference frame, then the relationship between the
reference and base frames can be described by a fixed
homogeneous transformation. At the end of the robot, the final
displacement d6 or rotation q6 occurs with respect to z5. The
origin of the frame for link 6 is chosen to be coincident with that
of the link 5 frame. If a tool (or end effector) is used whose
origin and axes do not coincide with the frame of link 6, the tool
can be related by a fixed homogeneous transformation to link 6.
Having assigned frames to all links according to the preceding
scheme, we can establish the relationship between successive
frames i-1,i by the following rotations and translations:

• qi = the angle between Xi-1 and Xi measured about Zi-1


• di = the distance from Xi-1 to Xi measured along Zi-1
• ai = the distance from Zi-1 to Zi measured along Xi
• αi = the angle between Zi-1 and Zi measured about Xi

Due to the authors of this method attaching frames to links,


these four parameters are called the Denavit Hartenberg
parameters (DH parameters).

Create a new robot by Denavit Hartenberg notation

Similar like Universal coordinate you can create a new robot by


Denavit Hartenberg notation.

The following picture shows the main dialog box for creating a
new robot by DH notation.

VIII-18
R O B O T K I N E M A T I C S

Enter the number of


active joint and specify
the type and direction
of each joint. Then
specify the number of
passive joint and all
necessary data.
Process of creating DH
kinematics is similar
like Universal
kinematics.

Unlike of Universal Coordinate, DH kinematics requires


determinations of DH parameters. You need to specify:

• qi = the angle between Xi-1 and Xi measured about Zi-1


• di = the distance from Xi-1 to Xi measured along Zi-1
• ai = the distance from Zi-1 to Zi measured along Xi
• αi = the angle between Zi-1 and Zi measured about Xi

for each active joint.

DH parameters
for joint 1.

VIII-19
8 R O B O T K I N E M A T I C S

Modifying existing Kinematics

For each loaded robot you can modify existing kinematics. The
Dialog box for changing existing kinematics you can open by
choosing:

• Robotics->Robot Kinematics->Kinematics
Data.

Depending on the kinematics type different dialog box appears.

You can also change the Robot attributes. The picture bellow
shows the Robot attributes.

• Robotics->Robot Kinematics->Robot
Attributes.

For more information


about attributes see
Chapter 4 “User Panel”

VIII-20
R O B O T K I N E M A T I C S

Examples
This topic will teach you how to create a new robot with
mentioned methods. We will use the KUKA robot which is
created with standard RRR:RRR kinematics, and save the
bodies of the robot. We need the bodies for other kinematics
types.

In this topic we will do the following:

1) Load the KUKA robot, and save its bodies.


2) Create the KUKA robot with back link.
3) Create the KUKA with Universal coordinates.
4) Create the KUKA robot with DH notation.
5) Defining the external axis.

Loading the KUKA robot and saving the bodies in IGRIP


Part files.

Our Example is placed in the


easy-rob/lib/robots/KUKA/ directory and has the
following geometric structure:

KUKA Robot Type RRR:RRR as Standard:

Length Ax1 Ax2 Ax3 Ax4 Ax5 Ax6


Lz 0.865 1.0000 1.0000 0.000 0.000 0.210
Lx 0.410 0.0000 -0.0450 0.000 0.000 0.000
Ly 0.000 0.0000 0.0000 0.000 0.000 0.000

• From the File menu choose:


• File->Load Robot file
• Load:
.\easy-rob\lib\robots\ kuka\KR125-2.rob

The picture shows the loaded robot:

VIII-21
8 R O B O T K I N E M A T I C S

KUKA robot
KR-Seires
KR-150-1

• From the File menu choose:


• Save->World to IGRIP part V11.
• Type the KUKAExample name and choose the
Save button.
• Dialog box for confirmation appears:

Dialog box for saving


robot bodies in to IGRIP
part files. For more
information about saving
the robot bodies in to
IGRIP part file see
Chapter 7.

Note: If you look in the Igp_Usr directory you can see several
igp part files. On this way we saved the robot bodies separately
links by links.

Create the Robot with back link.

• From the Robotics menu choose:


• Robotics->Create a new robot->6 DOF
RRR:RRR back link.
• Message box appears.
• Dialog box appears.

VIII-22
R O B O T K I N E M A T I C S

Click the Yes button,


because we want to create
a new robot.

Because we want to create the robot which is similar like


standard RRR:RRR the values for links must be the same.

Click the OK button.

EASY-ROB gives you default values for back links and we don’t
need to change them.

• After pressing the OK button message box appears:

Click the Yes button.

VIII-23
8 R O B O T K I N E M A T I C S

After pressing the Yes button default robot bodies are showed
in the Render scene.

Note: On the picture bellow you can see the green coordinate
systems, which represent the “back link” joints 2 and 3.

• From the file menu choose:


• File ->Save->Robot
• Dialog box for specifying name of the robot appears.
• Enter “KUKA_BL_Example”, and press the Ok button.

VIII-24
R O B O T K I N E M A T I C S

Specifying name of
the robot.

• File dialog box appears. Type the name


“KR125-2BL_Example.rob” and press the Save
button.

The picture bellow shows the previous action.

Saving the
robot file.

Modeling the robots bodies.

Now we created the KUKA robot 6 DOF RRR:RRR Back link.


Now we need to create the robot bodies. We will use the bodies
from the standard robot 6 DOF RRR:RRR.

Loading the robot bodies.

• From the 3D CAD menu choose

VIII-25
8 R O B O T K I N E M A T I C S

• 3D CAD ->Create/Import new 3D CAD body


• Select IGRIP PART FILE and press the Ok Button.
• Find the KUKAExample_r0.igp file name and click the
OK button.

Note:
Our files of the robot bodies are located in the
.\easy-rob\igp\Igp_Usr directory.

• Message box appears.

Click the Yes button.

• Set all coordinates in the next two Dialog boxes to zero.


• After that, Dialog box for attaching to active joint
appears.
• Attach the body to active joint 0, because the r0 is the
robot base.
• Apply the same procedure for the following files:

o KUKAExample_r1
o KUKAExample_r2
o KUKAExample_r3
o KUKAExample_r4
o KUKAExample_r5
o KUKAExample_r6.

• Attach each body to corresponding joints:

o KUKAExample_r0 to active joint 0


o KUKAExample_r1 to active joint 1
o KUKAExample_r2 to active joint 2
o KUKAExample_r3 to active joint 3
o KUKAExample_r4 to active joint 4
o KUKAExample_r5 to active joint 5
o KUKAExample_r6 to active joint 6

VIII-26
R O B O T K I N E M A T I C S

Create KUKA robot with Universal Coordinates

• From the Robotics menu choose:


• Robotics->Create new Robot->Universal
Coordinates (0-12 dof)
• Dialog box appears

Double click on the


Active Joints and
enter 6 active joints.

Set the values as the pictures wiil show.

Joint 1

Joints 1 rotates about


Z Axis.

-> ROT Z

VIII-27
8 R O B O T K I N E M A T I C S

The distance to
Joint 2 is in X and
in Z direction.

lx = 0.4100
lz = 0.8650

Joint 2

The distance in Z
direction to the next
joint is

lz = 1.000

Joints 2 rotates about


Y Axis.

-> ROT Y

VIII-28
R O B O T K I N E M A T I C S

Joint 3

Joints 3 rotates
about Y Axis.

-> ROT Y

The distance to the


next joint is in X and
in Z direction

lx = -0.045
lz = 1.000

Joint 4

Joints 4 rotates about


Z Axis.

-> ROT Z

VIII-29
8 R O B O T K I N E M A T I C S

The origin of Joint 4


and Joint 5 are the
same, we keep all data
to zero.

Joint 5

Joints 5 rotates about


Y Axis.

-> ROT Y

The origin of Joint 5


and Joint 6 are the
same, we keep all data
to zero.

VIII-30
R O B O T K I N E M A T I C S

Joint 6:

The distance to
the robots tip is
in Z direction.

lz=0.2100

Joints 6 rotates
about
Z Axis.

-> ROT Z

All kinematic data are shown in the below table

Length Ax1-RZ Ax2-RY Ax3-RY Ax4-RZ Ax5-RY Ax6- RZ


Lz 0.8650 1.0000 1.0000 0.0000 0.0000 0.2100
Lx 0.4100 0.0000 -0.0450 0.0000 0.0000 0.0000
Ly 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
Rx 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
Ry 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
Rz 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000

VIII-31
8 R O B O T K I N E M A T I C S

• Go to the main dialog and choose the option 4 Inverse


kinematics No.
• Dialog box appears:

Choose the
inverse
kinematics #2.

• Enter 8 for number of configuration

Enter 8 for
number of
configuration.

• Load the bodies from the 3D CAD Menu. Like previous


example.
• Enter the name of the robot “KR125-2_UNIV_Example”

VIII-32
R O B O T K I N E M A T I C S

• Save the Robot file.

The picture shows the KUKA robot modeled with Universal


Coordinates.

Robot
KUKA

Create the KUKA robot with DH notation.

Creating a Robot with DH notation requires some additional


information about geometric data of the robot. The table bellow
shows the geometric data for KUKA Robot with DH notation.
Because, DH notation allows entering only rotation around z
axis, we have to specify the alpha and theta angles depending
of the desired rotation. Here is the Table.

DH Ax1 Ax2 Ax3 Ax4 Ax5 Ax6


theta 0.0 90.0 -90.0 0.0 180.0 180.0
d 0.650 0.000 0.000 0.600 0.000 0.140
a 0.300 0.600 -0.145 0.000 0.000 0.000
alfa 90.0 0.0 -90.0 90.0 90.0 0.0

These values we will enter for robot joints.

• From the Robotics menu choose:


• Robotics->Create new Robot->Denavit-
Hertenberg Notation (0-12 dof)
• The main Dialog Box appears:

VIII-33
8 R O B O T K I N E M A T I C S

The main Dialog box for


DH notation, enter 6 for
the number of joints

• Double click on the Active Joints option.


• Enter 6 for number of active joint
• Enter the following values:

Joint 1:

Set Joint type


ROT Z

Distance to Joint 2

Tz = 0.65
Tx = 0.300
Alpha = 90.0°

VIII-34
R O B O T K I N E M A T I C S

Joint 2:

Set the joint type


ROT Z

Distance to Joint 3

Theta = 90.0
Tx = 0.6000

Joint 3:

Set the joint type


ROT Z.

VIII-35
8 R O B O T K I N E M A T I C S

Distance to Joint 4

Theta = -90°
Tx = -0.145
Alpha = -90.0°

Joint 4:

Set the joint type


ROT Z..

Distance to Joint 5

Tz = 0.60
Alpha = 90.0°

VIII-36
R O B O T K I N E M A T I C S

Joint 5:

Set the joint type


ROT Z

Distance to Joint 5

Theta = 180.0°
Alpha = 90.0°

Joint 6:

Set the joint type


ROT Z

VIII-37
8 R O B O T K I N E M A T I C S

Distance to Joint 5

Theta = 180.0°
Tz = 0.14

• Choose the Inverse Kinematics number 2.


• Set the number of configuration 8.
• Save the robot file.

Robot Kinematic with External Axis

In this example we will define external axis for KUKA Robot with
Universal coordinates. In fact, we will put the Robot on Track
with one external linear axis in Y direction.

We start from the robot with Universal coordinates.


First of all we have to define the 7th translational joint in Y
direction.

• From the Robotics menu choose


• Robotics->Robot Kinematics->Kinematics
Data.
• Enter 7 active joint and specify the following values for
the 7th joint:

o Trans Y
o Set all Geometric Data to zero.

• Choose Quit option from Active joint Dialog Box.


• Select Passive joint option and press the Ok button.
• Enter 2 for number of passive joints.
• For first passive joint select

o Trans Y, for Type & Direction.


o Joint in the Kinematics chain for Chain spec.

VIII-38
R O B O T K I N E M A T I C S

o Attach for the active joint Number 0


o Enter
o =JNTSIGN(7)*DOF7()-JNTOFF(7) for
mathematical expression.
o Z=0.05 for Geometric Data from last
o Choose the Quit option.

For the second passive joint choose the following options:

o Trans Y, for Type & Direction


o Joint in the Kinematics chain, for the Chain
and Spec.
o Attach to active joint number 6.
o Enter math expression:
o = - (JNTSIGN(7)*DOF7()-JNTOFF(7))
o Choose the Quit option.

Double click on the “Move Robot in Joint Coordinate” toolbars


button and choose radio button for the 7-9 joints.

Press and hold Left mouse


button and drag the mouse on
the left side of the screen.
You will see that robot is
translated in the y direction.

• Open the Tag Window.


• Click the New Tag on TCP Button.
• Enter the values for tag position

o X=0.5
o Y=-1.5

VIII-39
8 R O B O T K I N E M A T I C S

o Z=1.0

• Click the New Tag on TCP button again.


• Enter the values for tag position

o X=0.6
o Y=0.2
o Z=1.0

• The picture shows the tags:

• Press the External Axis Attribute button.


• Enter 1, for Number of external axis,
• Enter 7, for Robot joint No option
• Type: Translation

Your Dialog Box should look like in the following picture:

VIII-40
R O B O T K I N E M A T I C S

1 external axis, for 7th


joint, which has is
Translation joint.

• Press the external Axis Value button.


• Click the Ok button and press the Yes for Change axis
value for all rags.
• Select the Tag 1.
• Press the external Axis Value button.
• Specify –1.2 for the translation
• Press the Ok Button.
• Press the No button for the message box.

Note: We must define external axis first, for all tag with value
zero. This is required because the robot must back from the
nonzero external axis in the zero external axis value for other
tags. After we define nonzero external axis value.

• Select the Tag T_1 and press the Move -> cTag
button.
• Select the Tag T_2 and press the same button.

Our robot is moving translational in the Y direction as well as


reaching the position of the Tag T_1.

• Choose the File->Save ->CellFile.

VIII-41
8 R O B O T K I N E M A T I C S

VIII-42

Potrebbero piacerti anche