Computational Kinematic Approach

32
14 Constrained Kinematics Typically, mechanical systems are made by connecting bodies (links) through sequence of joints. Each joint allows specific degrees of freedom and restrict the other degrees of freedom. For example, a hinge (revolute) joint allows rotation and restricts the remaining degrees of freedom (5 in the 3-D space and 2 in a plane). In the following we will explore the constraints associated with some common joints.

Transcript of Computational Kinematic Approach

14

Constrained Kinematics Typically, mechanical systems are made by connecting bodies (links) through sequence of joints. Each

joint allows specific degrees of freedom and restrict the other degrees of freedom.

For example, a hinge (revolute) joint allows rotation and restricts the remaining degrees of freedom (5 in

the 3-D space and 2 in a plane).

In the following we will explore the constraints associated with some common joints.

15

Examples of Planar Constraints

Revolute (Hinge) Joint

A revolute joint ensures relative rotation between the two joined bodies, i.e.

๐‘Ÿ๐‘Ÿ๐‘–๐‘–๐‘ƒ๐‘ƒ = ๐‘Ÿ๐‘Ÿ๐‘—๐‘—๐‘ƒ๐‘ƒ

This formulation will yield two equations that correspond to the x and y

components.

However,

๐œƒ๐œƒ๐‘–๐‘– โ‰  ๐œƒ๐œƒ๐‘—๐‘—

Prismatic Joint

On the other hand, prismatic joint allows relative translation between two connected bodies. Relative

rotation is however restricted.

These relations can be represented as follows:

1. The two bodies always rotate together

๐œƒ๐œƒ๐‘–๐‘– โˆ’ ๐œƒ๐œƒ๐‘—๐‘— = ๐‘๐‘

2. The dot product of these two vectors is always zero:

โ€ข Line of action (axis) of the prismatic joint

โ€ข A vector is one of the two bodies that is normal to this line of action:

โ„Ž๐‘–๐‘– โˆ™ ๐‘Ÿ๐‘Ÿ๐‘–๐‘–๐‘—๐‘—๐‘ƒ๐‘ƒ = 0

In matrix notation, the above equation becomes:

โ„Ž๐‘–๐‘–๐‘‡๐‘‡๐‘Ÿ๐‘Ÿ๐‘–๐‘–๐‘—๐‘—๐‘ƒ๐‘ƒ = 0 While easier formulation exist especially in the case when one of the two bodies is completely fixed, the

above formulation is general and works when both bodies are moving.

We will expand on these formulations later.

Class Exercise: Derive the constraint equations for a wheel rolling on a flat ground

ฮธi

Body i

Body j

P

ฮธi

Body j

Body i

Pj

Pi

hi

RijP

16

Computational Kinematic Approach

โ€ข Classical kinematics can be used to accurately formulate equations describing the kinematics of

variables of a machine in terms of its input motion.

โ€ข Formulating these equations required a prior knowledge of the geometry and sequence of joints

within the machine.

โ€ข However, in any computer-aided software, the user creates a machine on the spot. In this case,

classical approach cannot be used. Instead, a computational approach can be general enough to solve

the kinematics of any machine.

โ€ข Kinematic analysis can be viewed as solving a set of algebraic equations that describes the joint

connectivity of a certain machine.

โ€ข Another approach is to combine the equations and solve them.

โ€ข The resulting system of the coupled equations can be solved using numerical techniques.

โ€ข This is the technique used by most computer simulation software packages.

17

Absolute Coordinates

X

Y XiYi

ฮธi

Pi

Ri

uiP

riP Oi

โ€ข The position of a body can be described using Ri and ฮธi (Absolute Cartesian Coordinates)

๐‘Ÿ๐‘Ÿ๐‘–๐‘–๐‘ƒ๐‘ƒ = ๐‘…๐‘…๐‘–๐‘– + ๐ด๐ด๐‘–๐‘– ๐‘ข๐‘ข๏ฟฝ๐‘–๐‘–๐‘ƒ๐‘ƒ

Ri global position vector of the reference point Ai transformation matrix from the body to global coordinate systems

๐‘…๐‘…๐‘–๐‘– = ๏ฟฝ๐‘…๐‘…๐‘–๐‘–๐‘ฅ๐‘ฅ๐‘…๐‘…๐‘–๐‘–๐‘ฆ๐‘ฆ

๏ฟฝ

u๏ฟฝiP = ๏ฟฝ๏ฟฝฬ…๏ฟฝ๐‘ฅ๐‘–๐‘–๐‘ƒ๐‘ƒ๐‘ฆ๐‘ฆ๏ฟฝ๐‘–๐‘–๐‘ƒ๐‘ƒ

๏ฟฝ

๐ด๐ด๐‘–๐‘– = ๏ฟฝcos๐œƒ๐œƒ๐‘–๐‘– โˆ’ sin๐œƒ๐œƒ๐‘–๐‘–sin๐œƒ๐œƒ๐‘–๐‘– cos ๐œƒ๐œƒ๐‘–๐‘–

๏ฟฝ

18

Extension to Multibody System A multi-body system consisting of nb unconstrained rigid bodies has 3nb independent generalized coordinates that are described using the vector q

๐‘ž๐‘ž = ๏ฟฝ๐‘…๐‘…1๐‘ฅ๐‘ฅ ๐‘…๐‘…1๐‘ฆ๐‘ฆ ๐œƒ๐œƒ1 ๐‘…๐‘…2๐‘ฅ๐‘ฅ ๐‘…๐‘…2๐‘ฆ๐‘ฆ ๐œƒ๐œƒ2 โ‹ฏ โ‹ฏ ๐‘…๐‘…๐‘›๐‘›๐‘๐‘๐‘ฅ๐‘ฅ ๐‘…๐‘…๐‘›๐‘›๐‘๐‘๐‘ฆ๐‘ฆ ๐œƒ๐œƒ๐‘›๐‘›๐‘๐‘๏ฟฝ๐‘‡๐‘‡ ๐‘ž๐‘ž = [๐‘…๐‘…1 ๐œƒ๐œƒ1 ๐‘…๐‘…2 ๐œƒ๐œƒ2 โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ ๐‘…๐‘…๐‘›๐‘›๐‘๐‘ ๐œƒ๐œƒ๐‘›๐‘›๐‘๐‘]๐‘‡๐‘‡

๐‘ž๐‘ž = [๐‘ž๐‘ž1 ๐‘ž๐‘ž2 โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ ๐‘ž๐‘ž๐‘›๐‘›๐‘๐‘]๐‘‡๐‘‡ where,

๐‘ž๐‘ž๐‘–๐‘– = ๏ฟฝ๐‘…๐‘…๐‘–๐‘–

๐œƒ๐œƒ๐‘–๐‘–๏ฟฝ

19

Kinematic Constraints The relation between two bodies i and j can be related by the following equation

๐‘Ÿ๐‘Ÿ๐‘–๐‘–๐‘ƒ๐‘ƒ โˆ’ ๐‘Ÿ๐‘Ÿ๐‘—๐‘—๐‘ƒ๐‘ƒ = ๐‘“๐‘“(๐‘ก๐‘ก)

Or,

๏ฟฝ๐‘…๐‘…๐‘–๐‘– + ๐ด๐ด๐‘–๐‘– ๐‘ข๐‘ข๏ฟฝ๐‘–๐‘–๐‘ƒ๐‘ƒ๏ฟฝ โˆ’ ๏ฟฝ๐‘…๐‘…๐‘—๐‘— + ๐ด๐ด๐‘–๐‘– ๐‘ข๐‘ข๏ฟฝ๐‘—๐‘—๐‘ƒ๐‘ƒ๏ฟฝ = ๐‘“๐‘“(๐‘ก๐‘ก)

f(t) is a known function of time

20

Ground Constraints

A body that has zero degrees of freedom (ground or fixed link)

๐‘ž๐‘ž๐‘–๐‘– = ๐‘๐‘

It is convenient to have the coordinates of frame i matching those of the global frame or,

๏ฟฝ๐‘…๐‘…๐‘–๐‘–๐‘ฅ๐‘ฅ๐‘…๐‘…๐‘–๐‘–๐‘ฅ๐‘ฅ๐œƒ๐œƒ๐‘–๐‘–๏ฟฝ = 0

21

Revolute Joint Constraint

X

Y

Xi

ฮธi

Ri

uiP

Oi

P

Yi

XjYj

Rj

Oj

ujP

riP,

rjP

Revolute joint ensures relative rotation between the two joined bodies, i.e.

๐‘Ÿ๐‘Ÿ๐‘–๐‘–๐‘ƒ๐‘ƒ = ๐‘Ÿ๐‘Ÿ๐‘—๐‘—๐‘ƒ๐‘ƒ

๐œƒ๐œƒ๐‘–๐‘– โ‰  ๐œƒ๐œƒ๐‘—๐‘—

Therefore,

๏ฟฝ๐‘…๐‘…๐‘–๐‘– + ๐ด๐ด๐‘–๐‘– ๐‘ข๐‘ข๏ฟฝ๐‘–๐‘–๐‘ƒ๐‘ƒ๏ฟฝ = ๏ฟฝ๐‘…๐‘…๐‘—๐‘— + ๐ด๐ด๐‘–๐‘– ๐‘ข๐‘ข๏ฟฝ๐‘—๐‘—๐‘ƒ๐‘ƒ๏ฟฝ

or,

๏ฟฝ๐‘…๐‘…๐‘–๐‘– + ๐ด๐ด๐‘–๐‘– ๐‘ข๐‘ข๏ฟฝ๐‘–๐‘–๐‘ƒ๐‘ƒ๏ฟฝ โˆ’ ๏ฟฝ๐‘…๐‘…๐‘—๐‘— + ๐ด๐ด๐‘–๐‘– ๐‘ข๐‘ข๏ฟฝ๐‘—๐‘—๐‘ƒ๐‘ƒ๏ฟฝ = 0

We end with one matrix equation (two scalar equations).

๏ฟฝ๐‘…๐‘…๐‘–๐‘–๐‘ฅ๐‘ฅ๐‘…๐‘…๐‘–๐‘–๐‘ฆ๐‘ฆ

๏ฟฝ + ๏ฟฝcos๐œƒ๐œƒ๐‘–๐‘– โˆ’ sin๐œƒ๐œƒ๐‘–๐‘–sin๐œƒ๐œƒ๐‘–๐‘– cos ๐œƒ๐œƒ๐‘–๐‘–

๏ฟฝ ๏ฟฝ๏ฟฝฬ…๏ฟฝ๐‘ฅ๐‘–๐‘–๐‘ƒ๐‘ƒ๐‘ฆ๐‘ฆ๏ฟฝ๐‘–๐‘–๐‘ƒ๐‘ƒ

๏ฟฝ โˆ’ ๏ฟฝ๐‘…๐‘…๐‘—๐‘—๐‘ฅ๐‘ฅ๐‘…๐‘…๐‘—๐‘—๐‘ฆ๐‘ฆ

๏ฟฝ โˆ’ ๏ฟฝcos ๐œƒ๐œƒ๐‘—๐‘— โˆ’ sin๐œƒ๐œƒ๐‘—๐‘—sin๐œƒ๐œƒ๐‘—๐‘— cos ๐œƒ๐œƒ๐‘—๐‘—

๏ฟฝ ๏ฟฝ๏ฟฝฬ…๏ฟฝ๐‘ฅ๐‘—๐‘—๐‘ƒ๐‘ƒ๐‘ฆ๐‘ฆ๏ฟฝ๐‘—๐‘—๐‘ƒ๐‘ƒ

๏ฟฝ = 0

22

Prismatic Joint

ฮธi

Body j

Body i

Pj

Pi

hi Qirij P

Prismatic joint allows relative translation between the connected bodies. Relative rotation is however

restricted as two bodies have to rotate together, which means,

๐œƒ๐œƒ๐‘–๐‘– โˆ’ ๐œƒ๐œƒ๐‘—๐‘— = ๐‘๐‘

On the other hand, one of the two bodies is free to slide in and out of the other one along a specified line

of action. Geometrically, this can be represented using two vectors:

โ€ข The line of action connecting two points on j and i respectively as in the figure above and

โ€ข A vector in Body i that is normal to this line of action

Regardless of the orientations of these two bodies, these two vectors will always remain normal to each

other. This relation can be represented using dot product of these two vectors:

โ„Ž๐‘–๐‘–๐‘‡๐‘‡๐‘Ÿ๐‘Ÿ๐‘–๐‘–๐‘—๐‘—๐‘ƒ๐‘ƒ = 0

where,

โ„Ž๐‘–๐‘– = ๐ด๐ด๐‘–๐‘–๏ฟฝ ๐‘ข๐‘ข๏ฟฝ๐‘–๐‘–๐‘ƒ๐‘ƒ โˆ’ ๐‘ข๐‘ข๏ฟฝ๐‘–๐‘–๐‘„๐‘„๏ฟฝ

๐‘Ÿ๐‘Ÿ๐‘–๐‘–๐‘—๐‘—๐‘ƒ๐‘ƒ = ๐‘Ÿ๐‘Ÿ๐‘–๐‘–๐‘ƒ๐‘ƒ โˆ’ ๐‘Ÿ๐‘Ÿ๐‘—๐‘—๐‘ƒ๐‘ƒ = ๏ฟฝ๐‘…๐‘…๐‘–๐‘– + ๐ด๐ด๐‘–๐‘– ๐‘ข๐‘ข๏ฟฝ๐‘–๐‘–๐‘ƒ๐‘ƒ๏ฟฝ โˆ’ ๏ฟฝ๐‘…๐‘…๐‘—๐‘— + ๐ด๐ด๐‘–๐‘– ๐‘ข๐‘ข๏ฟฝ๐‘—๐‘—๐‘ƒ๐‘ƒ๏ฟฝ

These equations can be combined as,

๏ฟฝ๐œƒ๐œƒ๐‘–๐‘– โˆ’ ๐œƒ๐œƒ๐‘—๐‘— โˆ’ ๐‘๐‘โ„Ž๐‘–๐‘–๐‘‡๐‘‡๐‘Ÿ๐‘Ÿ๐‘–๐‘–๐‘—๐‘—๐‘ƒ๐‘ƒ

๏ฟฝ = ๏ฟฝ00๏ฟฝ

23

Example

Derive the algebraic kinematic constraint equations of this two-link manipulator.

Assumptions:

โ€ข The two links are uniform rods.

โ€ข Each link has its frame at its geometric center, representing the center of mass. This is typical when

modeling dynamic systems.

โ€ข For convenience, the frame of link 1 coincides with the global frame.

X1

Y1

X3

ฮธ2O

Y3

X2

Y2

ฮธ3

A

Solution:

โ€ข Since frame 1 is fixed and coincides with the global frame

๏ฟฝ๐‘…๐‘…1๐‘ฅ๐‘ฅ๐‘…๐‘…1๐‘ฆ๐‘ฆ๐œƒ๐œƒ1

๏ฟฝ = 0

โ€ข Joint O connects links 1 and 2. It is easy to see that frame 2 traces a circle whose center is O.

Therefore, this hinge can be described using this equation:

(๐‘…๐‘…2 + ๐ด๐ด2 ๐‘ข๐‘ข๏ฟฝ2๐‘‚๐‘‚) โˆ’ ๐‘…๐‘…1 = 0

๏ฟฝ๐‘…๐‘…2๐‘ฅ๐‘ฅ๐‘…๐‘…2๐‘ฆ๐‘ฆ

๏ฟฝ + ๏ฟฝcos๐œƒ๐œƒ2 โˆ’ sin๐œƒ๐œƒ2sin๐œƒ๐œƒ2 cos๐œƒ๐œƒ2

๏ฟฝ ๏ฟฝโˆ’๐‘™๐‘™2

20๏ฟฝ โˆ’ ๏ฟฝ00๏ฟฝ = 0

Remember that R1=0, which means this equation becomes,

๏ฟฝ๐‘…๐‘…2๐‘ฅ๐‘ฅ๐‘…๐‘…2๐‘ฆ๐‘ฆ

๏ฟฝ + ๏ฟฝcos ๐œƒ๐œƒ2 โˆ’ sin๐œƒ๐œƒ2sin๐œƒ๐œƒ2 cos ๐œƒ๐œƒ2

๏ฟฝ ๏ฟฝโˆ’๐‘™๐‘™2

20๏ฟฝ = 0

24

โ€ข The same process can be repeated for joint A by moving:

1. frame 2 a distance of ๏ฟฝ๐‘™๐‘™2

2๏ฟฝ (forward) and

2. frame 3 a distance of ๏ฟฝโˆ’๐‘™๐‘™3

2๏ฟฝ (backward) to have both frames meet at joint A.

(๐‘…๐‘…3 + ๐ด๐ด3 ๐‘ข๐‘ข๏ฟฝ3๐ด๐ด) โˆ’ (๐‘…๐‘…2 + ๐ด๐ด2 ๐‘ข๐‘ข๏ฟฝ2๐ด๐ด) = 0

๏ฟฝ๐‘…๐‘…3๐‘ฅ๐‘ฅ๐‘…๐‘…3๐‘ฆ๐‘ฆ

๏ฟฝ + ๏ฟฝcos๐œƒ๐œƒ3 โˆ’ sin๐œƒ๐œƒ3sin๐œƒ๐œƒ3 cos๐œƒ๐œƒ3

๏ฟฝ ๏ฟฝโˆ’๐‘™๐‘™3

20๏ฟฝ โˆ’ ๏ฟฝ

๐‘…๐‘…2๐‘ฅ๐‘ฅ๐‘…๐‘…2๐‘ฆ๐‘ฆ

๏ฟฝ โˆ’ ๏ฟฝcos๐œƒ๐œƒ2 โˆ’ sin๐œƒ๐œƒ2sin๐œƒ๐œƒ2 cos๐œƒ๐œƒ2

๏ฟฝ ๏ฟฝ๐‘™๐‘™2

20๏ฟฝ = 0

โ€ข These kinematic constraint equations can be written in a vector form as:

๐ถ๐ถ(๐‘ž๐‘ž1, ๐‘ž๐‘ž2, ๐‘ž๐‘ž3) =

โŽฉโŽชโŽชโŽชโŽชโŽจ

โŽชโŽชโŽชโŽชโŽง ๐‘…๐‘…1๐‘ฅ๐‘ฅ

๐‘…๐‘…1๐‘ฆ๐‘ฆ๐œƒ๐œƒ1

๐‘…๐‘…2๐‘ฅ๐‘ฅ โˆ’๐‘™๐‘™2 cos ๐œƒ๐œƒ2

2

๐‘…๐‘…2๐‘ฆ๐‘ฆ โˆ’๐‘™๐‘™2 sin๐œƒ๐œƒ2

2

๐‘…๐‘…3๐‘ฅ๐‘ฅ โˆ’๐‘™๐‘™3 cos๐œƒ๐œƒ3

2โˆ’ ๐‘…๐‘…2๐‘ฅ๐‘ฅ โˆ’

๐‘™๐‘™2 cos ๐œƒ๐œƒ2

2

๐‘…๐‘…3๐‘ฆ๐‘ฆ โˆ’๐‘™๐‘™3 sin๐œƒ๐œƒ3

2โˆ’ ๐‘…๐‘…2๐‘ฆ๐‘ฆ โˆ’

๐‘™๐‘™2 sin๐œƒ๐œƒ2

2 โŽญโŽชโŽชโŽชโŽชโŽฌ

โŽชโŽชโŽชโŽชโŽซ

=

โŽฉโŽชโŽจ

โŽชโŽง

0000000โŽญโŽชโŽฌ

โŽชโŽซ

where C=[C1,C2,โ€ฆ.,C7]T is the vector of algebraic constraints that describe this system.

โ€ข Since the system has nine absolute coordinates.

โ€ข Therefore, the number of degrees of freedom is equal to two

Homework โ€ข Derive the kinematic constraint equations for the machines in Figures P3.6 and P3.24.

25

Computational Method in Kinematics

โ€ข The presented approach is based on exploiting the idea of kinematic constraints numerically. โ€ข This way we avoid deriving specific solution for every mechanical system. Introduction A multi-body system consisting of nb unconstrained rigid bodies has 3nb independent generalized coordinates that are described using the vector q

๐‘ž๐‘ž = ๏ฟฝ๐‘…๐‘…1๐‘ฅ๐‘ฅ ๐‘…๐‘…1๐‘ฆ๐‘ฆ ๐œƒ๐œƒ1 ๐‘…๐‘…2๐‘ฅ๐‘ฅ ๐‘…๐‘…2๐‘ฆ๐‘ฆ ๐œƒ๐œƒ2 โ‹ฏ โ‹ฏ ๐‘…๐‘…๐‘›๐‘›๐‘๐‘๐‘ฅ๐‘ฅ ๐‘…๐‘…๐‘›๐‘›๐‘๐‘๐‘ฆ๐‘ฆ ๐œƒ๐œƒ๐‘›๐‘›๐‘๐‘๏ฟฝ๐‘‡๐‘‡ ๐‘ž๐‘ž = [๐‘…๐‘…1 ๐œƒ๐œƒ1 ๐‘…๐‘…2 ๐œƒ๐œƒ2 โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ ๐‘…๐‘…๐‘›๐‘›๐‘๐‘ ๐œƒ๐œƒ๐‘›๐‘›๐‘๐‘]๐‘‡๐‘‡

๐‘ž๐‘ž = [๐‘ž๐‘ž1 ๐‘ž๐‘ž2 โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ ๐‘ž๐‘ž๐‘›๐‘›๐‘๐‘]๐‘‡๐‘‡ where,

๐‘ž๐‘ž๐‘–๐‘– = ๏ฟฝ๐‘…๐‘…๐‘–๐‘–

๐œƒ๐œƒ๐‘–๐‘–๏ฟฝ

The vector of algebraic kinematic constraints that describe this system

C(q,t)=[C1(q,t),C2(q,t),โ€ฆ.,Cnc(q,t)]T

nc is the total number of constraints

26

Categories of Mechanical Systems

Mechanical systems can be divided into:

1. Dynamically-Driven: The number of the constraint equations is less than the number of the system

coordinates (nc < n).

Dynamics forces are needed to perform the analysis.

Example: A ball falling toward ground.

โ€ข No driving input

โ€ข No kinematic constraint

โ€ข The result is 0 equations that are less than the number of degrees of freedom of the system (3))

2. Kinematically-Driven: The number of the linearly independent constraint equations is equal to the

number of the system coordinates (nc = n).

Example: The two-link manipulator

โ€ข Adding the number of driving inputs to the constraints equations (2 inputs to 7 constraints).

โ€ข The result is 9 equations that are equal the number of degrees of freedom of the system (3x3))

This chapter focuses on the Kinematically-Driven systems only.

Dynamically-Driven system will be analyzed later.

27

Example on Formulating a Kinematically Driven Mechanical Systems:

X1

Y1

X3

ฮธ2O

Y3

X2

Y2

ฮธ3

A

Two additional inputs are needed: ฮธ2 and ฮธ3 for links 2 and 3 respectively.

If both links are driven using constant speeds: ฯ‰2 and ฯ‰3,

๐ถ๐ถ(๐‘ž๐‘ž1, ๐‘ž๐‘ž2, ๐‘ž๐‘ž3) =

โŽฉโŽชโŽชโŽชโŽชโŽชโŽชโŽจ

โŽชโŽชโŽชโŽชโŽชโŽชโŽง ๐‘…๐‘…1๐‘ฅ๐‘ฅ

๐‘…๐‘…1๐‘ฆ๐‘ฆ๐œƒ๐œƒ1

๐‘…๐‘…2๐‘ฅ๐‘ฅ โˆ’๐‘™๐‘™2 cos ๐œƒ๐œƒ2

2

๐‘…๐‘…2๐‘ฆ๐‘ฆ โˆ’๐‘™๐‘™2 sin๐œƒ๐œƒ2

2

๐‘…๐‘…2๐‘ฅ๐‘ฅ +๐‘™๐‘™2 cos ๐œƒ๐œƒ2

2โˆ’ ๐‘…๐‘…3๐‘ฅ๐‘ฅ +

๐‘™๐‘™3 cos๐œƒ๐œƒ3

2

๐‘…๐‘…2๐‘ฆ๐‘ฆ +๐‘™๐‘™2 sin๐œƒ๐œƒ2

2โˆ’ ๐‘…๐‘…3๐‘ฆ๐‘ฆ +

๐‘™๐‘™3 sin๐œƒ๐œƒ3

2๐œฝ๐œฝ๐Ÿ๐Ÿ โˆ’ ๐œฝ๐œฝ๐Ÿ๐Ÿ๐’๐’ โˆ’ ๐Ž๐Ž๐Ÿ๐Ÿ๐’•๐’•๐œฝ๐œฝ๐Ÿ‘๐Ÿ‘ โˆ’ ๐œฝ๐œฝ๐Ÿ‘๐Ÿ‘๐’๐’ โˆ’ ๐Ž๐Ž๐Ÿ‘๐Ÿ‘๐Ÿ๐Ÿ๐’•๐’• โŽญ

โŽชโŽชโŽชโŽชโŽชโŽชโŽฌ

โŽชโŽชโŽชโŽชโŽชโŽชโŽซ

=

โŽฉโŽชโŽชโŽจ

โŽชโŽชโŽง

0000000๐ŸŽ๐ŸŽ๐ŸŽ๐ŸŽโŽญโŽชโŽชโŽฌ

โŽชโŽชโŽซ

28

Homework โ€ข Derive the kinematic constraint equations including driving input constraints for the machines in

Figures P3.3 and P3.4.

29

Position Analysis

โ€ข The kinematic constraints equations are of trigonometric natures and are generally nonlinear.

โ€ข While a closed form solution can be obtained in many cases, it has to be performed at each case

separately.

โ€ข A computer-driven (computational) approach requires solving these equations using a numerical

method.

โ€ข A typical approach is to use Newton-Raphson Algorithm.

Sir Isaac Newton (1642-1727)

http://en.wikipedia.org/wiki/Isaac_Newton

Joseph Raphson (1648-1715)

http://en.wikipedia.org/wiki/Raphson

30

Newton-Raphson Algorithm

Newton-Raphsonโ€™s algorithm is based on Taylorโ€™s Theorem:

๐‘“๐‘“(๐‘ฅ๐‘ฅ + โˆ†๐‘ฅ๐‘ฅ) = ๐‘“๐‘“(๐‘ฅ๐‘ฅ) +๐‘‘๐‘‘๐‘“๐‘“(๐‘ฅ๐‘ฅ)๐‘‘๐‘‘๐‘ฅ๐‘ฅ

โˆ†๐‘ฅ๐‘ฅ +12!๐‘‘๐‘‘2๐‘“๐‘“(๐‘ฅ๐‘ฅ)๐‘‘๐‘‘๐‘ฅ๐‘ฅ2

(โˆ†๐‘ฅ๐‘ฅ)2 + โ‹ฏ+1

(๐‘›๐‘› โˆ’ 1)!๐‘‘๐‘‘๐‘›๐‘›โˆ’1๐‘“๐‘“(๐‘ฅ๐‘ฅ)๐‘‘๐‘‘๐‘ฅ๐‘ฅ๐‘›๐‘›โˆ’1

(โˆ†๐‘ฅ๐‘ฅ)๐‘›๐‘›โˆ’1

Brook Taylor (1685-1731)

http://en.wikipedia.org/wiki/Brook_Taylor

โ€ข Taylorโ€™s Theorem can be expanded to multivariable functions after expressing it in matrix notation

as follows:

1x m mx1

๐‘“๐‘“(๐‘ฅ๐‘ฅ + โˆ†๐‘ฅ๐‘ฅ) = ๐‘“๐‘“(๐‘ฅ๐‘ฅ) + ๏ฟฝ๐œ•๐œ•๐‘“๐‘“(๐‘ฅ๐‘ฅ)๐œ•๐œ•๐‘ฅ๐‘ฅ1

๐œ•๐œ•๐‘“๐‘“(๐‘ฅ๐‘ฅ)๐œ•๐œ•๐‘ฅ๐‘ฅ2

โ€ฆ๐œ•๐œ•๐‘“๐‘“(๐‘ฅ๐‘ฅ)๐œ•๐œ•๐‘ฅ๐‘ฅ๐‘š๐‘š

๏ฟฝ๏ฟฝ

โˆ†๐‘ฅ๐‘ฅ1โˆ†๐‘ฅ๐‘ฅ2โ‹ฎ

โˆ†๐‘ฅ๐‘ฅ๐‘š๐‘š

๏ฟฝ

+12!๏ฟฝ

โˆ†๐‘ฅ๐‘ฅ1โˆ†๐‘ฅ๐‘ฅ2โ‹ฎ

โˆ†๐‘ฅ๐‘ฅ๐‘š๐‘š

๏ฟฝ

๐‘‡๐‘‡

โŽฃโŽขโŽขโŽขโŽขโŽขโŽขโŽก ๐œ•๐œ•

2๐‘“๐‘“(๐‘ฅ๐‘ฅ)๐œ•๐œ•๐‘ฅ๐‘ฅ12

๐œ•๐œ•2๐‘“๐‘“(๐‘ฅ๐‘ฅ)๐œ•๐œ•๐‘ฅ๐‘ฅ1๐œ•๐œ•๐‘ฅ๐‘ฅ2

โ€ฆ๐œ•๐œ•2๐‘“๐‘“(๐‘ฅ๐‘ฅ)๐œ•๐œ•๐‘ฅ๐‘ฅ1๐œ•๐œ•๐‘ฅ๐‘ฅ๐‘š๐‘š

๐œ•๐œ•2๐‘“๐‘“(๐‘ฅ๐‘ฅ)๐œ•๐œ•๐‘ฅ๐‘ฅ2๐œ•๐œ•๐‘ฅ๐‘ฅ1

๐œ•๐œ•2๐‘“๐‘“(๐‘ฅ๐‘ฅ)๐œ•๐œ•๐‘ฅ๐‘ฅ22

โ€ฆ๐œ•๐œ•2๐‘“๐‘“(๐‘ฅ๐‘ฅ)๐œ•๐œ•๐‘ฅ๐‘ฅ2๐œ•๐œ•๐‘ฅ๐‘ฅ๐‘š๐‘š

โ‹ฎ๐œ•๐œ•2๐‘“๐‘“(๐‘ฅ๐‘ฅ)๐œ•๐œ•๐‘ฅ๐‘ฅ๐‘š๐‘š๐œ•๐œ•๐‘ฅ๐‘ฅ1

โ‹ฎ๐œ•๐œ•2๐‘“๐‘“(๐‘ฅ๐‘ฅ)๐œ•๐œ•๐‘ฅ๐‘ฅ๐‘š๐‘š๐œ•๐œ•๐‘ฅ๐‘ฅ2

โ‹ฎ โ€ฆ

โ‹ฎ ๐œ•๐œ•2๐‘“๐‘“(๐‘ฅ๐‘ฅ)๐œ•๐œ•๐‘ฅ๐‘ฅ๐‘š๐‘š2 โŽฆ

โŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽค

๏ฟฝ

โˆ†๐‘ฅ๐‘ฅ1โˆ†๐‘ฅ๐‘ฅ2โ‹ฎ

โˆ†๐‘ฅ๐‘ฅ๐‘›๐‘›

๏ฟฝ + โ‹ฏ

1xm Hessian Matrix: mxm mx1

31

โ€ข If we have a set of functions, we can apply Taylorโ€™s Theorem to them by expanding the above

equation,

๐ถ๐ถ(๐‘ž๐‘ž๐‘–๐‘– + โˆ†๐‘ž๐‘ž๐‘–๐‘– , ๐‘ก๐‘ก) = ๐ถ๐ถ(๐‘ž๐‘ž๐‘–๐‘– , ๐‘ก๐‘ก) + ๐ถ๐ถ๐‘ž๐‘ž๐‘–๐‘–โˆ†๐‘ž๐‘ž๐‘–๐‘– + โ‹ฏ (โ„Ž๐‘–๐‘–๐‘–๐‘–โ„Ž๐‘’๐‘’๐‘Ÿ๐‘Ÿ ๐‘œ๐‘œ๐‘Ÿ๐‘Ÿ๐‘‘๐‘‘๐‘’๐‘’๐‘Ÿ๐‘Ÿ ๐‘ก๐‘ก๐‘’๐‘’๐‘Ÿ๐‘Ÿ๐‘ก๐‘ก๐‘ก๐‘ก) โˆ†๐‘ž๐‘ž = [โˆ†๐‘ž๐‘ž1 โˆ†๐‘ž๐‘ž2 โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ โˆ†๐‘ž๐‘ž๐‘›๐‘›]๐‘‡๐‘‡

Cqi is the Jacobian Matrix, which can be defined as,

๐ถ๐ถ๐‘ž๐‘ž๐‘–๐‘– =

โŽฃโŽขโŽขโŽขโŽขโŽขโŽขโŽก๐œ•๐œ•๐ถ๐ถ1๐œ•๐œ•๐‘ž๐‘ž1

๐œ•๐œ•๐ถ๐ถ1๐œ•๐œ•๐‘ž๐‘ž2

๐œ•๐œ•๐ถ๐ถ2๐œ•๐œ•๐‘ž๐‘ž1

๐œ•๐œ•๐ถ๐ถ2๐œ•๐œ•๐‘ž๐‘ž2

โ‹ฏ

๐œ•๐œ•๐ถ๐ถ1๐œ•๐œ•๐‘ž๐‘ž๐‘›๐‘›๐œ•๐œ•๐ถ๐ถ2๐œ•๐œ•๐‘ž๐‘ž๐‘›๐‘›

โ‹ฎ โ‹ฑ โ‹ฎ๐œ•๐œ•๐ถ๐ถ๐‘›๐‘›๐œ•๐œ•๐‘ž๐‘ž1

๐œ•๐œ•๐ถ๐ถ๐‘›๐‘›๐œ•๐œ•๐‘ž๐‘ž2

โ‹ฏ๐œ•๐œ•๐ถ๐ถ๐‘›๐‘›๐œ•๐œ•๐‘ž๐‘ž๐‘›๐‘›โŽฆ

โŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽค

Note: ๐ถ๐ถ๐‘ž๐‘ž๐‘–๐‘– is a square matrix for a kinematically-driven system since n=nc

Carl Gustav Jacob Jacobi (1804-1851)

https://en.wikipedia.org/wiki/Carl_Gustav_Jacob_Jacobi

32

If the constraint equations are linearly independent1, C is a nonsingular matrix.

Assuming ๐‘ž๐‘ž๐‘–๐‘– + โˆ†๐‘ž๐‘ž๐‘–๐‘– to be the exact solution, then

๐ถ๐ถ(๐‘ž๐‘ž๐‘–๐‘– + โˆ†๐‘ž๐‘ž๐‘–๐‘– , ๐‘ก๐‘ก) = 0

Therefore,

๐ถ๐ถ(๐‘ž๐‘ž๐‘–๐‘– , ๐‘ก๐‘ก) + ๐ถ๐ถ๐‘ž๐‘ž๐‘–๐‘–โˆ†๐‘ž๐‘ž๐‘–๐‘– + โ‹ฏ = 0

If the assumed solution is close enough to the correct solution, the second order and higher terms can

be neglected, which means:

๐ถ๐ถ(๐‘ž๐‘ž๐‘–๐‘– , ๐‘ก๐‘ก) + ๐ถ๐ถ๐‘ž๐‘ž๐‘–๐‘–โˆ†๐‘ž๐‘ž๐‘–๐‘– โ‰ˆ 0

๐ถ๐ถ๐‘ž๐‘ž๐‘–๐‘–โˆ†๐‘ž๐‘ž๐‘–๐‘– = โˆ’๐ถ๐ถ(๐‘ž๐‘ž๐‘–๐‘– , ๐‘ก๐‘ก)

โˆ†๐‘ž๐‘ž๐‘–๐‘– = โˆ’๐ถ๐ถ๐‘ž๐‘ž๐‘–๐‘–โˆ’1๐ถ๐ถ(๐‘ž๐‘ž๐‘–๐‘– , ๐‘ก๐‘ก)

Remember that the constraint Jacobian matrix ๐ถ๐ถ๐‘ž๐‘ž๐‘–๐‘– is assumed to be nonsingular, i.e., an inverse of

๐ถ๐ถ๐‘ž๐‘ž๐‘–๐‘– exists.

The equation can be then solved for the vector of the Newton Differences, โˆ†๐‘ž๐‘ž๐‘–๐‘–

The vector is updated as,

๐‘ž๐‘ž๐‘–๐‘–+1 = ๐‘ž๐‘ž๐‘–๐‘– + โˆ†๐‘ž๐‘ž๐‘–๐‘–

where, i is the iteration number. The updated vector can be used to reconstruct the equation above.

The process continues until:

|โˆ†๐‘ž๐‘ž๐‘–๐‘–| < ๐œ–๐œ–1 or,

|๐ถ๐ถ(๐‘ž๐‘ž๐‘–๐‘– , ๐‘ก๐‘ก)| < ๐œ–๐œ–2

The above termination criteria means that search stops because either: 1. The changes of the vector have become extremely small or, 2. The Kinematic Constraints matrix approaches zero Note: ฮต1 is a vector while ฮต2 is a one value.

1 Linearly independent constraints is a set of unique constraints where no constraint can be expressed in terms of the other ones.

33

Example:

X1

Y1

X3

ฮธ2O

Y3

X2

Y2

ฮธ3

A

Two additional inputs are needed: ฮธ2 and ฮธ3 for links 2 and 3 respectively. If both links are driven using

constant speeds: ฯ‰2 and ฯ‰3

๐ถ๐ถ(๐‘ž๐‘ž1, ๐‘ž๐‘ž2, ๐‘ž๐‘ž3) =

โŽฉโŽชโŽชโŽชโŽชโŽชโŽชโŽจ

โŽชโŽชโŽชโŽชโŽชโŽชโŽง ๐‘…๐‘…1๐‘ฅ๐‘ฅ

๐‘…๐‘…1๐‘ฆ๐‘ฆ๐œƒ๐œƒ1

๐‘…๐‘…2๐‘ฅ๐‘ฅ โˆ’๐‘™๐‘™2 cos ๐œƒ๐œƒ2

2

๐‘…๐‘…2๐‘ฆ๐‘ฆ โˆ’๐‘™๐‘™2 sin๐œƒ๐œƒ2

2

๐‘…๐‘…2๐‘ฅ๐‘ฅ +๐‘™๐‘™2 cos๐œƒ๐œƒ2

2โˆ’ ๐‘…๐‘…3๐‘ฅ๐‘ฅ +

๐‘™๐‘™3 cos ๐œƒ๐œƒ3

2

๐‘…๐‘…2๐‘ฆ๐‘ฆ +๐‘™๐‘™2 sin๐œƒ๐œƒ2

2โˆ’ ๐‘…๐‘…3๐‘ฆ๐‘ฆ +

๐‘™๐‘™3 sin๐œƒ๐œƒ3

2๐œƒ๐œƒ2 โˆ’ ๐œƒ๐œƒ2๐‘œ๐‘œ โˆ’ ๐œ”๐œ”2๐‘ก๐‘ก๐œƒ๐œƒ3 โˆ’ ๐œƒ๐œƒ3๐‘œ๐‘œ โˆ’ ๐œ”๐œ”3๐‘ก๐‘ก โŽญ

โŽชโŽชโŽชโŽชโŽชโŽชโŽฌ

โŽชโŽชโŽชโŽชโŽชโŽชโŽซ

=

โŽฉโŽชโŽชโŽจ

โŽชโŽชโŽง

000000000โŽญโŽชโŽชโŽฌ

โŽชโŽชโŽซ

๐‘ž๐‘ž = ๏ฟฝ๐‘…๐‘…1๐‘ฅ๐‘ฅ ๐‘…๐‘…1๐‘ฆ๐‘ฆ ๐œƒ๐œƒ1 ๐‘…๐‘…2๐‘ฅ๐‘ฅ ๐‘…๐‘…2๐‘ฆ๐‘ฆ ๐œƒ๐œƒ2 ๐‘…๐‘…3๐‘ฅ๐‘ฅ ๐‘…๐‘…3๐‘ฆ๐‘ฆ ๐œƒ๐œƒ3๏ฟฝ๐‘‡๐‘‡

34

The Jacobian matrix is,

๐ถ๐ถ๐‘ž๐‘ž๐‘–๐‘– =

โŽฃโŽขโŽขโŽขโŽขโŽขโŽขโŽก๐œ•๐œ•๐ถ๐ถ1๐œ•๐œ•๐‘ž๐‘ž1

๐œ•๐œ•๐ถ๐ถ1๐œ•๐œ•๐‘ž๐‘ž2

๐œ•๐œ•๐ถ๐ถ2๐œ•๐œ•๐‘ž๐‘ž1

๐œ•๐œ•๐ถ๐ถ2๐œ•๐œ•๐‘ž๐‘ž2

โ‹ฏ

๐œ•๐œ•๐ถ๐ถ1๐œ•๐œ•๐‘ž๐‘ž๐‘›๐‘›๐œ•๐œ•๐ถ๐ถ2๐œ•๐œ•๐‘ž๐‘ž๐‘›๐‘›

โ‹ฎ โ‹ฑ โ‹ฎ๐œ•๐œ•๐ถ๐ถ๐‘›๐‘›๐œ•๐œ•๐‘ž๐‘ž1

๐œ•๐œ•๐ถ๐ถ๐‘›๐‘›๐œ•๐œ•๐‘ž๐‘ž2

โ‹ฏ๐œ•๐œ•๐ถ๐ถ๐‘›๐‘›๐œ•๐œ•๐‘ž๐‘ž๐‘›๐‘›โŽฆ

โŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽค

In this case ๐ถ๐ถ๐‘ž๐‘ž๐‘–๐‘– can be obtained by partial differentiation of the constraint matrix as follows:

๐ถ๐ถ๐‘ž๐‘ž =

โŽฃโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽก1 0 00 1 00 0 1

0 0 0 0 0 0 0 0 0

0 0 00 0 0

0 0 00 0 00 0 00 0 0

1 0 ๐‘™๐‘™2 sin๐œƒ๐œƒ2 2โ„ 0 1 โˆ’ ๐‘™๐‘™2 cos๐œƒ๐œƒ2 2โ„ 1 0 โˆ’ ๐‘™๐‘™2 sin๐œƒ๐œƒ2 2โ„

0 0 0 0 0 0

โˆ’1 0 โˆ’ ๐‘™๐‘™3 sin๐œƒ๐œƒ3 2โ„0 0 00 0 00 0 0

0 1 ๐‘™๐‘™2 cos๐œƒ๐œƒ2 2โ„ 0 0 1 0 0 0

0 โˆ’1 ๐‘™๐‘™3 cos ๐œƒ๐œƒ3 2โ„ 0 0 0 0 0 1 โŽฆ

โŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽค

35

Velocity Analysis Differentiating the vector constraint equation

๐‘‘๐‘‘๐ถ๐ถ(๐‘ž๐‘ž, ๐‘ก๐‘ก)๐‘‘๐‘‘๐‘ก๐‘ก

= 0

๐œ•๐œ•๐ถ๐ถ๐œ•๐œ•๐‘ž๐‘ž

๐‘‘๐‘‘๐‘ž๐‘ž๐‘‘๐‘‘๐‘ก๐‘ก

+๐œ•๐œ•๐ถ๐ถ๐œ•๐œ•๐‘ก๐‘ก

= 0

Or,

๐ถ๐ถ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž + ๐ถ๐ถ๐‘ก๐‘ก = 0

Cq is the constraint Jacobian Matrix

Ct is the partial differentiation of C with respect to time:

๐ถ๐ถ๐‘ก๐‘ก = ๏ฟฝ๐œ•๐œ•๐ถ๐ถ1๐œ•๐œ•๐‘ก๐‘ก

๐œ•๐œ•๐ถ๐ถ2๐œ•๐œ•๐‘ก๐‘ก

โ‹ฏ ๐œ•๐œ•๐ถ๐ถ๐‘›๐‘›๐œ•๐œ•๐‘ก๐‘ก

๏ฟฝ๐‘‡๐‘‡

Rearranging,

๐ถ๐ถ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž = โˆ’๐ถ๐ถ๐‘ก๐‘ก

Or,

๏ฟฝฬ‡๏ฟฝ๐‘ž = โˆ’๐ถ๐ถ๐‘ž๐‘žโˆ’1๐ถ๐ถ๐‘ก๐‘ก

You may want to notice the similarity between:

โ€ข Position formulation (โˆ†๐‘ž๐‘ž๐‘–๐‘– = โˆ’๐ถ๐ถ๐‘ž๐‘ž๐‘–๐‘–โˆ’1๐ถ๐ถ(๐‘ž๐‘ž๐‘–๐‘– , ๐‘ก๐‘ก)) and

โ€ข Velocity formulation (๏ฟฝฬ‡๏ฟฝ๐‘ž = โˆ’๐ถ๐ถ๐‘ž๐‘žโˆ’1๐ถ๐ถ๐‘ก๐‘ก)

Why? What is the difference?

36

Acceleration Analysis

Differentiating the velocity equation ๐‘‘๐‘‘๐‘‘๐‘‘๐‘ก๐‘ก๏ฟฝ๐ถ๐ถ๐‘ž๐‘ž(๐‘ž๐‘ž, ๐‘ก๐‘ก)๏ฟฝฬ‡๏ฟฝ๐‘ž + ๐ถ๐ถ๐‘ก๐‘ก(๐‘ž๐‘ž, ๐‘ก๐‘ก)๏ฟฝ = 0

๐‘‘๐‘‘๐‘‘๐‘‘๐‘ก๐‘ก๏ฟฝ๐ถ๐ถ๐‘ž๐‘ž(๐‘ž๐‘ž, ๐‘ก๐‘ก)๏ฟฝฬ‡๏ฟฝ๐‘ž๏ฟฝ +

๐‘‘๐‘‘๐‘‘๐‘‘๐‘ก๐‘ก๏ฟฝ๐ถ๐ถ๐‘ก๐‘ก(๐‘ž๐‘ž, ๐‘ก๐‘ก)๏ฟฝ = 0

๏ฟฝ๏ฟฝ๏ฟฝ๐ถ๐ถ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž๏ฟฝ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž + ๐ถ๐ถ๐‘ž๐‘ž๐‘ก๐‘ก๏ฟฝฬ‡๏ฟฝ๐‘ž๏ฟฝ + ๐ถ๐ถ๐‘ž๐‘ž๏ฟฝฬˆ๏ฟฝ๐‘ž๏ฟฝ + ๏ฟฝ๐ถ๐ถ๐‘ž๐‘ž๐‘ก๐‘ก๏ฟฝฬ‡๏ฟฝ๐‘ž + ๐ถ๐ถ๐‘ก๐‘ก๐‘ก๐‘ก๏ฟฝ = 0

Rearranging,

๐ถ๐ถ๐‘ž๐‘ž๏ฟฝฬˆ๏ฟฝ๐‘ž + ๏ฟฝ๏ฟฝ๐ถ๐ถ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž๏ฟฝ๐‘ž๐‘ž + ๐ถ๐ถ๐‘ž๐‘ž๐‘ก๐‘ก๏ฟฝ ๏ฟฝฬ‡๏ฟฝ๐‘ž + ๏ฟฝ๐ถ๐ถ๐‘ž๐‘ž๐‘ก๐‘ก๏ฟฝฬ‡๏ฟฝ๐‘ž + ๐ถ๐ถ๐‘ก๐‘ก๐‘ก๐‘ก๏ฟฝ = 0

๐ถ๐ถ๐‘ž๐‘ž๏ฟฝฬˆ๏ฟฝ๐‘ž + ๏ฟฝ๐ถ๐ถ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž๏ฟฝ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž + 2๐ถ๐ถ๐‘ž๐‘ž๐‘ก๐‘ก๏ฟฝฬ‡๏ฟฝ๐‘ž + ๐ถ๐ถ๐‘ก๐‘ก๐‘ก๐‘ก = 0

๐ถ๐ถ๐‘ž๐‘ž๏ฟฝฬˆ๏ฟฝ๐‘ž = โˆ’๏ฟฝ๐ถ๐ถ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž๏ฟฝ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž โˆ’ 2๐ถ๐ถ๐‘ž๐‘ž๐‘ก๐‘ก๏ฟฝฬ‡๏ฟฝ๐‘ž โˆ’ ๐ถ๐ถ๐‘ก๐‘ก๐‘ก๐‘ก = ๐‘„๐‘„๐‘‘๐‘‘

Or,

๏ฟฝฬˆ๏ฟฝ๐‘ž = ๐ถ๐ถ๐‘ž๐‘žโˆ’1๐‘„๐‘„๐‘‘๐‘‘

37

Homework

โ€ข Solve Problem 3.19

Problem 3.19

๐‘Ÿ๐‘Ÿ๐‘–๐‘–๐‘ƒ๐‘ƒ = ๐‘…๐‘…๐‘–๐‘– + ๐ด๐ด๐‘–๐‘– ๐‘ข๐‘ข๏ฟฝ๐‘–๐‘–๐‘ƒ๐‘ƒ

๏ฟฝ๐‘ฃ๐‘ฃ๐‘ก๐‘ก0 ๏ฟฝ = ๐‘…๐‘…๐‘–๐‘– + ๐ด๐ด๐‘–๐‘– ๏ฟฝ031.2๏ฟฝ

๐‘…๐‘…๐‘–๐‘– = ๏ฟฝ๐‘ฃ๐‘ฃ๐‘ก๐‘ก0 ๏ฟฝ โˆ’ ๐ด๐ด๐‘–๐‘– ๏ฟฝ031.2๏ฟฝ

where,

๐ด๐ด๐‘–๐‘– = ๏ฟฝcos๐œƒ๐œƒ๐‘–๐‘– โˆ’ sin๐œƒ๐œƒ๐‘–๐‘–sin๐œƒ๐œƒ๐‘–๐‘– cos ๐œƒ๐œƒ๐‘–๐‘–

๏ฟฝ

Hint:

โ€ข Start by identifying the generalized coordinates

โ€ข Develop the kinematic constraints equations

โ€ข Once you have both velocity and acceleration equations will be easy to derive

38

Example Derive the velocity and acceleration equations of this two-link manipulator

X1

Y1

X3

ฮธ2O

Y3

X2Y2

ฮธ3

A

In this case, the generalized coordinates are,

๐‘ž๐‘ž = ๏ฟฝ๐‘…๐‘…1๐‘ฅ๐‘ฅ ๐‘…๐‘…1๐‘ฆ๐‘ฆ ๐œƒ๐œƒ1 ๐‘…๐‘…2๐‘ฅ๐‘ฅ ๐‘…๐‘…2๐‘ฆ๐‘ฆ ๐œƒ๐œƒ2 ๐‘…๐‘…3๐‘ฅ๐‘ฅ ๐‘…๐‘…3๐‘ฆ๐‘ฆ ๐œƒ๐œƒ3๏ฟฝ๐‘‡๐‘‡ The kinematic constraint equations are,

๐ถ๐ถ(๐‘ž๐‘ž1, ๐‘ž๐‘ž2, ๐‘ž๐‘ž3) =

โŽฉโŽชโŽชโŽชโŽชโŽชโŽจ

โŽชโŽชโŽชโŽชโŽชโŽง ๐‘…๐‘…1๐‘ฅ๐‘ฅ

๐‘…๐‘…1๐‘ฆ๐‘ฆ๐œƒ๐œƒ1

๐‘…๐‘…2๐‘ฅ๐‘ฅ โˆ’๐‘™๐‘™2 cos๐œƒ๐œƒ2

2

๐‘…๐‘…2๐‘ฆ๐‘ฆ โˆ’๐‘™๐‘™2 sin๐œƒ๐œƒ2

2

๐‘…๐‘…2๐‘ฅ๐‘ฅ + ๐‘™๐‘™2 cos๐œƒ๐œƒ2

2โˆ’ ๐‘…๐‘…3๐‘ฅ๐‘ฅ + ๐‘™๐‘™3 cos๐œƒ๐œƒ3

2

๐‘…๐‘…2๐‘ฆ๐‘ฆ + ๐‘™๐‘™2 sin๐œƒ๐œƒ2

2โˆ’ ๐‘…๐‘…3๐‘ฆ๐‘ฆ + ๐‘™๐‘™3 sin๐œƒ๐œƒ3

2๐œƒ๐œƒ2 โˆ’ ๐œƒ๐œƒ2๐‘œ๐‘œ โˆ’ ๐œ”๐œ”2๐‘ก๐‘ก๐œƒ๐œƒ3 โˆ’ ๐œƒ๐œƒ3๐‘œ๐‘œ โˆ’ ๐œ”๐œ”3๐‘ก๐‘ก โŽญ

โŽชโŽชโŽชโŽชโŽชโŽฌ

โŽชโŽชโŽชโŽชโŽชโŽซ

=

โŽฉโŽชโŽชโŽจ

โŽชโŽชโŽง

000000000โŽญโŽชโŽชโŽฌ

โŽชโŽชโŽซ

39

Velocity Analysis:

Remember that the velocity equation is:

๏ฟฝฬ‡๏ฟฝ๐‘ž = โˆ’๐ถ๐ถ๐‘ž๐‘žโˆ’1๐ถ๐ถ๐‘ก๐‘ก

The Jacobian matrix becomes,

๐ถ๐ถ๐‘ž๐‘ž =

โŽฃโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽก1 0 00 1 00 0 1

0 0 0 0 0 0 0 0 0

0 0 00 0 00 0 0

0 0 00 0 00 0 0

1 0 ๐‘™๐‘™2 sin๐œƒ๐œƒ2 2โ„ 0 1 โˆ’ ๐‘™๐‘™2 cos ๐œƒ๐œƒ2 2โ„ 1 0 โˆ’ ๐‘™๐‘™2 sin๐œƒ๐œƒ2 2โ„

0 0 0 0 0 0

โˆ’1 0 โˆ’ ๐‘™๐‘™3 sin๐œƒ๐œƒ3 2โ„0 0 00 0 00 0 0

0 1 ๐‘™๐‘™2 cos๐œƒ๐œƒ2 2โ„ 0 0 1 0 0 0

0 โˆ’1 ๐‘™๐‘™3 cos๐œƒ๐œƒ3 2โ„ 0 0 0 0 0 1 โŽฆ

โŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽค

In this case, Ct is simple since only the last two elements are explicit function of time.

๐ถ๐ถ๐‘ก๐‘ก = [0 0 0 0 0 0 0 โˆ’๐œ”๐œ”2 โˆ’๐œ”๐œ”3]๐‘‡๐‘‡

40

Acceleration Analysis

Remember that the acceleration equation is:

๏ฟฝฬˆ๏ฟฝ๐‘ž = ๐ถ๐ถ๐‘ž๐‘žโˆ’1๐‘„๐‘„๐‘‘๐‘‘

The vector Qd is

๐‘„๐‘„๐‘‘๐‘‘ = โˆ’๏ฟฝ๐ถ๐ถ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž๏ฟฝ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž โˆ’ 2๐ถ๐ถ๐‘ž๐‘ž๐‘ก๐‘ก๏ฟฝฬ‡๏ฟฝ๐‘ž โˆ’ ๐ถ๐ถ๐‘ก๐‘ก๐‘ก๐‘ก

Remember that Ct is,

๐ถ๐ถ๐‘ก๐‘ก = [0 0 0 0 0 0 0 โˆ’๐œ”๐œ”2 โˆ’๐œ”๐œ”3]๐‘‡๐‘‡

Ct matrix does not have any term that is in terms of time explicitly. Therefore,

๐ถ๐ถ๐‘ž๐‘ž๐‘ก๐‘ก = 0

๐ถ๐ถ๐‘ก๐‘ก๐‘ก๐‘ก = 0

Similarly, ๏ฟฝฬ‡๏ฟฝ๐‘ž is not function of q, which means that,

๏ฟฝฬ‡๏ฟฝ๐‘ž๐‘ž๐‘ž = 0

The vector Qd is reduced to,

๐‘„๐‘„๐‘‘๐‘‘ = โˆ’๏ฟฝ๐ถ๐ถ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž๏ฟฝ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž

41

Since,

๐ถ๐ถ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž =

โŽฃโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽก1 0 00 1 00 0 1

0 0 0 0 0 0 0 0 0

0 0 00 0 00 0 0

0 0 00 0 00 0 0

1 0 ๐‘™๐‘™2 sin๐œƒ๐œƒ2 2โ„ 0 1 โˆ’ ๐‘™๐‘™2 cos๐œƒ๐œƒ2 2โ„ 1 0 โˆ’ ๐‘™๐‘™2 sin๐œƒ๐œƒ2 2โ„

0 0 0 0 0 0

โˆ’1 0 โˆ’ ๐‘™๐‘™3 sin๐œƒ๐œƒ3 2โ„0 0 00 0 00 0 0

0 1 ๐‘™๐‘™2 cos ๐œƒ๐œƒ2 2โ„ 0 0 1 0 0 0

0 โˆ’1 ๐‘™๐‘™3 cos๐œƒ๐œƒ3 2โ„ 0 0 0 0 0 1 โŽฆ

โŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽค

โŽฉโŽชโŽชโŽชโŽชโŽจ

โŽชโŽชโŽชโŽชโŽง๏ฟฝฬ‡๏ฟฝ๐‘…

1๐‘ฅ๐‘ฅ

๏ฟฝฬ‡๏ฟฝ๐‘…1๐‘ฆ๐‘ฆ๐œƒ๐œƒ1ฬ‡๏ฟฝฬ‡๏ฟฝ๐‘…2๐‘ฅ๐‘ฅ๏ฟฝฬ‡๏ฟฝ๐‘…2๐‘ฆ๐‘ฆ๐œƒ๐œƒ2ฬ‡๏ฟฝฬ‡๏ฟฝ๐‘…3๐‘ฅ๐‘ฅ๏ฟฝฬ‡๏ฟฝ๐‘…3๐‘ฆ๐‘ฆ๐œƒ๐œƒ3ฬ‡ โŽญ

โŽชโŽชโŽชโŽชโŽฌ

โŽชโŽชโŽชโŽชโŽซ

๐ถ๐ถ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž =

โŽฉโŽชโŽชโŽชโŽชโŽจ

โŽชโŽชโŽชโŽชโŽง ๏ฟฝฬ‡๏ฟฝ๐‘…1

๐‘ฅ๐‘ฅ

๏ฟฝฬ‡๏ฟฝ๐‘…1๐‘ฆ๐‘ฆ

๐œƒ๐œƒ1ฬ‡

๏ฟฝฬ‡๏ฟฝ๐‘…2๐‘ฅ๐‘ฅ + ๐œƒ๐œƒ2ฬ‡ ๐‘™๐‘™2 sin๐œƒ๐œƒ2 2โ„

๏ฟฝฬ‡๏ฟฝ๐‘…2๐‘ฆ๐‘ฆ โˆ’ ๐œƒ๐œƒ2ฬ‡ ๐‘™๐‘™2 cos๐œƒ๐œƒ2 2โ„

๏ฟฝฬ‡๏ฟฝ๐‘…2๐‘ฅ๐‘ฅ โˆ’ ๐œƒ๐œƒ2ฬ‡ ๐‘™๐‘™2 sin๐œƒ๐œƒ2 2 โˆ’ ๏ฟฝฬ‡๏ฟฝ๐‘…3

๐‘ฅ๐‘ฅโ„ โˆ’ ๐œƒ๐œƒ3ฬ‡๐‘™๐‘™3 sin๐œƒ๐œƒ3 2โ„๏ฟฝฬ‡๏ฟฝ๐‘…2

๐‘ฆ๐‘ฆ + ๐œƒ๐œƒ2ฬ‡ ๐‘™๐‘™2 cos๐œƒ๐œƒ2 2 โˆ’ ๏ฟฝฬ‡๏ฟฝ๐‘…3๐‘ฆ๐‘ฆ๏ฟฝ + ๐œƒ๐œƒ3ฬ‡๐‘™๐‘™3 cos๐œƒ๐œƒ3 2โ„

๐œƒ๐œƒ2ฬ‡

๐œƒ๐œƒ3ฬ‡ โŽญโŽชโŽชโŽชโŽชโŽฌ

โŽชโŽชโŽชโŽชโŽซ

๏ฟฝ๐ถ๐ถ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž๏ฟฝ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž

=

โŽฃโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽก0 0 00 0 00 0 0

0 0 00 0 00 0 0

0 0 00 0 00 0 0

0 0 00 0 00 0 0

0 0 ๐œƒ๐œƒ2ฬ‡ ๐‘™๐‘™2 cos ๐œƒ๐œƒ2 2โ„ 0 0 ๐œƒ๐œƒ2ฬ‡ ๐‘™๐‘™2 sin๐œƒ๐œƒ2 2โ„ 0 0 โˆ’๐œƒ๐œƒ2ฬ‡ ๐‘™๐‘™2 cos ๐œƒ๐œƒ2 2โ„

0 0 0 0 0 0 0 0 โˆ’๐œƒ๐œƒ3ฬ‡ ๐‘™๐‘™3 cos๐œƒ๐œƒ3 2โ„

0 0 00 0 00 0 0

0 0 โˆ’๐œƒ๐œƒ2ฬ‡ ๐‘™๐‘™2 sin๐œƒ๐œƒ2 2โ„0 0 00 0 0

0 0 โˆ’๐œƒ๐œƒ3ฬ‡ ๐‘™๐‘™3 sin๐œƒ๐œƒ3 2โ„ 0 0 0 0 0 0 โŽฆ

โŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽค

โŽฉโŽชโŽชโŽชโŽชโŽจ

โŽชโŽชโŽชโŽชโŽง๏ฟฝฬ‡๏ฟฝ๐‘…

1๐‘ฅ๐‘ฅ

๏ฟฝฬ‡๏ฟฝ๐‘…1๐‘ฆ๐‘ฆ

๐œƒ๐œƒ1ฬ‡

๏ฟฝฬ‡๏ฟฝ๐‘…2๐‘ฅ๐‘ฅ

๏ฟฝฬ‡๏ฟฝ๐‘…2๐‘ฆ๐‘ฆ

๐œƒ๐œƒ2ฬ‡

๏ฟฝฬ‡๏ฟฝ๐‘…3๐‘ฅ๐‘ฅ

๏ฟฝฬ‡๏ฟฝ๐‘…3๐‘ฆ๐‘ฆ

๐œƒ๐œƒ3ฬ‡ โŽญโŽชโŽชโŽชโŽชโŽฌ

โŽชโŽชโŽชโŽชโŽซ

Therefore,

42

๏ฟฝ๐ถ๐ถ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž๏ฟฝ๐‘ž๐‘ž๏ฟฝฬ‡๏ฟฝ๐‘ž =

โŽฉโŽชโŽชโŽชโŽชโŽชโŽชโŽจ

โŽชโŽชโŽชโŽชโŽชโŽชโŽง

000

๐œƒ๐œƒ2ฬ‡2๐‘™๐‘™2 cos ๐œƒ๐œƒ2

2

๐œƒ๐œƒ2ฬ‡2๐‘™๐‘™2 sin ๐œƒ๐œƒ2

2

โˆ’๐œƒ๐œƒ2ฬ‡2

๐‘™๐‘™2 cos ๐œƒ๐œƒ2

2โˆ’๐œƒ๐œƒ3ฬ‡2

๐‘™๐‘™3 cos ๐œƒ๐œƒ3

2

โˆ’๐œƒ๐œƒ2ฬ‡2

๐‘™๐‘™2 sin ๐œƒ๐œƒ2

2โˆ’๐œƒ๐œƒ3ฬ‡2

๐‘™๐‘™3 sin ๐œƒ๐œƒ3

200 โŽญ

โŽชโŽชโŽชโŽชโŽชโŽชโŽฌ

โŽชโŽชโŽชโŽชโŽชโŽชโŽซ

While we are not concerned with the closed form solutions, it may informative to have a look at the

result of multiplying these two matrices.

The results show the normal acceleration form of the constraint equations for joints O and A

respectively.

๏ฟฝฬˆ๏ฟฝ๐‘ž = ๐ถ๐ถ๐‘ž๐‘žโˆ’1๐‘„๐‘„๐‘‘๐‘‘ = ๐ถ๐ถ๐‘ž๐‘žโˆ’1

โŽ

โŽœโŽœโŽœโŽœโŽœโŽœโŽœโŽœโŽœโŽœโŽœโŽ›

โˆ’

โŽฉโŽชโŽชโŽชโŽชโŽชโŽชโŽจ

โŽชโŽชโŽชโŽชโŽชโŽชโŽง

000

๐œƒ๐œƒ2ฬ‡2๐‘™๐‘™2 cos ๐œƒ๐œƒ2

2

๐œƒ๐œƒ2ฬ‡2๐‘™๐‘™2 sin ๐œƒ๐œƒ2

2

โˆ’๐œƒ๐œƒ2ฬ‡2

๐‘™๐‘™2 cos ๐œƒ๐œƒ2

2โˆ’๐œƒ๐œƒ3ฬ‡2

๐‘™๐‘™3 cos ๐œƒ๐œƒ3

2

โˆ’๐œƒ๐œƒ2ฬ‡2

๐‘™๐‘™2 sin ๐œƒ๐œƒ2

2โˆ’๐œƒ๐œƒ3ฬ‡2

๐‘™๐‘™3 sin ๐œƒ๐œƒ3

200 โŽญ

โŽชโŽชโŽชโŽชโŽชโŽชโŽฌ

โŽชโŽชโŽชโŽชโŽชโŽชโŽซ

โŽ 

โŽŸโŽŸโŽŸโŽŸโŽŸโŽŸโŽŸโŽŸโŽŸโŽŸโŽŸโŽž

Homework โ€ข Based on the kinematic constraint equations that you already derived, develop the velocity and

acceleration equations in Figures P3.3 and P3.4.

43

Special Cases in Kinematic Analysis

Degenerate (Extreme) Configurations

โ€ข Letโ€™s start by discussing degenerate configurations, which are the ones when a mechanical system

loses on or more degrees of freedom.

โ€ข Extreme position is associated with a reduction in the order of the geometry of the machines or

degeneracy (e.g., triangular to straight line or quadrilateral to triangular)

โ€ข Extreme positions are associated with the loss of (zero) velocity. This should make sense as the

machine is changing direction

โ€ข Here are some examples:

23 4

ฮธ2 ฮธ3

A

Bx4B

General Position

23

4

A BO

2 34

A BO

Extreme Positions

44

2

34

ฮธ2

ฮธ3A B

ฮธ4

General Position

2

34A

B

Extreme Positions

45

Singular (Lockup) Configurations Singularities

โ€ข Singular (lockup) positions are associated with infinite joint velocities.

โ€ข We are also interested in positions that are closed to singularity as they are associated with excessive

velocities that may damage the machine or results in jerky motion.

If cos ฮธ3 = 0 i.e. ฮธ3 = ฯ€2๏ฟฝ or 3ฯ€ 2๏ฟฝ

Then, ๏ฟฝ๏ฟฝฬ‡๏ฟฝ๐‘ฅ4B

๏ฟฝฬ‡๏ฟฝ๐œƒ3 ๏ฟฝ = ๏ฟฝโˆžโˆž๏ฟฝ

The figure below show the only time this case is feasible.

2 3

4ฮธ2=ฯ€/2

A

Bฮธ3=3ฯ€/2

234

ฮธ2=3ฯ€/2

A

Bฮธ3=ฯ€/2