1/17/2011
Robotic Manipulators
i.e. an assembly of pairs of rigid bodies that can move respect to one
another via a mechanical constraint
1/17/2011
link 2
link 3
1/17/2011
Joints
most manipulator joints are one of two types
1. revolute (or rotary)
like a hinge
allows relative rotation about a fixed axis between two links
2.
like a piston
allows relative translation along a fixed axis between two links
1/17/2011
Joint Variables
revolute and prismatic joints are one degree of freedom
(DOF) joints; thus, they can be described using a single
numeric value called a joint variable
qi : joint variable for joint i
revolute
1.
prismatic
2.
1/17/2011
link i
link i 1
qi
1/17/2011
link i 1
link i
di
1/17/2011
R: revolute joint
P: prismatic joint
1/17/2011
Articulated Manipulator
z0 : waist
z1 : shoulder (perpendicular to z0)
z2 : elbow (parallel to z1)
z0
z1
z2
q2
q3
shoulder
forearm
elbow
q1
waist
1/17/2011
Spherical Manipulator
RRP
Stanford arm
http://infolab.stanford.edu/pub/voy/museum/pictures/display/robots/IMG_2404ArmFrontPeekingOut.JPG
z0
z1
d3
q2
shoulder
z2
q1
waist
10
1/17/2011
SCARA Manipulator
RRP
Selective Compliant Articulated Robot for Assembly
http://www.robots.epson.com/products/g-series.htm
z1
z0
z2
q2
d3
q1
11
1/17/2011
Forward Kinematics
a2
q2
a1
q1
12
Forward Kinematics
1/17/2011
Forward Kinematics
q2
y0
a1
q1
x0
13
Forward Kinematics
1/17/2011
Forward Kinematics
q2
y0
a1
q1
( a1 cos q1 , a1 sin q1 )
x0
14
Forward Kinematics
1/17/2011
Forward Kinematics
a2
q2
y0
q1
a1
q1
x1
( a1 cos q1 , a1 sin q1 )
x0
15
Forward Kinematics
1/17/2011
Forward Kinematics
(x, y) ?
y1
q2
y0
q1
a1
q1
x0
16
a2
Forward Kinematics
x1
( a1 cos q1 , a1 sin q1 )
1/17/2011
Forward Kinematics
y1
q2
y0
q1
a1
q1
x0
17
a2
Forward Kinematics
x1
( a1 cos q1 , a1 sin q1 )
1/17/2011
Forward Kinematics
y2
x2
a2
q2
y0
q1
a1
q1
x0
18
Forward Kinematics
1/17/2011
Forward Kinematics
y2
x2
q2
y0
q1
a1
q1
x0
19
Forward Kinematics
1/17/2011
Inverse Kinematics
y2
x2
(x, y)
a2
q2 ?
y0
a1
q1 ?
x0
20
Inverse Kinematics
1/17/2011
Inverse Kinematics
x0
21
Inverse Kinematics
1/17/2011
Inverse Kinematics
law of cosines
b 2 a12 a22 2a1a2 cos( q 2 ) x 2 y 2
(x, y)
a2
b
y0
q2 ?
a1
x0
22
Inverse Kinematics
1/17/2011
Inverse Kinematics
x 2 y 2 a12 a22
cos( q 2 )
2a1a2
and we have the trigonometric identity
cos( q 2 ) cos(q 2 )
therefore,
x 2 y 2 a12 a22
cos q 2
C2
2a1a2
We could take the inverse cosine, but this gives only one of the two solutions.
23
Inverse Kinematics
1/17/2011
Inverse Kinematics
Instead, use the two trigonometric identities:
sin 2 q cos 2 q 2 1
tan q
sin q
cos q
to obtain
2
C
2
q 2 tan 1
C2
which yields both solutions for q2 . In many programming languages you would use the
four quadrant inverse tangent function atan2
c2 = (x*x + y*y a1*a1 a2*a2) / (2*a1*a2);
s2 = sqrt(1 c2*c2);
theta21 = atan2(s2, c2);
theta22 = atan2(-s2, c2);
24
Inverse Kinematics
1/17/2011
Inverse Kinematics
q1 tan tan
x
a1 a2 cos q 2
1
25
Inverse Kinematics
1/17/2011