Robotics & Automation Serial Kinematic Chain, Forward ...

9
Robotics & Automation Lecture 06 Serial Kinematic Chain, Forward Kinematics John T. Wen September 11, 2008

Transcript of Robotics & Automation Serial Kinematic Chain, Forward ...

Page 1: Robotics & Automation Serial Kinematic Chain, Forward ...

Robotics & Automation

Lecture 06

Serial Kinematic Chain, Forward Kinematics

John T. Wen

September 11, 2008

Page 2: Robotics & Automation Serial Kinematic Chain, Forward ...

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

Page 3: Robotics & Automation Serial Kinematic Chain, Forward ...

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

Page 4: Robotics & Automation Serial Kinematic Chain, Forward ...

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

Page 5: Robotics & Automation Serial Kinematic Chain, Forward ...

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

Page 6: Robotics & Automation Serial Kinematic Chain, Forward ...

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

Page 7: Robotics & Automation Serial Kinematic Chain, Forward ...

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

Page 8: Robotics & Automation Serial Kinematic Chain, Forward ...

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

Page 9: Robotics & Automation Serial Kinematic Chain, Forward ...

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