Skip to document
This is a Premium Document. Some documents on Studocu are Premium. Upgrade to Premium to unlock it.

Summary Lecture, Book and Exercise, WS20/21

Summary of everything from the course
Course

Robotics (IN2067)

138 Documents
Students shared 138 documents in this course
Academic year: 2021/2022
Uploaded by:
0followers
22Uploads
15upvotes

Comments

Please sign in or register to post comments.

Related Studylists

Robotics

Preview text

  • 1. Motivation

  • 2. Forward Kinematics

  • Spatial descriptions

  • Pose of an object in space

  • Configuration Space

  • Manipulator kinematics

  • Denavit-Hartenberg Rules

  • Yaw-Pitch-Roll representation for orientation

  • 3. Inverse Kinematics

  • Workspace

  • Multiplicity of solution

  • Analytic solutions

  • Numeric solutions

  • Numeric computation of the Jacobian

  • propagation of force and torques

  • 4. Manipulator dynamics

  • General formulas

  • Euler-Lagrange Equations

  • Force and torque relation

  • Newton-Euler Equations

  • State-space equation

  • Cartesian state-space equation

  • Forces and torques for static manipulators

  • 5. Jacobians: velocities and static forces

  • Compute the Jacobian

  • Characteristics

  • Velocity propagation from link to link

  • Velocities

  • Jacobian for approximating very small movements

  • Changing a Jacobian’s frame of reference

  • 6. Trajectory Generation

  • Path Generation

  • 7. Linear control of manipulators

  • Second-order linear systems

  • Pole-Zero Plot

  • Laplace Transformation

  • Control of second-order systems

  • Control-law partitioning

  • Multi-dimensional systems

  • Trajectory-following control

  • Disturbance Rejection

  • Other systems

  • Torque control

  • Effective inertia

  • 8. Nonlinear control of manipulators

  • Control problem for manipulators

  • Cartesian-based control systems

  • 9. Force control of manipulators

  • Force Control of a mass-spring system

  • Hybrid position/force Controller

  • 10. Task requirements

  • no global parametrization because there are some singularities —>

define functions like atan and use other Euler angles

  • Each matrix has the singularity in a different place —> choose right

presentation

Axis-angle representation

  • efficient algorithm for rotating a vector in space, given an axis and angle of rotation

  • Coordinate with vector X, where k is the unit vector representing the axis of rotation, x is the result of rotating

X by an angle theta about k:

Rodrigues formula: with

  • Inverse: Find back k and theta (Apple Rodrigues formula for both sides)

and theta by solving

Unit quaternion

  • The axis-angle parameterization described above parameterizes a rotation matrix by three parameters.

Quaternions, which are closely related to the axis-angle parameterization, can be used to define a rotation by

four numbers.

  • Quaternions are a popular choice for the representation of rotations in three dimensions because compact,

no singularity and naturally reflect the topology to the space of orientations

  • DOF = 6
  • Topology =

Configuration Space

  • Configuration of a moving object is a specification of the position

of every point on the object, usually express as a vector of

position & orientation

  • Configuration space C is the set of all possible configurations (a

configuration is a point in C)

Dimension

  • Minimum number of parameters needed to specify the configuration of the object completely = DOFS

  • Important to keep minimum number because otherwise coupling effects and many tests would be required

Manipulator kinematics

  • Cartesian variables: x = [x, y]

  • Joint variable q = [α, β]

x⃗=R

X

R=

(

I+ (1−cos θ )K

2

  • sin θ K )

K=

0 −k 3

k 2

k 3

0 −k 1

−k 2

k 1

0

k =

1

2 sin θ

vect(K) 2 sin θ = vect (

R−R

T

)

u= (

u 1

,u 2

,u 3

,u 4 )

with u

2

1

+u

2

2

+u

2

3

+u

2

4

= 1

(

u 1

,u 2

,u 3

,u 4 )

=

(

cos θ /2,n x

sin θ /2,n y

sin θ /2,n z

sin θ /

)

with n

2

x

+n

2

y

+n

2

z

= 1

3

×SO(3)

q= (

q 1

,q 2

, ...,q n)

R = R z

R y

R z

=

c φ − s φ 0

s φ c φ 0

001

c θ 0 s θ

010

s θ 0 c θ

c ψ − s ψ 0

s ψ c ψ 0

001

=

c φ

c θ

c ψ

s φ

s ψ

c φ

c θ

s ψ

s φ

c ψ

c φ

s θ

s φ

c θ

c ψ

  • c φ

s ψ

s φ

c θ

s ψ

  • c φ

c ψ

s φ

s θ

s θ

c ψ

s θ

s ψ

c θ

 . x 0

y 1

xb x 1

zb , z 1

z 0 , za

y a

, y b

x a

Workspace C-space

Position of end effector:

  • A point can be transformed by a rotation and a translation

2D:

  • 3D:

Homogeneous transforms:

  • Advantage: Matrix multiplications instead of addition of translation vector and matrix transpose instead of

inverse

Denavit-Hartenberg Rules

  • convention to describe any robot kinematically by giving four quantities for each link i:

  • First and last links:

  • Revolute joint: θ i is joint variable and other three are fixed

  • Prismatic joint: d i is joint variable and other three are fixed

Attach a frame {i} to link i

  • Z-axis along joint axis i with origin where the a i perpendicular intersects the joint axis i

  • X-axis along ai in the direction from joint i to joint i+

  • Y-axis by right hand rule

Link-frame attachment procedure

  1. Determine 𝑧-Axis for each joint
  • If the joint is prismatic: 𝑧-Axis is along the direction of movement

  • If the joint is rotational: 𝑧-Axis is along the direction of rotation

  1. Determine origin and 𝑥-Axis for each joint/coordinate frame. Look at the relation between 𝑧 𝑖− 1

and 𝑧 𝑖

:

  • If 𝑧𝑖− 1 and 𝑧𝑖 are a pair of skew lines: determine the line perpendicular on both skew lines (line with

shortest distance). The intersection of this line and 𝑧 𝑖− 1

is the origin of the coordinate frame 𝑖 − 1 and 𝑥 𝑖− 1

is on this line towards 𝑧 𝑖

.

  • If 𝑧𝑖− 1 and 𝑧𝑖 intersect in only one point: the point is the origin of the coordinate frame 𝑖 − 1. 𝑥𝑖− 1 is the

cross-product between 𝑧 𝑖− 1

and 𝑧 𝑖

. Choose the direction of 𝑥 𝑖− 1

such that the 𝛼 𝑖− 1

parameter of the DH

parameters is > 0.

  • If 𝑧𝑖− 1 and 𝑧𝑖 are parallel: we choose the origin of 𝑖 − 1 such that the 𝑑𝑖 parameter of the DH parameters

is 0. 𝑥𝑖− 1 is along the line from 𝑧𝑖− 1 to 𝑧𝑖.

  • If 𝑧 𝑖− 1

and 𝑧 𝑖

coincide: the origin of 𝑖 − 1 is the origin of 𝑖 and 𝑥 𝑖− 1

is arbitrary.

(

x

y)

=

(

L

1

c α

L

1

s α

)

+

(

L

2

c +

L

2

s +

)

(

x′

y′)

=

(

Cos( θ ) −Sin( θ )

Sin( θ ) Cos( θ ))

(

x

y)

+

(

t x

t y)

p′ =R p+T or p=R

t

(

p′ −T )

p′ =

(

R T

0 0 0 1

)

p

Name Symbol Description In link frames

link length a i-1 mutual perpendicular defined for link i -1 (shortest

distance)

distance from Zi-1 to Zi

measured along Xi-

link twist α i-1 angle between axis i-1 and i about axis i-1 angle from Zi-1 to Zi

measured about Xi-

link offset d i signed distance measured along the axis of joint i from

the point where ai-1 intersects to the point where ai

intersects (variable is joint i is prismatic)

distance from Xi-1 to Xi

measured along Zi

joint angle θ i angle between ai-1 and ai measured about the joint axis

i

angle from Xi-1 to Xi

measured about Zi

a 0

=a n

= 0, α 0

= α n

= 0, d 1

=d n

= 0, θ 1

= θ n

= 0

Inverse for determining the forward kinematics of the robot:

  • : transformations from coordinates that are relative to frame B to frame A:

  • Link transformations can be multiplied to find a single transformation that relates frame {N} to frame {0}:

Distorted version of DH

  • x-axis goes from previous link is x-axis for next link

YAW-PITCH-ROLL REPRESENTATION FOR ORIENTATION

with , ,

i

i− 1

T = T (

0,0,d i)

R (

z, θ i)

T (

a i

,0, )

R (

x, α i)

=

1 0 0 0

0 1 0 0

0 0 1 d i

0 0 0 1

C θ i

−S θ i

0 0

S θ i

C θ i

0 0

0 0 1 0

0 0 0 1

1 0 0 a i

0 1 0 0

0 0 1 0

0 0 0 1

1 0 0 0

0 C α i

−S α i

0

0 S α i

C α i

0

0 0 0 1

=

C θ i

−C α i

S θ i

S α i

S θ i

a i

C θ i

S θ i

C α i

C θ i

−C θ i

S α i

a i

S θ i

0 S α i

C α i

d i

0 0 0 1

i− 1

i

T=

c θ i

−s θ i

0 a i− 1

s θ i

c α i− 1

c θ i

c α i− 1

−s α i− 1

−s α i− 1

d i

s θ i

s α i− 1

c θ i

s α i− 1

c α i− 1

c α i− 1

d i

0 0 0 1

A

B

T

A

B

T

B

p=

A

p

0

N

T =

0

1

T

1

2

T

2

3

T..− 1

N

T

n

0

T= =

[

n

0

R

n

0

P

0 1

]

=

[

n s a

n

0

P

0 0 0 1

]

= =

C φ C θ C φ S θ S ψ −S φ C ψ C φ S θ C ψ +S φ S ψ p x

S φ C θ S φ S θ S ψ +C φ C ψ S φ S θ C ψ −C φ S ψ p y

−S θ C θ S ψ C θ C ψ p z

0 0 0 1

θ = sin

− 1

(

−n z)

ψ = cos

− 1

(

a z

cos θ )

φ = cos

− 1

(

n x

cos θ )

3. Inverse Kinematics

  • Forward kinematics: Given a joint configuration, find the pose (position/orientation) of some part of the robot

given q —> find x = f(q)

  • Inverse kinematics: Calculate required position of joints based on desired position of end effector —> given T

or x = f(q), find q

  • For exam: notice Trigonometric functions

  • Direct inversion of forward kinematics —> System of nonlinear trigonometric equations

  • Nonlinear problem: Is there a solution? Unique or multiple solutions? How to solve it?

Workspace

  • Example for RR-Robot (Two rotations)

  • full circle without limit

  • with joint limits workspace is reduced

(analytic expression more complicated)

Homotopic configuration

  • Adjust 2 DOF independently —> more

accurate, high precision because

velocities don’t influence themselves

Multiplicity of solution

  • What solution to choose?

  • Shortest joint distance between configuration is preferred

  • In general: If there are N possible configurations for desired position qb from the initial configuration qA:

  • Redundancy

  • n joints: —> n DoF (expect for linear joints, only true for non-redundant joints)

  • m Dimension of task space:

  • —> Robot is redundant with respect to this task if n>m

  • Complexity

  • Equations are nonlinear

  • There can be one, multiple, infinite (when there is redundancy) or no admissible solution (outside of

workspace)

  • Existence of a solution for the position is guaranteed when the position (of the end effector) belongs to the

reachable workspace

  • Existence of a solution for the pose is guaranteed when the position (of the end effector) belongs to the

dexterous workspace

Analytic solutions

  • Exact, preferred, when it can be found

Geometric ad-hoch approach

  • Applicable to robots with few DOF (3 or less) or to first 3 DOF

q b

= arg min

q

qq A

for q ∈ {

q 1

, q 2

,⋯, q N}

q = (

q 1

,⋯,q n)

x = (

x 1

,x 2

,⋯,x m)

Joint space

q = (

q 1

,⋯,q n)

Operational space

x = (x,y,z, α , β , γ )

Forward kinematics: x =f( q )

Inverse kinematics: q =f

− 1

( x )

Systematic reduction approach (obtain a reduced set of equations)

Kinematic decpuoling (Pieper) robots with 6 DOF

  • When the last 3 axes are revolute and they intersect each other (spherical twist)

Numeric solutions

  • Iterative, needed when there is redundancy n > m, no analytic solution or too complicated

  • Easter to obtain, but slower because of iterations

Use of the Jacobian matrix of the forward kinematics

  • n: size of q (number of joints)

  • m: size of x (size of the task space)

  • If more than 6 joints, joints are independent.

  • Idea: x - f(q) = 0 —> find q using iterations such that the difference is 0

Newtons methods

  • Problem: given a xd, find q such that

  • Procedure: first order Taylor approximation

Solution:

  • Algorithm:

  • Start with initial q 0

  • Iteratively update qk+

Stop when

  • Comments

  • Convergence if we start close to the solution (Result depends on the initial value)

  • When redundant, J is not square, use pseudo-inverse

Numeric computation of the Jacobian

  • Problems near singularities of J: det(J) = 0 —> no inverse, appears if arm is straight or

folded back, then q1 and q2 cause a colinear velocity, 1 DOF is los —> high joint rates/

vector p can’t be reached anymore

+Its fast

Gradient descent method

  • Objective: Minimize the generic function g(q)

  • Idea:

  • Start with an initial value q 0

  • Move in the negative direction of the gradient:

  • Step size must guarantee a maximum descent of q(q) in every iteration

  • α very high: divergence (minimum is not found)

  • α very small: slow convergence

  • Procedure:

Define a scalar error function:

Objective: Minimize the error:

J( q ) =

∂f( q )

q

J( q )∈

∼n×m

J =

[

f

∂x 1

f

∂x n

]

=

T

f 1

T

f m

=

∂f 1

∂x 1

∂f 1

∂x n

⋮ ⋱ ⋮

∂f m

∂x 1

∂f m

∂x n

δ Y=J(X) δ X

x d

−f( q ) = 0

q k+

= q k

+J

− 1

(

q k) (

x d

−f (

q k) )

x d

−f (

q k)

∥< ε

Small Cartesian error

or ∣ q k+

q k

∥< ε

Small joint increment

ε : small value

q k+

= q k

α ∇g (

q k)

α ∈∼

: size of the step

g( q ) =

1

2

x d

−f( q )

2

⟵g:∼

n

→∼

min

q

g( q )

Normal case

Arm is straight

Arm folded back

Compute the gradient of q and apply gradient descent:

  • Computationally simpler

Comparison

  • Newton: quadratic convergence rate (fast) ⚡ Problems near singularity

  • GDM: linear convergence rate (slow), no singularity problems, step size must be chosen carefully

  • Efficient algorithm: start with GDM (safe but slow)

NUMERIC COMPUTATION OF THE JACOBIAN

  • Jacobian: mapping from the joint velocities to the end effector linear and angular velocities

  • Very tedious to manually compute the Jacobian —> Compute numerically by numeric differentiation

The Jacobian (considering only position): with

  • Approximation of the derivative of the position xp with respect to the joint qi:

propagation of force and torques

q k+

= q k

  • α J

T

(

q k) (

x d

−f (

q k) )

J( q ) =

[

x p

∂q 1

x p

∂q 2

x p

∂q n]

x p

= (x,y,z) = f (

q 1

,⋯,q n)

x p

∂q i

Δ x p

Δq i

=

f (

q 1

,⋯,q i

+Δq i

,⋯,q n)

f (

q 1

,⋯,q n)

Δq i

i+ f i+

=

i+

i

R

i f i

i+

n i+

=

i+

i

R

(

i

n i

i

i+

P× (

i

i+

R

i+

f i+1) )

i n i

=

i

i+

R

i+ n i+

i

i+

P× (

i

i+

R

i+ f i+1)

i f i

=

i

i+

R

i+ f i+

  • : center o f mass of link i

  • : constant

  1. Compute the derivatives (For , also differentiate terms that contain θ)

  2. Compute the joint torque vector

Computation of tau:

Or per joint:

  • Example: 1DOF system

In general: calculate kinetic and potentiale Energy of every link and sum: ,

Write equations of motion for any nDOF system as

  • If : Switch between kinetic and potential energy —> pendulum

  • Left side contains conservative terms, right side contains non-conservative terms

  • —> set of n coupled 2nd order differential equations

Force and torque relation

  • F: Cartesian force-moment vector acting at the end-effector

  • : Infinitesimal cartesian displacement of the end-effector

  • : vector of torques at the joints

  • : Vector of infinitesimal joint displacements

  • Replace with Jacboian —> /

Euler-Lagrange Equations

Rigid body dynamics: Get joint torques 𝜏 out of joint trajectory θ

  • Newton’s equation: Forces:

  • Euler’s equation: Torque:

C I: inertia matrix given by

  • Example: Body of uniform density

0

P C i

u ref

·

Θ

τ =

d

dt

∂k

·

Θ

∂k

∂Θ

+

∂u

∂Θ

τ i

=

d

dt

∂k

·

Θ

i

∂k

∂Θ

i

+

∂u

∂Θ

i

P=

P

i

K=

K

i

d

dt

∂L

·

q i

∂L

∂q i

= τ i

τ i

= 0

F⋅ δ x = τδ Θ

δ x

τ

δ Θ

δ X=J δ Θ F

T

J= τ

T

τ =J

T

F

F=m

·

v C

N=

C

I

·

ω + ω ×

C

I ω

I

c

=

sk(r)

T

sk(r)d m

A I =

I x x

−I x y

−I xz

−I x y

I y y

−I yz

−I xz

−I yz

I z z

=

m

3

(

l

2 +h

2

)

m

4

ω l −

m

4

h ω

m

4

ω l

m

3

(

ω

2 +h

2

)

m

4

h l

m

4

h ω

m

4

h l

m

3

(

l

2 + ω

2

)

I x x

=∫ B(

y

2 +z

2

)

d m I x y

=∫ B

x y d m

I y y

=∫ B(

x

2 +z

2

)

d m I xz

=∫ B

x z d m

I z z

=∫ B(

x

2 +y

2

)

d m I yz

=∫ B

y z d m

  • Facts: I is a positive-definite symmetric matrix, not in general constant but frame dependent

( ), any rigid body has a set of principal directions with respect to which the inertia matrix is

diagonal

  • If xy is the plane of symmetry, then IXZ = IYZ = 0

  • If body is axis-symmetric (e. about Z) then I is diagonal and 2 of the moment are equal (IXX = IYY)

Parallel-axis Theorem

  • If a body is made to rotate about a new axis which is parallel to the first axis (trough the center of mass) and

displaced from it by a distance d, then the moment of inertia

A I with respect to the new axis is related to

C I:

  • Example: Same body but describe in a coordinate system with the

origin at the body’s center of mass:

—>

  • —> Result is diagonal, so frame {C} must represent the principal

axes of this body

Algorithm: Forward phase and backward phase

  • Compute velocities and accelerations (both rotational and linear) for

each joint:

  • Consider gravity by setting:

I

i

c

=R

T

i

I

c

R

i

A

I=

C

I+m sk(d)

T

sk(d) =

I

x x

+m d

2

x

(

I

x y

+m d x

d y )

(

I

xz

+m d x

d z)

* I

yy

+m d

2

y

(

I

yz

+m d y

d z )

* * I

zz

+m d

2

z

d x

d y

z z

=

1

2 [

ω

l

h

]

C I=

m

12 (

h

2 +l

2

)

0 0

0

m

12 (

ω

2 +h

2

)

0

0 0

m

12

(

l

2 + ω

2

)

rotational joint i+1 prismatic/translational joint i+

rotational velocity

and acceleration

linear velocity

and acceleration

linear

acceleration of

the center of

mass

Forces and

Torques that that

apply to the

center of mass of

each link

Compute f and n

for the joints

(Backward

phase)

Torque τ i

=

i

f

T

i

i

Z i

i+1· v i+

=

i+ i

R (

ω i

×

i P i+

i ω i

× (

i ω i

×

i P i+1)

i· v i)

  • 2⋅

i+ ω i+

×

· d i+

i+ Z i+

·· d i+

i+ Z i+

—> are required to act on the center of mass of link i

in order to make the robot move as desired.

i

F i

=m⋅

v C i

i

N i

=

C i I i

ω i

+

i

ω i

×

C i I i

i

ω i

Force-Balance relationship: (should be equal while resting)

Torque-Balance relationship:

fi: Force exerted on link i by link i-

ni: Torque exerted on link i by link i-

i

f i

=

i

i+

R⋅

i+

f i+

+

i

F i

i n i

=

i N i

i

i+

R⋅

i+ n i+

i P C i

×

i F i

Force on one site

i P i+

×

i

i+

R

i+ f i+

Force on other site

τ i

=

i

n

T

i

i

Z i

ω i+

=

i+

i

R⋅

i

ω i

i+1·

ω i+

=

i+

i

R⋅

ω i

v C i

=

ω i

×

i

P C i

+

i

ω i

×

(

i

ω i

×

i

P C i)

+

v i

i+1· v i+

=

i+

i

R (

ω i

×

i P i+

i ω i

× (

i ω i

×

i P i+1)

i· v i)

i+ ω i+

=

i+

i

R⋅

i ω i

·

Θ i+

i+ Z i+

i+1· ω i+

=

i+

i

R⋅

ω i

i+

i

R⋅

i ω i

×

·

Θ i+

i+ Z i+

··

Θ i+

i+ Z i+

0 ·

v 0

=−G

fi

N i

Fi

fi! 1

ni! 1

ni

{ i }

{ i! 1 }



Rotational joints:

Prismatic joints:

  • : amount of torque resp. force that is affecting the joint ant thus the amount torque resp. force that the

robot should counteract in order to remain static

  • Jacobian relates joint torques/forces to end effector forces and torques f and n:

τ i

=

i

n

Ti

i

Z

i

=

i

n

T

i

(

0

0

1

)

τ i

=

i

f

Ti

i

Z

i

=

i

f

T

i

(

0

0

1

)

τ i

τ i

τ 1

τ 2

τ n

= τ =

A

J

TA

F=

A

J

T

(

A

f

A

n

)

5. Jacobians: velocities and static forces

Compute the Jacobian

a) Compute velocities and derive Jacobian: , EE is the robot’s endeffector

b) Compute force-torque relation and derive Jacobian:

c) Geometric observations: ,

  • Jacobian with arbitrary rotations

  • Let a function that computes the coordinates of the origin of the end effector with respect to

system {0}, then the full Jacobian looks like:

  • upper part Jv:

  • lower part Jw:

  • For an n-jointed robot:

  • is the rotation axis of the 𝑗-th joint expressed in the coordinate frame 𝑖

If the joint is rotational:

If the joint is prismatic, then there is no rotation axis:

Example: If all joints are parallel (planar 3R-manipulator):

Characteristics

  • Isotropic configurations where the columns of the Jacobian become orthogonal and of equal magnitude:

  • Consider in J of end effector: One can see now that Θ 1 maps directly to a velocity in x 3 direction, and Θ 2

maps directly to a velocity in y 3 direction.

  • Singular if det(J) = 0

  • Workspace-boundary singularities (row of J = 0 —> no motion) occur when the manipulator is fully

stretched out or folded back on it self in such a way that the end-effector is at or very near the boundary of

the workspace.

  • Workspace-interior singularities occur away from the workspace boundary; they generaly are caused

by alining up of two or more joint axes —> endeffector cannot be chosen freely

  • —> one or more degrees of freedom are lost: some direction (or subspace) along which it is impossible to

move the robot (Robot loses degree of freedom if rows are linearly dependent —> coupled DOF,

rows-axis velocity )

  • Same columns in J —> Joints are the same, can be replaced by one

(

i

v EE

i

ω EE

)

=

i

J⋅

·

θ

τ =

i

J

T

i

ℱ=

i

J

T

(

i

f EE

i

n EE

)

0

J=

(

0

J v

0

J ω

)

i

J=

(

i

0

R 0

3

0

3

i

0

R)

0

J

p:ℝ

n

→ℝ

3

0

J=

∂p 1

∂x 1

∂p 1

∂x 2

∂p 1

∂x n

∂p 2

∂x 1

∂p 2

∂x 2

∂p 2

∂x n

∂p 3

∂x 1

∂p 3

∂x 2

∂p 3

∂x n

0 ̂ Z 1

0 ̂ Z 2

...

0 ̂ Z n

0 ·

p EE

= fkm( θ ) =

0

J v

·

θ

i

J ω

=

(

i ̂ Z 1

i ̂ Z 2

⋮ ⋯ ⋮

i ̂ Z n

)

∈ℝ

3 ×n

i ̂ Z j

∈ℝ

3

i ̂ Z j

=

i

j

R

j

Z j

=

i

j

R

(

0

0

1

)

i ̂ Z j

=

(

0

0

0

)

J=

(

0 ̂ Z 1

0 ̂ Z 2

0 ̂ Z 3 )

=

(

0 0 0

0 0 0

1 1 1

)

J

T

J= δ I

6. Trajectory Generation

  • compute a trajectory (time history of position

velocity and acceleration for each degree of

freedom) that describe the desired motion of a

manipulator

  • Trajectory Generator: takes preplanned task

(sequence of points) and generates motion profile

Path Generation

  • Smooth function for each n joints must be found that passes trough the points to the goal point: function for

each joint whose value at t 0 is the initial position and at tf its at the desired goal position —> many possible

smooth functions

Cubic polynomials

  • four constraints for θ(t) are evident:

  • Need at least a polynomial of 3rd degree (linear is not sufficient

because immediate jumps in velocity)

  • —>

  • Find coefficients by:

  • Also possible with desired end and start velocities > 0

  • ⚡ System may swing, Speed must be updated continuously,

underswinging could hit a wall

Linear function with parabolic blends

  • start with linear function but add parabolic blend region to create a

smooth path

  • Velocity at the end of the blend region bus equal the velocity of the linear

section:

with the acceleration constraint

(if equal: first half accelerating, second half slowing

down)

  • For a general segment connecting points n-1 and n with the desired duration td:

θ (0) = θ 0

θ (t f

) = θ f

·

θ (0) = 0

·

θ (t f

) = 0

θ (t) =a 0

+a 1

t+a 2

t

2

+a 3

t

3

a 0

= θ 0

a 1

= 0 a 2

=

3

t

2

f

(

θ f

θ 0 )

a 3

=−

2

t

3

f

(

θ f

θ 0 )

··

θ t b

=

θ h

θ b

t h

−t b

t b

=

t

2

··

θ

2

t

2

− 4

··

θ

(

θ f

θ 0 )

2

··

θ

··

θ

4

(

θ f

θ 0 )

t

2

··

θ n

=SGN

(

θ n− 1

θ n)

··

θ n

t n

=t d(n−1)n

− t

2

d(n−1)n

+

2

(

θ n

θ n− 1 )

··

θ n

·

θ (n−1)n

=

θ n

θ n− 1

t d(n−1)n

1

2

t n

t (n−1)n

=t d(n−1)n

−t n

1

2

t n− 1

20

Physical Robot

!=MVG

τ

Θ

Θ

.

Control

Trajectory

Generator

Θd

u

u f

u 0

t f

t 0

t b

t f

! t b



  1. Semester Summary Burschka: Robotics

7. Linear control of manipulators

  • How to cause the manipulator to actually perform these

desired motions

  • Control system: compute appropriate actuator commands

that will realise desired motion (e. by MVG equation), these

torques are determined by using feedback from the joint

sensors to compute the torque required

Second-order linear systems

  • start with simple systems

  • Equation of motion:

  • From Laplace Transformation, compute characteristic equation:

  • Compute back to time domain by partial fraction expansion

Roots of characteristic equation (poles):

  • Can be characterised in terms of

  • Natural frequency: frequency of oscillation without damping

Damping ratio: exponential decay frequency/natural frequency

  • resonant frequency: components of the robot deform minimally —> resonance: deformations adding up until

finally components may be damaged —>

m

··

x+b

·

x+k x= 0

m s

2

+bs+k= 0

G(s) =

1

(s+ 2)(s+ 3)

=

K

1

(s+ 2)

+

K

2

(s+ 3)

g(t) =K 1

e

− 2 t

+K 2

e

− 3 t

g

(0)

g

(0)

→ compute K1 u. K 2

s 1,

=−

b

2 m

±

b

2

− 4 m k

2 m

ω n

=

k

m

=

k+k p

m

ζ =

b

2 k m

=

b

2 ω n

m

ω n

1

2

ω res

Real unequal

roots: b

2 > 4mk

—> overdamped

Complex roots:

b

2 < 4mk —>

underdamped

b = kv

mk = kp

Real equal roots:

b

2 = 4mk —>

critically damped

  • stiffness dominates, imaginary component, then the systems

oscillates

  • Purely imaginary roots cause the system to oscillate forever

  • Complex roots:

  • Solution: same formula as above but with Eulers formula

( ):

With :

s 1,

= λ ± μ i

e

ix

= cosx+isinx

x(t) =c 1

e

λ t

cos( μ t) +c 2

e

λ t

sin( μ t)

c 1

=rcos δ

c 2

=rsin δ

x(t) =r e

λ t

cos( μ t− δ )

266 Chapter 9 Linear control of manipulators

oscifiatory. Ifwe include the special limiting case between these twobehaviors, we have three classes of response to study:

  1. Real and Unequal Roots. This is the case when b2 > 4 ink; that is, friction

dominates, and sluggish behavior results. This response is called overdamped.

  1. Complex Roots. This is the case when b2 <4 ink; that is, stiffness dominates, and oscifiatory behavior results. This response is called underdamped.

  2. Real and Equal Roots. This is the special case whenb2 = 4 ink; that is, friction and stiffness are "balanced," yielding the fastest possible nonosdillatory

response. This response is called critically damped.

The third case (critical damping) is generally a desirable situation: the system

nulls out nonzero initial conditions and returns to its nominal position as rapidly as possible, yet without oscillatory behavior.

Realand unequal roots

Itcan easily be shown (by direct substitution into (9)) that thesolution, x(t), giving the motion of the block in the case of real, unequal roots has the form

x(t)= + c2eS2t, (9)

where s1 and s2 are given by (9). The coefficients c1 and c2areconstants that can be computed for any given set of initial conditions (i., initial position and velocity

of the block). Figure 9 shows an example of pole locations• and the corresponding time response to a nonzero initial condition. When the poles of asecond-order system

are real and unequal, the system exhibits sluggish oroverdamped motion. In cases where one of the poles has a much greater magnitude than the other,

the pole of larger magnitude can be neglected, because the term corresponding to it wifi decay to zero rapidly in comparison to the other, dominantpole. This

same notion of dominance extends to higher ordersystems—for example, often a

Tm)s} x(t)

,\ /
Rejs} t

FIGURE 9:Root location and response to initial conditions for an overdamped system.

270 Chapter 9 Linear control of manipulators

Tm(s) x(t)

Re(s)

FIGURE9: Root location and responsetoinitial conditions for a critically damped

system.

where, in this case, s1=s2= (9) can be written

x(t) = (c1+ (9)

In case it is not clear, a quick application of l'Hôpital's rule [2] shows that, for

any c1,c2, anda, urn (c1+c7t)e_at=0. (9) t-+oo Figure 9 shows an example of pole locations and the corresponding time

response to a nonzero initial condition. When the poles of a second-order system are real and equal, the system exhibits critically damped motion, the fastestpossible

nonoscifiatory response.

EXAMPLE9.

Workout the motion of the system in Fig. 9 if parameter values are in=1, b = 4, and k=4 and the block (initially at rest) is released from the position x = —1. The characteristic equation is

(9)

which has the roots s1=s2=—2. Hence, the response has the form

x(t) = (c1+c7t)e_2t. (9)

We now use the given initial conditions, x(0) = —1 and ±(0) = 0, to calculate c1 and c2. To satisfy these conditions at t = 0, we must have

Cl = —

and —2c1 + c2 = 0, (9)

which are satisfied by c1 = —1 and c2 = —2. So, the motion of the system for t 0

is given by x(t)=(—1 — 2t)e_2t. (9)

  • non-oscillatory exponential decay

  • friction dominates, sluggish behaviour

  • solution: (c 1 and c 2 can be computed

by given initial conditions)

  • Much larger pole can be neglected because term will decay to

0 readily in comparison to dominant pole

x(t) =c 1

e

s 1

t

+c 2

e

s 2

t

Section 9 Second-order linear systems 269

Tm{s} x(t)

X

Re(s} .J

X

FIGURE 9: Root location and response to initial conditions foran underdamped system.

whichhasthe roots= + Hence, the response has the form

x(t) = e 2 c1 cos + c2 sin. (9)

We now use the given initial conditions, x (0)= —1 and(0) = 0, to compute

c1 and c2. To satisfy these conditions at t = 0, we must have

C1 = —

and 1 — = 0, (9)

which are satisfied by c1 = —1 and c2= So, the motion of the system for t 0 is given by

x(t) = e 2 cos — sin (9)

This result can also be put in the form of (9), as

= cos(4t+1200). (9)

Real and equal roots

By substitution into (9), it can be shown that, in thecase of real and equal roots (i., repeated roots),thesolution has the form

x(t) = c1eSlt + c2teS2t, (9)

  • fiction and stiffness are balanced —> „fastest“ non-oscillatory

exponential decay possible in a second order system (desired)

  • Solution: x(t) = (

c 1

+c 2

t )

e

b

2 m

t

21

Section 9 Feedback and closed-loop control 263

9 FEEDBACK AND CLOSED-LOOP CONTROL

We will model a manipulator as a mechanism that is instrumented withsensors

at each joint to measure the joint angle and that has an actuator at each joint to

apply a torque on the neighboring (next higher) link. Although other physical

arrangements of sensors are sometimes used, the vast majority of robots havea

position sensor at each joint. Sometimes velocity sensors (tachometers) are also

present at the joints. Various actuation and transmission schemes are prevalent in

industrial robots, but many of these can be modeled by supposing that thereis a

single actuator at each joint.

We wish to cause the manipulator joints to follow prescribed position trajec-

tories, but the actuators are commanded in terms of torque,so we must use some

kind of control system to compute appropriate actuator commands that will realize

this desired motion. Almost always, these torques are determined by using feedback

from the joint sensors to compute the torque required.

Figure 9 shows the relationship between the trajectory generator and the

physical robot. The robot accepts a vector of joint torques, r, from the control

system. The manipulator's sensors allow the controller to read the vectors of joint

positions, e,andjoint velocities, e signal lines in Fig. 9 carry N x 1 vectors

(where N is the number of joints in the manipulator).

Let's consider what algorithm might be implemented in the block labeled

"control system" in Fig. 9. One possibility is touse the dynamic equation of the

robot (as studied in Chapter 6) to calculate the torques required for a particular

trajectory. We are given ed,®d, and °d

bythe trajectory generator, so we could

use (6) to compute

r = +V(Od, ed)+G(ed). (9)

This computes the torques that our model dictates would be requiredto realize

the desired trajectory. If our dynamic modelwere complete and accurate and no

"noise" or other disturbances were present, continuoususe of (9) along the desired

trajectory would realize the desired trajectory. Unfortunately, imperfectionin the

dynamic model and the inevitable presence of disturbances make such a scheme

impractical for use in real applications. Such a control technique is termedan open-

loop scheme, because there is no use made of the feedback from the jointsensors

FIGURE 9: High-level block diagram of a robot-control system.

1Remember all remarks made concerning rotational joints holdanalogously for linear joints, and vice

versa

Section 9 Second-order linear systems 265

FIGURE 9: Spring—masssystem with friction.

Hence, the open-loop dynamics of this one-degree-of-freedom system are described

by a second-order linear constant-coefficient differential equation [1].The solution

to the differential equation (9) is a time function,x (t),that specifies the motion

of the block. This solution will depend on the block's initial conditions—that is, its

initial position and velocity.

We wifi use this simple mechanical system as an example with which to review

some basic control system concepts. Unfortunately, it is impossible to do justiceto

the field of control theory with only a brief introduction here. We wifi discuss the

control problem, assuming no more than that the student is familiarwith simple

differential equations. Hence, we wifi notuse many of the popular tools of the

control-engineering trade. For example, Laplace transforms and other common

techniques neither are a prerequisite nor are introduced here. Agood reference for

the field is [4].

Intuition suggests that the system of Fig. 9 might exhibit severaldifferent

characteristic motions. For example, in thecase of a very weak spring (i., k small)

and very heavy friction (i., b large) one imagines that, if the block were perturbed,

it would return to its resting position ina very slow, sluggish manner. However,

with a very stiff spring and very low friction, the block might oscifiate several times

before coming to rest. These different possibilities arise because the character of the

solution to (9) depends upon the values of the parametersin, b, and k.

From the study of differential equations [1],we know that the form of the

solution to an equation of the form of (9) depends on the roots of its characteristic

equation,

ins2+bs-j-k=O. (9)

This equation has the roots

b

S

— 2in

2iii

b —4mk

(9) 2m 2in

The location of and s2 (sometimes called the poles of the system) in the

real—imaginary plane dictate the nature of the motions of thesystem. If and s

are real, then the behavior of the system is sluggish and nonoscillatory. If and

arecomplex (i., have an imaginary component) then the behavior of the system is

Open-loop system —> no use made of

feedback from the sensor

Was this document helpful?
This is a Premium Document. Some documents on Studocu are Premium. Upgrade to Premium to unlock it.

Summary Lecture, Book and Exercise, WS20/21

Course: Robotics (IN2067)

138 Documents
Students shared 138 documents in this course
Was this document helpful?

This is a preview

Do you want full access? Go Premium and unlock all 28 pages
  • Access to all documents

  • Get Unlimited Downloads

  • Improve your grades

Upload

Share your documents to unlock

Already Premium?
2. Semester
Summary
Burschka: Robotics
1. Motivation 4
2. Forward Kinematics 4
Spatial descriptions! 4
Pose of an object in space! 4
Configuration Space! 5
Manipulator kinematics! 5
Denavit-Hartenberg Rules! 6
Yaw-Pitch-Roll representation for orientation! 8
3. Inverse Kinematics 9
Workspace! 9
Multiplicity of solution! 9
Analytic solutions! 9
Numeric solutions! 11
Numeric computation of the Jacobian! 12
propagation of force and torques! 12
4. Manipulator dynamics 13
General formulas! 13
Euler-Lagrange Equations! 13
Force and torque relation! 14
Newton-Euler Equations! 14
State-space equation! 16
Cartesian state-space equation! 16
Forces and torques for static manipulators! 16
5. Jacobians: velocities and static forces 18
Compute the Jacobian! 18
Characteristics! 18
Velocity propagation from link to link! 19
Velocities! 19
Jacobian for approximating very small movements! 19
Changing a Jacobian’s frame of reference! 19
6. Trajectory Generation 20
Path Generation! 20
7. Linear control of manipulators 21
Second-order linear systems! 21
Pole-Zero Plot! 22
Laplace Transformation! 22
Control of second-order systems! 22
Control-law partitioning! 22
Multi-dimensional systems! 23
1

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.