Top Banner
Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1
88

Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

Jul 21, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

Robot Dynamics

Dr.-Ing. John Nassour

Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik

25.01.2018 J.Nassour 1

Page 2: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 2

Introduction

• Dynamics concerns the motion of bodies

• Includes• Kinematics – study of motion without reference to the force

that cause it• Kinetics – relates these forces to the motion

• Dynamic behaviour of a robot: rate of change of arm configuration in relation to the torques exerted by the actuators.

Page 3: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 3

Forward vs. Inverse

Forward dynamicsGiven vector of joint torques, work out the resulting manipulator motion.

𝜏 𝑡 =𝜏1⋮𝜏𝑛

→ 𝑞(𝑡) =

𝑞1⋮𝑞𝑛

Inverse DynamicsGiven a vector of manipulator positions, velocities and acceleration. Find the required vector of joint torques.

𝑞 𝑡 , 𝑞 𝑡 , 𝑞(𝑡) → 𝜏 𝑡

Page 4: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 4

Torques

The actuator has to balance torques from 4 different sources: • Dynamic torques (caused by the motion)

• Inertial (promotional to joint acceleration, according to Newton’s law)• Centripetal (promotional to square of joint velocity, direction toward the

centre of circular motion)• Coriolis (vertical forces, interaction of two rotating links)

• Static torques (caused by friction)• Gravity torques (caused by gravity)• External torques (exerted on the end effector, caused by the task)

Page 5: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 5

A centripetal force is a force that makes a body follow a curved path. Its direction is always orthogonal to the velocity of the body and towards the fixed point of the instantaneous center of curvature of the path.

Centripetal Force

Page 6: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 6

Centrifugal Force

Page 7: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 7

The Coriolis Effect

Page 8: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 8

Manipulator Dynamics

Mathematical equations describing the dynamic behaviour of the manipulator.

Why needed? Simulation of the manipulator Design a suitable controller Evaluate the robot structure

Joint torques ⟺ Robot motion, i.e. acceleration, velocity, position

Page 9: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 9

Approaches to Dynamic Modeling

Newton-Euler FormulationBalance of forces/torques Dynamic equations in numeric/recursive form.

Lagrange Formulation Energy-Based approach Dynamic equations in symbolic/closed form

Other Formulations

Page 10: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 10

Joint Space Dynamics

𝑴 𝒒 𝒒 + 𝑽 𝒒, 𝒒 + 𝑮 𝒒 = 𝜞

𝒒: Generalized joint coordinates 𝑴 𝒒 : Mass Matrix – Kinetic Energy Matrix 𝑽 𝒒, 𝒒 : Centrifugal and Coriolis forces 𝑮 𝒒 : Gravity force 𝜞: Generalized forces

Page 11: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 11

Newton-Euler FormulationIn static equilibrium Fi and Ni are equal to 0.

Newton:Linear motion𝒎𝒊 𝒗𝒄𝒊 = 𝑭𝒊

Euler:Angular Moment = inertia. Acc. + Centrifugal and Coriolis forces. 𝑵𝒊 = 𝑰𝑪𝒊 𝝎𝒊 +𝝎𝒊 × 𝑰𝑪𝒊𝝎𝒊 Fi

Ni

Link i

-fi+1

-ni+1

-fi-1

-ni-1mi

ICi

𝜏𝑖 = 𝑛𝑖

𝑇 . 𝑧𝑖

𝑓𝑖𝑇 . 𝑧𝑖

RevolutePrismatic

By projecting on each axis we eliminate the internal forces acting on the links, we find therefor the torques applied on each joint axis.

Page 12: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 12

Lagrange Formulation

Link 1

Base

Link 2

Link n-1

Joint 1

Joint 2

Joint 3

Joint n

Joint n-1

Kinetic Energy of each link Ki

Potential energy Pi

The kinetic energy of the robot:

𝐾 =

𝑖

𝐾𝑖

𝐾 =1

2 𝑞𝑇 . 𝑀. 𝑞

By computing M, we can use it in:

𝑴 𝒒 + 𝑽 + 𝑮 = 𝝉

Page 13: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 13

Lagrange Formulation

𝑑

𝑑𝑡

𝜕𝐿

𝜕 𝑞𝑖−𝜕𝐿

𝜕𝑞𝑖= 𝜏𝑖

Lagrange function is defined 𝐿 = 𝐾 − 𝑃

𝐾: Total kinetic energy of the robot.𝑃: Total potential energy of the robot.𝑞𝑖: Joint variable of i-th joint. 𝑞𝑖: first time derivative of 𝑞𝑖𝜏𝑖: Generalized force (torque) at i-th joint.

Page 14: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 14

Center of Mass

COM is the point on a body that moves in the same way that a single particle subject to the same external force will move.

𝑟𝑐𝑚 =1

𝑀 𝑟. 𝑑𝑚 =

1

𝑀

1

𝑖

𝑚𝑖𝑟𝑖

𝑟𝑐𝑚 is the location of the centre of mass. 𝑀 is the total mass of the object𝑟 is the location of the reference frame. 𝑑𝑚 is the differential element of mass at point 𝑟.

Page 15: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 15

Inertia

The tendency of a body to remain in a state of rest or uniform motion.

Inertial frame: the frame in which this state is measured (a frame at rest or moving with constant velocity).

Non-Inertial frame: a frame that is accelerating with respect to the inertial frame.

Page 16: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 16

Moment of Inertia

Moment of inertia is the rotational inertia of a body with respect to the axis of rotation. Moment of inertia depends on the axis and on the manner in which the mass is distributed. It is equal to the sum of the product between mass of particles and the square of their distance to the axis of rotation.

𝐼 =

1

𝑖

𝑚𝑖𝑟𝑖2

Where 𝑚𝑖 is the mass of particle 𝑖, and 𝑟𝑖 is the distance to the particle 𝑖.

Page 17: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 17

Moment of Inertia

For a rigid body with a continuous distribution of mass, summation becomes integral over the whole body:

𝐼 = 𝑟2𝑑𝑚

Example: Inertia of a cylinder (length 𝒍, mass 𝑴):

Consider the cylinder made up of an infinite number of cylinders thickness 𝒅𝒓, at radius 𝒓, of mass 𝒅𝒎, and volume 𝒅𝑽.

𝑑𝑚 = 𝜌. 𝑑𝑉 = 2𝜋𝑙𝜌𝑟𝑑𝑟

𝐼 = 𝑟2𝑑𝑚 = 2𝜋𝑙 𝜌𝑟3𝑑𝑟 = 2𝜋𝑙𝜌𝑟24 − 𝑟1

4

4= 𝑀

𝑟22 + 𝑟1

2

4

Page 18: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 18

Inertia TensorA rigid body, free to move in space, has an infinite number of possible rotation axis.

The inertia matrix ( Inertia tensor) is the integral over the volume of all the vectors 𝒓 locating all the points 𝒅𝒗 on the rigid body and scaled by the density of all the masses 𝒅𝒎 of the rigid body.

For a rigid body rotating about a fixed point, which isnot the centre of the mass, the inertia tensor is:

𝐼 =

𝐼𝑥𝑥 −𝐼𝑥𝑦 −𝐼𝑥𝑧−𝐼𝑦𝑥 𝐼𝑦𝑦 −𝐼𝑦𝑧−𝐼𝑧𝑥 −𝐼𝑧𝑦 𝐼𝑧𝑧

Page 19: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 19

Inertia Tensor

𝐼 =

𝐼𝑥𝑥 −𝐼𝑥𝑦 −𝐼𝑥𝑧−𝐼𝑦𝑥 𝐼𝑦𝑦 −𝐼𝑦𝑧−𝐼𝑧𝑥 −𝐼𝑧𝑦 𝐼𝑧𝑧

Mass moments of inertia (diagonal terms):

𝐼𝑥𝑥 = 𝑦2 + 𝑧2 𝜌 𝑑𝑣

𝐼𝑦𝑦 = 𝑥2 + 𝑧2 𝜌 𝑑𝑣

𝐼𝑧𝑧 = 𝑥2 + 𝑦2 𝜌 𝑑𝑣

Mass products of inertia (off-diagonal terms):

𝐼𝑥𝑦 = 𝑥𝑦 𝜌 𝑑𝑣

𝐼𝑥𝑧 = 𝑥𝑧 𝜌 𝑑𝑣

𝐼𝑦𝑧 = 𝑦𝑧 𝜌 𝑑𝑣

Page 20: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 20

Example

Find the inertia tensor of a rectangle rotating about a fixed point A.

𝐼𝑥𝑥 = 𝑦2 + 𝑧2 𝜌 𝑑𝑣

𝐼𝑥𝑥 = 0

0

𝑙

0

𝑤

𝑦2 + 𝑧2 𝜌 𝑑𝑥𝑑𝑦𝑑𝑧

𝐼𝑥𝑥 = 0

0

𝑙

𝑦2 + 𝑧2 𝑤 𝜌 𝑑𝑦𝑑𝑧

𝐼𝑥𝑥 = 0

[𝑦3

3+ 𝑧2𝑦 ]0

𝑙 𝑤 𝜌 𝑑𝑧

𝐼𝑥𝑥 = 0

ℎ 𝑙3

3+ 𝑧2𝑙 𝑤 𝜌 𝑑𝑧

𝐼𝑥𝑥 = 𝑙3𝑧

3+𝑧3𝑙

30

𝑤 𝜌

𝑰𝒙𝒙 =𝒍𝟑𝒉

𝟑+𝒉𝟑𝒍

𝟑𝒘 𝝆

Page 21: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 21

Example

Find the inertia tensor of a rectangle rotating about a fixed point A.

𝑰𝒙𝒙 =𝒍𝟑𝒉

𝟑+𝒉𝟑𝒍

𝟑𝒘 𝝆

Since the mass of the rectangle:

𝑚 = 𝑤𝑙ℎ 𝜌

𝑰𝒙𝒙 =𝒎

𝟑𝒍𝟐 + 𝒉𝟐

Page 22: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 22

Example

Find the inertia tensor of a rectangle rotating about a fixed point A.

Page 23: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 23

Translation of Inertia Tensor

Parallel axis theorem.

Moments of inertia:

𝐴𝐼𝑧𝑧 =

𝐶𝑀𝐼𝑧𝑧 +𝑚(𝑟𝑥

2 + 𝑟𝑦2)

Product of inertia:

𝐴𝐼𝑥𝑦 =

𝐶𝑀𝐼𝑥𝑦 +𝑚(𝑟𝑥 𝑟𝑦)

Page 24: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 24

Example

Find the inertia tensor of a rectangle rotating about the COM.

Page 25: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 25

Example

Find the inertia tensor of a rectangle rotating about the COM.

Page 26: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 26

Example

Find the inertia tensor of a rectangle rotating about the COM.

Page 27: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 27

Example

Find the inertia tensor of a rectangle rotating about the COM.

Page 28: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 28

Example

Find the inertia tensor of a rectangle rotating about the COM.

Page 29: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 29

Example

Moving the axes of rotation to the centre of mass results in a diagonal inertia tensor.

Page 30: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 30

Lagrange Formulation

𝒅

𝒅𝒕

𝝏𝑳

𝝏 𝒒−𝝏𝑳

𝝏𝒒= 𝝉

Lagrange function is defined 𝑳 = 𝑲 − 𝑷

𝐾: Total kinetic energy of the robot.𝑃: Total potential energy of the robot.𝑞 : Joint variable. 𝑞 : first time derivative of 𝑞𝜏 : Generalized force (torque).

Page 31: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 31

Lagrange Formulation

𝒅

𝒅𝒕

𝝏𝑳

𝝏 𝒒−𝝏𝑳

𝝏𝒒= 𝝉

Lagrange function is defined 𝑳 = 𝑲 − 𝑷

Since 𝑃 = 𝑃 𝑞

𝒅

𝒅𝒕

𝝏𝑲

𝝏 𝒒𝒊−𝝏𝑲

𝝏𝒒+𝝏𝑷

𝝏𝒒= 𝝉

Inertial forces Gravity vector (gradient of potential energy)

Page 32: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 32

Lagrange Formulation

𝒅

𝒅𝒕

𝝏𝑲

𝝏 𝒒𝒊−𝝏𝑲

𝝏𝒒= 𝝉 − 𝑮 𝒒 , 𝑮 𝒒 =

𝝏𝑷

𝝏𝒒

This equation can be written in the following from:

Joint Space Dynamics

𝑴 𝒒 𝒒 + 𝑽 𝒒, 𝒒 + 𝑮 𝒒 = 𝜞

𝑴 𝒒 𝒒 + 𝑽 𝒒, 𝒒 = 𝜞 − 𝑮 𝒒

Inertial forces

Page 33: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 33

Lagrange Formulation𝒅

𝒅𝒕

𝝏𝑲

𝝏 𝒒𝒊−𝝏𝑲

𝝏𝒒= 𝝉 − 𝑮

𝑲 =𝟏

𝟐 𝒒𝑻𝑴(𝒒) 𝒒

𝝏𝑲

𝝏 𝒒𝒊=

𝝏

𝝏 𝒒𝒊

𝟏

𝟐 𝒒𝑻𝑴 𝒒 𝒒 = 𝑴(𝒒) 𝒒

𝒅

𝒅𝒕

𝝏𝑲

𝝏 𝒒𝒊=

𝒅

𝒅𝒕𝑴 𝒒 = 𝑴 𝒒 + 𝑴 𝒒

𝒅

𝒅𝒕

𝝏𝑲

𝝏 𝒒𝒊−𝝏𝑲

𝝏𝒒= 𝑴 𝒒 + 𝑴 𝒒 −

𝟏

𝟐

𝒒𝑻𝝏𝑴

𝝏𝒒𝟏 𝒒

𝒒𝑻𝝏𝑴

𝝏𝒒𝒏 𝒒

= 𝑴 𝒒 + 𝑽(𝒒, 𝒒)

Page 34: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 34

Lagrange Formulation

𝒅

𝒅𝒕

𝝏𝑲

𝝏 𝒒𝒊−𝝏𝑲

𝝏𝒒= 𝑴 𝒒 + 𝑴 𝒒 −

𝟏

𝟐

𝒒𝑻𝝏𝑴

𝝏𝒒𝟏 𝒒

𝒒𝑻𝝏𝑴

𝝏𝒒𝒏 𝒒

= 𝑴 𝒒 + 𝑽(𝒒, 𝒒)

If 𝒒 = 𝟎, 𝑽 𝒒, 𝒒 = 𝟎

If 𝑀 = 𝐶𝑂𝑁𝑆𝑇𝐴𝑁𝑇, , 𝑽 𝒒, 𝒒 = 𝟎

We need to compute M from the kinetic energy equations then we have the dynamics of the robot.

Centrifugal and Coriolis forces

Page 35: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 35

Dynamic Equations

𝒅

𝒅𝒕

𝝏𝑲

𝝏 𝒒𝒊−𝝏𝑲

𝝏𝒒= 𝑴 𝒒 + 𝑴 𝒒 −

𝟏

𝟐

𝒒𝑻𝝏𝑴

𝝏𝒒𝟏 𝒒

𝒒𝑻𝝏𝑴

𝝏𝒒𝒏 𝒒

= 𝑴 𝒒 + 𝑽(𝒒, 𝒒)

𝑴 𝒒 𝒒 + 𝑽 𝒒, 𝒒 + 𝑮 𝒒 = 𝝉

𝑲 =𝟏

𝟐 𝒒𝑻𝑴 𝒒 𝒒 ⟹ 𝑴 𝒒

𝑴 𝒒 ⟹ 𝑽 𝒒, 𝒒

Page 36: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 36

Dynamic Equations

Link 1

Base

Link 2Link i

Joint 1

Joint 2

Joint 3

Joint i+1

Joint i

𝝎𝒊 𝒗𝑪𝒊

Total kinetic energy

𝐾 = 𝐾𝐿𝑖𝑛𝑘 𝑖 =1

2 𝑞𝑇𝑀 𝑞

Page 37: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 37

Kinetic Energy

Work done by external forces to bring the system from rest to its current state.

𝐾 =1

2𝑚𝑣2

𝐾 =1

2𝜔𝑇 𝐼𝐶 𝜔

𝐼𝐶 is a matrix 𝜔 is a vector

𝑚

𝑣

𝐹

𝐼𝐶

𝜔

𝜏

Page 38: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 38

Dynamic Equations

Link 1

Base

Link 2Link i

Joint 1

Joint 2

Joint 3

Joint i+1

Joint i

𝝎𝒊 𝒗𝑪𝒊

The kinetic energy for link i:

𝐾𝑖 =1

2(𝑚𝑖𝑣𝐶𝑖

𝑇 𝑣𝐶𝑖 +𝜔𝑖𝑇𝐼𝐶𝑖𝜔𝑖)

Total kinetic energy:

𝐾 =

𝑖=1

𝑛

𝐾𝑖

Page 39: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 39

Dynamic Equations

Kinetic energy in quadratic form of generalized velocities:

𝐾 =1

2 𝑞𝑇𝑀 𝑞

Then we can write:

1

2 𝑞𝑇𝑀 𝑞 =

1

2

𝑖=1

𝑛

(𝑚𝑖𝑣𝐶𝑖𝑇 𝑣𝐶𝑖 +𝜔𝑖

𝑇𝐼𝐶𝑖𝜔𝑖)

How extract the mass matrix 𝑴?

Page 40: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 40

Dynamic Equations

Kinetic energy in quadratic form of generalized velocities:

𝐾 =1

2 𝑞𝑇𝑀 𝑞

Then we can write:

1

2 𝑞𝑇𝑀 𝑞 =

1

2

𝑖=1

𝑛

(𝑚𝑖𝑣𝐶𝑖𝑇 𝑣𝐶𝑖 +𝜔𝑖

𝑇𝐼𝐶𝑖𝜔𝑖)

How extract the mass matrix 𝑴? 𝑣𝐶𝑖 = 𝒥𝑣𝑖 𝑞 , 𝜔𝑖= 𝒥𝜔𝑖

𝑞

Page 41: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 41

Dynamic Equations

𝑣𝐶𝑖 = 𝒥𝑣𝑖 𝑞

𝜔𝑖 = 𝒥𝜔𝑖 𝑞

Link 1

Base

Link 2Link i

Joint 1

Joint 2

Joint 3

Joint i+1

Joint i

𝝎𝒊 𝒗𝑪𝒊

𝒑𝑪𝒊

Page 42: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 42

Dynamic Equations

1

2 𝑞𝑇𝑀 𝑞 =

1

2

𝑖=1

𝑛

(𝑚𝑖𝑣𝐶𝑖𝑇 𝑣𝐶𝑖 +𝜔𝑖

𝑇𝐼𝐶𝑖𝜔𝑖)

𝑣𝐶𝑖 = 𝒥𝑣𝑖 𝑞 , 𝜔𝑖= 𝒥𝜔𝑖 𝑞

1

2 𝑞𝑇𝑀 𝑞 =

1

2

𝑖=1

𝑛

(𝑚𝑖 𝑞𝑇𝒥𝑣𝑖

𝑇𝒥𝑣𝑖 𝑞 + 𝑞𝑇𝒥𝜔𝑖

𝑇𝐼𝐶𝑖𝒥𝜔𝑖 𝑞)

1

2 𝑞𝑇𝑀 𝑞 =

1

2 𝑞𝑇[

𝑖=1

𝑛

(𝑚𝑖𝒥𝑣𝑖𝑇𝒥𝑣𝑖 + 𝒥𝜔𝑖

𝑇𝐼𝐶𝑖𝒥𝜔𝑖)] 𝑞

Page 43: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 43

Dynamic Equations

𝑴 =

𝒊=𝟏

𝒏

(𝒎𝒊𝓙𝒗𝒊𝑻𝓙𝒗𝒊 + 𝓙𝝎𝒊

𝑻𝑰𝑪𝒊𝓙𝝎𝒊)

The mass matrix is the sum of Jacobians transpose Jacobians scaled by the mass properties (𝑚𝑖, 𝐼𝐶𝑖).

If the robot has 1 DOF, M = …

With multiple links, the Jacobian matrices of all links contribute in the mass matrix.

Each link has an impact on the total mass matrix.

Page 44: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 44

Dynamic Equations𝑀 =

𝑖=1

𝑛

(𝑚𝑖𝒥𝑣𝑖𝑇𝒥𝑣𝑖 + 𝒥𝜔𝑖

𝑇𝐼𝐶𝑖𝒥𝜔𝑖)

𝒥𝑣𝑖 =𝜕𝑝𝐶𝑖𝜕𝑞1

𝜕𝑝𝐶𝑖𝜕𝑞2

…𝜕𝑝𝐶𝑖𝜕𝑞𝑖

0 …0

Link 1

Base

Link 2Link i

Joint 1

Joint 2

Joint 3

Joint i+1

Joint i

𝝎𝒊 𝒗𝑪𝒊

𝒑𝑪𝒊

Page 45: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 45

Dynamic Equations𝑀 =

𝑖=1

𝑛

(𝑚𝑖𝒥𝑣𝑖𝑇𝒥𝑣𝑖 + 𝒥𝜔𝑖

𝑇𝐼𝐶𝑖𝒥𝜔𝑖)

𝒥𝜔𝑖= 𝜌1𝑧0 𝜌2𝑧1 … 𝜌𝑖𝑧𝑖 − 1 0 …0

Link 1

Base

Link 2Link i

Joint 1

Joint 2

Joint 3

Joint i+1

Joint i

𝝎𝒊 𝒗𝑪𝒊

𝒑𝑪𝒊

Page 46: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 46

Mass Matrix

𝑀 𝑞 =

𝑚11 𝑚12

𝑚21 𝑚22

⋯ 𝑚1𝑛

… 𝑚2𝑛

⋮ ⋮𝑚𝑛1 𝑚𝑛2

⋮ ⋮… 𝑚𝑛𝑛

𝑚11 represents the inertia of the arm perceived at joint 1.𝑚11 = 𝑓 𝑞2:𝑛𝑚22 = 𝑓 𝑞3:𝑛……𝑚𝑛𝑛 = 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡

Page 47: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 47

Mass Matrix

𝑀 𝑞 =

𝑚11 𝑚12

𝑚21 𝑚22

⋯ 𝑚1𝑛

… 𝑚2𝑛

⋮ ⋮𝑚𝑛1 𝑚𝑛2

⋮ ⋮… 𝑚𝑛𝑛

𝑚12 represents the coupling between the accelerationof joint 2 on joint 1.

Page 48: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 48

Mass Matrix

𝑀 𝑞 =

𝑚11 𝑚12

𝑚21 𝑚22

⋯ 𝑚1𝑛

… 𝑚2𝑛

⋮ ⋮𝑚𝑛1 𝑚𝑛2

⋮ ⋮… 𝑚𝑛𝑛

Page 49: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 49

Mass Matrix

𝑀 𝑞 =

𝑚11 𝑚12

𝑚21 𝑚22

⋯ 𝑚1𝑛

… 𝑚2𝑛

⋮ ⋮𝑚𝑛1 𝑚𝑛2

⋮ ⋮… 𝑚𝑛𝑛

Page 50: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 50

Mass Matrix

𝑀 𝑞 =

𝑚11 𝑚12

𝑚21 𝑚22

⋯ 𝑚1𝑛

… 𝑚2𝑛

⋮ ⋮𝑚𝑛1 𝑚𝑛2

⋮ ⋮… 𝑚𝑛𝑛

Page 51: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 51

Example RP

𝒙𝟎

𝒚𝟎

𝒎𝟏

𝒎𝟐

𝑰𝒄𝟏

𝑰𝒄𝟐

𝒍𝟏

𝒅𝟐𝜽𝟏

Work out the mass matrix 𝑴.

Page 52: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 52

Example RP

𝒙𝟎

𝒚𝟎

𝒎𝟏

𝒎𝟐

𝑰𝒄𝟏

𝑰𝒄𝟐

𝒍𝟏

𝒅𝟐𝜽𝟏

Work out the mass matrix 𝑴.

𝑀 =

𝑖=1

𝑛

(𝑚𝑖𝒥𝑣𝑖𝑇𝒥𝑣𝑖 + 𝒥𝜔𝑖

𝑇𝐼𝐶𝑖𝒥𝜔𝑖)

𝒥𝑣𝑖 =𝜕𝑝𝐶𝑖𝜕𝑞1

𝜕𝑝𝐶𝑖𝜕𝑞2

…𝜕𝑝𝐶𝑖𝜕𝑞𝑖

0 …0

𝒥𝜔𝑖= 𝜌1𝑧0 𝜌2𝑧1 … 𝜌𝑖𝑧𝑖 − 1 0 …0

𝐼 =

𝐼𝑥𝑥 −𝐼𝑥𝑦 −𝐼𝑥𝑧−𝐼𝑦𝑥 𝐼𝑦𝑦 −𝐼𝑦𝑧−𝐼𝑧𝑥 −𝐼𝑧𝑦 𝐼𝑧𝑧

Page 53: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 53

Example RP

𝒙𝟎

𝒚𝟎

𝒎𝟏

𝒎𝟐

𝑰𝒄𝟏

𝑰𝒄𝟐

𝒍𝟏

𝒅𝟐𝜽𝟏

Work out the mass matrix 𝑴.

𝑀 =

𝑖=1

𝑛

(𝑚𝑖𝒥𝑣𝑖𝑇𝒥𝑣𝑖 + 𝒥𝜔𝑖

𝑇𝐼𝐶𝑖𝒥𝜔𝑖)

𝑀 =𝑚1𝒥𝑣1𝑇𝒥𝑣1 + 𝒥𝜔1

𝑇𝐼𝐶1𝒥𝜔1+𝑚2𝒥𝑣2

𝑇𝒥𝑣2 + 𝒥𝜔2

𝑇𝐼𝐶2𝒥𝜔2

In frame (o0,x0,y0,z0)

𝑝𝐶1 =𝑙1𝑐1𝑙1𝑠10

, 𝑝𝐶2 =𝑑2𝑐1𝑑2𝑠10

𝒥𝑣1 =−𝑙1𝑠1 0𝑙1𝑐1 00 0

𝒥𝑣2 =−𝑑2𝑠1 𝑐1𝑑2𝑐1 𝑠10 0

Page 54: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 54

Example RP

𝒙𝟎

𝒚𝟎

𝒎𝟏

𝒎𝟐

𝑰𝒄𝟏

𝑰𝒄𝟐

𝒍𝟏

𝒅𝟐𝜽𝟏

Work out the mass matrix 𝑴.

𝑀 =𝑚1𝒥𝑣1𝑇𝒥𝑣1 + 𝒥𝜔1

𝑇𝐼𝐶1𝒥𝜔1+𝑚2𝒥𝑣2

𝑇𝒥𝑣2 + 𝒥𝜔2

𝑇𝐼𝐶2𝒥𝜔2

𝒥𝑣1 =−𝑙1𝑠1 0𝑙1𝑐1 00 0

𝒥𝑣2 =−𝑑2𝑠1 𝑐1𝑑2𝑐1 𝑠10 0

𝑚1𝒥𝑣1𝑇𝒥𝑣1 =

𝑚1𝑙12 0

0 0

𝑚2𝒥𝑣2𝑇𝒥𝑣2 =

𝑚2𝑑22 0

0 𝑚2

Page 55: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 55

Example RP

𝒙𝟎

𝒚𝟎

𝒎𝟏

𝒎𝟐

𝑰𝒄𝟏

𝑰𝒄𝟐

𝒍𝟏

𝒅𝟐𝜽𝟏

Work out the mass matrix 𝑴.

𝑀 =𝑚1𝒥𝑣1𝑇𝒥𝑣1 + 𝒥𝜔1

𝑇𝐼𝐶1𝒥𝜔1+𝑚2𝒥𝑣2

𝑇𝒥𝑣2 + 𝒥𝜔2

𝑇𝐼𝐶2𝒥𝜔2

𝒥𝜔𝑖= 𝜌1𝑧0 𝜌2𝑧1 … 𝜌𝑖𝑧𝑖 − 1 0 …0

𝒥𝜔1=

0 00 01 0

𝒥𝜔2=

0 00 01 0

𝒥𝜔1

𝑇𝐼𝐶1𝒥𝜔1=

𝐼𝑧𝑧1 00 0

𝒥𝜔2

𝑇𝐼𝐶2𝒥𝜔2=

𝐼𝑧𝑧2 00 0

Page 56: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 56

Example RP

𝒙𝟎

𝒚𝟎

𝒎𝟏

𝒎𝟐

𝑰𝒄𝟏

𝑰𝒄𝟐

𝒍𝟏

𝒅𝟐𝜽𝟏

Work out the mass matrix 𝑴.

𝑀 =𝑚1𝒥𝑣1𝑇𝒥𝑣1 + 𝒥𝜔1

𝑇𝐼𝐶1𝒥𝜔1+𝑚2𝒥𝑣2

𝑇𝒥𝑣2 + 𝒥𝜔2

𝑇𝐼𝐶2𝒥𝜔2

𝑀 = 𝑚1𝑙12 0

0 0+

𝑚2𝑑22 0

0 𝑚2+

𝐼𝑧𝑧1 00 0

+𝐼𝑧𝑧2 00 0

𝑀 =𝑚1𝑙1

2 + 𝐼𝑧𝑧1 +𝑚2𝑑22 + 𝐼𝑧𝑧2 0

0 𝑚2

Page 57: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 57

Dynamic Equations

𝒅

𝒅𝒕

𝝏𝑲

𝝏 𝒒𝒊−𝝏𝑲

𝝏𝒒= 𝑴 𝒒 + 𝑴 𝒒 −

𝟏

𝟐

𝒒𝑻𝝏𝑴

𝝏𝒒𝟏 𝒒

𝒒𝑻𝝏𝑴

𝝏𝒒𝒏 𝒒

= 𝑴 𝒒 + 𝑽(𝒒, 𝒒)

𝑴 𝒒 𝒒 + 𝑽 𝒒, 𝒒 + 𝑮 𝒒 = 𝝉

𝑲 =𝟏

𝟐 𝒒𝑻𝑴 𝒒 𝒒 ⟹ 𝑴 𝒒

𝑴 𝒒 ⟹ 𝑽 𝒒, 𝒒

Page 58: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 58

Centrifugal and Coriolis Forces

𝑽 𝒒, 𝒒 = 𝑴 𝒒 −𝟏

𝟐

𝒒𝑻𝝏𝑴

𝝏𝒒𝟏 𝒒

𝒒𝑻𝝏𝑴

𝝏𝒒𝒏 𝒒

𝑀 =

𝑚11 𝑚12

𝑚21 𝑚22

⋯ 𝑚1𝑛

… 𝑚2𝑛

⋮ ⋮𝑚𝑛1 𝑚𝑛2

⋮ ⋮… 𝑚𝑛𝑛

𝑴 𝒒 𝒒 + 𝑽 𝒒, 𝒒 + 𝑮 𝒒 = 𝝉

Page 59: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 59

Centrifugal and Coriolis Forces

𝑽 𝒒, 𝒒 = 𝑴 𝒒 −𝟏

𝟐

𝒒𝑻𝝏𝑴

𝝏𝒒𝟏 𝒒

𝒒𝑻𝝏𝑴

𝝏𝒒𝒏 𝒒

For robot with 2 DOF…

𝑴 𝒒 𝒒 + 𝑽 𝒒, 𝒒 + 𝑮 𝒒 = 𝝉

𝑚11 𝑚12

𝑚12 𝑚22

𝑞1 𝑞2+

𝑣1𝑣2

+𝑔1𝑔2

=𝜏1𝜏2

Page 60: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 60

Centrifugal and Coriolis Forces

𝑽 𝒒, 𝒒 = 𝑴 𝒒 −𝟏

𝟐

𝒒𝑻𝝏𝑴

𝝏𝒒𝟏 𝒒

𝒒𝑻𝝏𝑴

𝝏𝒒𝒏 𝒒

𝑽 𝒒, 𝒒 = 𝒎𝟏𝟏 𝒎𝟏𝟐

𝒎𝟏𝟐 𝒎𝟐𝟐 𝒒 −

𝟏

𝟐

𝒒𝑻𝒎𝟏𝟏𝟏 𝒎𝟏𝟐𝟏

𝒎𝟏𝟐𝟏 𝒎𝟐𝟐𝟏 𝒒

𝒒𝑻𝒎𝟏𝟏𝟐 𝒎𝟏𝟐𝟐

𝒎𝟏𝟐𝟐 𝒎𝟐𝟐𝟐 𝒒

𝑚𝑖𝑗𝑘 =𝜕𝑚𝑖𝑗

𝜕𝑞𝑘

𝑚𝑖𝑗 = 𝑚𝑖𝑗1 𝑞1 +𝑚𝑖𝑗2 𝑞2 + …+𝑚𝑖𝑗𝑘 𝑞𝑘

Page 61: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 61

Centrifugal and Coriolis Forces

𝑉 𝑞, 𝑞 = 𝑚11 𝑚12

𝑚12 𝑚22 𝑞 −

1

2

𝑞𝑇𝑚111 𝑚121

𝑚121 𝑚221 𝑞

𝑞𝑇𝑚112 𝑚122

𝑚122 𝑚222 𝑞

𝑉 𝑞, 𝑞 =

𝟏

𝟐(𝒎𝟏𝟏𝟏 +𝒎𝟏𝟏𝟏 −𝒎𝟏𝟏𝟏)

𝟏

𝟐(𝒎𝟏𝟐𝟐 +𝒎𝟏𝟐𝟐 −𝒎𝟐𝟐𝟏)

𝟏

𝟐(𝒎𝟐𝟏𝟏 +𝒎𝟐𝟏𝟏 −𝒎𝟏𝟏𝟐)

𝟏

𝟐(𝒎𝟐𝟐𝟐 +𝒎𝟐𝟐𝟐 −𝒎𝟐𝟐𝟐)

𝒒𝟏𝟐

𝒒𝟐𝟐

+𝒎𝟏𝟏𝟐 +𝒎𝟏𝟐𝟏 −𝒎𝟏𝟐𝟏

𝒎𝟐𝟏𝟐 +𝒎𝟐𝟐𝟏 −𝒎𝟏𝟐𝟐 𝒒𝟏 𝒒𝟐

Page 62: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 62

Centrifugal and Coriolis Forces

𝑉 𝑞, 𝑞 =

1

2(𝑚111 +𝑚111 −𝑚111)

1

2(𝑚122 +𝑚122 −𝑚221)

1

2(𝑚211 +𝑚211 −𝑚112)

1

2(𝑚222 +𝑚222 −𝑚222)

𝑞12

𝑞22

+𝑚112 +𝑚121 −𝑚121

𝑚212 +𝑚221 −𝑚122 𝑞1 𝑞2

Christoffel Symbols: 𝑏𝑖𝑗𝑘 =1

2(𝑚𝑖𝑗𝑘 +𝑚𝑖𝑘𝑗 −𝑚𝑗𝑘𝑖)

𝑽 𝒒, 𝒒 =𝒃𝟏𝟏𝟏 𝒃𝟏𝟐𝟐𝒃𝟐𝟏𝟏 𝒃𝟐𝟐𝟐

𝒒𝟏𝟐

𝒒𝟐𝟐+

𝟐𝒃𝟏𝟏𝟐𝟐𝒃𝟐𝟏𝟐

𝒒𝟏 𝒒𝟐

Terms of the type 𝒒𝒊𝟐are called centrifugal.

Terms of the type 𝒒𝒊 𝒒𝒌are called coriolis.

𝑪 𝒒𝑩 𝒒

Page 63: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 63

Example RP

𝒙𝟎

𝒚𝟎

𝒎𝟏

𝒎𝟐

𝑰𝒄𝟏

𝑰𝒄𝟐

𝒍𝟏

𝒅𝟐𝜽𝟏

Work out the Centrifugal and Coriolis Vector V.

Page 64: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 64

Example RP

𝒙𝟎

𝒚𝟎

𝒎𝟏

𝒎𝟐

𝑰𝒄𝟏

𝑰𝒄𝟐

𝒍𝟏

𝒅𝟐𝜽𝟏

Work out the Centrifugal and Coriolis Vector V.

𝑽 𝒒, 𝒒 =𝒃𝟏𝟏𝟏 𝒃𝟏𝟐𝟐𝒃𝟐𝟏𝟏 𝒃𝟐𝟐𝟐

𝒒𝟏𝟐

𝒒𝟐𝟐+

𝟐𝒃𝟏𝟏𝟐𝟐𝒃𝟐𝟏𝟐

𝒒𝟏 𝒒𝟐

𝑏𝑖𝑗𝑘 =1

2(𝑚𝑖𝑗𝑘 +𝑚𝑖𝑘𝑗 −𝑚𝑗𝑘𝑖)

𝑚𝑖𝑗𝑘 =𝜕𝑚𝑖𝑗

𝜕𝑞𝑘

𝑩 =𝟐𝒃𝟏𝟏𝟐𝟎

=𝟐𝒎𝟐𝒅𝟐

𝟎

𝑪 =𝟎 𝒃𝟏𝟐𝟐

𝒃𝟐𝟏𝟏 𝟎=

𝟎 𝟎−𝒎𝟐𝒅𝟐 𝟎

𝑽 =𝟐𝒎𝟐𝒅𝟐

𝟎 𝜽𝟏 𝒅𝟐 +

𝟎 𝟎−𝒎𝟐𝒅𝟐 𝟎

𝜽𝟏𝟐

𝒅𝟐𝟐

𝑪 𝒒 𝑩 𝒒

𝑀 =𝑚1𝑙1

2 + 𝐼𝑧𝑧1 +𝑚2𝑑22 + 𝐼𝑧𝑧2 0

0 𝑚2

Page 65: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 65

Dynamic Equations

𝑴 𝒒 𝒒 + 𝑽 𝒒, 𝒒 + 𝑮 𝒒 = 𝝉

Gravity vector?

Page 66: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 66

Gravity vector

𝒑𝑪𝒊

Link i

ℎ𝑖𝑔

𝑮 𝒒 =𝝏𝑷

𝝏𝒒

Potential energy:

𝑃𝑖 = 𝑚𝑖𝑔0ℎ𝑖 + 𝑃0

𝑃𝑖 = 𝑚𝑖 −𝑔𝑇 . 𝑝𝑐𝑖

𝑃 =

𝑖

𝑃𝑖

𝑮𝒌 𝒒 =𝝏𝑷

𝝏𝒒𝒌= −

𝒊

𝒏

(𝒎𝒊𝒈𝑻𝝏𝒑𝒄𝒊𝝏𝒒𝒌

)

𝐺 = − 𝒥𝑣1𝑇 𝒥𝑣2

𝑇 ⋯ 𝒥𝑣𝑛𝑇

𝑚1𝑔𝑚2𝑔⋮

𝑚𝑛𝑔

Page 67: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 67

Gravity vector

Link 1

Base

Link 2Link i

Joint i

𝒎𝟏𝒈

𝐺 = − 𝒥𝑣1𝑇 𝒥𝑣2

𝑇 ⋯ 𝒥𝑣𝑛𝑇

𝑚1𝑔𝑚2𝑔⋮

𝑚𝑛𝑔

𝒎𝟐𝒈 𝒎𝒊𝒈

𝒎𝒏𝒈

Page 68: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 68

Example RP

𝒙𝟎

𝒚𝟎

𝒎𝟏

𝒎𝟐

𝑰𝒄𝟏

𝑰𝒄𝟐

𝒍𝟏

𝒅𝟐𝜽𝟏

Work out the gravity vector G.

𝑔

Page 69: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 69

Example RP

𝒙𝟎

𝒚𝟎

𝒎𝟏

𝒎𝟐

𝑰𝒄𝟏

𝑰𝒄𝟐

𝒍𝟏

𝒅𝟐𝜽𝟏

Work out the gravity vector G.

𝐺 = − 𝒥𝑣1𝑇 𝒥𝑣2

𝑇 ⋯ 𝒥𝑣𝑛𝑇

𝑚1𝙜𝑚2𝙜⋮

𝑚𝑛𝙜

𝐺 = −𝒥𝑣1𝑇𝑚1𝙜 − 𝒥𝑣2

𝑇𝑚2𝙜

In frame (o0,x0,y0,z0): 𝙜 = −0𝑔0

The gravity vector is:

𝐺 = −−𝑙1𝑠1 0𝑙1𝑐1 00 0

𝑇0

−𝑚1𝑔0

−−𝑑2𝑠1 𝑐1𝑑2𝑐1 𝑠10 0

𝑇0

−𝑚2𝑔0

=𝒎𝟏𝒍𝟏 +𝒎𝟐𝒅𝟐 𝒈𝒄𝟏

𝒎𝟐𝒈𝒔𝟏

𝑔

Page 70: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 70

Example RP

𝒙𝟎

𝒚𝟎

𝒎𝟏

𝒎𝟐

𝑰𝒄𝟏

𝑰𝒄𝟐

𝒍𝟏

𝒅𝟐𝜽𝟏

Work out the equation of motion.

𝑔

Page 71: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 71

Example RP

𝒙𝟎

𝒚𝟎

𝒎𝟏

𝒎𝟐

𝑰𝒄𝟏

𝑰𝒄𝟐

𝒍𝟏

𝒅𝟐𝜽𝟏

Work out the equation of motion.

𝑚1𝑙12 + 𝐼𝑧𝑧1 +𝑚2𝑑2

2 + 𝐼𝑧𝑧2 00 𝑚2

𝜃1 𝑑2

+2𝑚2𝑑20

𝜃1 𝑑2 +0 0

−𝑚2𝑑2 0

𝜃12

𝑑22

+𝑚1𝑙1 +𝑚2𝑑2 𝑔𝑐1

𝑚2𝑔𝑠1=

𝜏1𝑓2

𝑔

𝒎𝟏𝒍𝟏𝟐 + 𝑰𝒛𝒛𝟏 +𝒎𝟐𝒅𝟐

𝟐 + 𝑰𝒛𝒛𝟐 𝜽𝟏 + 𝟐𝒎𝟐𝒅𝟐 𝜽𝟏 𝒅𝟐 + 𝒎𝟏𝒍𝟏 +𝒎𝟐𝒅𝟐 𝒈𝒄𝟏 = 𝝉𝟏

𝒎𝟐 𝒅𝟐 −𝒎𝟐 𝒅𝟐 𝜽𝟏

𝟐 +𝒎𝟐𝒈𝒔𝟏 = 𝒇𝟐

Page 72: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 72

Work out the mass matrix 𝑴.

𝑀 =

𝑖=1

𝑛

(𝑚𝑖𝒥𝑣𝑖𝑇𝒥𝑣𝑖 + 𝒥𝜔𝑖

𝑇𝐼𝐶𝑖𝒥𝜔𝑖)

𝑀 =𝑚1𝒥𝑣1𝑇𝒥𝑣1 + 𝒥𝜔1

𝑇𝐼𝐶1𝒥𝜔1+

𝑚2𝒥𝑣2𝑇𝒥𝑣2 + 𝒥𝜔2

𝑇𝐼𝐶2𝒥𝜔2

In frame (o0,x0,y0,z0)

𝑝𝐶1 =𝑞1 − 𝑙00

, 𝑝𝐶2 =𝑞1 + 𝑑𝑐2𝑑𝑠20

𝒥𝑣1 =1 00 00 0

𝒥𝑣2 =1 −𝑑𝑠20 𝑑𝑐20 0

𝒙𝟎

𝒚𝟎

𝒎𝟐

𝒒𝟐

𝒒𝟏

𝒅

𝒍

𝑰𝒄𝟐

𝒎𝟏 𝑰𝒄𝟏

Example PR

Page 73: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 73

Work out the mass matrix 𝑴.

𝑀 =

𝑖=1

𝑛

(𝑚𝑖𝒥𝑣𝑖𝑇𝒥𝑣𝑖 + 𝒥𝜔𝑖

𝑇𝐼𝐶𝑖𝒥𝜔𝑖)

𝑀 =𝑚1𝒥𝑣1𝑇𝒥𝑣1 + 𝒥𝜔1

𝑇𝐼𝐶1𝒥𝜔1+

𝑚2𝒥𝑣2𝑇𝒥𝑣2 + 𝒥𝜔2

𝑇𝐼𝐶2𝒥𝜔2

In frame (o0,x0,y0,z0)

𝑝𝐶1 =𝑞1 − 𝑙00

, 𝑝𝐶2 =𝑞1 + 𝑑𝑐2𝑑𝑠20

𝒥𝜔1=

0 00 00 0

𝒥𝜔2=

0 00 00 1

𝒙𝟎

𝒚𝟎

𝒎𝟐

𝒒𝟐

𝒒𝟏

𝒅

𝒍

𝑰𝒄𝟐

𝒎𝟏 𝑰𝒄𝟏

Example PR

Page 74: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 74

Work out the mass matrix 𝑴.

𝑀 =𝑚1𝒥𝑣1𝑇𝒥𝑣1 + 𝒥𝜔1

𝑇𝐼𝐶1𝒥𝜔1+

𝑚2𝒥𝑣2𝑇𝒥𝑣2 + 𝒥𝜔2

𝑇𝐼𝐶2𝒥𝜔2

𝑴 =𝒎𝟏 +𝒎𝟐 −𝒎𝟐𝒅𝒔𝟐−𝒎𝟐𝒅𝒔𝟐 𝑰𝒛𝒛𝟐 +𝒎𝟐𝒅

𝟐

𝒙𝟎

𝒚𝟎

𝒎𝟐

𝒒𝟐

𝒒𝟏

𝒅

𝒍

𝑰𝒄𝟐

𝒎𝟏 𝑰𝒄𝟏

Example PR

Page 75: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 75

𝒙𝟎

𝒚𝟎

𝒎𝟐

𝒒𝟐

𝒒𝟏

𝒅

𝒍

𝑰𝒄𝟐

𝒎𝟏 𝑰𝒄𝟏

Example PRWork out the gravity vector G.

𝐺 = − 𝒥𝑣1𝑇 𝒥𝑣2

𝑇 ⋯ 𝒥𝑣𝑛𝑇

𝑚1𝙜𝑚2𝙜⋮

𝑚𝑛𝙜

𝐺 = −𝒥𝑣1𝑇𝑚1𝙜 − 𝒥𝑣2

𝑇𝑚2𝙜

In frame (o0,x0,y0,z0): 𝙜 = −0𝑔0

The gravity vector is:

𝐺 = −1 00 00 0

𝑇 0−𝑚1𝑔0

−1 −𝑑𝑠20 𝑑𝑐20 0

𝑇0

−𝑚2𝑔0

=𝟎

𝒅𝒄𝟐𝒎𝟐𝒈

Page 76: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 76

𝒙𝟎

𝒚𝟎

𝒎𝟐

𝒒𝟐

𝒒𝟏

𝒅

𝒍

𝑰𝒄𝟐

𝒎𝟏 𝑰𝒄𝟏

Example PRWork out the Centrifugal and CoriolisVector V.

𝑽 𝒒, 𝒒 =𝒃𝟏𝟏𝟏 𝒃𝟏𝟐𝟐𝒃𝟐𝟏𝟏 𝒃𝟐𝟐𝟐

𝒒𝟏𝟐

𝒒𝟐𝟐+

𝟐𝒃𝟏𝟏𝟐𝟐𝒃𝟐𝟏𝟐

𝒒𝟏 𝒒𝟐

𝑏𝑖𝑗𝑘 =1

2(𝑚𝑖𝑗𝑘 +𝑚𝑖𝑘𝑗 −𝑚𝑗𝑘𝑖)

𝑚𝑖𝑗𝑘 =𝜕𝑚𝑖𝑗

𝜕𝑞𝑘

𝑩 =𝟎𝟎

𝑪 =𝟎 −𝒎𝟐𝒅𝒄𝟐𝟎 𝟎

𝑽 =𝟎𝟎

𝒒𝟏 𝒒𝟐 +𝟎 −𝒎𝟐𝒅𝒄𝟐𝟎 𝟎

𝒒𝟏𝟐

𝒒𝟐𝟐

𝑴 =𝒎𝟏 +𝒎𝟐 −𝒎𝟐𝒅𝒔𝟐−𝒎𝟐𝒅𝒔𝟐 𝑰𝒛𝒛𝟐 +𝒎𝟐𝒅

𝟐

Page 77: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 77

Example PRWork out the equation of motion.

𝑚1 +𝑚2 −𝑚2𝑑𝑠2−𝑚2𝑑𝑠2 𝐼𝑧𝑧2 +𝑚2𝑑

2

𝑞1 𝑞2

+00

𝑞1 𝑞2 +0 −𝑚2𝑑𝑐20 0

𝑞12

𝑞22

+0

𝑑𝑐2𝑚2𝑔=

𝑓1𝜏2

𝒙𝟎

𝒚𝟎

𝒎𝟐

𝒒𝟐

𝒒𝟏

𝒅

𝒍

𝑰𝒄𝟐

𝒎𝟏 𝑰𝒄𝟏

𝒎𝟏 +𝒎𝟐 𝒒𝟏 −𝒎𝟐𝒅𝒔𝟐 𝒒𝟐 −𝒎𝟐𝒅𝒄𝟐 𝒒𝟐𝟐 = 𝒇𝟏

−𝒎𝟐𝒅𝒔𝟐 𝒒𝟏 + 𝑰𝒛𝒛𝟐 +𝒎𝟐𝒅𝟐 𝒒𝟐 + 𝒅𝒄𝟐𝒎𝟐𝒈 = 𝝉𝟐

Page 78: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 78

Example PPWork out the equation of motion.

𝑴 =𝒎𝟏 +𝒎𝟐 𝟎

𝟎 𝒎𝟐

𝒎𝟏 +𝒎𝟐 𝒒𝟏 + 𝒈 𝒎𝟏 +𝒎𝟐 = 𝒇𝟏

𝒎𝟐 𝒒𝟐 = 𝒇𝟐

Page 79: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 79

Example RRWork out the equation of motion.

𝒙𝟎

𝒚𝟎

𝒒𝟐

𝒎𝟏

𝑰𝒄𝟏

𝒎𝟐

𝑰𝒄𝟐

𝒒𝟏

𝒍𝒄𝟏

𝒍𝟏

𝒍𝟐

𝒍𝒄𝟐

𝑔

𝑴 𝒒 𝒒 + 𝑽 𝒒, 𝒒 + 𝑮 𝒒 = 𝝉

Page 80: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 80

Example RR

𝒙𝟎

𝒚𝟎

𝒒𝟐

𝒎𝟏

𝑰𝒄𝟏

𝒎𝟐

𝑰𝒄𝟐

𝒒𝟏

𝒍𝒄𝟏

𝒍𝟏

𝒍𝟐

𝒍𝒄𝟐

𝑔

Work out the mass matrix 𝑴.

𝑀 =

𝑖=1

𝑛

(𝑚𝑖𝒥𝑣𝑖𝑇𝒥𝑣𝑖 + 𝒥𝜔𝑖

𝑇𝐼𝐶𝑖𝒥𝜔𝑖)

𝑀 =𝑚1𝒥𝑣1𝑇𝒥𝑣1 + 𝒥𝜔1

𝑇𝐼𝐶1𝒥𝜔1+

𝑚2𝒥𝑣2𝑇𝒥𝑣2 + 𝒥𝜔2

𝑇𝐼𝐶2𝒥𝜔2

In frame (o0,x0,y0,z0)

𝑝𝐶1 =

𝑙𝑐1𝑐1𝑙𝑐1𝑠10

, 𝑝𝐶2 =

𝑙𝑐2𝑐12 + 𝑙1𝑐1𝑙𝑐2𝑠12 + 𝑙1𝑠1

0

𝒥𝑣1 =

−𝑙𝑐1𝑠1 0

𝑙𝑐1𝑐1 0

0 0

𝒥𝑣2 =

−𝑙𝑐2𝑠12 − 𝑙1𝑠1 −𝑙𝑐2𝑠12𝑙𝑐2𝑐12 + 𝑙1𝑐1 𝑙𝑐2𝑐12

0 0

Page 81: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 81

Example RR

𝒙𝟎

𝒚𝟎

𝒒𝟐

𝒎𝟏

𝑰𝒄𝟏

𝒎𝟐

𝑰𝒄𝟐

𝒒𝟏

𝒍𝒄𝟏

𝒍𝟏

𝒍𝟐

𝒍𝒄𝟐

𝑔

Work out the mass matrix 𝑴.

𝑀 =

𝑖=1

𝑛

(𝑚𝑖𝒥𝑣𝑖𝑇𝒥𝑣𝑖 + 𝒥𝜔𝑖

𝑇𝐼𝐶𝑖𝒥𝜔𝑖)

𝑀 =𝑚1𝒥𝑣1𝑇𝒥𝑣1 + 𝒥𝜔1

𝑇𝐼𝐶1𝒥𝜔1+

𝑚2𝒥𝑣2𝑇𝒥𝑣2 + 𝒥𝜔2

𝑇𝐼𝐶2𝒥𝜔2

In frame (o0,x0,y0,z0)

𝑝𝐶1 =

𝑙𝑐1𝑐1𝑙𝑐1𝑠10

, 𝑝𝐶2 =

𝑙𝑐2𝑐12 + 𝑙1𝑐1𝑙𝑐2𝑠12 + 𝑙1𝑠1

0

𝒥𝜔1=

0 00 01 0

𝒥𝜔2=

0 00 01 1

Page 82: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 82

Example RR

𝒙𝟎

𝒚𝟎

𝒒𝟐

𝒎𝟏

𝑰𝒄𝟏

𝒎𝟐

𝑰𝒄𝟐

𝒒𝟏

𝒍𝒄𝟏

𝒍𝟏

𝒍𝟐

𝒍𝒄𝟐

𝑔

Work out the mass matrix 𝑴.

𝑀 =

𝑖=1

𝑛

(𝑚𝑖𝒥𝑣𝑖𝑇𝒥𝑣𝑖 + 𝒥𝜔𝑖

𝑇𝐼𝐶𝑖𝒥𝜔𝑖)

𝑀 =𝑚1𝒥𝑣1𝑇𝒥𝑣1 + 𝒥𝜔1

𝑇𝐼𝐶1𝒥𝜔1+

𝑚2𝒥𝑣2𝑇𝒥𝑣2 + 𝒥𝜔2

𝑇𝐼𝐶2𝒥𝜔2

𝑴 =𝒎𝟐𝒍𝟏

𝟐 + 𝟐𝒎𝟐𝒍𝟏𝒍𝒄𝟐𝒄𝟐 +𝒎𝟏𝒍𝒄𝟏𝟐 +𝒎𝟐𝒍𝒄𝟐

𝟐 + 𝑰𝒛𝒛𝟏 𝒎𝟐𝑰𝒄𝟐𝟐 + 𝒍𝟏𝒎𝟐𝒍𝒄𝟐𝒄𝟐 + 𝑰𝒛𝒛𝟐

𝒎𝟐𝑰𝒄𝟐𝟐 + 𝒍𝟏𝒎𝟐𝑰𝒄𝟐𝒄𝟐 + 𝑰𝒛𝒛𝟐 𝒎𝟐𝑰𝒄𝟐

𝟐 + 𝑰𝒛𝒛𝟐

Page 83: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 83

Example RR

𝒙𝟎

𝒚𝟎

𝒒𝟐

𝒎𝟏

𝑰𝒄𝟏

𝒎𝟐

𝑰𝒄𝟐

𝒒𝟏

𝒍𝒄𝟏

𝒍𝟏

𝒍𝟐

𝒍𝒄𝟐

𝑔

Work out the gravity vector G.

𝐺 = − 𝒥𝑣1𝑇 𝒥𝑣2

𝑇 ⋯ 𝒥𝑣𝑛𝑇

𝑚1𝙜𝑚2𝙜⋮

𝑚𝑛𝙜

𝐺 = −𝒥𝑣1𝑇𝑚1𝙜 − 𝒥𝑣2

𝑇𝑚2𝙜

In frame (o0,x0,y0,z0): 𝙜 = −0𝑔0

The gravity vector is:

𝐺 = −

−𝑙𝑐1𝑠1 0

𝑙𝑐1𝑐1 0

0 0

𝑇0

−𝑚1𝑔0

−𝑙𝑐2𝑠12 − 𝑙1𝑠1 −𝑙𝑐2𝑠12𝑙𝑐2𝑐12 + 𝑙1𝑐1 𝑙𝑐2𝑐12

0 0

𝑇0

−𝑚2𝑔0

Page 84: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 84

Example RR

𝒙𝟎

𝒚𝟎

𝒒𝟐

𝒎𝟏

𝑰𝒄𝟏

𝒎𝟐

𝑰𝒄𝟐

𝒒𝟏

𝒍𝒄𝟏

𝒍𝟏

𝒍𝟐

𝒍𝒄𝟐

𝑔

Work out the gravity vector G.

𝐺 = − 𝒥𝑣1𝑇 𝒥𝑣2

𝑇 ⋯ 𝒥𝑣𝑛𝑇

𝑚1𝙜𝑚2𝙜⋮

𝑚𝑛𝙜

𝐺 = −𝒥𝑣1𝑇𝑚1𝙜 − 𝒥𝑣2

𝑇𝑚2𝙜

In frame (o0,x0,y0,z0): 𝙜 = −0𝑔0

The gravity vector is:

𝐺 =𝒈𝒎𝟐 𝒍𝒄𝟐𝒄𝟏𝟐 + 𝒍𝟏𝒄𝟏 + 𝒈𝒎𝟏𝒍𝒄𝟏𝒄𝟏

𝒈𝒎𝟐𝒍𝒄𝟐𝒄𝟏𝟐

Page 85: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 85

Example RR

𝒙𝟎

𝒚𝟎

𝒒𝟐

𝒎𝟏

𝑰𝒄𝟏

𝒎𝟐

𝑰𝒄𝟐

𝒒𝟏

𝒍𝒄𝟏

𝒍𝟏

𝒍𝟐

𝒍𝒄𝟐

𝑔

Work out the Centrifugal and CoriolisVector V.

𝑽 𝒒, 𝒒 =𝒃𝟏𝟏𝟏 𝒃𝟏𝟐𝟐𝒃𝟐𝟏𝟏 𝒃𝟐𝟐𝟐

𝒒𝟏𝟐

𝒒𝟐𝟐+

𝟐𝒃𝟏𝟏𝟐𝟐𝒃𝟐𝟏𝟐

𝒒𝟏 𝒒𝟐

𝑏𝑖𝑗𝑘 =1

2(𝑚𝑖𝑗𝑘 +𝑚𝑖𝑘𝑗 −𝑚𝑗𝑘𝑖)

𝑚𝑖𝑗𝑘 =𝜕𝑚𝑖𝑗

𝜕𝑞𝑘

𝑩 =−𝟐𝒍𝟏𝒍𝒄𝟐𝒎𝟐𝒔𝟐

𝟎

𝑪 =𝟎 −𝒍𝟏𝒍𝒄𝟐𝒎𝟐𝒔𝟐

𝒍𝟏𝒍𝒄𝟐𝒎𝟐𝒔𝟐 𝟎

𝑽 𝒒, 𝒒 =−𝟐𝒍𝟏𝒍𝒄𝟐𝒎𝟐𝒔𝟐

𝟎 𝒒𝟏 𝒒𝟐 +

𝟎 −𝒍𝟏𝒍𝒄𝟐𝒎𝟐𝒔𝟐𝒍𝟏𝒍𝒄𝟐𝒎𝟐𝒔𝟐 𝟎

𝒒𝟏𝟐

𝒒𝟐𝟐

Page 86: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 86

Example RR

𝒙𝟎

𝒚𝟎

𝒒𝟐

𝒎𝟏

𝑰𝒄𝟏

𝒎𝟐

𝑰𝒄𝟐

𝒒𝟏

𝒍𝒄𝟏

𝒍𝟏

𝒍𝟐

𝒍𝒄𝟐

𝑔

Work out the equation of motion.

𝑚2𝑙12 + 2𝑚2𝑙1𝑙𝑐2𝑐2 +𝑚1𝑙𝑐1

2 +𝑚2𝑙𝑐22 + 𝐼𝑧𝑧1 𝑚2𝐼𝑐2

2 + 𝑙1𝑚2𝑙𝑐2𝑐2 + 𝐼𝑧𝑧2

𝑚2𝐼𝑐22 + 𝑙1𝑚2𝐼𝑐2𝑐2 + 𝐼𝑧𝑧2 𝑚2𝐼𝑐2

2 + 𝐼𝑧𝑧2

𝑞1 𝑞2

+−2𝑙1𝑙𝑐2𝑚2𝑠2

0 𝑞1 𝑞2 +

0 −𝑙1𝑙𝑐2𝑚2𝑠2𝑙1𝑙𝑐2𝑚2𝑠2 0

𝑞12

𝑞22

+𝑔𝑚2 𝑙𝑐2𝑐12 + 𝑙1𝑐1 + 𝑔𝑚1𝑙𝑐1𝑐1

𝑔𝑚2𝑙𝑐2𝑐12=

𝜏1𝜏2

Page 87: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 87

Example RR

𝒙𝟎

𝒚𝟎

𝒒𝟐

𝒎𝟏

𝑰𝒄𝟏

𝒎𝟐

𝑰𝒄𝟐

𝒒𝟏

𝒍𝒄𝟏

𝒍𝟏

𝒍𝟐

𝒍𝒄𝟐

𝑔

Work out the equation of motion.

𝑚2𝑙12 + 2𝑚2𝑙1𝑙𝑐2𝑐2 +𝑚1𝑙𝑐1

2 +𝑚2𝑙𝑐22 + 𝐼𝑧𝑧1 𝑚2𝐼𝑐2

2 + 𝑙1𝑚2𝑙𝑐2𝑐2 + 𝐼𝑧𝑧2

𝑚2𝐼𝑐22 + 𝑙1𝑚2𝐼𝑐2𝑐2 + 𝐼𝑧𝑧2 𝑚2𝐼𝑐2

2 + 𝐼𝑧𝑧2

𝑞1 𝑞2

+−2𝑙1𝑙𝑐2𝑚2𝑠2

0 𝑞1 𝑞2 +

0 −𝑙1𝑙𝑐2𝑚2𝑠2𝑙1𝑙𝑐2𝑚2𝑠2 0

𝑞12

𝑞22

+𝑔𝑚2 𝑙𝑐2𝑐12 + 𝑙1𝑐1 + 𝑔𝑚1𝑙𝑐1𝑐1

𝑔𝑚2𝑙𝑐2𝑐12=

𝜏1𝜏2

The centrifugal terms on one joint are proportional to the square of the velocity of the other joint, and are at a maximum when the two links are perpendicular.

Page 88: Robot Dynamics - TU Chemnitz · Robot Dynamics Dr.-Ing. John Nassour Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik 25.01.2018 J.Nassour 1

25.01.2018 J.Nassour 88

Example RR

𝒙𝟎

𝒚𝟎

𝒒𝟐

𝒎𝟏

𝑰𝒄𝟏

𝒎𝟐

𝑰𝒄𝟐

𝒒𝟏

𝒍𝒄𝟏

𝒍𝟏

𝒍𝟐

𝒍𝒄𝟐

𝑔

Work out the equation of motion.

𝑚2𝑙12 + 2𝑚2𝑙1𝑙𝑐2𝑐2 +𝑚1𝑙𝑐1

2 +𝑚2𝑙𝑐22 + 𝐼𝑧𝑧1 𝑚2𝐼𝑐2

2 + 𝑙1𝑚2𝑙𝑐2𝑐2 + 𝐼𝑧𝑧2

𝑚2𝐼𝑐22 + 𝑙1𝑚2𝐼𝑐2𝑐2 + 𝐼𝑧𝑧2 𝑚2𝐼𝑐2

2 + 𝐼𝑧𝑧2

𝑞1 𝑞2

+−2𝑙1𝑙𝑐2𝑚2𝑠2

0 𝑞1 𝑞2 +

0 −𝑙1𝑙𝑐2𝑚2𝑠2𝑙1𝑙𝑐2𝑚2𝑠2 0

𝑞12

𝑞22

+𝑔𝑚2 𝑙𝑐2𝑐12 + 𝑙1𝑐1 + 𝑔𝑚1𝑙𝑐1𝑐1

𝑔𝑚2𝑙𝑐2𝑐12=

𝜏1𝜏2

The Coriolis term is proportional to the product of the two joint velocities, and is also at a maximum when the two links are perpendicular.