An Introduction to Robot Kinematics

advertisement
An Introduction to
Robot Kinematics
Renata Melamud
Other basic joints
Revolute Joint
1 DOF ( Variable - )
Prismatic Joint
1 DOF (linear) (Variables - d)
Spherical Joint
3 DOF ( Variables - 1, 2, 3)
We are interested in two kinematics topics
Forward Kinematics (angles to position)
What you are given:
The length of each link
The angle of each joint
What you can find:
The position of any point
(i.e. it’s (x, y, z) coordinates
Inverse Kinematics (position to angles)
What you are given:
The length of each link
The position of some point on the robot
What you can find:
The angles of each joint needed to obtain
that position
Quick Math Review
Dot Product:
a x 
a 
 y
Geometric Representation:
A  B  A B cosθ
A
b x 
b 
 y
θ
B
Matrix Representation:
a x  b x 
A  B        a xb x  a y b y
a y  b y 
Unit Vector
Vector in the direction of a chosen vector but whose magnitude is 1.
B
uB 
B
B
uB
Quick Matrix Review
Matrix Multiplication:
An (m x n) matrix A and an (n x p) matrix B, can be multiplied since
the number of columns of A is equal to the number of rows of B.
Non-Commutative Multiplication
AB is NOT equal to BA
a b   e
c d    g

 
f  ae  bg 


h  ce  dg 
af  bh
cf  dh
Matrix Addition:
a b   e
c d    g

 
f   a  e 


h  c  g 
b  f 
d  h
Basic Transformations
Moving Between Coordinate Frames
Translation Along the X-Axis
Y
O
(VN,VO)
VO
P
VN
X
Px
Px = distance between the XY and NO coordinate planes
Notation:
V
XY
V X 
  Y
V 
V
NO
V N 
  O
V 
Px 
P 
0
N
Writing V XY in terms of V NO
Y
O
VO
P
X
V XY

VN
PX  V N 
NO


P

V

O
V


N
Translation along the X-Axis and Y-Axis
O
Y
VO
VN
X
V XY  P V NO
P
PX  V N 

O
P

V
 Y

XY
 Px 
 
PY 
N
Using Basis Vectors
Basis vectors are unit vectors that point along a coordinate axis
O
n
o
Unit vector along the N-Axis
Unit vector along the N-Axis
V NO
Magnitude of the VNO vector
VO
o
n
V NO
VN
N
NO
V NO cosθ  V NO  n 
V N   V cosθ 
  O    NO
   NO
   NO 
V   V sinθ   V cos(90  θ)  V  o 
Y
Rotation (around the Z-Axis)
Y
X
Z
V
VY

VX
X
 = Angle of rotation between the XY and NO coordinate axis
V XY
V X 
  Y
V 
V NO
V N 
  O
V 
x
Y
V
Unit vector along X-Axis
Can be considered with respect to
the XY coordinates or NO coordinates
V
V XY
 V NO
VY


X
VX
V X  V XY cosα  V NO cosα  V NO  x
V  (V  n  V  o)  x
X
N
O
(Substituting for VNO using the N and O
components of the vector)
V X  V N (x  n )  V O (x  o)
 V N (cosθ)  V O (cos(θ  90))
 V N (cosθ)  V O (sinθ)
Similarly….
V Y  V NO sinα  V NO cos(90  α)  V NO  y
V Y  (V N  n  V O  o)  y
V Y  V N (y  n)  V O (y  o)
 V N (cos(90  θ))  V O (cosθ)
 V N (sinθ)  V O (cosθ)
So….
V  V (cosθ)  V (sinθ)
X
N
O
V Y  V N (sinθ)  V O (cosθ)
V XY
V X 
  Y
V 
Written in Matrix Form
V
XY
V X  cosθ  sinθ V N 
  Y  
 O

V  sinθ cosθ  V 
Rotation Matrix about the z-axis
Y1
(VN,VO)
Y0
VNO
VXY

P
X1
Translation along P followed by rotation by 
X0
V
XY
V X  Px  cosθ
  Y     
V  Py   sinθ
 sinθ V N 


cosθ  V O 
(Note : Px, Py are relative to the original coordinate frame. Translation followed by
rotation is different than rotation followed by translation.)
In other words, knowing the coordinates of a point (VN,VO) in some coordinate
frame (NO) you can find the position of that point relative to your original
coordinate frame (X0Y0).
HOMOGENEOUS REPRESENTATION
Putting it all into a Matrix
V
XY
V X  Px  cosθ
  Y     
V  Py   sinθ
 sinθ V N 


cosθ  V O 
V X   Px  cosθ


 V Y   Py    sinθ
 1   1   0


 sinθ
cosθ
0
V X  cosθ


 V Y    sinθ
 1   0


cosθ
H   sinθ
 0
 sinθ
cosθ
0
 sinθ
cosθ
0
Px 
Py 
1 
What we found by doing a
translation and a rotation
0  V N 


0 V O 
1  1 
Px   V N 


Py  V O 
1   1 
Padding with 0’s and 1’s
Simplifying into a matrix form
Homogenous Matrix for a Translation in
XY plane, followed by a Rotation around
the z-axis
Download