Robotics & Automation Serial Kinematic Chain, Forward ...
Transcript of Robotics & Automation Serial Kinematic Chain, Forward ...
Robotics & Automation
Lecture 06
Serial Kinematic Chain, Forward Kinematics
John T. Wen
September 11, 2008
JTW-RA06 RPI ECSE/CSCI 4480 Robotics I
So Far ...
We have covered rigid body rotational kinematics: representations ofSO(3), changeof coordinates, differentiation onSO(3) (angular velocity).
Today, we’ll add in the translational portion to obtain SE(3), special Euclideangroup.
Then we’ll build up a kinematic structure by linking rigid bodies together throughjoints (i.e., forming the so-calledkinematic pairs).
September 11, 2008Copyrighted by John T. Wen Page 1
JTW-RA06 RPI ECSE/CSCI 4480 Robotics I
Rigid Body Motion (Translation and Rotation)
Rigid body orientation is represented by the orthonormal frameE . For the position,we designate the origin of the frame as apoint, O. (O,E) together represents theposition and orientation of the rigid body, and we call it anEuclidean Frame.
Given (Oa,Ea) and (Ob,Eb), relative position and orientation is~pab = Ob −Oa andEbE
∗
a (represented inEa: (pab,Rab)).
abp
September 11, 2008Copyrighted by John T. Wen Page 2
JTW-RA06 RPI ECSE/CSCI 4480 Robotics I
Homogeneous Transformation
Common representation of(p,R), p ∈R3, R ∈ SO(3) (homogeneous transformation):
H =
R p
0 1
.
Such 4× 4 matrices for a group called special Euclidean group of order 3, SE(3),with inverse given by
H−1 =
RT−p
0 1
.
September 11, 2008Copyrighted by John T. Wen Page 3
JTW-RA06 RPI ECSE/CSCI 4480 Robotics I
Serial Chain Kinematics
Consider a serial chain withn bodies (with all rotational joints first). Let the inertialframe be (O0,E0) and frame (Oi,Ei) attached to bodyi. The rotational axis for jointi is denoted by the unit vector~hi and Oi lies on the line along~hi, and the joint angle(or position) is denoted byqi.
Denote tool frame by(OT ,ET ) where ET = En.
Rotational forward kinematics:
E1 = eq1~h1×E0, E2 = eq2~h2×E1, . . . , En = eqn~hn×En−1.
or
En = eqn~hn× . . .eq2~h2×eq1~h1×E0.
Translational forward kinematics:
~p0T = ~p01+~p12+ . . .+~pn−1,n +~pnT .
September 11, 2008Copyrighted by John T. Wen Page 4
JTW-RA06 RPI ECSE/CSCI 4480 Robotics I
Examples
Planar IBM Scara
Stanford Puma 560 x
y
z
Yasukawa L-3 10-DOF
September 11, 2008Copyrighted by John T. Wen Page 5
JTW-RA06 RPI ECSE/CSCI 4480 Robotics I
Forward Kinematics in Base Frame
Orientation:
R0T (q) = R01(q1)R12(q2) . . .Rn−1,n(qn)RnT
where
ith joint is revolute: Ri−1,i(qi) = exp((hi)i−1qi)
ith joint is prismatic: Ri−1,i(qi) = I
Since~pi−1,i is a constant vector inEi−1:
p0T (q) = p01+R01(q1)p12+ . . .+R0,n−1(q1, . . . ,qn−1)pn−1,n +R0,n(q1, . . . ,qn)pnT .
ith joint is revolute: pi−1,i is a constant vector
ith joint is prismatic: pi−1,i(qi) = pi−1,i(0)+qi(hi)i−1.
September 11, 2008Copyrighted by John T. Wen Page 6
JTW-RA06 RPI ECSE/CSCI 4480 Robotics I
Forward Kinematics Algorithm
Given (q1, . . . ,qn), find (p0n,R0n).
1. Define the base frameE0 and origin O0.
2. Define thezero configuration, the configuration at which all joint displacementsare defined to be zero and all frames are aligned,Ei = E0, i = 1, . . . ,n+1.
3. Choose origins ofith body, Oi, along the rotational axis~hi.
4. While the chain is in the zero configuration,
(a) find hi (~hi represented inEi−1) by expressing~hi in E0 (sinceEi−1 = E0).
(b) find pi−1,i (~pi−1,i represented inEi−1) by representing~pi−1,i in E0 (sinceEi−1 =
E0).
5. Apply the forward kinematic equations to obtain (p0T ,R0T ).R0T (q) = R01(q1)R12(q2) . . .Rn−1,n(qn)RnT
p0T (q) = p01+R01(q1)p12+ . . .+R0,n−1(q1, . . . ,qn−1)pn−1,n +R0,n(q1, . . . ,qn)pnT .
If ith joint is revolute: pi−1,i is a constant vector,Ri−1,i = exp(hiqi).If ith joint is prismatic: pi−1,i = pi−1,i(0)+qihi where pi−1,i(0) is a constant vec-tor from the zero configuration, Ri−1,i = I.
September 11, 2008Copyrighted by John T. Wen Page 7
JTW-RA06 RPI ECSE/CSCI 4480 Robotics I
Forward Kinematics Implementation
To implement forward kinematics numerically, we need the following constantvec-tors:• Axes of rotation: (hi)i−1
• Link vectors: (pi−1,i)i−1
To find these vectors, first put the chain in the “zero configuration” (you choose!),i.e., when all joint angles are zero. In this configuration, all frames are aligned, so
(hi)i−1 = (hi)0, (pi−1,i)i−1 = (pi−1,i)0
which means we just read off these vectors in the inertial frame.
Summary of procedure for forward kinematics:• put chain in the chosen zero configuration• choose origin ofith frame along hi
• Express~hi and ~pi,i+1 all in E0.• Apply forward kinematics formula.
Now let’s look at some examples!
September 11, 2008Copyrighted by John T. Wen Page 8