Upload
others
View
11
Download
0
Embed Size (px)
Citation preview
Robotics
Course 3. Robot modeling
Bernard BayleTélécom Physique Strasbourg
TI Santé, DTMI, master IRIV
1 / 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
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
Remember: why models?
configuration
pose
adaptedfrom
http://docs.fetchrobotics.com
q 7−→ xx 7−→ q
?
q 7−→ xx 7−→ q
?
4 / 21
Outline
1 Forward Kinematics
2 Inverse Kinematics
3 Differential Kinematics
5 / 21
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
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
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
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
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
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
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
ExampleSCARA-type manipulator. . .
10 / 21
Outline
1 Forward Kinematics
2 Inverse Kinematics
3 Differential Kinematics
11 / 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
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
ExampleSCARA-type manipulator. . .
14 / 21
Outline
1 Forward Kinematics
2 Inverse Kinematics
3 Differential Kinematics
15 / 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
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
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
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
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
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
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
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
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
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
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
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
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
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
ExampleSCARA-type manipulator. . .
21 / 21