robotics - cse4316€¦ · robotkinematics(cont.) robot workspace, reference frames. robot...

28
Robotics CSE4316 Assoc. Prof. Dr.Ing. Mohammed Nour [email protected] https://mnourgwad.github.io/CSE4316 Lecture 4: Robot Kinematics (cont.) Copyright ©2016 Dr.Ing. Mohammed Nour Abdelgwad Ahmed as part of the course work and learning material. All Rights Reserved. Where otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Zagazig University | Faculty of Engineering | Computer and Systems Engineering Department | Zagazig, Egypt

Upload: others

Post on 23-Jul-2020

12 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

RoboticsCSE4316

Assoc. Prof. Dr.Ing.

Mohammed [email protected]://mnourgwad.github.io/CSE4316

Lecture 4: Robot Kinematics (cont.)

Copyright ©2016 Dr.Ing. Mohammed Nour Abdelgwad Ahmed as part of the coursework and learning material. All Rights Reserved.Where otherwise noted, this work is licensed under a Creative CommonsAttribution-NonCommercial-ShareAlike 4.0 International License.

Zagazig University | Faculty of Engineering | Computer and Systems Engineering Department | Zagazig, Egypt

Page 2: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Lecture: 4

Robot Kinematics (cont.)

Robot Workspace, Reference Frames.

Robot Kinematics

Frames, Points and Vectors

Basic Transformations◮ Translation along X–Axis◮ Translation along XY–Axis

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 2 / 27

Page 3: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

WorkspaceWorkspace (Work Envelope)

The Workspace of the manipulator is the total volume swept out by the end effector as the manipulatorexecutes all possible motions.

Workspace is constrained by:

Geometry of the manipulator.

Mechanical constraint of the joints (a revolute joint may be limited to less than 360 degrees)

Reachable Workspace: the entire set of points reachable by the manipulator.

Dextrous Workspace: consists of those points that the manipulator can reach with an arbitraryorientation of the end effectors.

◮ Dextrous Workspace is a subset of Reachable Workspace.

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 3 / 27

Page 4: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Workspace

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 4 / 27

Page 5: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Robot Characteristics and Performance Measure

Payload: the max load a robot can handle

Reach: The maximum distance a robot can reach within its work envelope.

Precision (Accuracy, validity): how accurately a specified point can be reached.

Repeatability (variability): how accurately the same position can be reached if the motion isrepeated many times.

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 5 / 27

Page 6: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Robot Characteristics and Performance Measure

The work envelope of the robot, as viewed from the side.

payload at the wrist is 30 kg and repeatability is ±0.15 mm.

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 6 / 27

Page 7: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Reference FramesFrames with Standard Names

Most robots may be programmed to move relative to either of these reference frames.

frame

User/

World

frame

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 7 / 27

Page 8: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Reference FramesFrames with Standard Names

World Reference Frame

A universal coordinate frame, as defined by the x − y − z axes. In this case the joints of the robot movesimultaneously so as to create motions along the three major axes.

Joint Reference Frame

used to specify movements of each individual joint of the Robot. In this case each joint may beaccessed individually and thus only one joint moves at a time.

Tool Reference Frame

specifies the movements of the robot tool–tip relative to the frame attached to the hand. All joints ofthe robot move simultaneously to create coordinated motions about the Tool frame.

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 8 / 27

Page 9: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Robot Kinematics

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 9 / 27

Page 10: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Robot Kinematics

Kinematics

The branch of classical mechanics that describes the motion of objects without consideration of theforces that cause it

The study of movement

Why do you need it?◮ Determine endpoint position and/or joint positions◮ Calculate mechanism velocities, accelerations, etc.◮ Calculate force-torque

Allows you to move between Joint Space and Cartesian Space

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 10 / 27

Page 11: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Robot Kinematics

Forward kinematics: determines where the robot hand is (all joint variables are known)◮ you are given: length of each link, angle of each joint.◮ you find: position of any point (i.e. its (x, y, z) coordinates)

Joint Variables

(qn)

Joint Variables

(qn)

Forward KinematicsForward Kinematics

Inverse KinematicsInverse Kinematics

End effector

position (xyz)

End effector

position (xyz)

Inverse Kinematics: to calculate what each joint variable is (If we desire that the hand be locatedat a particular point)

◮ you are given: length of each link, position of some point on the robot◮ you find: The angles of each joint needed to obtain that position

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 11 / 27

Page 12: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Robot KinematicsJoint Variables

In forward kinematics we convert from Joint space to Cartesian Space

To reach a specific point in 3D space we need to get the required joint angles

Absolute (Sometimes)

x = L1 cos(θ1) + L2 cos(θ2)

y = L1 sin(θ1) + L2 sin(θ2)

Relative (usually)

x = L1 cos(θ1) + L2 cos(θ1 + θ2)

y = L1 sin(θ1) + L2 sin(θ1 + θ2)Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 12 / 27

Page 13: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Description of position and orientationFrames, Points and Vectors

A point corresponds a particular location in thespace.

3 coordinates relative to a reference frame:

P = ax i + by j + cz k

A vector is defined by direction and magnitude.

3 coordinates of its tail and of its head:

~P = ax i + by j + cz k

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 13 / 27

Page 14: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Description of position and orientationFrames

A coordinate frame in R2:

the point P = [xp0 , yp0 ]

T can be associated with the vector~V1.

Here xp0 denotes x-coordinate of point P in

{x0, o0, y0}-frame (i.e. in the 0-frame).

0 0.5 1 1.5 2 2.5 3

0

0.5

1

1.5

2

2.5

3

x0

y0

V1

o0

P

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 14 / 27

Page 15: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Description of position and orientationFrames

Two coordinate frames in R2:

the point P = [xp0 , yp0 ]

T = [xp1 , yp1 ]

T can be associated

with vectors ~V1 and ~V2.

Here xp1 denotes x-coordinate of point P in

{x1, o1, y1}-frame (i.e. in the 1-frame).

0 0.5 1 1.5 2 2.5 3

0

0.5

1

1.5

2

2.5

3

x0

y0

V1

o0

P x1y

1

V2

o1

coordinate frames in : the point

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 15 / 27

Page 16: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Description of position and orientationFrames

The coordinates of the vector ~V1 in the 0-frame [xp0 , yp0 ]

T

What would be coordinates of ~V1 in the 1-frame?

0 0.5 1 1.5 2 2.5 3 3.5

0

0.5

1

1.5

2

2.5

3

3.5

x0

y0

V1

0

o0

P x1y

1

o1

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 16 / 27

Page 17: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Description of position and orientationFrames

We need to consider the vector ~V11 of the same direction

and magnitude as ~V01 but with the origin in o1.

Conclusion: we can sum vectors only if they are expressedin parallel frames.

0 0.5 1 1.5 2 2.5 3 3.5

0

0.5

1

1.5

2

2.5

3

3.5

x0

y0

V1

0

o0

P x1y

1

o1

V1

1

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 17 / 27

Page 18: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Basic TransformationsTranslation along X–Axis

px = distance between the XY and NO coordinate frames

vXY =

[

vxvy

]

, vNO =

[

vNvO

]

, P =

[

px0

]

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 18 / 27

Page 19: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Basic TransformationsTranslation along X–Axis

Writing vXY in terms of vNO

vXY =

[

px + vnvo

]

= P + vNO

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 19 / 27

Page 20: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Basic TransformationsTranslation along XY–Axis

P =

[

pxpy

]

, vXY = P + vNO =

[

px + vnpy + vo

]

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 20 / 27

Page 21: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Basic Transformations2D Rotation

Representing one coordinate frame in terms of another:

R01 =

[

x01 y01

]

unit vectors are defined as:

x01 = |~x0| =

[

cos θsin θ

]

, y01 = |~y0| =

[

− sin θcos θ

]

R01 =

[

cos θ − sin θsin θ cos θ

]

This is called a rotation matrix

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 21 / 27

Page 22: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

RotationsRotation matrices as projections

Projecting the axes of O1 onto the axes of frame O0:

x01 =

[

(~x1 · ~x0)(~x1 · ~y0)

]

, y01 =

[

(~y1 · ~x0)(~y1 · ~y0)

]

R01 =

[

x01 (θ)∣

∣y01 (θ)

]

=

[

(~x1 · ~x0) (~y1 · ~x0)(~x1 · ~y0) (~y1 · ~y0)

]

=

[

|~x1||~x0| cos θ |~y1||~y0| cos(

θ + π2

)

|~x1||~x0| cos(

θ − π2

)

|~y1||~y0| cos θ

]

=

[

cos θ − sin θsin θ cos θ

]

0~a · ~b = a1 b1 + a2 b2 + a3 b3 = |~a| |~b| cos

(~a, ~b

)

0sin(θ) = − sin(−θ) = − cos(θ + 90◦) = cos(θ − 90◦), cos(θ) = cos(±θ) = sin(θ + 90◦) = − sin(θ − 90◦)Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 22 / 27

Page 23: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

RotationsProperties of rotation matrices

Rotation matrix has a number of interesting properties:

Inverse Rotations:

(

R01

)−1=

[

cos θ − sin θsin θ cos θ

]−1

=1

det (R01 )

[

cos θ sin θ− sin θ cos θ

]

=(

R01

)T

using odd/even properties (another interpretation)

R10 =

[

cos(−θ) − sin(−θ)sin(−θ) cos(−θ)

]

=

[

cos θ sin θ− sin θ cos θ

]

=(

R01

)T

0sin(θ) = − sin(−θ) = − cos(θ + 90◦) = cos(θ − 90◦), cos(θ) = cos(±θ) = sin(θ + 90◦) = − sin(θ − 90◦)Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 23 / 27

Page 24: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

RotationsProperties of rotation matrices

Columns (rows) of R are mutually orthogonal

Each column (row) of R is a unit vector

The determinant of a rotation matrix is always ±1◮ +1 if we only use right-hand convention

det (R) =

cos θ − sin θsin θ cos θ

= cos2(θ) + sin2(θ) = 1

The set of all n × n matrices (X ) that satisfies these properties are called the Special OrthogonalGroup of order n

X−1 = XT ⇒ XXT = In, det(XXT ) = 1 = det(X )det(XT ) = det(X )2

X ∈ O(n). If detX = 1 ⇒ X ∈ SO(n)

0cos2(θ) + sin2(θ) = 1Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 24 / 27

Page 25: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

RotationsRotation around the Z-Axis

θ = Angle of rotation between the XY and NO frames

vXY =

[

vxvy

]

, vNO =

[

vNvO

]

vXY =

[

vxvy

]

=

[

cos(θ) − sin(θ)sin(θ) cos(θ)

] [

vNvO

]

vXY = RXYNO vNO

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 25 / 27

Page 26: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

RotationsRotation Around Major Axes

Rotation around the Z-Axis

Rz,θ =

cos θ − sin θ 0sin θ cos θ 00 0 1

Rotation around the Y-Axis

Ry ,θ =

cos θ 0 sin θ0 1 0

− sin θ 0 cos θ

Rotation around the X-Axis

Rx,θ =

1 0 00 cos θ − sin θ0 sin θ cos θ

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 26 / 27

Page 27: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Frame TransformationTranslation Followed by Rotation

Translation along P followed by rotation by θ around Z-axis

vXY =

[

vxvy

]

=

[

pxpy

]

+

[

cos θ − sin θsin θ cos θ

] [

vNvO

]

px , py are relative to the original coordinate frame.

Translation followed by rotation is different than rotation followed by translation.

knowing the coordinates of a point (VN ,VO) in some coordinate frame {NO} you can find theposition of that point relative to another coordinate frame {X0,Y0}.

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 27 / 27

Page 28: Robotics - CSE4316€¦ · RobotKinematics(cont.) Robot Workspace, Reference Frames. Robot Kinematics Frames, Points and Vectors Basic Transformations Translation along X–Axis Translation

Thanks for your attention.

Questions?

Assoc. Prof. Dr.Ing.

Mohammed [email protected]://mnourgwad.github.io/CSE4316 Robotics Research Interest Group (zuR2IG)

Zagazig University | Faculty of Engineering | Computerand Systems Engineering Department | Zagazig, Egypt

Copyright ©2016 Dr.Ing. Mohammed Nour Abdelgwad Ahmed as part of the course work and learning material. All Rights Reserved.Where otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 28 / 27