Uploaded by ardeshanabhavik

Jacobian MAE 263B S03

advertisement
MAE263B: Dynamics of Robotic Systems
Discussion Section – Week5
: Jacobian (SCARA)
Seungmin Jung
02.07.2020.
Contents
❑ Jacobian with SCARA example
• Velocity propagation
• Direct differentiation
❑ Frame of Representation
Kinematics Relations - Joint & Cartesian Spaces
•
A robot is often used to manipulate object attached to its tip (end effector).
•
The location of the robot tip may be specified using one of the following
descriptions:
•
Joint Space
•
Cartesian Space / Operational Space
 R
0
NT = 
 0
0
N
0
PN 

1 
 1 
 
 = 2

 
 N 
{N}
 
 
Euler Angles
 0 PN 
X = 0 
 rN 
A minimal representation of orientation - Euler angles
 
 =  
 
A minimal representation of orientation - Euler angles
Kinematics Relations - Forward & Inverse
•
The robot kinematic equations relate the two description of the robot tip location
 1 
 
 = 2

 
 N 
X = FK ( )
 
 
 0 PN 
X = 0 
 rN 
 = IK ( X )
Tip Location in
Joint Space
Tip Location in
Cartesian Space
Velocity relationship
: Jacobian Matrix – Joint velocity / End-effector velocity
 1 
 

d
 = [ ] =  2 

dt
 
 N 
Tip Velocity in
Joint Space
 vx 
v 
 y
 v  v 
d
X = [ X ] =  N  =  z 
dt
  N   x 
 y 
 
 z 
 
 
Tip velocity in
Cartesian Space
Jacobian Matrix - Introduction
•
The velocity relationship
: The relationship between
the joint angle rates (  N )
and the translation and rotation velocities of the end
effector ( x ).
x = J ( )
•
The relationship between
the robot joint torques (  )
and the forces and moments ( F )
at the robot end effector (Static Conditions).
 = J ( )T F
F
Jacobian Matrix - Calculation Methods
Differentiation the
Forward Kinematics Eqs.
Iterative Propagation
(Velocities or Forces / Torques)
Jacobian Matrix
Jacobian Matrix - Introduction
•
In the field of robotics the Jacobian
matrix describe the relationship
between the joint angle rates (  N )
and the translation and rotation
velocities of the end effector ( x ).
This relationship is given by:
x = J ( )
 = J ( )−1 x
Jacobian Matrix - Introduction
•
This expression can be expanded to:
 x  
 y  
  
 z  
 =
 x  
 y  
  
 z  
•
6x1
Where:
x
– J ( )
– 
N
– N
–
J ( )
6xN
  1 
  
  2 
 
 

 
  
  N 
Nx1
is a 6x1 vector of the end effector linear and angular velocities
is a 6xN Jacobian matrix
is a Nx1 vector of the manipulator joint velocities
is the number of joints
Position Propagation
•
The homogeneous transform matrix provides a complete description of the
linear and angular position relationship between adjacent links.
 i −1i R
T =
 0
i
i −1
•
i
Pi −1 

1 
These descriptions may be combined together to describe the position of a link
relative to the robot base frame {0}.
T =o1T 12T i −1i T
o
i
Velocity Propagation
•
Given: A manipulator - A chain of
rigid bodies each one capable of
moving relative to its neighbor
•
Problem: Calculate the linear and
angular velocities of the link of a
robot
•
Solution (Concept): Due to the robot
structure (serial mechanism) we can
compute the velocities of each link
in order starting from the base.
The velocity of link i+1
= The velocity of link i
+ whatever new velocity components were added by joint i+1
Velocity Propagation – Intuitive Explanation
•
Three Actions
– The origin of frame B moves as a function of time with respect to the origin
of frame A
– Point Q moves with respect to frame B
– Frame B rotates with respect to frame A along an axis defined by A 
B
•
Linear and Rotational Velocity
– Vector Form
VQ = AVBORG + BAR BVQ + A  B BAR BPQ
A
– Matrix Form
VQ = AVBORG + BAR BVQ + BAR (BA R BPQ )
A
A
B
B
PQ
Velocity Propagation – Intuitive Explanation
•
Three Actions
– The origin of frame B moves with respect to the origin of frame A
– Point Q moves with respect to frame B
– Frame B rotates with respect to frame A about an axis defined by A  B
A
B
B
PQ
VQ = AVBORG + BAR BVQ + BAR (BA R BPQ )
VQ = AVBORG + BAR BVQ + A  B BAR BPQ
A
A
Linear Velocity - Rigid Body
•
Given: Consider a frame {B} attached
to a rigid body whereas frame {A} is
fixed. The orientation of frame {A}
with respect to frame {B} is not
 =0
changing as a function of time BAR
Q
B
•
Problem: describe the motion of of
the vector B P relative to frame {A}
PQ
Q
•
Solution: Frame {B} is located
relative to frame {A} by a position
vector A PBORG and the rotation matrix BAR
(assume that the orientation is not
 = 0 ) expressing
changing in time BAR
both components of the velocity in
terms of frame {A} gives
A
B
R = 0
VQ = AVBORG + A ( BVQ )= AVBORG + BAR BVQ
A
Instructor: Jacob Rosen
Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA
Frame - Velocity
•
As with any vector, a velocity vector may be described in terms of any frame,
and this frame of reference is noted with a leading superscript.
•
A velocity vector computed in frame {B} and represented in frame {A} would be
written
Q
Represented
(Reference Frame)
( VQ ) =
A B
A
dB
PQ
dt
Computed
(Measured)
VBORG = 0
A
R=0
A
B
VQ = AVBORG + BAR BVQ + A  B BAR BPQ
A
VQ = AVBORG + BAR BVQ + BAR (BA R BPQ )
A
Angular Velocity - Rigid Body
•
Given: Consider a frame {B} attached
to a rigid body whereas frame {A} is
fixed. The vector B PQ is constant as
view from frame {B} BV = 0
Q
•
Problem: describe the velocity of the
vector B PQ representing the the point
Q relative to frame {A}
•
Solution: Even though the vector B P
Q
is constant as view from frame {B} it
is clear that point Q will have a
velocity as seen from frame {A} due
to the rotational velocity A 
B
B
Q
PQ
VQ = 0
B
VBORG = 0
A
VQ = AVBORG + BAR BVQ + A  B BAR BPQ
A
VQ = AVBORG + BAR BVQ + BAR (BA R BPQ )
A
Angular Velocity - Rigid Body - Intuitive Approach
•
The figure shows to instants of time
A
as the vector PQ rotates around A  B
This is what an observer in frame {A}
would observe.
•
The Magnitude of the differential
change is
A
 PQ =
A
(
A
B t
)(
A
PQ sin 
)
 APQ
A
•
PQ sin 
A
PQ sin 
A
Using a vector cross product we get
 APQ
t
= AVQ = A  B  APQ
PQ (t )
PQ (t + t )
Simultaneous Linear and Rotational Velocity
•
The final results for the derivative of a vector in a moving frame (linear and
rotation velocities) as seen from a stationary frame
•
Vector Form
VQ = VBORG + R VQ +  B  R PQ
A
•
A
A
B
B
A
A
B
B
Matrix Form
VQ = AVBORG + BAR BVQ + BAR (BA R BPQ )
A
A
B
B
PQ
Simultaneous Linear and Rotational Velocity
•
Linear and Rotational Velocity
– Vector Form
VQ = AVBORG + BAR BVQ + A  B BAR BPQ
A
– Matrix Form
VQ = AVBORG + BAR BVQ + BAR (BA R BPQ )
A
•
Angular Velocity
– Vector Form
– Matrix Form
A
A
C
C = A B + BAR B C
R = BAR + BARCBR BA RT
A
B
B
PQ
Velocity of Adjacent Links - Summary
•
Angular Velocity
0 - Prismatic Joint
 0 
i +1
i +1 =i +i1R ii +  0 
 
i +1 
•
Linear Velocity
0 - Revolute Joint
 0 
i +1
vi +1 =i +i1R (i i Pi +1 + i vi ) +  0 
 
di +1 
The velocity of link i+1
= The velocity of link i
+ whatever new velocity components were added by joint i+1
Jacobian: Velocity propagation
•
Therefore the recursive expressions for the adjacent joint linear and angular
velocities can be used to determine the Jacobian in the end effector frame
N
•
X = N J ( )
This equation can be expanded to:
N
 x 
 y 
N
 

N

z




v
N 
X =   =  N N = 


x

N


 

y 
 
 z 
J ( )
1
 
 2


 

  
 
 
 N 
Velocity of Adjacent Links - Angular Velocity 5/5
•
The result is a recursive equation that shows the angular velocity of one link in
terms of the angular velocity of the previous link plus the relative motion of the
two links.
 0 
i +1
i +1 =i +i1R ii +  0 
 
i +1 
•
Since the term i +1 depends on all previous links through this recursion, the
angular velocity is said to propagate from the base to subsequent links.
i +1
Velocity of Adjacent Links - Angular Velocity 1/5
•
From the relationship developed previously
A
•
C = A B + BAR B C
we can re-assign link names to calculate the velocity of any link i relative to the
base frame {0}
 A→0

 B→i
 C → i +1

0
•
i +1 =0 i +0i Ri i +1
By pre-multiplying both sides of the equation by
of reference for the base {0} to frame {i+1}
i +1
0
R ,we can convert the frame
Velocity of Adjacent Links - Angular Velocity 2/5
i +1
0
•
R0 i +1 =i +01R0 i +i +01R0i Ri i +1
Using the recently defined notation, we have
i +1 =i +1i +i +i1Ri i +1
i +1
i +1
i +1
- Angular velocity of frame {i+1} measured relative to the robot base, and
expressed in frame {i+1} - Recall the car example c wV =c v
c
c
i +1
Angular
velocity
of
frame
{i}
measured
relative
to
the
robot
base,
and
i
expressed in frame {i+1}
i +1 i
- Angular velocity of frame {i+1} measured relative to frame {i} and
i R i +1
expressed in frame {i+1}
 
Velocity of Adjacent Links - Angular Velocity 3/5
i +1 =i +1i +i +i1Ri i +1
i +1
•
Angular velocity of frame {i} measured relative to the robot base, expressed in
frame {i+1}
i =i +i1Rii
i +1
Velocity of Adjacent Links - Angular Velocity 4/5
i +1 =i +1i +i +i1Ri i +1
i +1
•
•
•
Angular velocity of frame {i+1} measured (differentiate) in frame {i} and
represented (expressed) in frame {i+1}
Assuming that a joint has only 1 DOF. The joint configuration can be either
revolute joint (angular velocity) or prismatic joint (Linear velocity).
Based on the frame attachment convention in which we assign the Z axis
pointing along the i+1 joint axis such that the two are coincide (rotations of a link
is preformed only along its Z- axis) we can rewrite this term as follows:
3
2
i+1
i
1
 0 
i +1 i
 
i R i +1 =  0 
i +1 
SCARA – RRRP – DH Parameter (Modified form)
SCARA – RRRP
SCARA – RRRP – Forward Kinematics
Simplify Function
SCARA example _ Jacobian: Velocity propagation
•
The recursive equation for the Angular Velocity is
0
𝜌 = 0 𝑖𝑛 𝑡ℎ𝑒 𝑝𝑟𝑖𝑠𝑚𝑎𝑡𝑖𝑐 𝑗𝑜𝑖𝑛𝑡
𝑖+1
𝑖
𝑖+1
𝜔𝑖+1 = 𝑖 𝑅 𝜔𝑖 + 𝜌 0 ,
𝝆 = 𝟏 𝒊𝒏 𝒕𝒉𝒆 𝒓𝒆𝒗𝒐𝒍𝒖𝒕𝒆 𝒋𝒐𝒊𝒏𝒕
𝜃ሶ𝑖+1
𝑖+1
𝑖𝑅
𝑇
is the transpose of 𝑖+1𝑖𝑅 ( 𝑖+1𝑖𝑅 = 𝑖+1𝑖𝑅 ) and 𝑖+1𝑖𝑅 = 𝑖+1𝑖𝑇(1: 3,1: 3)
𝑖
𝑖+1𝑅 can be obtained from the transformation matrix in the forward kinematics.
SCARA example _ Jacobian: Velocity propagation
SCARA example _ Jacobian: Velocity propagation
•
•
The recursive equation for the Angular Velocity is
0
𝜌 = 0 𝑖𝑛 𝑡ℎ𝑒 𝑝𝑟𝑖𝑠𝑚𝑎𝑡𝑖𝑐 𝑗𝑜𝑖𝑛𝑡
𝑖+1
𝑖
𝑖+1
𝜔𝑖+1 = 𝑖 𝑅 𝜔𝑖 + 𝜌 0 ,
𝝆 = 𝟏 𝒊𝒏 𝒕𝒉𝒆 𝒓𝒆𝒗𝒐𝒍𝒖𝒕𝒆 𝒋𝒐𝒊𝒏𝒕
𝜃ሶ𝑖+1
The base frame does not move
0
•
0
𝜔0 = 0 (The base frame does not move)
0
Three revolute joints
0
1
1 0
𝜔1 = 0𝑅 𝜔0 + 0
𝜃ሶ1
•
0
2
2 1
𝜔2 = 1𝑅 𝜔1 + 0
𝜃ሶ 2
One prismatic joint
4
𝜔4 =
4 3
3 𝑅 𝜔3
0
0
+
𝜃ሶ4 = 0
0
3
𝜔3 = 32𝑅 2𝜔2 + 0
𝜃ሶ 3
SCARA example _ Jacobian: Velocity propagation
SCARA example _ Jacobian: Velocity propagation
•
The recursive equation for Linear Velocity is
•
0 𝜌 = 1 𝑖𝑛 𝑡ℎ𝑒 𝑝𝑟𝑖𝑠𝑚𝑎𝑡𝑖𝑐 𝑗𝑜𝑖𝑛𝑡
𝑣𝑖+1 =
𝜔𝑖 × 𝑃𝑖+1 + 𝑣𝑖 + 𝜌 0 ,
𝝆 = 𝟎 𝒊𝒏 𝒕𝒉𝒆 𝒓𝒆𝒗𝒐𝒍𝒖𝒕𝒆 𝒋𝒐𝒊𝒏𝒕
𝑑ሶ
The base frame does not move
𝑖+1
𝑖+1
𝑖𝑅
𝑖
𝑖
𝑖
0
•
0
𝑣0 = 0
0
Three revolute joints
1
𝑣1 = 10𝑅
2
𝑣2 = 21𝑅
3
𝑣3 = 32𝑅
•
0
𝜔0 × 0𝑃1 + 0𝑣0
1
𝜔1 × 1𝑃2 + 1𝑣1
2
𝜔2 × 2𝑃3 + 2𝑣2
One prismatic joint
4
𝑣4 = 43𝑅
3
𝜔3 × 3𝑃4 + 3𝑣3
0
+ 0
𝑑4ሶ
SCARA example
Jacobian: Velocity propagation
SCARA example _ Jacobian: Velocity propagation
•
4
4
The Jacobian 𝐽4 is defined as
𝑣4
=
4
𝜔4
4
𝐽4
4
4
𝑣4,1
4
4
𝑣4,2
4
4
𝑣4,3
𝑣4,1
𝑣4,2
4
•
𝑣4
According to the definition 4
=
𝜔4
𝜃ሶ1
𝜃ሶ2
𝜃ሶ3
𝑑ሶ 4
𝑣4,3
,
4
4
𝑤4,1
4
𝑤4,2
4
4
𝑤4,3
4
𝑤4,1
𝑤4,2
𝑤4,3
=
4
𝐽4
𝜃ሶ1
𝜃ሶ2
𝜃ሶ3
𝑑4ሶ
SCARA example _ Jacobian: Velocity propagation
Jacobian: Frame of Representation
•
The Jacobian provides the relationship between the end effector’s Cartesian
velocity measured relative to the robot base frame {0}
•
For velocity expressed in frame {N}
N
•
X = N J ( )
For velocity expressed in frame {0}
0
X =0J ( )
Instructor: Jacob Rosen
Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA
Jacobian: Frame of Representation
•
Consider the velocities in a different frame {B}
B

vN  B
B 
X =  B  = J ( )
 N 
•
We may use the rotation matrix to find the velocities in frame {A}:
A
•
A
A B



v
R v 
N
B
X =  A  =  A B N 
 N   B R N 
The Jacobian transformation is given by a rotation matrix
A
X = AJ ( )= BARJ B J ( )
Instructor: Jacob Rosen
Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA
Jacobian: Frame of Representation
•
where
A
B
RJ is given by


A
BR


A
B RJ = 
0 0 0

  0 0 0


 0 0 0
 
or equivalently,


A
BR


A
J ( ) = 
0 0 0

  0 0 0


 0 0 0
 
 0 0 0 
 0 0 0 


0 0 0


A

BR


 0 0 0 
 0 0 0 


0 0 0 B
 J ( )

A

BR


 
 
Instructor: Jacob Rosen
Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA
Jacobian: Frame of Representation - 3R Example

 0 
  4 R

0
J 4 ( ) = 
 0 0 0 
 0 0 0 


 0 0 0 
0 0 0  
0 0 0  


0 0 0   4
 J 4 ( )

 40 R  


Instructor: Jacob Rosen
Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA
Jacobian: Frame of Representation
Jacobian: Direct Differentiation
•
This expression can be expanded to:
 x  
 y  
  
 z  
 =
 x  
 y  
  
 z  
6x1
J ( )
6xN
  1 
  
  2 
 
 

 
  
  N 
Nx1
Jacobian: Direct Differentiation
Jacobian: Direct Differentiation
0

0
NR
T
=

N
 0
 px  l2 cos(t1 + t2 ) + l1 cos(t1 ) 
 p  =  l sin(t + t ) + l sin(t ) 
1
2
1
1 
 y  2
 pz  

−d 4
 px  [−l2 sin(t1 + t2 ) − l1 sin(t1 )]t1 + [−l2 sin(t1 + t2 )]t2 
 p  =  [l cos(t + t ) − l cos(t )]t + [l cos(t + t )]t 
1
2
1
1
1
2
1
2
2 
 y  2

 pz  
−d 4
0
PN 

1 
Jacobian: Direct Differentiation (Jp)
 vx 
v  = J  
p  
 y
 vz 
 t1 
p
 x
 
 p  = J  t2 
p
 y
 t3 
 pz 
 
d4 
 px  l2 cos(t1 + t2 ) + l1 cos(t1 ) 
 p  =  l sin(t + t ) + l sin(t ) 
1
2
1
1 
 y  2
 pz  

−d 4
 px  [−l2 sin(t1 + t2 ) − l1 sin(t1 )]t1 + [−l2 sin(t1 + t2 )]t2 
 p  =  [l cos(t + t ) − l cos(t )]t + [l cos(t + t )]t 
1
2
1
1
1
2
1
2
2 
 y  2

 pz  
−d 4
 t1 
 px  (−l2 sin(t1 + t2 ) − l1 sin(t1 )) (−l2 sin(t1 + t2 )) 0 0   
 p  =  (l cos(t + t ) − l cos(t )) (l cos(t + t )) 0 0   t2 
1
2
1
1
2
1
2
 y  2
t 
 pz  
  3 
0 0 0 −1
d4 
Jacobian: Direct Differentiation (Jo)
 wx 
 w  = Jo  
 
 y
 wz 
 t1 
w
 x
 
 w  = Jo  t2 
 y
 t3 
 wz 
 
d4 
0
 wx  

w  = 

0
 y 

 wz  1 +  2 + 3 + 0 
 1 
 wx  0 0 0 0   
 w  = 0 0 0 0   2 
 y 
  
 wz   1 1 1 0   3 
 d 4 
Jacobian: Direct Differentiation
Jacobian: Direct Differentiation
Jacobian: Direct Differentiation
Jacobian: Direct Differentiation
Jacobian: Direct Differentiation
Jacobian: Direct Differentiation
𝐽𝑃1 = 𝑧0_1 × (𝑝𝑒 − 𝑝0_1 )
=
×(
-
)=
𝐽𝑃2 = 𝑧0_2 × (𝑝𝑒 − 𝑝0_2 )
=
×(
-
)=
𝐽𝑃3 = 𝑧0_3 × (𝑝𝑒 − 𝑝0_3 )
=
𝐽𝑃4 = 𝑧0_4
=
×(
=
-
)=
Jacobian: Direct Differentiation
𝐽𝑃1 = 𝑧0_1 × (𝑝𝑒 − 𝑝0_1 )
=
×(
-
)=
𝐽𝑃2 = 𝑧0_2 × (𝑝𝑒 − 𝑝0_2 )
=
×(
-
)=
𝐽𝑃3 = 𝑧0_3 × (𝑝𝑒 − 𝑝0_3 )
=
𝐽𝑃4 = 𝑧0_4
=
×(
=
-
)=
Jacobian: Direct Differentiation
𝑱=
Jacobian: Direct Differentiation
𝑱𝑷 𝟏
𝑱𝑶𝟏
𝑱 𝑷𝟐
𝑱𝑶𝟐
𝑱 𝑷𝟑
𝑱𝑶𝟑
𝑱𝑷 𝟒
𝑱𝑶𝟒
Jacobian - Comparison
Jacobian: Frame of Representation
Summary
✓ Jacobian with SCARA example
• Velocity propagation
• Direct differentiation
✓ Frame of Representation
Download