robotics course 3. robot modeling -...

34
Robotics Course 3. Robot modeling Bernard Bayle Télécom Physique Strasbourg TI Santé, DTMI, master IRIV 1 / 21

Upload: others

Post on 12-Aug-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Robotics

Course 3. Robot modeling

Bernard BayleTélécom Physique Strasbourg

TI Santé, DTMI, master IRIV

1 / 21

Page 2: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

This course. . .

Course objectiveThis course deals with the kinematic and differential kinematicmodels of serial robots.Prerequisites: course 2 !

Open access references:R. Murray’s introduction to robotic manipulation:http://www.cds.caltech.edu/~murray/mlswiki

Robotics CourseWare on OpenCourseWare:http://roboticscourseware.org

2 / 21

Page 3: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Remember: configuration and pose

Robotic manipulators caseConfiguration of a robotic manipulator: vector q of n independentcoordinates called the generalized coordinates: rotation anglesfor revolute joints, translation values for prismatic joints.

DefinitionPose of a rigid body: position and orientation of the robot endeffector in a given frame.

3 / 21

Page 4: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Remember: why models?

configuration

pose

adaptedfrom

http://docs.fetchrobotics.com

q 7−→ xx 7−→ q

?

q 7−→ xx 7−→ q

?

4 / 21

Page 5: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Outline

1 Forward Kinematics

2 Inverse Kinematics

3 Differential Kinematics

5 / 21

Page 6: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Outline

1 Forward Kinematics

2 Inverse Kinematics

3 Differential Kinematics

6 / 21

Page 7: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Forward Kinematic Model

DefinitionForward Kinematic Model (FKM) of a robotic manipulator: poseof the end effector as a function of the robot configuration:

f : N −→ Mq 7−→ x = f (q).

General case

Expression of x = (x1 x2 x3 x4 x5 x6)T as a function ofq = (q1 q2 . . . qn)T with:

(x1 x2 x3)T position coordinates in F0

(x4 x5 x6)T orientation coordinates

Frequent use of partial direction cosines (x4 . . . x9)T .

7 / 21

Page 8: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Forward Kinematic Model calculation

The orientation is computed from the rotation matrixbetween the ground frame and the end effector frame.

The position (x1 x2 x3)T of point On+1 is computed fromthe position (px py pz)T of point On in F0, given thecoordinates (an 0 rn+1)T of On+1 in Fn :

x1 = px + anxx + rn+1zx

x2 = py + anxy + rn+1zy

x3 = pz + anxz + rn+1zz

8 / 21

Page 9: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Forward Kinematic Model calculation

The orientation is computed from the rotation matrixbetween the ground frame and the end effector frame.The position (x1 x2 x3)T of point On+1 is computed fromthe position (px py pz)T of point On in F0, given thecoordinates (an 0 rn+1)T of On+1 in Fn :

x1 = px + anxx + rn+1zx

x2 = py + anxy + rn+1zy

x3 = pz + anxz + rn+1zz

8 / 21

Page 10: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Practical considerations

Calculation of On coordinates and of the direction cosines:

T0,n(q) = T0,1(q1) T1,2(q2) . . . Tn−1,n(qn).

Rules

For i , j , . . . in 1,2, . . . ,n, write (for the sake of simplicity):

Si = sin qi

Ci = cos qi

Si+j = sin (qi + qj)

Ci+j = cos (qi + qj)

9 / 21

Page 11: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Practical considerations

Calculation of On coordinates and of the direction cosines:

T0,n(q) = T0,1(q1) T1,2(q2) . . . Tn−1,n(qn).

Rules

Each new mathematical operation (addition, multiplication):introduction of a new intermediate variable.

9 / 21

Page 12: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Practical considerations

Calculation of On coordinates and of the direction cosines:

T0,n(q) = T0,1(q1) T1,2(q2) . . . Tn−1,n(qn).

Rules

Reverse product calculation: no calculation of the secondcolumn of the rotation matrix. Why ?a11 a12 a13 0

a21 a22 a23 0a31 a32 a33 00 0 0 1

b11 ∗ b13 0b21 ∗ b23 0b31 ∗ b33 00 0 0 1

=

a11b11 + a12b21 + a13b31 ∗ a11b13 + a12b23 + a13b33 0a21b11 + a22b21 + a23b31 ∗ a21b13 + a22b23 + a23b33 0a31b11 + a32b21 + a33b31 ∗ a31b13 + a32b23 + a33b33 0

0 0 0 1

.9 / 21

Page 13: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Practical considerations

Calculation of On coordinates and of the direction cosines:

T0,n(q) = T0,1(q1) T1,2(q2) . . . Tn−1,n(qn).

Rules

First compose transformations with particular properties, inparticular rotations with parallel axis.

9 / 21

Page 14: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

ExampleSCARA-type manipulator. . .

10 / 21

Page 15: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Outline

1 Forward Kinematics

2 Inverse Kinematics

3 Differential Kinematics

11 / 21

Page 16: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Inverse kinematics

DefinitionInverse Kinematic Model (IKM): the configuration(s) thatcorrespond(s) to a given pose of the robot end effector:

f−1 : M −→ Nx 7−→ q = f−1(x).

SolvabilityExistence of solutions:

If n < m : no solution.If n = m : finite number of solutions (in general).If n > m : infinite number of solutions.

12 / 21

Page 17: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Calculation

Inverse Kinematic Model calculationNo systematic analytical method. Set of nonlinear equationsformed by the FKM to be solved.

When n = 6, the system is generally equipped with a sphericalwrist that allows some decoupling between orientation andposition, which helps solving the IKM:

px = x1 − anxx − rn+1zx ,

py = x2 − anxy − rn+1zy ,

pz = x3 − anxz − rn+1zz .

Unfortunately the next steps require more complex calculationsto solve for the qi , i = 1, 2, . . . , n as functions of the obtainedpx , py , pz and of the direction cosines.

13 / 21

Page 18: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

ExampleSCARA-type manipulator. . .

14 / 21

Page 19: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Outline

1 Forward Kinematics

2 Inverse Kinematics

3 Differential Kinematics

15 / 21

Page 20: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Differential kinematics

DefinitionForward Differential Kinematic Model (FDKM): relation betweenthe derivatives of the pose vector x and the generalizedvelocities q :

x = Jq

where J = J(q) is the m × n−dimensional Jacobian matrix offunction f :

J : TqN −→ TxM

q 7−→ x = Jq, with J =∂f∂q.

16 / 21

Page 21: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Differential kinematics

Forward Differential Kinematic Model calculationDifferentiation of the FKM for simple structures or . . .

First: velocity of On and angular velocity of frame Fn

p =n∑

i=1

(σi z i + σi z i × pi,n

)qi ,

Ω =n∑

i=1

(σi z i) qi .

17 / 21

Page 22: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Differential kinematics

Forward Differential Kinematic Model calculationDifferentiation of the FKM for simple structures or . . .

First: velocity of On and angular velocity of frame Fn

In a vector representation:(pΩ

)= Jg q

Jg =

(σ1z1 + σ1z1 × p

1,nσ2z2 + σ2z2 × p

2,n. . . σnzn + σnzn × p

n,nσ1z1 σ2z2 . . . σnzn

)

17 / 21

Page 23: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Differential kinematics

Forward Differential Kinematic Model calculationDifferentiation of the FKM for simple structures or . . .

First: velocity of On and angular velocity of frame Fn

In F0: (pΩ

)= Jg q

17 / 21

Page 24: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Differential kinematics

Forward Differential Kinematic Model calculationDifferentiation of the FKM for simple structures or . . .

Second: calculation of the velocity of point On+1 and of thederivatives of the orientation parameters of frame Fn

Position of On+1:x1x2x3

=

pxpypz

+ an

xxxyxz

+ rn+1

zxzyzz

18 / 21

Page 25: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Differential kinematics

Forward Differential Kinematic Model calculationDifferentiation of the FKM for simple structures or . . .

Second: calculation of the velocity of point On+1 and of thederivatives of the orientation parameters of frame Fn

Velocity of On+1:x1x2x3

=

pxpypz

+

ΩxΩyΩz

×an

xxxyxz

+ rn+1

zxzyzz

18 / 21

Page 26: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Differential kinematics

Forward Differential Kinematic Model calculationDifferentiation of the FKM for simple structures or . . .

Second: calculation of the velocity of point On+1 and of thederivatives of the orientation parameters of frame Fnx1

x2x3

=

pxpypz

+ D

ΩxΩyΩz

with D =

0 anxz + rn+1zz −anxy − rn+1zy−anxz − rn+1zz 0 anxx + rn+1zxanxy + rn+1zy −anxx − rn+1zx 0

.

18 / 21

Page 27: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Differential kinematics

Forward Differential Kinematic Model calculationDifferentiation of the FKM for simple structures or . . .

Second: calculation of the velocity of point On+1 and of thederivatives of the orientation parameters of frame Fn

Derivatives of the orientation parameters of frame Fn:x4x5. . .xm

= C

ΩxΩyΩz

18 / 21

Page 28: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Differential kinematics

Finally:

The FDKM is written:

x =

(I D0 C

)(pΩ

)=

(I D0 C

)Jg q,

with the Jacobian matrix:

J =

(I D0 C

)Jg .

19 / 21

Page 29: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Practical rules

For analytical calculations, it is worth using:

Jg =

(R0,1 0

0 R0,1

)(R1,2 0

0 R1,2

). . .

(Rk−1,k 0

0 Rk−1,k

)(I −pk+1,n|Fk0 I

)Jk+1|Fk

with:

k = Int(n2 )

robot with a spherical wrist: p4,6 = 0pk+1,n|Fk : antisymmetric matrix associated to theprojection of pk+1,n in Fk

Jk+1|Fk : projection in Fk

Jk+1 =

(σ1z1 + σ1z1 × p

1,k+1σ2z2 + σ2z2 × p

2,k+1. . . σnzn + σnzn × p

n,k+1σ1z1 σ2z2 . . . σnzn

)

20 / 21

Page 30: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Practical rules

For analytical calculations, it is worth using:

Jg =

(R0,1 0

0 R0,1

)(R1,2 0

0 R1,2

). . .

(Rk−1,k 0

0 Rk−1,k

)(I −pk+1,n|Fk0 I

)Jk+1|Fk

with:k = Int(n

2 )

robot with a spherical wrist: p4,6 = 0pk+1,n|Fk : antisymmetric matrix associated to theprojection of pk+1,n in Fk

Jk+1|Fk : projection in Fk

Jk+1 =

(σ1z1 + σ1z1 × p

1,k+1σ2z2 + σ2z2 × p

2,k+1. . . σnzn + σnzn × p

n,k+1σ1z1 σ2z2 . . . σnzn

)

20 / 21

Page 31: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Practical rules

For analytical calculations, it is worth using:

Jg =

(R0,1 0

0 R0,1

)(R1,2 0

0 R1,2

). . .

(Rk−1,k 0

0 Rk−1,k

)(I −pk+1,n|Fk0 I

)Jk+1|Fk

with:k = Int(n

2 )

robot with a spherical wrist: p4,6 = 0

pk+1,n|Fk : antisymmetric matrix associated to theprojection of pk+1,n in Fk

Jk+1|Fk : projection in Fk

Jk+1 =

(σ1z1 + σ1z1 × p

1,k+1σ2z2 + σ2z2 × p

2,k+1. . . σnzn + σnzn × p

n,k+1σ1z1 σ2z2 . . . σnzn

)

20 / 21

Page 32: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Practical rules

For analytical calculations, it is worth using:

Jg =

(R0,1 0

0 R0,1

)(R1,2 0

0 R1,2

). . .

(Rk−1,k 0

0 Rk−1,k

)(I −pk+1,n|Fk0 I

)Jk+1|Fk

with:k = Int(n

2 )

robot with a spherical wrist: p4,6 = 0pk+1,n|Fk : antisymmetric matrix associated to theprojection of pk+1,n in Fk

Jk+1|Fk : projection in Fk

Jk+1 =

(σ1z1 + σ1z1 × p

1,k+1σ2z2 + σ2z2 × p

2,k+1. . . σnzn + σnzn × p

n,k+1σ1z1 σ2z2 . . . σnzn

)

20 / 21

Page 33: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

Practical rules

For analytical calculations, it is worth using:

Jg =

(R0,1 0

0 R0,1

)(R1,2 0

0 R1,2

). . .

(Rk−1,k 0

0 Rk−1,k

)(I −pk+1,n|Fk0 I

)Jk+1|Fk

with:k = Int(n

2 )

robot with a spherical wrist: p4,6 = 0pk+1,n|Fk : antisymmetric matrix associated to theprojection of pk+1,n in Fk

Jk+1|Fk : projection in Fk

Jk+1 =

(σ1z1 + σ1z1 × p

1,k+1σ2z2 + σ2z2 × p

2,k+1. . . σnzn + σnzn × p

n,k+1σ1z1 σ2z2 . . . σnzn

)

20 / 21

Page 34: Robotics Course 3. Robot modeling - unistra.freavr.u-strasbg.fr/~bernard/education/3a_tis_robotique/...Outline 1 Forward Kinematics 2 Inverse Kinematics 3 Differential Kinematics 6/21

ExampleSCARA-type manipulator. . .

21 / 21