Industrial Robots : Manipulators, Kinematics, · PDF fileThe Denavit-Hartenberg Notation...

Post on 17-Feb-2018

262 views 4 download

Transcript of Industrial Robots : Manipulators, Kinematics, · PDF fileThe Denavit-Hartenberg Notation...

Industrial Robots : Manipulators,

Kinematics, Dynamics

x

yz

x

yz

x

yz

x

z

y

In Industrial terms

Robot ManipulatorsThe study of robot manipulators involves dealing with the positions and orientations of the several segments that make up the manipulators.

Manipulators• Robot arms, industrial robot

– Rigid bodies (links) connected by joints– Joints: revolute or prismatic – Drive: electric, pneumatic or hydraulic – End-Effector (tool) mounted on a flange or plate secured to the wrist joint of robot

5

Joints

Most manipulator joints are one of two types1. Revolute (or rotary) like a hinge allows relative rotation abouta fixed axis between two links axis of rotation is the z axis by convention

2. Prismatic (or linear) like a piston allows relative translation along a fixed axis between

two links axis of translation is the z axis by convention

Articulated Manipulator

RRR (first three joints are all revolute) joint axes z0 : waist z1 : shoulder (perpendicular to z0) z2 : elbow (parallel to z1)

z0z1 z2

waist

shoulder

elbow

forearm

θ1

θ2 θ3

Common Manipulator Arrangements

Manipulators can be classified according to a variety of criteria. By Motion CharacteristicsPlanar manipulator: A manipulator is called a planar manipulator if all the moving links move in planes parallel to one another.Spherical manipulator: A manipulator is called a spherical manipulator if all the links perform spherical motions about a common stationary point.Spatial manipulator: A manipulator is called a spatial manipulator if at least one of the links of the mechanism possesses a general spatial motion.

By Kinematic Structure

Open-loop manipulator (or serial robot): A manipulator is called an open-loop manipulator if its links form an open-loop chain.

Parallel manipulator: A manipulator is called a parallel manipulator if it is made up of a closed-loop chain.

Hybrid manipulator: A manipulator is called a hybrid manipulator if it consists ofopen loop and closed loop chains.

Degrees of Freedom - DOF

The number of degrees of freedom of a mechanism are defined as the number of independent variables that are required to completely identify its configuration in space. Everywhere there is motion that can go in both directions can be considered a DOF.

Four Basic Industrial Robot Geometries (Anatomies)

1. Polar- similar to cylindrical except that it is up/down motion is performed by a tilt

2. Cylindrical – Uses vertical column, up/down, sliding arm so its workspace approximates a cylinder

3. Cartesian – Uses three perpendicular slides to construct x, y, z axis. Sometimes this is called an x,y,z robot. Produces a rectangular work envelope.

4. Jointed Arm – similar to human arm

Manipulators• Industrial Robot Geometries (Anatomies):

Cartesian: PPP Cylindrical: RPP Spherical: RRP

SCARA: RRP(Selective Compliance Assembly Robot Arm)

Articulated: RRR

Hand coordinate:n: normal vector; s: sliding vector;

a: approach vector, normal to the

tool mounting plate

Manipulators/Endeffectors

Robot Arm Specs

• Robot Specifications– Number of Axes

• Major axes, (1-3) => Position the wrist• Minor axes, (4-6) => Orient the tool• Redundant, (7-n) => reaching around

obstacles, avoiding undesirable configuration

– Degree of Freedom (DOF)= # of joints– Workspace– Payload (load capacity)– Precision v.s. Repeatability What is workspace or in

3D printers print envolope?

• PAYLOAD: THE ABILITY TO CARRY, CONTINOUSLY AND SATISFACTORILY, A GIVEN MAXIMUM WEIGHT AT A GIVEN SPEED.

• VELOCITY: THE MAXIMUM SPEED AT WHICH THE TIP OF A ROBOT IS CAPABLE OF MOVING AT FULL EXTENSION, EXPRESSED IN INCHES OR MILLIMETERS PER SECOND.

• CYCLE: TIME IT TAKES FOR THE ROBOT TO COMPLETE ONE CYCLE OF PICKING UP A GIVEN OBJECT AT A GIVEN HEIGHT, MOVING IT TO A GIVEN DISTANCE, LOWERING IT, RELEASING IT, AND RETURNING TO THE STARTING POINT.

• ACCURACY: A ROBOT’S ABILITY TO POSITION THE END EFFECTOR AT A SPECIFIED POINT IN SPACE UPON RECEIVING A CONTROL COMMAND WITHOUT PREVIOUSLY HAVING ATTAINED THAT POSITION.

• REPEATIBILITY: THE ABILITY OF A ROBOT TO RETURN CONSISTENTLY TO A PREVIOUSLY DEFINED AND ACHIEVED LOCATION.

• RESOLUTION: THE SMALLEST INCREMENTAL CHANGE IN POSITION THAT IT MAKE OR ITS CONTROL SYSTEM CAN MEASURE.

ROBOT SELECTION• ROBOT MUST BE MATCHED PROPERLY BY CAPABILITIES TO TASK

REQUIREMENTS.

• AN OBJECTIVE APPROACH TO ROBOT SELECTION PROVIDES FEWER RESTRICTIONS IN SYSTEM DESIGN BY ALLOWING FOR THE OPTIMUM SYSTEM DESIGN TO BE ACHIEVED REGARDLESS OF THE SPECIFIC ROBOT NEED.

• CRITERIA FOR ROBOT SELECTION:– TECHINICAL ISSUES:

• TYPE: NONSERVO, SERVO, SERVO-CONTROLLED• WORK ENVELOPE: RECTANGULAR, CYLINDIRCAL, SPHERICAL,

JOINTED ARM, SCARA• PAYLOAD• CYCLE TIME• REPEATABILITY• DRIVE: ELECTRIC, PNEUMATIC, HYDRAULIC, ANY COMBINATION• UNIQUE CAPABILITIES

– NON-TECHNICAL ISSUES:• COST AND BENEFIT CONSIDERATION• COMMONALITY OF EQUIPMENT• TRAINING AND MAINTENANCE REQUIREMENTS• RELIABILITY• SERVICE• “SYSTEMS” HELP• SAFETY

01_12

Spherical Manipulator

RRP Stanford arm

z0z1

z2

waist

shoulder

θ1

θ2

d3

Common Manipulator Arrangements

SCARA Manipulator

RRP Selective Compliant Articulated Robot for Assembly

z0

z1 z2

θ1

θ2

d3

Common Manipulator Arrangements

01_14

01 17

The figure shown above shows a two-link planar arm with rotary joints. Given that L1 = 2L2 and the joint ranges are

sketch the approximate reachable workspace of the tip of link 2.

Kinematics• Kinematics is the first step towards robot

position control.

Cartesian Space Joint Space Actuator Space

zy

x

Manual control and programming

Robot Kinematics– In order to control and program a

robot arm we must have knowledge of both it’s spatial arrangement and a means of reference to the environment.

– KINEMATICS - the analytical study of the geometry of motion of a robot arm with respect to a fixed reference co-ordinate system.

Forward Kinematics is the process of calculating the position in space of the end of a linked structure, given the angles and length of all the joints. There is only one solution.

Inverse Kinematics does the reverse. Given the end point of the structure, what angles do the joints need to be in the achieve that end point. It can be difficult, and there are usually many or infinitely many solutions.See reference guides for in depth study

Lets Look at Position and Orientation of the links first

5 DOF Arm

Description of a PositionThe position of any point in space, relative to a reference frame, can be described by a 3x1 position vector. For example, the position of point P with respect to frame A can be written as:

where Px, Py and Pz are the magnitudes of the projections of the line joining the point P and the origin on the x,y and z axes respectively.

Description of an Orientation

The orientation of a body in space can be described by attaching a coordinate system to it and then describing the vectors of its coordinate axes relative to a known frame of reference.

For example, the coordinate axes of Frame B can be describedrelative to a known coordinate system A by the following unit vectors:

Orientation of a single link

These three vectors can be combined to achieve a 3x3 matrix called a rotation matrix.

Rotation Matrix Properties

In order to perform this rotational matrix the rotations matrix from Frame B with respect to Frame A is equal to the inverse and transpose of the rotation matrix of Frame A with respect to frame B.

1- All the columns of a rotation matrix are orthogonal (having right angles) to each other.2- The determinant (same # of rows and columns) of a rotation matrix is 1.3- The inverse of a rotation matrix is equal to its transpose.

Let’s rotate about the Z-axis

If a reference frame (Frame A) is rotated by an angle αabout the z-axis to obtain a new frame (Frame B), the rotation matrix of the new frame is:

Rotation about the y-axis

If a reference frame (Frame A) is rotated by an angle β about the y-axis to obtain a new frame (Frame B), the rotation matrix of the new frame is:

Rotation about the x-axis

If a reference frame (Frame A) is rotated by an angle γ about the x-axis to obtain a new frame (Frame B), the rotation matrix of the new frame is:

Forward Kinematics (in a two joint configuration) The more joints you have the harder it is to figure it out. - given the joint variables and dimensions of the links what is the position and orientation of the end effector relative to the base?

(Px,Py,Pz)

θ2

θ1

a1

a2

Forward Kinematics

choose the base coordinate frame (base frame) of the robot and label it. we want (x, y) to be expressed in this frame.

θ2

θ1

a1

a2

(x, y) ?

x0

y0

Forward Kinematics

choose a coordinate frame with origin located on joint 2 with the same orientation as the base frame. For the first link we get ( a1 cos θ1 , a1 sin θ1 )

θ2

θ1

a1

a2

(x, y) ?

x0

y0

( a1 cos θ1 , a1 sin θ1 )

θ1

x1

y1

Forward Kinematics

notice that link 2 moves in a circle centered on frame 1. For the second link we get ( a2 cos (θ1 + θ2), a2 sin (θ1 + θ2) )

θ2

θ1

a1

a2

(x, y) ?

x0

y0

( a1 cos θ1 , a1 sin θ1 )

θ1

x1

y1

( a2 cos (θ1 + θ2), a2 sin (θ1 + θ2) )

Forward Kinematics

because the base frame and frame 1 have the same orientation, we can sum the coordinates to find the position of the end-effector in the base frame

θ2

θ1

a1

a2

x0

y0

( a1 cos θ1 , a1 sin θ1 )

θ1

x1

y1

( a2 cos (θ1 + θ2),a2 sin (θ1 + θ2) )

X=a1 cos θ1 + a2 cos (θ1 + θ2)Y= a1 sin θ1 + a2 sin (θ1 + θ2)

So we can get our X,Y point using the geometric approach. For the purpose of this class we will only deal with this

scenario

11/24/201455

X=a1 cos θ1 + a2 cos (θ1 + θ2)Y= a1 sin θ1 + a2 sin (θ1 + θ2)

Forward Kinematics

Inverse Kinematics

given the position (x, y) (and possiblythe orientation) of the end-effector, and the dimensionsof the links, what are the jointvariable angles

θ2 ?

θ1 ?

l1

l2

x0

y0

x2y2

(x, y)

Inverse Kinematics

harder than forward kinematics because there is often more than one possible solution

Notice in the lab the arm went its own way until you gave it an orientation in the program?

l1

l2

x0

y0

(x, y)

Inverse Kinematics

θ2 ?

l1

l2

x0

y0

(x, y)

b

−−+=

21

22

21

22

2arccosθ

llllyx

2

+

+=

xy2arctan

yx)sin(θarcsinθ

2222

1l

Derived equations from law of cosinesYou could have two answers depending of the path and origin

The Denavit-Hartenberg Notation Matrix

−−

−−−−

−−−−

1000cosαcosαsinαcosθsinαsinθsinαsinαcosαcosθcosαsinθ

0sinθcosθ

i1)(i1)(i1)(ii1)(ii

i1)(i1)(i1)(ii1)(ii

1)(iii

dd

a

Denavit-Hartenberg Matrix is a transformation matrix from one coordinate frame to the next. Using a series of D-H Matrix multiplications and the D-H Parameter table, the final result is a transformation matrix from some frame to your initial frame.

anglejoint offsetlink

link twistlengthlink

i

i

i

i

d

a

θ

α

Uses 4 parameters to describe how a frame (i) relates to a previous frame ( i -1 ).

• Denavit-Hartenberg Representation :

Simple way of modeling robot links and joints for any robot configuration,regardless of its sequence or complexity.

Transformations in any coordinatesis possible.

Any possible combinations of joints and links and all-revolute articulated robots can be represented.

Denavit-Hartenberg

Representation of Joint-Link-

Joint Transformation

• Alpha is applied first

There are other methods for getting the inverse kinematic values:

JacobeanYou can research those methods here:

http://www.intechopen.com/books/robot-arms/kinematics-of-adeptthree-robot-arm

Recommended videos:https://www.youtube.com/watch?v=VjsuBT4Npvk

The Jacobean defines the transformation between the robot hand velocity and the jointvelocity. Knowing the joint velocity, the joint angles and the parameters of the arm, theJacobean can be computed and the hand velocity calculated in terms of the hand Cartesiancoordinates. The Jacobean is an important component in many robot control algorithms.Normally, a control system receives sensory information about the robot’s environment,most naturally implemented using Cartesian coordinates, yet robots operate in the joint orworld coordinates. Transforms are needed between Cartesian coordinates and jointcoordinates and vice versa. The transformation between the velocity of the arm, in terms ofits joint speeds, and the velocity of the arm in Cartesian coordinates, in a particular frame ofreference, is very important.

Sample program in C has been uploaded to website to use as reference to create this program.

Extra Credit!

Consider the five axis CRS Robot Arm

Based on the info given below, write a program to calculate:

Now for Inverse Kinematics