Advanced Machinery Dynamics - Hiroshima...

Preview:

Citation preview

1

Hiroshima University

http://home.hiroshima-u.ac.jp/kikuuwe/

http://www.youtube.com/kikuuwe/

Ryo Kikuuwe, Professor

Advanced Machinery DynamicsAdvanced Machinery Dynamics

2

Important notes:Important notes: This course will be held in English.

You need a PC to participate the class.

You need to have Mathematica installed in your PC.

You need to have an internet connection during the class.

You need to check the Course Website on a regular basis.

3

Contents of this courseContents of this courseBasically, Robotics: especially on mechanical-

engineering aspect (as opposed to informatics aspect) of robotics

Textbook: “Foundation of Robotics” by Tsuneo Yoshikawa

Every exercise problem includes Mathematica programming.

4

Contents of this courseContents of this courseKinematics

Relation between joint angle vs position, etc. Mathematical representations of position, attitude,

and its derivatives.

Dynamics Related to Equations of Motion

Control Position control Force control

5

MathematicaMathematicaTry

Simplify[ X^2 + 2 X Y + Y^2 ] a=1; 2 a^2 Plot[ t^2 + 2 t ,{t,-1,2}] D[x^2,x]

6

Kinematics 1:Kinematics 1:Forward/Inverse Kinematics ofForward/Inverse Kinematics of

Planar RobotPlanar Robot

Kinematics 1:Kinematics 1:Forward/Inverse Kinematics ofForward/Inverse Kinematics of

Planar RobotPlanar Robot

7

KinematicsKinematics

Task coordinatevector

Joint coordinate

vector

Relation between the joint angles and the end-effector’s position & attitude

Nonlinear function

Planar 3-DOF robot

This is the “kinematics” of the robot

8

Forward vs Inverse KinematicsForward vs Inverse Kinematics

Joint coordinate Task coordinate

ForwardKinematics

ForwardKinematics

InverseKinematics

InverseKinematics

9

Forward vs Inverse KinematicsForward vs Inverse Kinematics Forward Kinematics:

“Joint” to “Task Usually easy

Inverse Kinematics:

“task” to “joint” Usually, complicated May need inverse

functions such as Arcsin Solution may not exist or

may not be unique

Just compute it

Solve it as a simultaneous

equations

10

ExampleExampleForward Kinematics:

Inverse Kinematics:

11

Useful formulaUseful formula

c

θ

(b,a)

12

Exercise (kinematics/planar/3D)Exercise (kinematics/planar/3D) Download the file

“1a_kinema_planar_2d.nb” and modify it into a program like this:

13

Kinematics 2:Kinematics 2:Jacobian of Planar RobotsJacobian of Planar Robots

Kinematics 2:Kinematics 2:Jacobian of Planar RobotsJacobian of Planar Robots

14

JacobianJacobian

Matrix J(q) depend only on q Relation between and is linear.

Relation among velocity?

End-effectorvelocity

vector

Joint velocity

vector

Jacobian (Jacobian matrix)

15

Exercise: JacobianExercise: JacobianGet the Jacobian matrix of this robot using

Mathematica

16

ExerciseExerciseVisualize the Jacobian as an ellipsoid

Give sinusoidal motion to the joints.

Then, what motion happens at the end-effector?

17

StaticsStatics “Reversed” version of kinematics It deals with equilibrium

: Joint torque vector

What relation exists between them?

: force/moment from the end-effector to the environment

18

“At equilibrium, the total work done by external forces causing any possible combination of infinitesimal displacement is zero.”

For all satisfying , is satisfied, and thus is also satisfied.

Statics: Principle of virtual workStatics: Principle of virtual work

These ¿ and f are said to be “statically equivalent” to each other.

Virtual work: the work done by virtual force causing infinitesimal displacement.

19

DualityDuality

Work

Velocity vs velocity

Force vs force:

20

Singular configurationSingular configurationConfiguration of robot at which the Jacobian is

rank-deficient:

If Jacobian is rank-deficient, there exists a task-space velocity that cannot be realized by any joint velocity .

In the neighborhood of singular configuration, inverse Jacobian and Inverse kinematics is dangerous. Includes division by very small value, which

results in very large value.

21

ExerciseExerciseFind the singular configuration of this robot

22

Exercise 2 (statics/planar/2D)Exercise 2 (statics/planar/2D) Download the file

“2_statics_planar_2d_temp.nb” and modify it into a program like this.

We can set {q1, q2, τ1, τ2} and the “statically equivalent force” {fx fy} is visualized.

You will see that the singular configuration makes huge force.

23

Kinematics 3:Kinematics 3:Rigid Body in 3D SpaceRigid Body in 3D Space

Kinematics 3:Kinematics 3:Rigid Body in 3D SpaceRigid Body in 3D Space

24

Position, velocity, attitude, ang.velo.Position, velocity, attitude, ang.velo.Position: 3D vector

Velocity: 3D vector

Angular velocity: 3D vector Rotation *around* this vector Imagine right-handed screw

Attitude: many different representations Euler angles, Roll/Pitch/Yaw angles, Rotation matrix

Something like derivative

derivative

25

Attitude: *basically* 3DOF but...Attitude: *basically* 3DOF but... Euler angles

Suffers from “representational singularity” or “Gimbal lock”

Roll/Pitch/Yaw angles ditto

Rotation Matrix (Attitude Matrix) 9 (3x3) numbers but 6constraints: 3DOF

Rotation Vector Its direction indicates attitude & Its length indicates angle.

Unit Quaternion 4 numbers, but length is constrained: 3DOF

26

About AttitudesAbout Attitudes

Addition and subtraction do not work among attitudes.

Derivative of the attitude is not an angular velocity.

It is physically meaningless to integrate angular velocity along time. (It does not provide attitude)

27

Rotation MatrixRotation Matrix

Its inverse is its transform. (Very convenient!)

All column & row vectors are unit vectors. They are orthogonal to each other Its determinant is one (as opposed to minus one). Column vectors coincide with the axes of the frame

28

ConventionsConventionsHow do we express the frame A? In computer graphics:

“ represents A.”

In robotics:

“ represents A.”

seen in the world frame:

Usually known

seen in the body frame:

Usually unknown

seen in the world frame:

Usually unknown

seen in the body frame:

Usually known

29

Operations of Attitude MatricesOperations of Attitude Matrices Attitude of Frame B seen from Frame A Vector from Point P to Point Q seen from

Frame B:

Calculation among rotation matrices:

Vector from Point P to Point Q seen from Frame A:

Right-subscript and left-superscript cancel each other. (Intuitive and convenient!)

30

3-Angle Representations3-Angle RepresentationsRoll/pitch/yaw angles

around z

around z

around x or y

Á

µ

Ã

roll

yaw

pitch

Be careful! There are several definitions Different axes, different orders of rotations

Suffers from “gimbal lock” (representational singularity) Hard to express the relation between two attitudes

Euler angles

around z

around z

around x or y

around z

around x

around y

31

Euler Angles vs Rotation MatrixEuler Angles vs Rotation Matrix

around z

around z

Á

µ

Ã

around y p.21, (2.31) in Textbook

F

A

B

C

Euler Angles → Rotation Matrix

Rotation Matrix → Euler Angles

32

Roll/Pitch/Yaw Angles vs Rot. Mat.Roll/Pitch/Yaw Angles vs Rot. Mat.

roll

yaw

pitch

around z

around x

around y

Rotation Matrix → R/P/Y Angles

R/P/Y Angles → Rotation Matrix

F

A

B

C

[ Exercise ]

Answer for Problem 2.1, p.277 of Textbook

33

Rotation VectorRotation Vector Its direction represents the axis. Its length

represents the angle. Important: “Every pair of two attitudes is

connected by a rotation along a single axis.

When the rotation vector is given as ,

its correspondent rotation matrix is:

where

“Rodrigues' rotation formula”

34

Rotation Vector vs Rotation MatrixRotation Vector vs Rotation Matrix

( )

35

Rotation Vector vs Ang.Velo. VectorRotation Vector vs Ang.Velo. Vector

Rotation with a constant angular velocity vector ! for time T results in an attitude represented by the rotation vector ®=T! .

If the difference between the current attitude and the attitude of ¢T later is represented by a rotation vector ¢®, the angular velocity vector is !=¢®/¢T.

Based on similar idea Direction indicates axes Length indicates magnituide

36

QuaternionQuaternion

Attitude in 3D space A point on the 4D unit hypersphere

Attitude in 2D space → just a “direction” A point on the unit circle

µx

y

q1

q2

q4

q3

is the rotation axis. θ is the angle.where

37

Operations of QuaternionsOperations of Quaternions Attitude of Frame B seen from Frame A Vector from P to Q seen from Frame B: Vector from P to Q seen from Frame A:

Conjugate quaternion Quaternion multiplication

Composition of rotations:

Vec. sandwichedby quaternions

38

Quaternion vs Rotation MatrixQuaternion vs Rotation Matrix

where

,

,

39

Useful ReferenceUseful Reference James Diebel, "Representing Attitude: Euler Angles,

Unit Quaternions, and Rotation Vectors", unpublished material available online at http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.110.5134, 2006.

CAUTION: They use a computer-graphics convention of representing attitudes. It is different from robotics convention.

40

Kinematics 4:Kinematics 4:Angular VelocityAngular Velocity

Kinematics 4:Kinematics 4:Angular VelocityAngular Velocity

41

Rotation Matrix Rate vs Ang. Vel.Rotation Matrix Rate vs Ang. Vel.

where

When a rotation matrix is differentiated, the angular velocity appears in front of the matrix.

(It may be similar to exponential function)

42

ExerciseExerciseCheck the relation between the rotation vector

and the angular velocity vector. (You can assume that A is rotating at a constant

angular velocity omega around the axis [kx,ky,kz])

43

(Advanced)(Advanced)Rotation from A to A’ seen from F

44

Euler Angle Rates vs Ang. Vel.Euler Angle Rates vs Ang. Vel.Euler angle rate (zyz type) vs angular velocity

Transformed through a 3x3 matrixNo inverse transform when

(“gimbal lock” or “representational singularity”)

45

Quaternion Rate vs Ang. Vel.Quaternion Rate vs Ang. Vel.

where

46

Exercise: Conversions among Exercise: Conversions among Attitude Representations Attitude Representations Download the file “2d_rotation_euler_rpy_tmp.nb”

and modify it into a program like this:

47

Kinematics 5:Kinematics 5:Coordinate TransformationCoordinate Transformation

Kinematics 5:Kinematics 5:Coordinate TransformationCoordinate Transformation

48

Homogeneous Transformation Homogeneous Transformation Matrix Matrix Combines a position vector and an attitude matrix

It’s convenient because

49

Coordinate Transformation Coordinate Transformation including translationincluding translationCombines position vector and attitude matrix

50

Its derivativesIts derivatives

centripetal

Coriolis

Centrifugal (centripetal) & Coriolis forces are rooted in the kinematics, not dynamics.

51

Inverse of Homogeneous Inverse of Homogeneous Transformation Matrix Transformation Matrix

Exercise: prove

Answer:

52

Kinematics 6:Kinematics 6:Robotic Mechanism in 3DRobotic Mechanism in 3D

DH ParametersDH Parameters

Kinematics 6:Kinematics 6:Robotic Mechanism in 3DRobotic Mechanism in 3D

DH ParametersDH Parameters

53

““Mathematical Model” of a robotMathematical Model” of a robot Each “joint axis” should be

The line coinciding with the rotational axis of a Revolute joint, or

An arbitrary line parallel to the direction of the translation of a Prismatic joint

The link between two joints should be: Common normal line of the two joint axes. It may not coincide with the real link.

Joints of the mathematical model

Links of the mathematical model

54

Link Frame (Each link has a Frame)Link Frame (Each link has a Frame)Frame k (of Link k, Joint k to Joint (k+1)):

Its origin is set to Joint k Its Z axis is set aligned to the k-th joint axis Its X axis is set as common normal to k-th and

(k+1)-th joint axes

Link k

Joint k Joint k+1

x

yz

x

yz

Frame k

Frame k+1

55

DH (Denavit-Hartenberg) parameters DH (Denavit-Hartenberg) parameters

x

yz

Frame k

x

yz

Frame k+1

How can we reach from Frame k to Frame k+1?

4 parameters/joint

56

Then we can get T of End-effectorThen we can get T of End-effector

57

Kinematics 7:Kinematics 7:Jacobian Matrix in 3DJacobian Matrix in 3D

Kinematics 7:Kinematics 7:Jacobian Matrix in 3DJacobian Matrix in 3D

58

Jacobian in 3DJacobian in 3D Jacobian as the Gradient of Forward

Kinematics: sometimes inconvenient

If we use 3-angle representation for forward kinematics, Jacobian provides the rates of “3-angles”, which is physically meaningless

Eulerangles

Euleranglerates

where

59

Jacobian from velocity to velocity Jacobian from velocity to velocity Make it physically more meaningful

Eulerangles

Euleranglerates

where

angularvelocity

60

DualityDuality

v is composed of velocity and angular velocity vector Angular velocity is not a derivative of something, So, v is not a derivative of something either. External moment is dual to the end-effector angular

velocity (Euler angle rates cannot be used.)

Work per time

Velocity vs velocity

Force vs force:

61

Exercise ProblemsExercise ProblemsExercise ProblemsExercise Problems

62

ExerciseExercise Let us consider there is a robot having a camera

attached to its end-effector, and the camera is watching an external object. Let us denote the base frame by R, the end-effector’s frame by A, and the external-object’s frame by B. The end-effector is located at the position [1 m,1 m,1 m]T and its Euler angles are {20 deg, 30 deg, 10 deg} with respect to the frame R. The external object is located at [2 m,2 m, 2 m]T and its Euler angles are {10 deg, 50 deg, 40 deg} with respect to the frame A. Compute the position and the Euler angles of the external object with respect to the frame R.

63

ExerciseExercise Let us consider a 3-DOF

spatial manipulator like this figure. Answer the following questions: Define link frames 0,1,2,3 and

write the DH parameter table. Write the homogeneous

transformation matrices and .

Derive the forward kinematics Derive the Jacobian matrix

zx

R

z

y

E

64

Exercise: Partial AnswerExercise: Partial Answer

zx

R

z

y

E

zyx 3

q3

q2

z

xz

x 1

y

x 0

y

x2

zy

L1

L3

L2

Recommended