Uploaded by mahyar.etedal

LEC6 robotics

advertisement
Robotic Manipulators: Lecture 6
Department of Electrical Engineering
Dr. H. A. Talebi
July 24, 2008
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Outline
• Jacobian
–
–
–
–
–
Singularities
Static Force
Jacobian in Force Domain
Inverse Velocity
Inverse Acceleration
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Singularities
• Jacobian is a linear mapping:
ν = J(θ)θ̇
• All possible EE velocities are linear combination of the columns of Jacobian
matrix.
ν = J1θ̇1 + J2θ̇2 · · · + Jnθ̇n
• For EE to achieve any arbitrary velocity, Jacobian must have 6 independent
columns.
• The rank of a matrix is the number of linearly independent columns (rows).
• If rank(J) = 6, EE can execute any velocity.
• For J ∈ R6×n, we have rank(J) ≤ min(6, n).
• The rank of Jacobian is configuration dependent.
• The configurations for which the Jacobian looses rank is called singular
configurations
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Singularities
• At singularities:
– Certain directions of motion unattainable
– Bounded EE velocity may correspond to unbounded joint velocities
– Bounded joint torques may correspond to unbounded EE forces and
torques
– Correspond to points on the boundary of workspace
• Most manipulators have configuration for which Jacobian becomes singular.
• All manipulators have singularities in their boundaries
• Many have singularities in the workspace, too.
– Workspace-boundary singularities: Fully stretched or folded back:
end-effector near the boundary
– Workspace-interior singularities: two or more joint axes line up :
end-effector away from the boundary
• Rank deficiency for square matrix: det(J(θ)) = 0.
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Decoupling Singularities
• For decoupled manipulators, decoupled singularities is defined
• Decoupling Singularities:
– Recall that for manipulators having 3 intersecting axes, the Kinematic
problem is decoupled.
– Hence, we define arm singularities and wrist singularities
• Consider a 6 DOF manipulator (3 DOF arm and 3 DOF spherical wrist)
• Jacobian is a 6 × 6 matrix and configuration θ is singular if and only if (iff)
det(J(θ)) = 0
• If the Jacobian is partitioned into 3 × 3 blocks:
J11 J12
J = [JP |JO ] =
J21 J22
• Since the final 3 joints are always revolute:
z4 × (oN − o4) z5 × (oN − o5) z6 × (oN − o6)
JO =
z4
z5
z6
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Decoupling Singularities
• Since all axes intersect, if we select o4 = o5 = o6 = oN = o, then:
0 0 0
JO =
z4 z5 z6
J11 0
J =
J21 J22
∴ det(J) = det(J11)det(J22)
• J11 and J22 are 3 × 3 matrices
• Manipulator singularities is the union set of arm configurations for which
det(J11) = 0 and set of wrist configurations for which det(J22) = 0
• Wrist Singularities:
– Singular position if the vectors z4 , z5 , z6 are linearly dependent
– Happens if θ5 = 0 or 180 for which z4 and z6 line up
– The only singularity of the wrist and is unavoidable
• Arm Singularities:
– Need to compute det(J11 ) = 0
– Origin of EE ON , replaced by wrist center o in Jacobian formulation
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Singularities: Example
• Two-link planar manipulator:
– Obtain the Jacobian and examine the determinant:
det(J(Θ)) = det
l1s2
0
l1c2 + l2 l2
= l2l1s2
(1)
– Singular position at θ2 = 0 or 180.
– θ2 = 0 the arm is stretched out and the motion is possible in only one
direction (lost 1 DOF)
– Same is true for θ2 = 180.
– These are workspace-boundary singularities.
• Example 2:
– The EE moves in X̂ direction at 1.0 m/s, find the joint rates
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Singularities
• Example 2
– Get the Jacobian in frame {0}:
1
J −1(Θ) =
l1l2s2
l2c12
l2s12
−l1c1 − l2c12 −l1s1 − l2s12
(2)
– Then by given Cartesian velocity and using Θ̇ = J −1 Ẋ :
c12
l1s2
c1
c12
−
θ̇2 = −
l2s2 l1s2
θ̇1 =
– At singularity (θ2 = 0), both joint rates tend to infinity.
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Static Forces
• How forces and moments propagates from one link to another
• Manipulator in contact or holding a load
• What are the joint torques required to keep the manipulator in static equilibrium
• In doing so, manipulator is locked (acts like a structure)
• Write the force-moment balance relationship in terms of the link frames
• Get the joint torque must be acting about the joint axis to keep the manipulator in static equilibrium
• Torque needed to support a static load acting at the end-effector
• Gravity is not considered (will be, in Dynamics)
• We consider the static force and torque acting on the last link (for example,
when the manipulator is in contact with the environment)
• Define:
– fi = force exerted on link i by link i − 1
– ni = moment exerted on link i by link i − 1
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Static Forces
• Newtonian mechanics:
1. For every action, there is a reaction. Hence, if body 1 applies the force
f and the moment (torque) n to the body 2, then body 2 applies a force
−f and the moment −n to the body 1
2. The rate of change of the linear momentum equals the total forces applied to the body:
d(mv)
= f
dt
3. The rate of change of the angular momentum equals the total moments
applied to the body:
d(I0ω0)
= n0
dt
• The moment exerted by a force f about a point is given by:
n = f ×r
where r is the radial vector from the point where the force applied to the
point about which the moment is calculated
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Static Forces
• Balance of forces:
i
fi − ifi+1 = 0
• Balance of torques (moments):
i
ni − ini+1 − iPi+1 × ifi+1 = 0
• We can get the relationship starting from the last link to the base:
i
fi = ifi+1
i
ni = ini+1 + iPi+1 × ifi+1
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Static Forces
• Use the rotation matrix to write all forces/moments in their own frames
fi = iRi+1 i+1fi+1
i
ni = iRi+1 i+1ni+1 + iPi+1 × ifi
i
• What joint torques balance reaction forces/moments acting on the
links?
• The joint torque is applied to the Ẑ axis of the ith frame, so the
forces/moments need to be projected on Ẑ axis.
• The dot product of the joint axis vector with the moment vector gives us the
torque required about the joint axis:
τi = iniT Ẑi
• if joint i is prismatic, joint actuator force is:
τi = ifiT Ẑi
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Static Forces: Example
• A two-link planar manipulator:
• A force vector 3F acting on the end-effector. Find the required joint torques.
– Propagate the force starting from the last link


  

fx
fx
0
2
f2 =  fy  , 2n2 = l2X̂2 ×  fy  =  0 
0
0
l2fy
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Static Forces: Example
• Propagate the force starting from the last link

  

c2 −s2 0
fx
c2fx − s2fy
1
f1 =  s2 c2 0   fy  =  s2fx + c2fy 
0 0 1
0
0




0
0
1
1

0
n1 =  0  + l1X̂1 × f1 = 
l2fy
l1s2fx + l1c2fy + l2fy
• Hence,
τ1 = l1s2fx + (l1c2 + l2)fy
τ2 = l2fy
fx
l1s2 (l1c2 + l2)
τ =
0
l2
fy
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Jacobian in Force Domain
• When forces act on a mechanism, work is done if the mechanism moves
through a displacement.
• Work:
– Force acting through a distance
– A scalar with unit of energy
– the dot product of force/torque vector and displacement vector:
F.δx = τ.δΘ Or F T δx = τ T δΘ
F : a 6 × 1 Cartesian force-moment vector acting at EE
δx : a 6 × 1 infinitesimal Cartesian displacement of EE
τ : a 6 × 1 vector of torque at the joint
δΘ : a 6 × 1 vector of infinitesimal joint displacements
• The Jacobian relates δx to δΘ: δx = JδΘ
• Therefore, for all δΘ, we have: F T JδΘ = τ T δΘ
• Hence,
τ = JTF
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Jacobian in Force Domain
• When the Jacobian is in frame {0}
the force vectors written in {0} can
be transformed to joint torques:
τ = 0J T 0F
(3)
• (3) allow us to convert a Cartesian quantity into a joint-space quantity without calculating any inverse kinematic functions
• If Jacobian loses full rank (i.e., Jacobian is Singular):
– EE can not exert static forces even if desired.
– F could be increased or decreased in a certain directions (those defining
the null-space of the Jacobian) without any effect on τ .
– Near singularity:
with small joint torque, large forces could be generated at EE
– ∴ singularities manifast themselves in the force domain as well as position domain.
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Inverse Velocity
ν = J θ̇
(4)
• The inverse velocity problem is the problem of finding the joint velocities θ̇
that produce the desired end-effector velocity
• If the Jacobian is square and nonsingular:
θ̇ = J −1ν
• For manipulators that do not have six joints, Jacobian cannot be inverted
• In this case, (4) has solution iff ν lies in the range space of the Jacobian.
• This can be done by the following rank test:
rank(J(θ)) = rank ([J(θ) | ν])
• If n > 6, we can solve for θ̇ using the pseudoinverse:
• For J ∈ Rm×n, if m < n and rank(J) = m, then (JJ T )−1 exist, since
(JJ T ) ∈ Rm and has rank m.
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Inverse Velocity
T −1
T
T −1
∴ I = (JJ )(JJ ) = J J (JJ )
= JJ + J + = J T (JJ T )−1
T
• J + = J T (JJ T )−1 is called right pseudoinverse of J since JJ + = I
• Note that J +J ∈ Rn×n and in general J +J 6= I .
• Hence, to solve for θ̇, we can use:
θ̇ = J +ν + (I − J +J)b
• where b is an arbitrary vector
• In general, for m < n, (I − J +J) 6= 0 and all vectors of the form (I −
J +J)b lie in the null space of J .
• This means that if θ̇0 is a joint velocity s.t. θ̇0 = (I − J +J)b, then when the
joint move with the velocity of θ̇0 , EE remains fixed since J θ̇0 = 0
• We can apply a similar approach when the analytical Jacobian is used:
Ẋ = Ja(θ)θ̇
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Inverse Velocity
J θ̇ = ν
• There are infinitely many solutions (m < n)
• Get the solution which results in minimum of kθ̇k
minθ̇ θ̇T θ̇
subject to J θ̇ = ν
• Using the lagrange multiplier:
min θ̇T θ̇ + λT (J θ̇ − ν)
θ̇
• Differentiation wrt θ̇:
2θ̇ + J T λ = 0 =⇒ θ̇ = −J T λ/2
• Differentiation wrt λ:
J θ̇ = ν =⇒ − JJ T λ/2 = ν
λ = −2(JJ T )−1ν
+
θ̇ = J T (JJ T )−1•νFirst •Prev
= J•Next
ν•Last •Go Back •Full Screen •Close •Quit
Inverse Acceleration
• Differentiating the above equation results in an expression for acceleration:
d
Ja(θ) θ̇
Ẍ = Ja(θ)θ̈ +
dt
• Given a vector Ẍ of EE acceleration, find the joint acceleration by solving:
d
Ja(θ)θ̈ = Ẍ −
Ja(θ) θ̇
dt
• Hence, for a 6 DOF manipulator in a nonsingular position, the inverse velocity and acceleration can be written as:
θ̇ = Ja(θ)−1Ẋ
d
θ̈ = Ja(θ)−1 Ẍ −
Ja(θ) θ̇
dt
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Acceleration of a Rigid Body
• Linear and angular accelerations are the derivatives of linear and angular
velocities:
B
A
V̇Q
Ω̇B
B
VQ(t + ∆t) − BVQ(t)
dB
=
V = lim
dt Q ∆t−→0
∆t
A
dA
ΩB (t + ∆t) − AΩB (t)
=
Ω = lim
dt B ∆t→0
∆t
• If the reference frame of differentiation is understood to be the universal
frame {U }:
v̇A =
ẇA =
U
V̇AORG
U
Ω̇A
• Linear Acceleration
– Recall the velocity of a vector BQ as seen from {A} when the origin
are coincident:
A
VQ =
A B
BR V Q
+ AΩB × BAR BQ
d A B
( R Q) =
dt B
A B
BR V Q
+ AΩB × BAR BQ
(5)
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Acceleration of a Rigid Body
• To get the acceleration, differentiate the velocity vector: (acceleration of
B
Q as viewed from {A} when the origins coincide
A
V̇Q =
d A B
d
( BR VQ) + AΩ̇B × BAR BQ + AΩB × ( BAR BQ )
dt
dt
• Use (5) twice (one for the first term and one for last):
A B
BR V̇ Q
+
+
A
ΩB × BAR BVQ + AΩ̇B × BAR BQ
A
ΩB × ( BAR BVQ + AΩB × BAR BQ )
(6)
• Combining the terms, we arrive at:
A B
BR V̇ Q
+ 2 AΩB × BAR BVQ + AΩ̇B × BAR BQ + AΩB × ( AΩB × BAR BQ )
• Generalize to the case where the two frames do not coincide:
A
B V̇ BORG
+
+
A B
A
A B
BR V̇ Q + 2 Ω B × BR V Q
A
ΩB × ( AΩB × BAR BQ )
+ AΩ̇B × BAR BQ
(7)
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Acceleration of a Rigid Body
• When the point ( BQ ) is constant:
B
B
VQ = BV̇Q = 0
V̇Q = AV̇BORG + AΩB × ( AΩB × BAR BQ ) + AΩ̇B × BAR BQ
• When the joint is prismatic, the general form is used.
• Angular Acceleration:
– Consider when {B} is rotating wrt {A} with AΩB and {C} is rotating
wrt {B} with BΩC . Find AΩC
– We express all velocities in frame {A} and add them together:
A
ΩC = AΩB + BAR BΩC
– Differentiating:
A
Ω̇C = AΩ̇B +
d A B
( R ΩC )
dt B
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Angular Acceleration
• Applying (5) to the last term:
A
Ω̇C = AΩ̇B + BAR BΩ̇C + AΩB × BAR BΩC
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Download