me 4135 differential motion and the robot jacobian
DESCRIPTION
ME 4135 Differential Motion and the Robot Jacobian. Slide Series 6 R. R. Lindeke, Ph.D. Lets develop the differential Operator – bringing calculus to Robots. The Differential Operator is a way to account for “Tiny Motions” ( T) - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/1.jpg)
ME 4135Differential Motion and the Robot
Jacobian
Slide Series 6
R. R. Lindeke, Ph.D.
![Page 2: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/2.jpg)
Lets develop the differential Operator – bringing calculus to Robots
The Differential Operator is a way to account for “Tiny Motions” (T)
It can be used to study movement of the End Frame over a short time intervals (t)
It is a way to track and explain motion for different points of view
![Page 3: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/3.jpg)
Considering motion:
We can define a General Rotation of a vector K:
By a general matrix defined as:
x
y
z
K i
K K j
K k
( , ) ( , ) ( , )x y zRot X Rot Y Rot Z
![Page 4: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/4.jpg)
These Rotation are given as:
But lets remember for our purposes that this angle is very small (a ‘tiny rotation’) in radians
If the angle is small we can have use some simplifications:
1 0 0 0
0 ( ) ( ) 0( , )
0 ( ) ( ) 0
0 0 0 1
x xx
x x
Cos SinRot X
Sin Cos
Cos small 1 Sin small small
![Page 5: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/5.jpg)
Substituting the Small angle Approximation:
1 0 0 0
0 1 0( , )
0 1 0
0 0 0 1
xx
x
Rot X
1 0 0
0 1 0 0( , )
0 1 0
0 0 0 1
y
yy
Rot Y
1 0 0
1 0 0( , )
0 0 1 0
0 0 0 1
z
zzRot Z
Similarly for Y and Z:
![Page 6: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/6.jpg)
Simplifying the Rotation Matrices(form their product):
1 0
1 0.
1 0
0 0 0 1
z y
z x
y x
Gen Rot
Note here: we have neglected higher order products of the terms!
![Page 7: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/7.jpg)
What about Small (general) Translations?
We define it as a matrix:
General ‘Tiny Motion’ is then (including both Rot. and Translation):
1 0 0
0 1 0( , , )
0 0 1
0 0 0 1
dx
dyTrans dx dy dz
dz
1
1_
1
0 0 0 1
z y
z x
y x
dx
dyGen Movement
dz
![Page 8: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/8.jpg)
So using this idea:
Let’s define a motion which is due to a robot’s joint(s) moving during a small time interval:
T+T = {Rot(K,d)*Trans(dx,dy,dz)}T Consider Here: T is the original end frame pose Substituting for the matrices:
1
1
1
0 0 0 1
z y
z x
y x
dx
dyT T T
dz
![Page 9: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/9.jpg)
Solving for the differential motion (T)
1
1
1
0 0 0 1
z y
z x
y x
dx
dyT T T
dz
![Page 10: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/10.jpg)
Factoring T (on the RHS)
1 1 0 0 0
1 0 1 0 0
1 0 0 1 0
0 0 0 1 0 0 0 1
z y
z x
y x
dx
dyT T
dz
![Page 11: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/11.jpg)
Further Simplifying:
0
0
0
0 0 0 0
z y
z x
y x
dx
dyT T
dz
We will call this matrix the del operator:
![Page 12: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/12.jpg)
Thus, the Change in POSE (T or dT) is:
dT (T) = T Where: = {[Trans(dx,dy,dz)*Rot(K,d)] – I} Thus we see that this operator is analogous
to the derivative operator d( )/dx but now taken with respect to HTM’s!
![Page 13: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/13.jpg)
Lets look into an application:
Given:
Subject it to 2 simultaneous movements:– Along X0 (dx) by .0002 units (/unit time)– About Z0 a Rotation of 0.001rad (/unit
time)
0
1 0 0 3
0 1 0 5
0 0 1 0
0 0 0 1
ncurrT
![Page 14: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/14.jpg)
Graphically:
R
Here:
Rinit = (32 + 52) .5 = 5.831 units
init = Atan2(3,5) = 1.0304 rad
![Page 15: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/15.jpg)
Where is the Frame n after one time step?
Considering Position:– Effect of “Translation”:
X=3.0002 and Y = 5.000 New Rf = (3.00022 + 5.02).5 = 5.83105 u
– Effect of Rotation fin = 1.0304 + 0.001 = 1.0314 rad
– Therefore: Xf = Cos(fin) * Rf = 2.99505– And: Yf = Sin(fin) * Rf = 5.00309
![Page 16: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/16.jpg)
Where is the Frame n after one time step?
Considering Orientation:
( ) .9999995
.000999998
0 0
Cos
n Sin
.000999998
.9999995
0 0
Sin
o Cos
0
0
1
a
![Page 17: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/17.jpg)
After 1 time step, Exact Pose is:
.9999995 .000999998 0 2.99505
.000999998 .9999995 0 5.00309
0 0 1 0
0 0 0 1
newT
![Page 18: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/18.jpg)
Lets Approximate it using this operator
Tnew = Tinit + dT = Tinit + Tinit – the 1st law of differential
calculus
Where:0 .001 0 .0002 1 0 0 3
.001 0 0 0 0 1 0 5
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
0 .001 0 .0048
.001 0 0 .003
0 0 0 0
0 0 0 0
initdT T
![Page 19: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/19.jpg)
Thus, Tnew is Approximately:
1 0 0 3 0 .001 0 .0048
0 1 0 5 .001 0 0 .003
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
1 .001 0 2.9952
.001 1 0 5.003
0 0 1 0
0 0 0 1
new init initT T T
![Page 20: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/20.jpg)
Comparing:
“Exact”:
Approximate:
.9999995 .000999998 0 2.99505
.000999998 .9999995 0 5.00309
0 0 1 0
0 0 0 1
newT
1 .001 0 2.9952
.001 1 0 5.003
0 0 1 0
0 0 0 1
newT
Realistically these are all but equal but using the ‘del’ approximation, but finding it was much easier!
![Page 21: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/21.jpg)
We can (might!) use the ‘del’ approach to move a robot in space:
Take a starting POSE (Torig) and a starting motion set (deltas in rotation and translation as function of unit times)
Form operator for motion Compute dT (Torig)
Form Tnew = Torig + dT Repeat as time moves forward over
n time steps
![Page 22: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/22.jpg)
Taking Motion W.R.T. other Spaces (another use for this del operator idea)
Original Model (the motion we seek is defined in an inertial space):
– dT = T (1) However, if the motion is taken w.r.t. another (non-inertia)
space:– dT = TT (2)– Here T implies motion w.r.t. itself – a moving frame – but could be
motion w.r.t. any other non-inertia space (robot or camera, etc.) Consider as well: the pose change (motion that is happening)
itself (dT) is independent of point of view so, by equating (1) and (2) we can isolate T
T = (T)-1T
![Page 23: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/23.jpg)
Solving for the specific Terms in T
Positional Change Vector w.r.t. (any) Tspace:
Angular effects wrt Tspace:
Tp
Tp
Tp
T
T
T
dx d n d n
dy d o d o
dz d a d a
x n
y o
z a
������������������������������������������ ������������������������������������������
������������������������������������������
d, n, o & a vectors are extracts from the T Matrixdp is the translation vector in is the rotational effects in
![Page 24: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/24.jpg)
Subbing into a ‘del’ Form:
0
0
0
0 0 0 0
T T Tz y
T T TT z x
T T Ty x
dx
dy
dz
![Page 25: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/25.jpg)
An Application of this issue:
TWCR
TCamPartTR
part
If the Part is moving along a conveyor and we “measure” its motion in the Camera Frame (let the camera measure it at various times) and we would need to pick the part with the robot, we must track wrt to the robot, so we need part motion “del” in the robot’s space.
![Page 26: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/26.jpg)
This is a Motion “Mapping” Issue:
Pa R WC Ca Pa Pa R C Pa
Pa R WC Ca Pa
Knowns: C Robot in WC Camera in WC And of course Part in Camera (But we don’t need it for now!)
![Page 27: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/27.jpg)
Lets Isolate the “Middle”
R WC Ca R C
R WC Ca
To solve for R we make progress from “R to R” directly (R) and “The long way around”:
1 1R R Cam Cam Cam RWC WC WC WCT T T T
![Page 28: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/28.jpg)
Rewriting into a Standard Form:
It can be shown for 2 Matrices (A & B):A-1*B = (B-1*A)-1 (1)Or B-1*A = (A-1*B)-1 (2)
If, on the previous page we consider:TWC
Cam as “A” and TWCR as “B”,
and define the form: (TwcCam)-1*TWC
R as “T”Then, Using the theorem (from matrix math)
stated as (2) above “T”-1 is: (TWCR)-1* TWC
Cam
![Page 29: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/29.jpg)
Continuing:
Rewriting, we find that R = “T”-1(Cam) “T” R is now shown in the “standard form” for non-inertial
space motion– the terms: d, n, o & a vectors come from our ‘complex T’
matrix – the dp and vectors can be extracted from the Cam – These term are required to define motion in the robot space
Of course the “T” is really: (TwcCam)-1*TWC
R here!– Its from this “T” product that we extract n, o, a, d vectors
![Page 30: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/30.jpg)
R is given by simplifying:
1st: (TwcCam)-1*TWC
R = “T” Then these Scalars:
Rp
Rp
Rp
R
R
R
dx d n d n
dy d o d o
dz d a d a
x n
y o
z a
������������������������������������������ ������������������������������������������
������������������������������������������
WHERE:d, n, o & a vectors are extracts from the “T” Matrix above
dp is the ‘translation’ vector in Cam
is the vector of ‘rotational effects’ in Cam
![Page 31: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/31.jpg)
Lets Examine the Jacobian Ideas
Fundamentally:
1
q
q
D J D
D J D
and, If it 'exists' we can define the
Inverse Jacobian as:
![Page 32: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/32.jpg)
In This Model, Ddot & Dq,dot are:
1
2
3
4
5
6
;
;
Cartesian Velocity
Joint Velocity
x
y
z
q
x
y
D z
q
q
qD
q
q
q
We state, then, that the Jacobian is a mapping tool that relates Cartesian Velocities (of the n frame) to the movement of the individual Robot Joints
![Page 33: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/33.jpg)
Lets build one from ‘1st Principles’ – Here is a Spherical Arm:
RLets start with only linear motion ---- equations are straight forward!
![Page 34: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/34.jpg)
Writing the Position Models:
Z = R*Sin() X = R*Cos()*Cos() Y = R*Cos()*Sin()
( )
( )
( )
Sindz R Sin Rdt t t
S R RC
CCdx R C C RC RCdt t t t
C C R RC S RC S
Sdy CR C S RS RCdt t t t
C S R RS S RC C
To find velocity, differentiate these as seen here:
![Page 35: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/35.jpg)
Writing it as a Matrix:
0
XRC S RC S C C
Y RC C RS S S C
RC SZ R
This is the Jacobian; It is built as the Matrix of partial joint contributions (coefficients of the velocity equations) to Velocity of the End Frame
![Page 36: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/36.jpg)
Here we could develop an Inverse Jacobian:
'2 '2
'
' 2 ' 2 2
.5' 2 2
0y xxR R
zx zy R yR R R R R
yR zx zR R R
R x y
It was formed by taking the partial derivatives of the IKS equations
![Page 37: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/37.jpg)
The process we just did is limited to finding Linear Velocity!… and We need both linear and angular velocities for full functioned robots!
We can approach the problem by separations as we did in the General case of Inverse Kinematics –
Here we separate Velocity (Linear from Rotational), not Joints (Arms from Wrists)
Generally speaking, in the Jacobian we will obtain one Column for each Joint and 6 rows for a full velocity effect
We say the Jacobian is a 6 by n (6xn) matrix
![Page 38: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/38.jpg)
Separation Leads to:
A Cartesian Velocity Term V0
n:
An Angular Velocity Term 0
n:
0n
v q
x
y V J D
z
0
xn
y q
z
J D
Each of these “Ji’s” are 3 Row by n Columned Matrices
![Page 39: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/39.jpg)
Building the “Sub-Jacobians”:
We follow 3 stipulations: Velocities can only be added if they are defined in the
same space – as we know from dynamics Motion of the end effector (n frame) is taken w.r.t. the
base space (0 frame) Linear Velocity effects are physically separable from
angular velocity effects
To address the problem we will consider moving a single joint at a time (using DH separation ideas!)
![Page 40: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/40.jpg)
Lets start with the Angular Velocity (!)
Considering any joint i, its Axis of motion is: Zi-1 (Z in Frame i-1) The (modeling) effect of a joint is to drive the very next frame (frame i)
If Joint i is revolute:
– here k(i-1) is the Zi-1 direction (by definition)
– This model is applied to each of the joints (revolute) in the machine (as it rotates the next frame, all subsequent fames, move similarly!)
– But if the Joint is Prismatic, it has no angular effect on its “controlled” frame and thus no rotoation from it on all subsequent frames
1 1 1ii i i i ik q Z q
![Page 41: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/41.jpg)
Developing the (base) J
We need to add up each of the joint effects Thus we need to “normalize” them to base space to do the
sum DH methods allow us to do this!
Since Zi-1 is the active direction in a Frame of the model, we really need only to extract the 3rd column of the product of A1 * …*Ai-1 to have a definition of Zi-1 in base space. Then, this Ai’s products 3rd column is the effect of Joint i as defined in the (common) base space (note, the ‘qdot’ term is the rate of rotation of the given joint)
1 1 1ii i i i ik q Z q
![Page 42: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/42.jpg)
So the Angular Velocity then is:
0 11
1
0
(revolute joint)
(prismatic joint)
nn
i i ii
i
i
Z q
As stated previously, Zi-1 is the 3rd col. of A1*…Ai-1 (rows 1,2 & 3). And we will have a term in the sum for each joint
Note Zi-1 for Jointi – per DH algorithm!
![Page 43: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/43.jpg)
Going Back to the Spherical Device:
0 0 1
0
0 1
0
1 1 0
0
0
0
1
we state:
Therefore:
and (always):
n
nq
Z Z
J D
J Z Z
Z
������������������������������������������
������������������������������������������
�������������� Here, Z1 depends on the Frame Skeleton drawn!
Notice: 3 columns since we have 3 joints!
![Page 44: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/44.jpg)
Building the Linear Jacobian
It too will depend on the motion associated with Zi-1
It too will require that we normalize each joints linear motion contribution to the base space
We will find that revolute and prismatic joints will make functionally different contributions to the solution (as if we would think otherwise!)
Prismatic joints are “Easy,” Revolutes are not!
![Page 45: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/45.jpg)
Building the Linear Jacobian
0
00
1
0
n
n nn
iii
n
vi i
d
dd qq
dJ q
1 to n
is linear velocity of the end frame wrt the base
![Page 46: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/46.jpg)
Building the Linear Jacobian – for Prismatic Joints
When a prismatic jointi moves, all subsequent links move (linearly) at the same rate and in the same direction
![Page 47: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/47.jpg)
Building the Linear Jacobian – Prismatic Joints
Therefore, for each prismatic joint of a machine, the contribution to the Jacobian (after normalizing) is:
Zi-1 which is the 3rd column of the matrix given by: A0 * … * Ai-1
This is as expected based on the model on the previous slide (and our “move only one and then normalize it” method)
![Page 48: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/48.jpg)
Building the Linear Jacobian for Revolute Joints
This is a dicer problem, but then, remembering the idea of prismatic joints on angular
velocity … But no that won’t work here – just because its a
rotation, and it changes orientation of the end – revolute motion also does have a linear contribution effect to the motion of the end
This is a “levering effect” which moves the origin of the n-frame as we saw when discussing the del-operator on the -R structure.
We must compute and account for this effect and then normalize it too.
![Page 49: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/49.jpg)
Building the Linear Jacobian – Revolute Joints
Using this model we would expect that a rotation i would ‘lever the end’ by an amount that is equivalent (in direction) to the CROSS product of the ‘driver’ vector and the ‘connector’ vector and with a magnitude equal to Joint velocity
![Page 50: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/50.jpg)
Building the Linear Jacobian – Revolute Joints
This is the directional resultant (DR) vector given by:
Zi-1 X di-1n
[with Magnitude equal to joint speed!]
Note the “Green” Vector is equal to the ‘red’ DR vector!
![Page 51: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/51.jpg)
Building the Linear Jacobian – Revolute Joints
Zi-1 X di-1n is the direction of the linear motion of the
revolute joint i on n-Frame motion It too must be normalized Notice: di-1
n = d0n – d0
i-1 (call it eq. 3) This “normalizes” the vector di-1
n to the base space But the d-vectors on the r.h.s. are really origin
position of the various frames (Framei-1 and Framen) – i.e. the positions of frame “Origins”
So let’s rewrite equation 3 as: di-1n = On – Oi-1
![Page 52: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/52.jpg)
Building the Linear Jacobian – Revolute Joints
The contribution to the Jv due to a revolute joint is then:
Zi-1 X (On – Oi-1)
– Where: Zi-1 is the 3rd col. of the T0
i-1 (A1*… *Ai-1)
Oi-1 is 4th col. of the T0i-1 (A1*… *Ai-1)
On is 4th col. Of T0n (the FKS!)
NOTE when we pull the columns we only need the first 3 rows!
![Page 53: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/53.jpg)
Building the Linear Jacobian
Summarizing:– The Jv is a 3-row by n columned matrix
– Each column is given by joint type: Revolute Joint: Zi-1 X (On – Oi-1)
Prismatic Joint: Zi-1
And notice: select Zi-1 and Oi-1 for the frame before the current joint column
![Page 54: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/54.jpg)
Combining Both Halves of the Jacobian:
For Revolute Joints:
For Prismatic Joints:
1 1
1
i n iv
i
Z O OJJ
J Z
��������������������������������������������������������
��������������
1
0
v iJ ZJ
J
��������������
![Page 55: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/55.jpg)
What is the Form of the Jacobian?
Robot is: (PPRRRR) – a cylindrical machine with a spherical wrist:
Z0 is (0,0,1)T; O0 = (0,0,0)T always, always,
always! Zi-1’s and Oi-1’s are per the frame skeleton
0 1 2 6 2 3 6 3 4 6 4 5 6 5
2 3 4 50 0
Z Z Z O O Z O O Z O O Z O OJ
Z Z Z Z
![Page 56: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/56.jpg)
Lets try this on the Spherical ARM we did earlier:
1
2
d3
The robot indicates this frame skeleton:
![Page 57: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/57.jpg)
Lets try this on the Spherical ARM we did earlier:
Fr Link Var d a C S C S
0→1 1 R 1 0 0 90 0 1 C1 S1
1→2 2 R 2+90 0 0 90 0 1 -S2 C2
2→n 3 P 0 d3 0 0 1 0 1 0
LP Table:
![Page 58: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/58.jpg)
Lets try this on the Spherical ARM we did earlier:
Ai’s:
1
2
33
1 0 1 0
1 0 1 0
0 1 0 0
0 0 0 1
2 0 2 0
2 0 2 0
0 1 0 0
0 0 0 1
1 0 0 0
0 1 0 0
0 0 1
0 0 0 1
C S
S CA
S C
C SA
Ad
![Page 59: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/59.jpg)
Lets try this on the Spherical ARM we did earlier:
T1 = A1! T2 = A1 * A2
T0n = T3 = A1*A2*A3
1 2 1 1 2 0
1 2 1 1 2 02
2 0 2 0
0 0 0 1
C S S C C
S S C S CT
C S
3
30
3
1 2 1 1 2 1 2
1 2 1 1 2 1 23
2 0 2 2
0 0 0 1
n
C S S C C d C C
S S C S C d S CT T
C S d S
![Page 60: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/60.jpg)
Lets try this on the Spherical ARM we did earlier: THE JACOBIAN
0 3 0 1 3 1 2
0 1 0
Z O O Z O O ZJ
Z Z
The Jacobian is Of This Form:
![Page 61: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/61.jpg)
Lets try this on the Spherical ARM we did earlier: THE JACOBIAN
Here:
3
0 3 0 3
3
3
3
0 1 2 0
0 1 2 0
1 2 0
1 2
1 2
0
d C C
Z O O d S C
d S
d S C
d C C
3
1 3 1 3
3
3
3
3
1 1 2 0
1 1 2 0
0 2 0
1 2
1 2
2
S d C C
Z O O C d S C
d S
d C S
d S S
d C
![Page 62: ME 4135 Differential Motion and the Robot Jacobian](https://reader035.vdocuments.us/reader035/viewer/2022062221/56813f57550346895daa225b/html5/thumbnails/62.jpg)
After total Simplification, THE Full JACOBIAN is:
3 3
3 3
3
1 2 1 2 1 2
1 2 1 2 1 2
0 2 2
0 1 0
0 1 0
1 0 0
d S C d C S C C
d C C d S S S C
d C SJ
S
C