- Information
- AI Chat
Summary Lecture, Book and Exercise, WS20/21
Robotics (IN2067)
Technische Universität München
Recommended for you
Related Studylists
RoboticsPreview 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
- 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
- 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
q − q 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
Compute the derivatives (For , also differentiate terms that contain θ)
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
×
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⋅
i·
v C i
i
N i
=
C i 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·
ω i
i·
v C i
=
i·
ω i
×
i
P C i
+
i
ω i
×
(
i
ω i
×
i
P C i)
+
i·
v i
i+1· v i+
=
i+
i
R (
i· ω 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+
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
- 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:
- 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.
Complex Roots. This is the case when b2 <4 ink; that is, stiffness dominates, and oscifiatory behavior results. This response is called underdamped.
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
Summary Lecture, Book and Exercise, WS20/21
Course: Robotics (IN2067)
University: Technische Universität München
This is a preview
Access to all documents
Get Unlimited Downloads
Improve your grades
This is a preview
Access to all documents
Get Unlimited Downloads
Improve your grades
Why is this page out of focus?
This is a preview
Access to all documents
Get Unlimited Downloads
Improve your grades
Why is this page out of focus?
This is a preview
Access to all documents
Get Unlimited Downloads
Improve your grades
Why is this page out of focus?
This is a preview
Access to all documents
Get Unlimited Downloads
Improve your grades
Why is this page out of focus?
This is a preview
Access to all documents
Get Unlimited Downloads
Improve your grades
Why is this page out of focus?
This is a preview
Access to all documents
Get Unlimited Downloads
Improve your grades
Why is this page out of focus?
This is a preview
Access to all documents
Get Unlimited Downloads
Improve your grades
Why is this page out of focus?
This is a preview
Access to all documents
Get Unlimited Downloads
Improve your grades
Why is this page out of focus?
This is a preview
Access to all documents
Get Unlimited Downloads
Improve your grades
Why is this page out of focus?
This is a preview
Access to all documents
Get Unlimited Downloads
Improve your grades
Why is this page out of focus?
This is a preview
Access to all documents
Get Unlimited Downloads
Improve your grades
Why is this page out of focus?
This is a preview
Access to all documents
Get Unlimited Downloads
Improve your grades
Why is this page out of focus?
This is a preview
Access to all documents
Get Unlimited Downloads
Improve your grades
Why is this page out of focus?
This is a preview
Access to all documents
Get Unlimited Downloads
Improve your grades