Manipulator Jacobian - A Brief Note

Thanks Mark W. Spong et al for their great work of Robot Modeling and Control.
Thanks Zexiang Li et al for their great work of A Mathematical Introduction to Robotic Manipulation.
Thanks John J. Craig for his great work of Introduction to Robotics - Mechanics and Control - 3rd Edition.

We assume that all the frames mentioned below are right-handed.

End-effector Velocity and Manipulator Jacobian

Let gst:QSE(3) be the forward kinematics map for a manipulator. If the joints move along a path θ(t)Q , then the end-effector traverses a path gst(θ(t))SE(3) . The instantaneous spatial velocity of the endeffector is given by the twist:

Vˆsst=g˙st(θ)g1st(θ)
By the chain rule,
Vˆsst=t=1n(gstθiθ˙i)g1st(θ)=t=1n(gstθig1st(θ))θ˙i
It can be seen that the end-effector velocity is linearly related to the velocity of the individual joints. In twist coordinates, the equation above can be written as
Vsst=Jsst(θ)θ˙
where
Jsst(θ)=[(gstθ1g1st)(gstθng1st)]
We call the matrix Jsst(θ)R6×n the spatial manipulator Jacobian. By utilizing the product of exponential formula, we can obtain a more explicit and elegant formula for Jsst . Let ξ^ise(3) be unit twists,
gstθig1st=eξ^1θ1eξ^i1θi1(ξ^i)eξ^iθieξ^nθngst(0)g1st=eξ^1θ1eξ^i1θi1(ξ^i)eξ^i1θi1eξ^1θ1
and converting to twist coordinates,
(gstθig1st)=Ad(eξ^1θ1eξ^i1θi1)ξi
The spatial manipulator Jacobian becomes:
Jsst(θ)=[ξ1,ξ2,,ξn]ξi=Ad(eξ^1θ1eξ^i1θi1)ξi
Jsst(θ):RnR6 is a configuration-dependent matrix which maps joint velocities to end-effector velocities. Obviously, the contribution of the i -th joint velocity to the end-effector velocity is independent of the configuration of later joints in the chain. Thus, the i -th column of the spatial Jacobian is the i -th joint twist, transformed to the current manipulator configuration.

It is also possible to define a body manipulator Jacobian, Jbst , which is defined by the relationship

Vbst=Jbst(θ)θ˙
And
Jbst(θ)=[ξ1,,ξn1,ξn]ξi=Ad1(eξ^iθieξ^nθngst(0))ξi
The columns of Jbst correspond to the joint twists written with respect to the tool frame at the current configuration. Note that gst(0) appears explicitly; choosing S such that gst(0)=I simplifies the calculation of Jbst .
Jsst(θ)=Adgst(θ)Jbst(θ)
The spatial and body manipulator Jacobians can be used to compute the instantaneous velocity of a point attached to the end-effector.
Let qb represent a point attached to the end-effector, written in body (tool) coordinates.
vbq=Vˆbstqb=(Jbst(θ)θ˙)qb

vsq=Vˆsstqs=(Jsst(θ)θ˙)qs

The relationship between joint velocity and end-effector velocity can be used to move a robot manipulator from one end-effector configuration to another without calculating the inverse kinematics for the manipulator.

Ex 1: SCARA robot
ex1
By inspection,

q1=000,q1=l1s1l1c10,q1=l1s1l2s12l1c1+l2c120
are points on the axes. Calculating the associated twists yields
Jsst=000001l1c1l1s10001l1c1+l2c12l1s1+l2s120001001000

The next section shows an alternative expression of Manipulator Jacobian.

Geometric Jacobian

Consider a n-link manipulator whose joint variables are q1,,qn . Let

T0n=(R0n(q)0o0n(q)1)
denote the transformation from the end-effector frame to the base frame, where q=(q1,,qn)T is the vector of joint variables. As the robot moves about, both the joint variables qi and the end-effector position on0 and orientation Rn0 will be functions of time. The objective of this section is to relate the linear and angular velocity of the end-effector to the vector of joint velocities q˙(t) .
Define
S(ω0n)=R˙0n(R0n)T,v0n=o˙0n

We would like to formulate the following equations:
v0n=Jvq˙ω0n=Jωq˙

where Jv and Jω are 3×n matrices. In a compact form:
ξ=Jq˙,ξ=(v0nω0n),J=(JvJω)

J is called the Jacobian matrix that is a 6×n matrix. n is the number of links.

Angular Velocity

We can determine the angular velocity of the end-effector relative to the base by expressing the angular velocity contributed by each joint in the orientation of the base frame and then summing these.
If joint i is a rotational joint whose axis is zi1 , qi=θi . Let ωi1i stand for the angular velocity of joint i and link i w.r.t. frame oi1xi1yi1zi1 , i.e.

ωi1i=q˙izi1i1=q˙ik

where k=(0,0,1)T .
The angular velocity of the end-effector w.r.t. the base ω0n can be calculate by:
ω0n=ρ1q˙1k+ρ2q˙2R01k++ρnq˙nR0n1k=i=1nρiq˙iz0i1

When joint i is a rotational joint, ρi=1 , or ρi=0 . Then
Jω=(ρ1z0ρnzn1)

All the zi is based on frame o0x0y0z0 .

Linear Velocity

By the chain rule:

o˙0n=i=1no0nqiq˙i
.
It is straightforward to see that the i column of Jv is
Jvi=o0nqi

Let us discuss two different types of joints separately.

Translational Joints

o˙0n=d˙iR0i1001=d˙iz0i1Jvi=zi1

Rotational Joints

ω=θ˙izi1r=onoi1Jvi=zi1×(onoi1)

Jacobian Matrix

Jv=(Jv1Jvn)Jvi={zi1×(onoi1),zi1, for rotational joint i for translational joint iJω=(Jω1Jωn)Jωi={zi1,0 for rotational joint i for translational joint i

To calculate the Jacobian matrix, what we need is no more than the 3rd and 4th column of T .

Ex: Consider the two-link planar manipulator
Ex1
Since both joints are revolute the Jacobian matrix, which in this case is 6×2 , is of the form

J(q)=[z0×(o2o0)z0z1×(o2o1)z1]
The various quantities above are easily seen to be
o0=000,o1=a1c1a1s10,o2=a1c1+a2c12a1s1+a2s120

z0=z1=001
Performing the required calculations then yields
J=a1s1a2s12a1c1+a2c120001a2s12a2c120001

Changing a Jacobian’s Frame of Reference

Given a Jacobian written in frame B , that is

[vBωB]=JB(Θ)Θ˙
we might be interested in giving an expression for the Jacobian in another frame, A . Note:
[vAωA]=[RAB00RAB][vBωB]
Hence
JA(Θ)=[RAB00RAB]JB(Θ)

Analytical Jacobian

Analytical Jacobian, Ja(q) , is the minimal representation of the end-effector.
Let

X=(d(q)α(q))

stand for the configuration of the end-effector. d(q) is the vector from the origin of the base frame to that of the end-effector. α=[ϕ,θ,ψ]T is the Eular-Angular vector whose three partitions are called nutation, spin and precession.
We would like to find an equation of the following form:
X˙(d˙α˙)=Ja(q)q˙

If R=Rz,ϕRy,θRz,ψ is an Eular Angular Transformation, it can proved that

R˙=S(ω)R

where the ω , which defines the angular velocity, can be referred as:
ω=cψsθsψsθcθsψcψ0001ϕ˙θ˙ψ˙=B(α)α˙

Then
J(q)q˙=(vω)=(d˙B(α)α˙)=(I00B(α))(d˙α˙)=(I00B(α))Ja(q)q˙

i.e.
Ja(q)=(I00B1(α))J(q)
once detB(α)0 .

Singularities

A 6×n Jacobian J(q) defines a mapping from joint velocity q˙ to end-effector velocity ξ , which also means that all the end-effector velocities can be represented by the linear combination of columns of Jacobian:

ξ=J1q˙1+J2q˙2++Jnq˙n

For ξR6 , there must be 6 linear independent column vectors ( rankJ=6 ) so that the end-effector is able to perform any velocities.

It is straightforward to see that rankJmin(6,n) for any JR6×n . The rank of a Jacobian matrix depends on the configuration q . If the rank is less than its maximum value, the corresponding configuration is called singularity or singular configuration.

It is important to identify the singularities, since:

  1. Singularities represent configurations from which certain directions of motion may be unattainable.
  2. At singularities, bounded end-effector velocities may correspond to unbounded joint velocities.
  3. At singularities, bounded end-effector forces and torques may correspond to unbounded joint torques.
  4. Singularities usually (but not always) correspond to points on the boundary of the manipulator workspace, that is, to points of maximum reach of the manipulator.
  5. Singularities correspond to points in the manipulator workspace that may be unreachable under small perturbations of the link parameters, such as length, offset, etc.
  6. Near singularities there will not exist a unique solution to the inverse kinematics problem. In such cases there may be no solution or there may be infinitely many solutions.

All manipulators have singularities at the boundary of their workspace, and most have lots of singularities inside their workspace. We can class singularities into two categories:

  1. Workspace-boundary singularities occur when the manipulator is fully stretched out or folded back on itself in such a way that the end-effector is at or very near the boundary of the workspace.
  2. Workspace-inside singularities occur away from the boundary of workspace, and are usually generated from two or more collinear joint axes.

There are 3 common singularities for six degree of freedom manipulators:

  1. Two collinear revolute joints: This type of singularity is common in spherical wrist assemblies that are composed of three mutually orthogonal revolute joints whose axes intersect at a point. In this configuration, rotation about the axis normal to the plane defined by the first and second joints is not possible.
  2. Three parallel coplanar revolute joint axes: The Jacobian for a six degree of freedom manipulator is singular if there exist three revolute joints which satisfy the following conditions:(see also the figure below)
    1. The axes are parallel: ωi=±ωj for i,j=1,2,3 .
    2. The axes are coplanar : there exists a plane with unit normal n such that nTωi=0 and nT(qiqj)=0,i,j=1,2,3 .
  3. Four intersecting revolute joint axes: The Jacobian for a six degree of freedom manipulator is singular if there exist four revolute joint axes that intersect at a point q : ωi×(qi1)=0,i=1,,4 .

singularity
It is also possible for a manipulator to exhibit different types of singularities at a single configuration. In this case, depending on the number and type of the singularities, the manipulator may lose the ability to move in several different directions at once.

Decoupling of Singularities

We can decouple the determination of singular configurations, for those manipulators with spherical wrists, into two simpler problems. The first is to determine so-called arm singularities, that is, singularities resulting from motion of the arm, which consists of the first three or more links, while the second is to determine the wrist singularities resulting from motion of the spherical wrist.

Suppose that n=6 , that is, the manipulator consists of a 3 -DOF arm with a 3 -DOF spherical wrist. In this case the Jacobian is a 6×6 matrix and a configuration q is singular if and only if

detJ(q)=0
If we now partition the Jacobian J into 3×3 blocks as
J=[JPJO]=[J11J21J12J22]
then, since the final three joints are always revolute
JO=[z3×(o6o3)z3z4×(o6o4)z4z5×(o6o5)z5]
If we choose the coordinate frames so that o3=o4=o5=o6=o (spherical wrist), then J12=0 . Furthermore,
detJ=detJ11detJ22
J11 has i -th column zi1×(ooi1) if joint i is revolute, and zi1 if joint i is prismatic, while J22=[z3,z4,z5] . Note that this form of the Jacobian does not necessarily give the correct relation between the velocity of the end-effector and the joint velocities.

猜你喜欢

转载自blog.csdn.net/philthinker/article/details/78819689