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 coordinatevector
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
ForwardKinematicsForward
Kinematics
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-effectorvelocityvector
Joint velocityvector
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 AttitudesAddition 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
centripetalCoriolis
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
zxR
z
y
E
64
Exercise: Partial AnswerExercise: Partial Answer
zx
R
zy
E
zyx 3
q3
q2
z
xz
x 1y
x 0y
x2
zy
L1
L3
L2