advanced machinery dynamics - hiroshima university...dynamics related to equations of motion control...

64
1 Hiroshima University http://home.hiroshima-u.ac.jp/kikuuwe/ http://www.youtube.com/kikuuwe/ Ryo Kikuuwe, Professor Advanced Machinery Dynamics Advanced Machinery Dynamics

Upload: others

Post on 10-Feb-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

  • 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