10-easy-rob-chapter-08

42
R O B O T K I N E M A T I C S VIII-1 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.

Upload: api-3714448

Post on 11-Apr-2015

344 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 10-EASY-ROB-Chapter-08

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

VIII-1

Robot Kinematics 8

Create a new Robot

This chapter will introduce you about Robot Kinematics andcreating a new robot in EASY-ROB. EASY-ROB providesthe easy way for creating the new robot, and applying the newkinematics 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 Coordinatesand Denavit-Hartenberg Notation. This means that with EASY-ROB you can create almost any kind of industrial robots, as wellas NC Machines.

Creating the Robot in EASY-ROB is based on its kinematiclengths not on the 3D geometric. Thus, the geometry for eachrobot joint can be replaced or substituted any time and thekinematic length can be changed to simulate a various numberof robots.

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

1.) ROBOTFILE V3.02.) ! robotfln3.) !:\Easyrob\MY_PROJ\IRB2400_M94A.rob4.) ! robotname IRB24004.) !5.) name IRB24006.) kin_id 3 RRR:RRR back link7.) kin_type RRRRRR8.) num_configs 89.) 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.

Page 2: 10-EASY-ROB-Chapter-08

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

VIII-2

Keyword ROBOTFILE V3.0, that you are using the robot filefor version 3.0.The lines 2,3 and 4 are commented lines which give theinformation 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 anddialog box use this name to show the property of loaded robot.

The line 6 is kinematics identification (kin_id). Our sample haskin_id 3, for back link RRR:RRR structure.

The next line is kinematics type. Kinematics type may be, asmentioned, standard RRR:RRR, TTT:RRR simple, RRR:RRRback link, Universal Coordinate, and Denavit-HartenbergNotation.

Line 8 contains information about number of robotconfigurations. The number of configurations depends on theindividual kinematic type. The RRR:RRR type has always 8different sets of solution angles for one TCP location.

Line 9 is kinematics degree of freedom (kin_dof). Kin_dofdepends as well of the kinematics type. The standard (Build Instructures) robots have 6 DOF. Universal Coordinates andDenavit-Hartenberg’s Notation supports the kinematics chain upto 12 DOF.

The picture bellow shows the mentioned robot file.

The picture shows theloaded robot file.Robot file containsinformation aboutrobot kinematics andgeometric data.For more informationabout robot file seethe Chapter 3 “EASY-ROB Files”

Page 3: 10-EASY-ROB-Chapter-08

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

VIII-3

Build In 6 DOF Robot Kinematics

The robot-modeling feature ROBMOD allows it to modify andcreate new robot kinematics. 5 different kinematics types areavailable.

• RRR:RRR Standard robot type with 6 degrees offreedom (DOF). All joints are revolute.

• RRR:RRR Back Link robot type where joint 2 and joint3 are coubled by a so called Back Link.

• TTT:RRR Simple robot type with 3 translational jointsand 3 revolute joints. The solution for the inversekinematics problem for these three robot types is solvedanalytical and completely parameterized by the robotkinematic lenhgts.

The standard robot with 6 DOF is the most popular andpractical industrial robot. These robots are:

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

The following pictures show the mentioned robots.

Fanuc RobotM-16i

Page 4: 10-EASY-ROB-Chapter-08

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

VIII-4

Robot Type RRR:RRR - Standard

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

KUKA RobotKR-SeriesKR-150-1

The first threeoptions create thestandard industrialrobots with 6 DOF.

Page 5: 10-EASY-ROB-Chapter-08

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

VIII-5

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

The table bellow shows the meaning of all items in the dialogbox 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 relativeappropriated joint coordinate system.

To enable the joint coorsys, select from the VIEW Menu

Coorsys-> Robot Coorsys or click on the Icon.

Select one ofthe 10 items andmodify thecurrent defaultvalues.

Page 6: 10-EASY-ROB-Chapter-08

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

VIII-6

After specifying the length of appropriated links, you have todecide for creation default bodies. If you want model your ownrobot bodies choose the No button.

After specifying the "default/no default robot bodies" thestandard robot is created in the Render Scene. This procedureis very simple.

Robot Type RRR:RRR with Back Link

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

Message box for applyingthe default robot bodies.

Default bodies are greyand yellow colored, therobots platform is in browncolor.

Page 7: 10-EASY-ROB-Chapter-08

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

VIII-7

Additional values are described in the following table:

Item Description

Back linkJoint2[m]

Length of the back link 2.

Back linkJoint3[m]

Length of the back link 3.

The pictureshows theDialog Box forcreating theRobotRRR:RRRBack link

Page 8: 10-EASY-ROB-Chapter-08

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

VIII-8

Jnt d3z [m]Jnt d3x [m]Jnt d3y [m]

Jntd3 is the transformation or distance in z, x or ydirection from joint 3 (yellow coorsys) to rotationpoint of the backlink 3 (green coorsys).

Note: The description of the additional values are graphicalinterpreted on the previous picture.

After specifying the length of appropriated links you have todecide for creation default bodies.

Robot Type TTT:RRR Simple

The TTT:RRR Simple robot type contains 3 prismatic and 3revolute joints. Similar like standard robot type, you can easilycreate this type of the robot.

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

Message box for applyingthe default robot bodies.

All transformationvalues are similar tothe Standard robottype RRR:RRR.

Page 9: 10-EASY-ROB-Chapter-08

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

VIII-9

After specifying the values for links apply the default robotbodies.

Variable Robot Kinematics

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

• Universal Coordinates (UNIV)• Denavit Hartenberg notation (DH)

Two additionally robot kinematics "Variable" types are availableto model non-standard robots with less or more than 6 DOF’s.The first type can be described in "Universal Coordinates" up to12 DOF’s for active and passive joints. Using the universal type,it can be defined wether the joints are rotational or translationalin/about X, Y or Z direction. The second variable type is basedon Denavit Hartenberg Parameters (DH). The mathematicaldescription is similar to the universal coordinates, but isrestricted by translation and rotation in/about Z-direction. Tomove the variable robot types in Cartesian space with respectto the robots base a user defined solution for the inversekinematics is required, which requires the feature APIKIN orNUMSOL (numerical solution, using inverse jacobian matrix) forDH kinematics.

These two types of robot definition allow you to create nearlyevery robot kinematics chain. In both cases you can define atmaximum 12 DOFs. These 12 DOFs called active joints in thekinematics chain of the robot. Passive joints are inside(between two active joints for example) or outside thekinematics chain. You can have 12 of them. A passive joint canhave a mathematical dependency to an active joint (coupling).For complicated mathematical dependencies you can use themd_f1() to mdf12() functions in the inv_user.c file. Take alook to the template "uni_tmpl.cel".

Page 10: 10-EASY-ROB-Chapter-08

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

VIII-10

Active and Passive Joints

With Variable robot kinematics you can define active or passivejoint. Active joints are in the kinematics chain. You can defineup to 12 joints. Passive joint is inside the two active joints, oroutside of a kinematics chain. To define passive joint you haveto define mathematical dependency to an active joint. If youenable show joint coordinate system, the yellow coordinatesystem represents the active joint, green is for passive joint. Todefine 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 activejoint and they are inside the kinematics chain, thenthe 2nd passive joint for example is attached to thefirst passive joint, the 3rd passive joint is attachedto the 2nd etc.

Note: If your robot has 3 DOF or 3 active joints, your passivejoint could be attached to active joint 0 (this is the robot base) orto one of the 3 actives joints. The passive joint is inserted afterthe active joint.

Example:uni_tmpl.celThis kinematic has oneactive joint and threepassive joints:pJnt1 is RZC0, F1RZ = Rot about z-Axis,’C’ = in the kin chain0 = attached to joint 0F1 = pass. joint dependson user defined functionmd_f1() in inv_user.cpp.

Page 11: 10-EASY-ROB-Chapter-08

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

VIII-11

• Finally you have to define the geometric data.

Mathematical joint dependencies

After attaching the passive joint to an active, you have tospecify 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 negativejoint value of active joint number 2.

• Enter ’f1’ does mean, that it uses the mathematicformula in function md_f1() in file inv_user.cpp.The formula in md_f1() is user defined and could be forexample: -3*sin(q[0])+2*cos(q[1]) or whatever.

Universal Coordinates

Creating the robot with Universal coordinates requires thefollowing 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 arobot with Universal coordinates:

Page 12: 10-EASY-ROB-Chapter-08

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

VIII-12

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

As the dialog shows, it is created 1 active joint by default, whichhas RZ type of motion. This means that joint 1 is revolute jointaround 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:

The option 5shows theinformation ofthe currentkinematic.

Double click onthe first optionand enternumber of activejoint. After thatyou have tospecify the typeof each activejoint.

Setting of the secondJoint.Next Dialog is for 3rd

joint etc.

Page 13: 10-EASY-ROB-Chapter-08

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

VIII-13

Defining the passive joint:

Double click on the option 2, and specify the number of passivejoint. For each passive joint you have to specify the followingoptions:

Double click on the Chain specification option and specifyhow 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 theChain specification.

Attach to active joint option provides you to attach eachpassive joint to an active joint.

Type & Directionoption is similar likefor active joint. Youneed to specify thetype of joint (revoluteor prismatic), anddirection. In whichdirection (x, y, z axis)joint is moving .

Double click on theoption you want toselect for eachpassive joint.

Page 14: 10-EASY-ROB-Chapter-08

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

VIII-14

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

You also have to specify the mathematical joint dependenciesfor each passive joint. The picture bellow shows the dialog boxfor specifying mathematical joint dependencies.

Mathematical expression can be any mathematical expressionor constant value.Example: =dof(1) + dof(2) + 45*rad()

"pass Jnt 1 TZC2" does mean, the passive Jnt no. 1 isTranslational in Z-direction, inside the kinematic Chain and isattached to active Jnt no. 2.

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

Enter number for eachpassive joint.

Enter a mathematicalexpression beginningwith a ’=’ sign orselect a functionnumber beginningwith an ’F’ sign, andpress the Ok button.

Page 15: 10-EASY-ROB-Chapter-08

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

VIII-15

The picture bellow shows available solutions for inversekinematics in EASY-ROB.

Option: Kinematics information in the main Dialog box showsthe option you have choused.

Choose the option andpress the Ok button.

If "1-No inv. kinematics"is selected, you cannotmove the robots TCP incartesian space.

"2 to 13" uses the userdefined solution ininv_user.cpp (APIINV)

14 - Enables thenumerical solution, ifwe have a DHkinematic.

15 to 21 are individual,predefined specialkinematic solutions.

The Dialog displaysthe main informationabout kinematics ofthe new Robot.

Page 16: 10-EASY-ROB-Chapter-08

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

VIII-16

Denavit Hartenberg notation (DH)

Overview

Neighboring links have a common joint axis between themparameters:

• Distance along common axis from one link to the other(link offset)

• Amount of rotation about this common axis between onelink and its neighbor (joint angle)

A serial link robot consists of a sequence of links connectedtogether by actuated joints. For an n DOF robot, there will be njoints and n links. The base of the robot is link 0 and is notconsidered one of the (n=6) links. Link 1 is connected to thebase 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 afixed relationship between the robot joints at each end of thelink. 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 (seeFigure below). The axis will have two normals to it, one for eachlink. The relative position of two such connected links is given

The length aand twist α of alink

Page 17: 10-EASY-ROB-Chapter-08

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

VIII-17

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

In order to describe the relationship between links, we willassign coordinate systems (frames) to each link. We will firstconsider revolute joints in which qi is the joint variable. Theorigin of the frame of link i is set to be at the intersection of thecommon normal between the axes of joints i and i+1 and theaxis of joint i+1. In case of intersecting joint axes, the origin is atthe point of intersection of the joint axes. If the axes are parallel,the origin is chosen to make the joint distance zero for the nextlink whose coordinate origin is defined. The z-axis for link i willbe aligned with the axis of joint i+1. The x-axis will be alignedwith any common normal which exists and is directed along thenormal from joint i to joint i+1. In case of intersecting joints, thedirection of the x-axis is parallel or antiparallel to the vectorcross product zi-1 x zi. Notice that this condition is also satisfiedfor the x-axis directed along the normal between joints i andi+1. qi is zero for the i-th revolute joint when xi-1 and xi areparallel 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 jointmoves. The direction of the axis is defined but, unlike a revolutejoint, the position in space is not defined. In the case of a

Page 18: 10-EASY-ROB-Chapter-08

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

VIII-18

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 thenext defined link origin. The z-axis of the prismatic joint isaligned with the axis of joint i+1. The xi axis is parallel orantiparallel to the vector cross product of the direction of theprismatic joint and zi. For a prismatic joint we will define thezero position when di = 0. With the robot in its zero position, thepositive sense of rotation for revolute joints or displacement forprismatic joints can be decided and the sense of the direction ofthe z-axis determined. The origin of the base link (zero) will becoincident with the origin of link 1. If it is desired to define adifferent reference frame, then the relationship between thereference and base frames can be described by a fixedhomogeneous transformation. At the end of the robot, the finaldisplacement d6 or rotation q6 occurs with respect to z5. Theorigin of the frame for link 6 is chosen to be coincident with thatof the link 5 frame. If a tool (or end effector) is used whoseorigin and axes do not coincide with the frame of link 6, the toolcan be related by a fixed homogeneous transformation to link 6.Having assigned frames to all links according to the precedingscheme, we can establish the relationship between successiveframes 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 Hartenbergparameters (DH parameters).

Create a new robot by Denavit Hartenberg notation

Similar like Universal coordinate you can create a new robot byDenavit Hartenberg notation.

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

Page 19: 10-EASY-ROB-Chapter-08

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

VIII-19

Unlike of Universal Coordinate, DH kinematics requiresdeterminations 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.

Enter the number ofactive joint and specifythe type and directionof each joint. Thenspecify the number ofpassive joint and allnecessary data.Process of creating DHkinematics is similarlike Universalkinematics.

DH parametersfor joint 1.

Page 20: 10-EASY-ROB-Chapter-08

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

VIII-20

Modifying existing Kinematics

For each loaded robot you can modify existing kinematics. TheDialog box for changing existing kinematics you can open bychoosing:

• Robotics->Robot Kinematics->KinematicsData.

Depending on the kinematics type different dialog box appears.

You can also change the Robot attributes. The picture bellowshows the Robot attributes.

• Robotics->Robot Kinematics->RobotAttributes.

For more informationabout attributes seeChapter 4 “User Panel”

Page 21: 10-EASY-ROB-Chapter-08

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

VIII-21

Examples

This topic will teach you how to create a new robot withmentioned methods. We will use the KUKA robot which iscreated with standard RRR:RRR kinematics, and save thebodies of the robot. We need the bodies for other kinematicstypes.

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 IGRIPPart files.

Our Example is placed in theeasy-rob/lib/robots/KUKA/ directory and has thefollowing geometric structure:

KUKA Robot Type RRR:RRR as Standard:

Length Ax1 Ax2 Ax3 Ax4 Ax5 Ax6Lz 0.865 1.0000 1.0000 0.000 0.000 0.210Lx 0.410 0.0000 -0.0450 0.000 0.000 0.000Ly 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:

Page 22: 10-EASY-ROB-Chapter-08

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

VIII-22

• 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:

Note: If you look in the Igp_Usr directory you can see severaligp part files. On this way we saved the robot bodies separatelylinks 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.

KUKA robotKR-SeiresKR-150-1

Dialog box for savingrobot bodies in to IGRIPpart files. For moreinformation about savingthe robot bodies in toIGRIP part file seeChapter 7.

Page 23: 10-EASY-ROB-Chapter-08

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

VIII-23

Because we want to create the robot which is similar likestandard RRR:RRR the values for links must be the same.

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

• After pressing the OK button message box appears:

Click the Yes button,because we want to createa new robot.

Click the OK button.

Click the Yes button.

Page 24: 10-EASY-ROB-Chapter-08

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

VIII-24

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

Note: On the picture bellow you can see the green coordinatesystems, 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.

Page 25: 10-EASY-ROB-Chapter-08

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

VIII-25

• File dialog box appears. Type the name“KR125-2BL_Example.rob” and press the Savebutton.

The picture bellow shows the previous action.

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 bodiesfrom the standard robot 6 DOF RRR:RRR.

Loading the robot bodies.

• From the 3D CAD menu choose

Specifying name ofthe robot.

Saving therobot file.

Page 26: 10-EASY-ROB-Chapter-08

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

VIII-26

• 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.

• 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_r1o KUKAExample_r2o KUKAExample_r3o KUKAExample_r4o KUKAExample_r5o KUKAExample_r6.

• Attach each body to corresponding joints:

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

Click the Yes button.

Page 27: 10-EASY-ROB-Chapter-08

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

VIII-27

Create KUKA robot with Universal Coordinates

• From the Robotics menu choose:• Robotics->Create new Robot->Universal

Coordinates (0-12 dof)• Dialog box appears

Set the values as the pictures wiil show.

Joint 1

Double click on theActive Joints andenter 6 active joints.

Joints 1 rotates aboutZ Axis.

-> ROT Z

Page 28: 10-EASY-ROB-Chapter-08

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

VIII-28

Joint 2

The distance toJoint 2 is in X andin Z direction.

lx = 0.4100lz = 0.8650

The distance in Zdirection to the nextjoint is

lz = 1.000

Joints 2 rotates aboutY Axis.

-> ROT Y

Page 29: 10-EASY-ROB-Chapter-08

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

VIII-29

Joint 3

Joint 4

Joints 3 rotatesabout Y Axis.

-> ROT Y

The distance to thenext joint is in X andin Z direction

lx = -0.045lz = 1.000

Joints 4 rotates aboutZ Axis.

-> ROT Z

Page 30: 10-EASY-ROB-Chapter-08

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

VIII-30

Joint 5

The origin of Joint 4and Joint 5 are thesame, we keep all datato zero.

Joints 5 rotates aboutY Axis.

-> ROT Y

The origin of Joint 5and Joint 6 are thesame, we keep all datato zero.

Page 31: 10-EASY-ROB-Chapter-08

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

VIII-31

Joint 6:

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

The distance tothe robots tip isin Z direction.

lz=0.2100

Joints 6 rotatesaboutZ Axis.

-> ROT Z

Page 32: 10-EASY-ROB-Chapter-08

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

VIII-32

• Go to the main dialog and choose the option 4 Inversekinematics No.

• Dialog box appears:

• Enter 8 for number of configuration

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

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

Choose theinversekinematics #2.

Enter 8 fornumber ofconfiguration.

Page 33: 10-EASY-ROB-Chapter-08

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

VIII-33

• Save the Robot file.

The picture shows the KUKA robot modeled with UniversalCoordinates.

Create the KUKA robot with DH notation.

Creating a Robot with DH notation requires some additionalinformation about geometric data of the robot. The table bellowshows the geometric data for KUKA Robot with DH notation.Because, DH notation allows entering only rotation around zaxis, we have to specify the alpha and theta angles dependingof the desired rotation. Here is the Table.

DH Ax1 Ax2 Ax3 Ax4 Ax5 Ax6theta 0.0 90.0 -90.0 0.0 180.0 180.0d 0.650 0.000 0.000 0.600 0.000 0.140a 0.300 0.600 -0.145 0.000 0.000 0.000alfa 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:

RobotKUKA

Page 34: 10-EASY-ROB-Chapter-08

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

VIII-34

• Double click on the Active Joints option.• Enter 6 for number of active joint• Enter the following values:

Joint 1:

The main Dialog box forDH notation, enter 6 forthe number of joints

Set Joint typeROT Z

Distance to Joint 2

Tz = 0.65Tx = 0.300Alpha = 90.0°

Page 35: 10-EASY-ROB-Chapter-08

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

VIII-35

Joint 2:

Joint 3:

Set the joint typeROT Z

Distance to Joint 3

Theta = 90.0Tx = 0.6000

Set the joint typeROT Z.

Page 36: 10-EASY-ROB-Chapter-08

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

VIII-36

Joint 4:

Distance to Joint 4

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

Set the joint typeROT Z..

Distance to Joint 5

Tz = 0.60Alpha = 90.0°

Page 37: 10-EASY-ROB-Chapter-08

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

VIII-37

Joint 5:

Joint 6:

Set the joint typeROT Z

Distance to Joint 5

Theta = 180.0°Alpha = 90.0°

Set the joint typeROT Z

Page 38: 10-EASY-ROB-Chapter-08

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

VIII-38

• 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 withUniversal coordinates. In fact, we will put the Robot on Trackwith 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 Ydirection.

• 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 Yo 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.

Distance to Joint 5

Theta = 180.0°Tz = 0.14

Page 39: 10-EASY-ROB-Chapter-08

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

VIII-39

o Attach for the active joint Number 0o Entero =JNTSIGN(7)*DOF7()-JNTOFF(7) for

mathematical expression.o Z=0.05 for Geometric Data from lasto Choose the Quit option.

For the second passive joint choose the following options:

o Trans Y, for Type & Directiono 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” toolbarsbutton and choose radio button for the 7-9 joints.

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

o X=0.5o Y=-1.5

Press and hold Left mousebutton and drag the mouse onthe left side of the screen.You will see that robot istranslated in the y direction.

Page 40: 10-EASY-ROB-Chapter-08

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

VIII-40

o Z=1.0

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

o X=0.6o Y=0.2o 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:

Page 41: 10-EASY-ROB-Chapter-08

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

VIII-41

• 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 valuezero. This is required because the robot must back from thenonzero external axis in the zero external axis value for othertags. After we define nonzero external axis value.

• Select the Tag T_1 and press the Move -> cTagbutton.

• Select the Tag T_2 and press the same button.

Our robot is moving translational in the Y direction as well asreaching the position of the Tag T_1.

• Choose the File->Save ->CellFile.

1 external axis, for 7th

joint, which has isTranslation joint.

Page 42: 10-EASY-ROB-Chapter-08

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

VIII-42