Chapter 2. Robot Kinematics: Position Analysis

advertisement
로봇공학, Chapter 2
로봇공학 (Robotics)
Chapter 2. Robot Kinematics: Position Analysis
로봇 기구학: 위치 해석
‹
Forward kinematics
‹
Inverse kinematics
‹
Denavit-Hartenberg representation
‹
4 x 4 Homogeneous transformation matrix
2-1
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
Robot Kinematics
ƒ
Forward kinematics:
• To determine where the end-effector (gripper or hand) of robot
is?
• when all joint variables (ex, 로봇관절 회전각) and the linkage
parameters are known.
• 4 x 4 transformation matrix
ƒ
Inverse kinematics:
• To determine what each joint variable is?
• When we desire that the end-effector(hand) be located at a
particular point.
ƒ
Denavit-Hartenberg (D-H) representation:
• A simple and standard way of modeling robot links and joints.
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-2
로봇공학, Chapter 2
Robot Kinematics
• Forward kinematics:
Given joint angles (θ1 , θ 2 ," ,θ n )
→ determine the end-effector posture(position & orientation)
( x, y, z , φ , θ ,ψ )
: 3차원 위치 및 roll-pitch-yaw 자세각
• Inverse kinematics:
Given desired end-effector position ( x, y, z , φ ,θ ,ψ )
PUMA
(6dof Æ n=6)
→ determine the required joint angles (θ1 ,θ 2 ," ,θ n )
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-3
로봇공학, Chapter 2
• 2-link manipulator의 예
x = l1 cos θ1 + l2 cos (θ1 + θ 2 )
y = l1 sin θ1 + l2 sin (θ1 + θ 2 )
→ θ1 = ?, θ 2 = ?
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-4
로봇공학, Chapter 2
2.2 Robot Mechanism
ƒ
Manipulator-type robot의 특징
• 다물체(multi-body), 다자유도 시스템(multi degrees of freedom system)
• 3차원 open-loop chain 메커니즘
¾ 각 joint 및 link에서의 error가 end-point 까지 누적: Fig. 2.2(b)
Æ 내부센서(조인트 각 측정) 만으로는 실제 말단위치 측정 부정확
Æ 극복방법: 로봇 말단 위치를 외부센서(Camera, laser sensor 등)로 측정
z2
z1
θ2
y2
x2
θn
y1
x1
yn (o )
z0
x0
θ3
θ1
y0
xn (n) zn (a)
0
Tn
2-5
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
Robot Mechanism
ƒ
Closed-loop mechanism VS. Open-loop mechnism
Four-bar mechanism
(1 DOF, closed-loop)
passive joints
Three active joints
Æ 3DOF manipulator
One active joint
(a) Closed-loop mechanism versus
(b) open-loop mechanism
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-6
로봇공학, Chapter 2
(Rotational/Translational Matrix)
2.3 Matrix Representation
ƒ 공간상의 점 위치 Æ 벡터로 표현
♦ A point P in space :
3 coordinates relative to
a reference frame
^
^
^
P = a x i + by j + c z k
♦ A vector P in space :
3 coordinates of its tail and of its head
__
^
^
⎡x⎤
⎢ y⎥
__
P=⎢ ⎥
⎢z⎥
⎢ ⎥
⎣ w⎦
^
P = a x i + by j + c z k
w: scaling factor
Fig. 2.3 Representation of a point in space
Fig. 2.4 Representation of a vector in space
2-7
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
Matrix Representation
ƒ 기준좌표계(고정)에 대한 회전좌표계(이동)의 자세 표현 (Fig. 2.5)
⎡ nx
F = ⎢⎢ n y
⎢⎣ nz
ox
oy
oz
ax ⎤
회전좌표계( n, o, a ) 각 축이
⎥
a y ⎥ (Rotation matrix): 고정좌표계( x, y , z ) 각 축과 이루는
방향코사인으로(direction cosines) 구성
az ⎥⎦
unit vectors
♦ Each Unit Vector is mutually perpendicular:
normal, orientation, approach vector
Fig. 2.5 Representation of a frame at the origin of the reference frame
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-8
로봇공학, Chapter 2
Matrix Representation
ƒ 기준좌표계(고정)에 대한 이동좌표계(회전+위치이동)의 표현 (Fig. 2.6)
⎡ nx
⎢n
F=⎢ y
⎢ nz
⎢
⎣0
ox
ax
oy
ay
oz
az
0
0
px ⎤
p y ⎥⎥
→ Rotation matrix + translation vector
pz ⎥
⎥
1⎦
• Example 2.3:
Robot hand (Gripper)
=end-effector
o ( yn )
n( xn ) a ( zn )
Fig. 2.6 Representation of a frame in a frame
2-9
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
강체(Rigid Body)의 표현
ƒ
3차원 공간 상의 강체 (로봇의 각 link) (Fig. 2.8)
♦An object can be represented in space by attaching a frame
to it and representing the frame in space.
• 강체에 이동좌표계(moving frame) (n,o,a) 부착
Fobject
⎡ nx
⎢n
y
=⎢
⎢ nz
⎢
⎣0
ox a x Px ⎤
o y a y Py ⎥⎥
oz a z Pz ⎥
⎥
0 0 1⎦
기준좌표계에 대한 이동좌표계(강체)의
위치(position) 및 자세(orientation)의 변화
Fig. 2.8 Representation of an object in space
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
Æ 4 x 4 transformation matrix로 표현
2-10
로봇공학, Chapter 2
강체(Rigid Body)의 표현
ƒ
3차원 공간상의 강체 (로봇의 각 link)
Æ 기준좌표계(Reference frame)에 대하여 6자유도 운동 (6 DOF motion)
¾ (x,y,z) 각 축 방향의 translation (3DOF)
¾ (x,y,z) 각 축에 대한 Rotation (3 DOF)
Fobject
⎡ nx
⎢n
=⎢ y
⎢ nz
⎢
⎣0
ox
ax
oy
oz
ay
az
0
0
px ⎤
p y ⎥⎥
→ Rotation + translation( px , p y , pz )
pz ⎥
⎥
1⎦
강체의 Rotation(3 DOF 운동)에
대한 9개의 정보
Æ 6개의 constraints(구속조건)
포함 (2.10)식
강체의 translation(3 DOF 운동)에
대한 3개의 정보
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-11
로봇공학, Chapter 2
Rotation Matrix의 성질
Fobject
⎡ nx
⎢n
=⎢ y
⎢ nz
⎢
⎣0
ox
ax
oy
oz
ay
az
0
0
px ⎤
p y ⎥⎥
pz ⎥
⎥
1⎦
Rotation matrix 특성 : (2.10), (2.11),식
• Three unit vectors are mutually orthogonal
↔ dot product = 0 :
→ n ⋅o = o ⋅a = a ⋅n = 0
• Each unit vector's length = 1
→ n = o = a =1
ƒ Example 2.3 연습
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-12
로봇공학, Chapter 2
2.4 Homogeneous Transformation Matrix
ƒ
기준좌표계에 대한 강체의 위치(position) 및 자세(orientation)의 변화
Æ 4 x 4 homogeneous transformation matrix로 표현
ƒ
Transformation matrices must be in square form.
• It is much easier to calculate the inverse of square matrices.
• To multiply two matrices, their dimensions must match.
• Homogeneous transformation matrix
⎡ nx
⎢n
F =⎢ y
⎢ nz
⎢
⎣0
ox
oy
ax
ay
oz
az
0
0
px ⎤
p y ⎥⎥ ⎡ R3×3
pz ⎥ ⎢⎣ 01×3
⎥
1⎦
p3×1 ⎤
1 ⎦⎥
• Homogeneous transformation matrix의 연산
⎡R
(Ex.) F1 = ⎢ 1
⎣0
p1 ⎤
⎡R
, F2 = ⎢ 2
⎥
1⎦
⎣0
p2 ⎤
⎡R
→ F2 F1 = ⎢ 2
⎥
1⎦
⎣0
p2 ⎤ ⎡ R1
1 ⎥⎦ ⎢⎣ 0
p1 ⎤ ⎡ R2 R1
=
1 ⎥⎦ ⎢⎣ 0
R2 p1 + p2 ⎤
⎥
1
⎦
2-13
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
2.5 Transformations: Pure translation
♦ Pure translation
♦ Pure rotation about an axis
♦ Combination of translations or rotations.
1) Pure translation (Fig. 2.9)
⎡1
⎢0
T =⎢
⎢0
⎢
⎣0
0 0 dx ⎤
1 0 d y ⎥⎥
Trans (d x , d y , d z )
0 1 dz ⎥
⎥
0 0 1⎦
• Pure translation에 의한 location의 변화
Fnew
⎡ 1 0 0 d x ⎤ ⎡ n x ox a x p x ⎤ ⎡ n x
⎢0 1 0 d ⎥ ⎢ n o a
p y ⎥⎥ ⎢⎢ n y
y⎥⎢ y
y
y
⎢
=
=
⎢ 0 0 1 d z ⎥ ⎢ nz oz a z p z ⎥ ⎢ nz
⎢
⎥⎢
⎥ ⎢
0 0 0 1 ⎦⎣ 0 0 0 1 ⎦ ⎣ 0
⎣
Trans ( d x , d y , d z )
ox
oy
ax
ay
oz
0
az
0
px + d x ⎤
p y + d y ⎥⎥
pz + d z ⎥
⎥
1 ⎦
Fold
Fnew = Trans (d x , d y , d z ) × Fold
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-14
로봇공학, Chapter 2
Transformations: Pure rotation about an axis
2) Pure Rotation (Fig. 2.10, 2.11)
• Rotation matrices
⎡1 0
Rot ( x, θ ) = ⎢⎢ 0 c θ
⎢⎣ 0 sθ
0
0⎤
⎡1 0
0 ⎤ ⎢
0 c θ − sθ 0 ⎥
⎥ : 기준좌표계 x-axis에 대하여 θ만큼 회전
− sθ ⎥⎥ = ⎢
⎢ 0 sθ c θ 0 ⎥
c θ ⎥⎦ ⎢
⎥
0
1⎦
⎣0 0
0 sθ ⎤
1 0 ⎥⎥ : 기준좌표계 y-axis에 대하여 θ만큼 회전
0 c θ ⎥⎦
⎡ cθ
Rot ( y, θ ) = ⎢⎢ 0
⎢⎣ − sθ
⎡ c θ − sθ
Rot ( z , θ ) = ⎢⎢ sθ c θ
⎢⎣ 0
0
0⎤
0 ⎥⎥ : 기준좌표계 z-axis에 대하여 θ만큼 회전
1 ⎥⎦
2-15
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
Fig. 2.11 Æ (2.16) Æ (2.17)
⎡ Px ⎤ ⎡1 0
Pxyz = Rot ( x,θ ) × Pnoa ⇔ ⎢⎢ Py ⎥⎥ = ⎢⎢0 c θ
⎢⎣ Pz ⎥⎦ ⎢⎣0 sθ
→ simply U P = U TR × R P
0 ⎤ ⎡ Pn ⎤
− sθ ⎥⎥ ⎢⎢ Po ⎥⎥
c θ ⎥⎦ ⎢⎣ Pa ⎥⎦
U
R
P = Pnoa
P = Pxyz
Rotation about the x-axis.
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-16
로봇공학, Chapter 2
Transformations: Combined transformations
3) Combined Transformation (Translation + Rotation)
• Successive transformation
- Rotation의 경우 순서가 중요:
Rot ( x, θ ) × Rot ( y, φ ) ≠ Rot ( y, φ ) × Rot ( x,θ )
- Translation은 순서에 무관 (Pure translation의 경우):
Trans ( px , p y , pz ) × Trans (d x , d y , d z ) = Trans (d x , d y , d z ) × Trans ( px , p y , pz )
• 기준좌표계(Reference frame)에 대한 successive transformation:
Rot ( x, θ ) → Trans ( px , p y , pz ) → Rot ( y, φ ) → Trans (d x , d y , d z )
= Trans (d x , d y , d z ) × Rot ( y, φ ) × Trans ( px , p y , pz ) × Rot ( x, θ )
→ Premultiplying!
2-17
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
(Ex.) Transformation Matrix의 계산
임의 point, p ( x0 , y0 , z0 )의 고정 기준좌표계(reference frame)에 대한 transformation:
• 초기위치 p ( x0 , y0 , z0 ) → R( x, θ ) → Tr (bx , by , bz ) → R ( y, φ ) → Tr (d x , d y , d z ) → 최종위치( x, y, z )
• 최종위치 p ( x, y, z ) = Tr (d x , d y , d z ) × R ( y, φ ) × Tr (bx , by , bz ) × R ( x, θ ) × 초기위치( x0 , y0 , z0 )
⎡1
⎢0
=⎢
⎢0
⎢
⎣0
⎡ cφ
⎢ 0
=⎢
⎢ − sφ
⎢
⎣ 0
⎡ nx
⎢n
=⎢ y
⎢ nz
⎢
⎣0
0
0
dx ⎤ ⎡ cφ
1 0 dy ⎥ ⎢ 0
⎥⎢
0 1 d z ⎥ ⎢ − sφ
⎥⎢
0 0 1 ⎦⎣ 0
0
sφ
1
0
0
cφ
0
0
0
sφ
1
0
0
cφ
0
0
d y ⎥ ⎢0 c θ
⎥⎢
d z ⎥ ⎢ 0 sθ
⎥⎢
1 ⎦ ⎣0 0
ox
ax
px ⎤
oy
ay
py ⎥
oz
az
pz ⎥
0
0
1
d x ⎤ ⎡1
0
0 ⎤ ⎡1
0 0 bx ⎤ ⎡ 1 0
⎥
⎢
0 0 1 0 by ⎥ ⎢ 0 c θ
⎥⎢
⎥⎢
0 ⎥ ⎢ 0 0 1 bz ⎥ ⎢ 0 sθ
⎥⎢
⎥⎢
1⎦ ⎣0 0 0 1 ⎦ ⎣0 0
0
− sθ
cθ
0
bx ⎤ ⎡ nx 0
by ⎥ ⎢ n y 0
⎥⎢
bz ⎥ ⎢ nz 0
⎥⎢
1⎦⎣ 0
0
− sθ
cθ
0
x0 ⎤
ox 0
ax 0
oy0
ay0
y0 ⎥
oz 0
az 0
z0 ⎥
0
0
1⎦
⎥
⎥
0 ⎤ ⎡ nx 0
0⎥ ⎢ ny 0
⎥⎢
0 ⎥ ⎢ nz 0
⎥⎢
1⎦ ⎣ 0
x0 ⎤
ox 0
ax0
oy0
ay0
y0 ⎥
oz 0
az 0
z0 ⎥
0
0
1⎦
⎥
⎥
강체(Point p)의
초기위치
강체(Point p)에 부착된 회전좌표계의
reference frame에 대한 초기자세
⎥ . Then, we have x = px , y = p y , z = pz
⎥
⎦
강체(Point p)의 최종위치
강체(Point p)에 부착된 회전좌표계의
reference frame에 대한 최종자세
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-18
로봇공학, Chapter 2
2.5.4 회전좌표계에 대한 상대 변환 (Relative Transformation)
• Robot link의 운동
→ 각 link에 부착된 회전좌표계에 대한 상대운동으로 기술
• Current frame =회전좌표계(Rotating frame)에 대한
successive transformation :
(예) Rot ( x, θ ) → Trans ( px , p y , pz ) → Rot ( y, φ ) → Trans (d x , d y , d z )
= Rot ( x, θ ) × Trans ( px , p y , pz ) × Rot ( y, φ ) × Trans (d x , d y , d z )
→ Postmultiplying!
⎧reference ⎫
⎧rotating ⎫
⎧rotating ⎫
⎧end-effector ⎫
• ⎨
⎬ ⎯⎯→
⎨
⎬ ⎯⎯→
⎨
⎬ ⎯⎯⎯
⎬
0T
1T
2T → ⎨
E
1
2
⎩ frame 0 ⎭
⎩ frame 1⎭
⎩frame 2 ⎭
⎩frame E
⎭
⇒ Reference frame{0}에 대한 end-effector{E}의 위치 및 자세
⎡ nx
⎢n
0
TE = 0T1 1T2 2TE = ⎢ y
⎢ nz
⎢
⎣0
px ⎤
ox
ax
oy
ay
py ⎥
oz
az
pz ⎥
0
0
⎥
⎥
1 ⎦
위치(position)
자세(orientation)
2-19
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
♦Example 2.8
Pnoa
⎡7 ⎤
= ⎢⎢ 3 ⎥⎥
⎣⎢ 2 ⎦⎥
Pxyz = Rot (a ,900 )Trans (4, −3, 7) Rot (o ,900 ) Pnoa
Rot (a ,900 )
Trans (4, −3, 7)
Rot (o ,900 )
⎡0⎤
Pxyz = ⎢⎢6 ⎥⎥
⎢⎣0 ⎥⎦
Fig. 2.15 Transformations relative to the current(=rotating) frames.
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-20
로봇공학, Chapter 2
로봇 핸드의 위치 및 자세
• Robot hand(end-effector)의
reference frame에 대한 좌표(position/orientation)
→ 0Tn = 0T1 (θ1 ) 1T2 (θ 2 ) 2T3 (θ3 )" n −1Tn (θ n )
z1
θ3
z2
θ2
y2
x2
x1
z3
x3
y3
ox
oy
oz
ax
ay
az
0
0
px ⎤
p y ⎥⎥
pz ⎥
⎥
1⎦
θn
y1
yn (o )
z0
x0
⎡ nx
⎢n
0
Tn = ⎢ y
⎢ nz
⎢
⎣0
θ1
y0
xn (n) zn (a)
0
Tn
• 주어진 θ1 ~ θ n 에 대하여 reference frame( x0 , y0 , z0 )에 대한 hand의
position: p = ( px , p y , pz )과 orientation: (n , o , a )을 구하려면 → forward kinematics.
• 원하는 hand 위치: p = ( px , p y , pz )와 자세 (n , o , a )에 대하여
joint angle(θ1 ~ θ n ) 을 구하려면 → Inverse kinematics.
2-21
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
2.6 Inverse of Transformation Matrices
< Fig. 2.16> U TE = U TR RTH H TE = U TP PTE
U
: Reference frame,
R
H
: Hand frame,
E
P
: Robot Base frame,
: end-effector frame,
: Part frame
• Unknown RTH : Robot base(R)에 대한 hand(H)의 transformation
→ Forward kinematics로 결정됨
(
U
TR )
−1
(
U
TR RTH H TE )( H TE )
= ( U TR )
−1
(
U
−1
TP PTE )( H TE )
→ RTH = ( U TR )
−1
(
U
−1
TP PTE )( H TE )
−1
= RTU ( U TP PTE ) ETH = RTH
(
U
TR ) = RTU , ( H TE ) = ETH
−1
−1
Fig. 2.16 The Universe, robot, hand, part, and end effecter frames.
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-22
로봇공학, Chapter 2
Rotation matrix의 Inverse
• Rotation matrix → orthogonal matrix!
→ R( x, θ ) −1 = R( x, θ )T : unitary matrix
Transformation matrix의 Inverse
⎡ nx ox
⎡ R p ⎤ ⎢⎢ n y o y
T =⎢
⎥ = ⎢n o
0
1
⎣
⎦
z
z
⎢
⎣0 0
⎡ px ⎤
where p = ⎢⎢ p y ⎥⎥ , n
⎢⎣ pz ⎥⎦
ax
px ⎤
py ⎥
⎡ nx
− p T R ⎤ ⎢ ox
⎥=⎢
1 ⎦ ⎢ ax
⎢
⎣0
⎡ RT
⎥ ⇒ T −1 = ⎢
az pz ⎥
⎣0
⎥
0
1⎦
⎡ nx ⎤
⎡ ox ⎤
⎡ ax ⎤
⎢
⎥
⎢
⎥
⎢ ⎥
= ny , o = oy , a = a y
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢⎣ nz ⎥⎦
⎢⎣ oz ⎥⎦
⎢⎣ az ⎥⎦
ay
−p ⋅n⎤
ny
nz
oy
oz
−p ⋅o⎥
ay
az
−p ⋅a⎥
0
0
1
⎥
⎥
⎦
2-23
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
2.7 Forward/Inverse Kinematics of Robots
ƒ
공간상에서 기준좌표계(reference frame)에 대한 강체(rigid body)의 위치
(position)와 자세(orientation)을 구하기 위해서는
• 강체에 강체와 함께 움직이는 이동좌표계를 부착하고
• 이동좌표계 원점의 위치[(x,y,z):3 DOF]와
• 이동좌표계 각 축의 기준좌표계에 대한 자세[방향코사인 또는 Euler angle: 3
DOF]를 구함.
ƒ
Robot의 경우 (Fig. 2.17)
• Robot hand(= 강체)에 hand frame(n,o,a)를 부착
• 로봇 각 링크의 parameter 값들과 주어진 joint angle에 의해 이동좌표계(n,o,a)
원점의 위치와 기준좌표계에 대한 hand 좌표계의 자세가 결정됨.
Robot hand(Gripper)
=end-effector
o ( yn )
n( xn ) a ( zn )
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-24
로봇공학, Chapter 2
2.7.1 Kinematic Equations for Position
• Cartesian coordinates (Fig. 2.18): ( x, y, z )
⎡1
⎢0
R
TP = ⎢
⎢0
⎢
⎣0
0 0
1 0
0 1
0 0
px ⎤
p y ⎥⎥
pz ⎥
⎥
1⎦
A gantry robot is a
Cartesian robot.
• Cylindrical coordinates (Fig. 2.19): (r , α , l )
TP = Tcyl (r , α , l ) = Trans (0, 0, l ) Rot ( z , α )Trans (r , 0, 0)
R
⎡1
⎢0
= ⎢
⎢0
⎢
⎣0
⎡cα
⎢ sα
= ⎢
⎢0
⎢
⎣0
0 0 0 ⎤ ⎡ cα − sα
1 0 0 ⎥⎥ ⎢⎢ sα cα
0 1 l⎥⎢ 0
0
⎥⎢
0 0 1⎦ ⎣ 0
0
− sα 0 rcα ⎤
cα 0 rsα ⎥⎥
0
1
l ⎥
⎥
0
0 1 ⎦
0 0 ⎤ ⎡1
0 0 ⎥⎥ ⎢⎢ 0
1 0⎥ ⎢0
⎥⎢
0 1 ⎦ ⎣0
0 0 r⎤
1 0 0 ⎥⎥
0 1 0⎥
⎥
0 0 1⎦
2 Linear translations
and 1 rotation
2-25
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
Kinematic Equations for Position
• Spherical coordinates (Fig. 2.20): (r , β , γ )
TP = Tsph (r , β , γ ) = Rot ( z , γ ) Rot ( y, β )Trans (0, 0, r )
R
⎡cγ − sγ 0
⎢ sγ cγ 0
= ⎢
⎢0
0 1
⎢
0 0
⎣0
⎡ C β ⋅ Cγ − S γ
⎢ C β ⋅ S γ Cγ
= ⎢
⎢ −S β
0
⎢
0
⎣ 0
0 ⎤ ⎡ cβ
0 ⎥⎥ ⎢⎢ 0
0⎥ ⎢ − sβ
⎥⎢
1⎦ ⎣ 0
S β ⋅ Cγ
S β ⋅ Sγ
Cβ
0
0 sβ
1 0
0 cβ
0 ⎤ ⎡1
0 ⎥⎥ ⎢⎢ 0
0⎥ ⎢0
⎥⎢
0 0 1 ⎦ ⎣0
rS β ⋅ Cγ ⎤
⎥
rS β ⋅ S γ
⎥
rC β ⎥
⎥
1
⎦
0 0 0⎤
1 0 0 ⎥⎥
0 1 r⎥
⎥
0 0 1⎦
1 Linear translation
and 2 rotations
• Articulated coordinates (Fig. 2.21):
(θ1 , θ 2 ," ,θ n )
→ 관절형 Robot의 경우:
D-H 방법에 따른 transformation
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-26
로봇공학, Chapter 2
2.7.2 Kinematic Equations for Orientation
2.7.2(a) Roll-Pitch-Yaw (RPY) angles
• Roll-Pitch-Yaw (RPY) angles (Fig. 2.22): (φa = φ , φo = θ , φn = ψ )
* RPY sequence of rotation about current (a, o, n) axes:
Rot (a, φa ) → Rot (o, φo ) → Rot (n, φn ) : (z → y → x)
:Current frame(현재의 회전좌표계)에 대한 상대회전
♦Roll: Rotation of φa about a -axis (z-axis of the moving frame)
♦Pitch: Rotation of φo about o -axis (y-axis of the moving frame)
♦Yaw: Rotation of φn about n -axis (x-axis of the moving frame)
RPY (φa , φo , φn ) = RPY (φ , θ ,ψ ) = Rot (a, φ ) Rot (o, θ ) Rot (n,ψ )
⎡cφ
⎢ sφ
= ⎢
⎢0
⎢
⎣0
− sφ
cφ
0
0
0 0 ⎤ ⎡ cθ
0 0 ⎥⎥ ⎢⎢ 0
1 0 ⎥ ⎢ − sθ
⎥⎢
0 1⎦ ⎣ 0
0 sθ
1
0
0 cθ
0
0
0 ⎤ ⎡1 0
0 ⎥⎥ ⎢⎢ 0 cψ
0 ⎥ ⎢ 0 sψ
⎥⎢
1⎦ ⎣0 0
0
− sψ
cψ
0
0⎤
0 ⎥⎥
0⎥
⎥
1⎦
2-27
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
2.7.2(a) Roll-Pitch-Yaw (RPY) angles
Rot (a, φa )
Rot (o, φo )
RPY (φa , φo , φn )
= RPY (φ , θ ,ψ )
= Rot (a, φ ) Rot (o, θ ) Rot (n,ψ )
⎡cφ cθ
⎢ sφ cθ
=⎢
⎢ − sθ
⎢
⎣ 0
cφ sθ sψ − sφ cψ
cφ sθ cψ + sφ cψ
sφ sθ sψ + cφ cψ
sφ sθ cψ − cφ cψ
cθ sψ
0
cθ cψ
0
(2-36)식
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
0⎤
0 ⎥⎥
0⎥
⎥
1⎦
Rot (n, φn )
2-28
로봇공학, Chapter 2
2.7.2(a) Roll-Pitch-Yaw (RPY) angles
• End-effector의 desired orientation에 대하여 기준좌표계(robot base)에
대한 end-effector 좌표계의 RPY angle을 구하는 방법
RPY (φ , θ ,ψ ) = Rot (a, φ ) Rot (o,θ ) Rot (n,ψ )
⎡cφ cθ
⎢ sφ cθ
= ⎢
⎢ − sθ
⎢
⎣ 0
cφ sθ sψ − sφ cψ
cφ sθ cψ + sφ cψ
sφ sθ sψ + cφ cψ
cθ sψ
0
sφ sθ cψ − cφ cψ
cθ cψ
0
0⎤
⎡ nx
⎢n
0 ⎥⎥
= ⎢ y
⎢ nz
0⎥
⎢
⎥
1⎦
⎣0
RPY angles
→
tan φ =
ny
nx
, tan θ =
− nz
oz2 + az2
ox
ax
oy
oz
0
ay
az
0
0⎤
0 ⎥⎥
0⎥
⎥
1⎦
Direction cosines
, tanψ =
oz
az
Roll: φ = atan2(n y , nx )
θ
Pitch: θ = atan2(− nz , oz2 + az2 )
o ( yn )
φ
ψ
a
(
zn )
n( xn )
Yaw: ψ = atan2(oz , az )
2-29
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
2.7.2(b) Euler Angles
• Euler angle (Fig. 2.24): 책마다 정의가 약간씩 다름.
RPY angle도 넓은 의미에서 Euler angle의 한 종류임.
* Euler angle 회전순서 about current (a, o, a ) axes:
Rot (a, φ ) → Rot (o, θ ) → Rot (a,ψ ) : (z → y → z )
:Current frame(현재의 회전좌표계)에 대한 상대회전
Euler (φ , θ ,ψ ) = Rot (a, φ ) Rot (o,θ ) Rot (a,ψ )
⎡cφ
⎢ sφ
= ⎢
⎢0
⎢
⎣0
− sφ
cφ
0
0
0 0 ⎤ ⎡ cθ
0 0 ⎥⎥ ⎢⎢ 0
1 0 ⎥ ⎢ − sθ
⎥⎢
0 1⎦ ⎣ 0
0 sθ
1 0
0 cθ
0 0
0 ⎤ ⎡ cψ
0 ⎥⎥ ⎢⎢ sψ
0⎥ ⎢ 0
⎥⎢
1⎦ ⎣ 0
− sψ
cψ
0
0
0 0⎤
0 0 ⎥⎥
1 0⎥
⎥
0 1⎦
= (2-43)식
(주) RPY angle의 정의만 잘 익힐 것.
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-30
로봇공학, Chapter 2
2.7.3 Forward Kinematic Equations
ƒ
Robot base에 부착된 Reference coord.(기준좌표계 R)가 Cartesian coord.(직교좌표
계)이고, Robot hand에 부착된 이동좌표계의 Orientation을 기준좌표계에 대한 RPY
angle로 표현한다면, Robot hand의 (즉, 이동좌표계의) Base에 대한 위치(location)
및 자세(Orientation)는?
TH = Tcart ( px , p y , pz ) × RPY (φ , θ ,ψ )
R
⎡1
⎢0
= ⎢
⎢0
⎢
⎣0
0
1
0
0
0
0
1
0
⎡ cφ cθ
⎢ sφ sθ
= ⎢
⎢ − sθ
⎢
⎣ 0
px ⎤ ⎡cφ cθ
p y ⎥⎥ ⎢⎢ sφ cθ
pz ⎥ ⎢ − sθ
⎥⎢
1 ⎦⎣ 0
cφ sθ sψ − sφ cψ
sφ sθ sψ + cφ cψ
cθ sψ
0
cφ sθ sψ − sφ cψ
sφ sθ sψ + cφ cψ
cθ sψ
0
⎡ R13×3
(주) ⎢
⎣ 0
P13×1 ⎤ ⎡ R 23×3
⎥⎢
1 ⎦⎣ 0
cφ sθ cψ + sφ cψ
sφ sθ cψ − cφ cψ
cθ cψ
0
cφ sθ cψ + sφ cψ
sφ sθ cψ − cφ cψ
cθ cψ
0
P 23×1 ⎤ ⎡ R1 R 2
⎥=⎢
1 ⎦ ⎣ 0
p x ⎤ ⎡ nx
p y ⎥⎥ ⎢⎢ n y
=
p z ⎥ ⎢ nz
⎥ ⎢
1 ⎦ ⎣0
P1 + R1 P 2 ⎤
⎥
1
⎦
0⎤
0 ⎥⎥
0⎥
⎥
1⎦
ox a x
oy a y
oz a z
0 0
px ⎤
p y ⎥⎥
pz ⎥
⎥
1⎦
( R1 = I , P 2 = 0)
2-31
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
2.8 Denavit-Hartenberg (D-H) Representation
ƒ
D-H representation 방법
Æ Open kinematic chain 형태 robot manipulator의
forward kinematics를 기술하기에 편리함.
ƒ
Manipulators Æ Succession of joints and links
• Robot joint : Revolute type (rotation) or Prismatic type (translation).
zn−1
link (n −1)에 부착
θ n: (n-1) link에 부착된
zn−1축에 대하여 회전
θn
joint n
link n의 끝단에 부착되어
link n과 같이 움직임.
zn
link n
{xn , yn , zn }
yn 좌표계
xn
관절 좌표계(joint coordinates)의 정의
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-32
로봇공학, Chapter 2
D-H Parameters
ƒ Transformation between two successive frames
zn − 2
to
(attached
link n − 2 )
zn −1
θn
to
(attached
link n − 1 )
zn
θ n −1
joint n − 1
θ n+1
link n − 1
joint n
link n
an
an −1
to
(attached
link n )
dn
o
αn
o
xn
θ n xn −1
• z n −1 -axis: n-th joint 의 회전방향 (revolute joint → θ n이 variable)
or 직선운동 방향 (prismatic joint → d n이 variable)
• x n −1 -axis: along the common normal an −1 between z n − 2 -axis & z n −1 -axis
• y n −1 -axis: follows right-hand rule
2-33
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
두 관절 좌표계 사이의 변환(Transformation)
• 두 좌표계 사이의 transformation:
⎡(n-1) link 좌표계⎤ ⎯⎯⎯⎯⎯⎯⎯
⎡n-link 좌표계⎤
→
θ
→
d
→
a
→
α
n
n
n
n
⎣⎢ {xn −1 , yn −1 , zn −1} ⎥⎦
⎣⎢ {xn , yn , zn } ⎦⎥
Tn = Rot ( zn −1 , θ n ) × Trans (0, 0, d n ) × Trans (an , 0, 0) × Rot ( xn , α n )
n −1
θ n : x n −1축과 x n축 사이 각도
d n : z n −1축과 z n축 사이의 거리
an : x n −1축과 x n축 사이의 거리
α n : z n −1축과 z n축 사이 각도
• Rot ( zn −1 , θ n ) → x n −1축이 x n축과 평행하게 됨.
• Trans (0, 0, d n ) → x n −1축과 x n축이 colinear하게 됨.
• Trans ( an , 0, 0) → x n −1축의 원점이 x n축의 원점과 일치하게 됨.
• Rot ( xn , α n ) → z n −1축이 z n축과 일치하게 됨.
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-34
로봇공학, Chapter 2
두 이동좌표계 사이의 Transformation
Tn = An = Rot ( zn −1 , θ n ) × Trans (0, 0, d n ) × Trans (an , 0, 0) × Rot ( xn , α n )
n −1
⎡cθ n
⎢ sθ
=⎢ n
⎢ 0
⎢
⎣ 0
− sθ n
0 0 ⎤ ⎡1 0 0 0 ⎤ ⎡1
cθ n 0 0 ⎥⎥ ⎢⎢ 0 1 0 0 ⎥⎥ ⎢⎢ 0
0
1 0⎥ ⎢0 0 1 d n ⎥ ⎢0
⎥⎢
⎥⎢
0
0 1 ⎦ ⎣0 0 0 1 ⎦ ⎣0
− sθ n 0 0 ⎤ ⎡1 0
0
⎥
⎢
cθ n 0 0 ⎥ ⎢ 0 cα n − sα n
0
1 d n ⎥ ⎢ 0 sα n cα n
⎥⎢
0
0 1 ⎦ ⎣0 0
0
− sθ n cα n sθ n sα n an cθ n ⎤
cθ n cα n −cθ n sα n an sθ n ⎥⎥
sα n
cα n
dn ⎥
⎥
0
0
1 ⎦
⎡cθ n
⎢ sθ
=⎢ n
⎢ 0
⎢
⎣ 0
⎡cθ n
⎢ sθ
=⎢ n
⎢ 0
⎢
⎣ 0
0 0 an ⎤ ⎡ 1 0
1 0 0 ⎥⎥ ⎢⎢ 0 cα n
0 1 0 ⎥ ⎢ 0 sα n
⎥⎢
0 0 1 ⎦ ⎣0 0
an ⎤
0 ⎥⎥
0⎥
⎥
1⎦
0
− sα n
cα n
0
0⎤
0 ⎥⎥
0⎥
⎥
1⎦
{n-1}좌표계 원점에 대한
{n}좌표계 원점의 거리
{n}좌표계의 {n-1}좌표계에 대한 자세
2-35
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
㈜ D-H 변환에서 Y축으로의 이동이 필요한 경우 (PUMA560)
zn − 2
to
(attached
link n − 2 )
zn −1
θn
to
(attached
link n − 1 )
zn
θ n −1
joint n − 1
to
(attached
link n )
θ n+1
link n − 1
joint n
link n
an
dn
o
αn
o bn
xn
θ n xn −1
• Rot ( zn −1 , θ n ) → x n −1축이 x n축과 평행하게 됨.
• Trans (0, 0, d n ) → x n −1축과 x n축이 parallel하게 됨.
• Trans ( an , 0, 0) → x n −1축과 x n축이 colinear하게 됨 (동일직선상).
• Trans (0, bn , 0) → x n −1축의 원점이 x n축의 원점과 일치하게 됨
• Rot ( xn , α n ) → z n −1축이 z n축과 일치하게 됨.
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-36
로봇공학, Chapter 2
㈜ D-H 변환에서 Y축으로의 변환이 필요한 경우 (PUMA560)
• 두 좌표계 사이의 transformation:
n-link 좌표계⎤
⎡(n-1) link 좌표계⎤ ⎯⎯⎯⎯⎯⎯⎯⎯⎯
→⎡
⎢⎣ {xn −1 , yn −1 , zn −1} ⎥⎦ θn →dn →an →bn →αn ⎢⎣ {xn , yn , zn } ⎥⎦
Tn = Rot ( zn −1 , θ n ) × Trans (0, 0, d n ) × Trans (an , 0, 0) × Trans(0, bn , 0) × Rot ( xn , α n )
n −1
θ n : x n −1축과 x n축 사이 각도, d n : z n −1축과 zn축 사이의 거리,
an : x n −1축과 x n축 사이의 거리, bn : y n −1축과 y n축 사이의 거리, α n : z n −1축과 z n축 사이 각도
Tn = An = Rot ( zn −1 , θ n ) × Trans (0, 0, d n ) × Trans (an , 0, 0) × Trans (0, bn , 0) × Rot ( xn , α n )
n −1
⎡cθ n
⎢ sθ
=⎢ n
⎢ 0
⎢
⎣ 0
⎡cθ n
⎢ sθ
=⎢ n
⎢ 0
⎢
⎣ 0
− sθ n
cθ n
0 0 ⎤ ⎡1 0
0 0 ⎥⎥ ⎢⎢0 1
0
1 0⎥ ⎢0 0
⎥⎢
0
0 1 ⎦ ⎣0 0
− sθ n cα n sθ n sα n
cθ n cα n −cθ n sα n
sα n
cα n
0
0
0 ⎤ ⎡1 0
0 ⎥⎥ ⎢⎢ 0 1
1 d n ⎥ ⎢0 0
⎥⎢
0 1 ⎦ ⎣0 0
an cθ n − d n sθ n ⎤
⎥
an sθ n + d n cθ n
⎥
⎥
dn
⎥
1
⎦
0
0
0 an ⎤ ⎡ 1
0 0 ⎥⎥ ⎢⎢0
1 0 ⎥ ⎢0
⎥⎢
0 1 ⎦ ⎣0
0 0 0 ⎤ ⎡1 0
1 0 bn ⎥⎥ ⎢⎢0 cα n
0 1 0 ⎥ ⎢0 sα n
⎥⎢
0 0 1 ⎦ ⎣0 0
0
− sα n
cα n
0
0⎤
0 ⎥⎥
0⎥
⎥
1⎦
2-37
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
PUMA560
Joint # theta[i]
d[i]
a[i]
b[i]
alpha[i]
1
2
3
4
5
6
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-38
로봇공학, Chapter 2
(Robot Base Æ Hand)의 Transformation
ƒ
Robot base(Reference frame)에 대한 Robot hand의 위치 및 자세
TH = RT1 (q1 ) 1T2 (q2 ) 2T3 (q3 )" n −1Tn (qn ) = A1 A2 A3 " An
R
• variable
qi = θ i : revolute joint
qi = d i : prismatic joint
z1
θ3
z2
θ2
y2
x2
x1
y3
θn
yn ( o )
z0
θ1
y
x0
x3
y1
z
x
z3
xn (n) zn (a)
0
y0
Tn
2-39
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
Example 2.19 (PUMA type)
ƒ
D-H parameters
Joint #
theta[i]
d[i]
a[i]
alpha[i]
1
2
3
4
5
6
z0
x0
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
y0
z6
y6
x6
2-40
로봇공학, Chapter 2
Example 2.20 (Stanford Arm)
ƒ
D-H parameters
Joint #
theta[i]
d[i]
a[i]
alpha[i]
1
z6
2
y6
3
4
x6
5
6
z0
x0
y0
2-41
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
2.9 Inverse Kinematic Solutions
• Inverse kinematics
⎡ nx
⎢
⎛ Given the desired location ⎞ ⎢ n y
⎜ & orientation of the robot ⎟: ⎢ n
⎝
⎠
z
⎢
⎣0
px ⎤
p y ⎥⎥
pz ⎥
⎥
1⎦
⎛ θ (revolute joint) or ⎞
⇒ Solve for the joint variables: ⎜ i
⎟
⎝ di (prismatic joint) ⎠
ƒ
ox
oy
oz
0
ax
ay
az
0
Position level (chap. 2)에서의 Inverse kinematics
• 특별한 규칙이 있는 것은 아니고 주로 기하적 방법(geometric
method)이나 transformation matrix의 element를 비교해서
solution을 찾음.
• 6DOF robot의 역기구학 해가 존재하기 위한 충분조건:
Æ The last three revolute joint axes (wrist) intersects at a common
point.
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-42
로봇공학, Chapter 2
Ex. 2.19의 역기구학 해
• RTH = A1 (θ1 ) A2 (θ 2 ) A3 (θ 3 ) A4 (θ 4 ) A5 (θ 5 ) A6 (θ 6 ) [ RHS ]
⎡ nx
⎢n
=⎢ y
⎢ nz
⎢
⎣0
⎡ nx
⎢
−1 n y
(1) A1 ⎢
⎢ nz
⎢
⎣0
ox
ax
oy
ay
oz
az
0
0
ox
ax
oy
ay
oz
az
0
0
⎡ nx
⎢n
(2) A4−1 A3−1 A2−1 A1−1 ⎢ y
⎢ nz
⎢
⎣0
px ⎤
⎛ Desired orientation/location ⎞
⎟
:⎜ of the hand {x6 , y6 , z6 }
⎟
pz ⎥ ⎜
⎟
= {n , o , a } frame
⎥ ⎝
⎠
1⎦
py ⎥ ⎜
⎥
px ⎤
py ⎥
⎥ = A1−1[ RHS ] = A2 (θ 2 ) A3 (θ3 ) A4 (θ 4 ) A5 (θ5 ) A6 (θ 6 ) → θ1 , θ3
pz ⎥
⎥
1⎦
ox
ax
oy
ay
oz
az
0
0
⎡ nx
⎢n
(3) A5−1 A4−1 A3−1 A2−1 A1−1 ⎢ y
⎢ nz
⎢
⎣0
px ⎤
py ⎥
⎥ = A4−1 A3−1 A2−1 A1−1[ RHS ] = A5 (θ5 ) A6 (θ 6 )[ RHS ] → θ5 ,θ 234 , θ 2 , θ 4
pz ⎥
⎥
1⎦
ox
ax
oy
ay
oz
az
0
0
px ⎤
py ⎥
⎥ = A5−1 A4−1 A3−1 A2−1 A1−1[ RHS ] = A6 (θ 6 ) → θ 6
pz ⎥
⎥
1⎦
2-43
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
Ex. 2.20 (Stanford Arm)의 역기구학 해
ƒ
5R-1P manipulator
• RTH = A1 (θ1 ) A2 (θ 2 ) A3 (θ 3 ) A4 (θ 4 ) A5 (θ 5 ) A6 (θ 6 ) [ RHS ]
⎡ nx
⎢n
=⎢ y
⎢ nz
⎢
⎣0
ox
ax
oy
ay
oz
az
0
0
px ⎤
⎛ Desired orientation/location ⎞
⎟
⎥ :⎜ of the hand {x6 , y6 , z6 }
⎜
⎟
pz ⎥ ⎜
⎟
= {n , o , a } frame
⎥ ⎝
⎠
1⎦
py ⎥
(1) 1st three joints
d 3 s2 ⎤
⎡ nx ox a x p x ⎤
⎡
⎢n o a p ⎥
⎢
− d 3 c2 ⎥
y
y
y
y
−1
−1
⎢
⎥
⎢
⎥ → θ1 , θ 2 , θ3
A1
A6 = A2 (θ 2 ) A3 (θ3 ) A4 (θ 4 ) A5 (θ5 ) =
d2 ⎥
⎢ nz oz a z p z ⎥
⎢
⎢
⎥
⎢
⎥
1 ⎦
⎣0 0 0 1 ⎦
⎣0 0 0
(2) last three joints
⎡ nx ox a x p x ⎤
⎢n o a p ⎥
y
y
y
⎥ = [known matrix] = A4 (θ 4 ) A5 (θ5 ) A6 (θ 6 )
A3−1 A2−1 A1−1 ⎢ y
⎢ nz oz a z p z ⎥
⎢
⎥
⎣0 0 0 1 ⎦
A4−1[known matrix] = A5 (θ5 ) A6 (θ 6 ) → θ 4 , θ5 , θ 6
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-44
로봇공학, Chapter 2
2.11 Degeneracy and Dexterity
ƒ
Degeneracy
• Robot이 운동 중에 singular configuration에 들어가
degree of freedom 을 잃는 경우가 발생
1) Robot의 각 joint가 물리적 한계에 도달하는 경우 (즉, robot의
운동 영역인 workspace의 경계에 있는 경우)
2) 두개 joint의 z-axis가 colinear한 경우: 어느 축을 움직여야 하
는가 결정할 수 없음.
ƒ
Dexterity
• Robot hand를 workspace내의 임의 point에 원하는
orientation으로 위치시킬 수 있을 때 robot이
dexterous하다라고 말함.
• Robot workspace의 경계(boundary) 부분에는 hand를
원하는 자세로 보낼 수 없음. (dexterity를 잃는 경우)
2-45
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
2.12 Fundamental Problem with D-H Representation
ƒ
Defect of D-H presentation :
• D-H cannot represent any motion about the y-axis, because all motions
are about the x- and z-axis.
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-46
로봇공학, Chapter 2
Summary of Chapter 2
ƒ
Methods for representation of points, vectors, frames, and 4 by 4
homogeneous transformations by matrices.
ƒ
ƒ
ƒ
Forward and inverse kinematics of robots
RPY angles and Euler angles
Denavit-Hartenberg method to derive the forward and inverse
kinematic equations
2-47
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
로봇공학, Chapter 2
[Homework #1] (200점)
ƒ
예제 Example 2.1 ~ 2.20 (5점 x 20 = 100)
ƒ
Solve the following problems in chapter 2: (10점 x 7=70)
• 2.3, 2.7, 2.9, 2.12, 2.20, 2.21, 2.22
ƒ
Solve the forward/inverse kinematics of the stanford arm. (30점)
• Derive the Eq. (2.58): forward kinematics
• Derive the Eq. (2.78)~(2.83): inverse kinematics
(Ref.) Asada and Slotine “Robot analysis and control”
ƒ
Due date:
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
2-48
로봇공학, Chapter 2
H.W#1 2.22 문제
1) Ref. frame을 1번 joint에 둘 경우
Joint #
theta
d
a
alpha
1
theta1
0
0
90
2
0
l2
0
-90
3
theta3
0
0
90
H
0
l3
0
0
TH = 0 A1 1 A2 2 A3 3 AH
0
2) Ref. frame을 Text와 같이 둘에 둘 경우
Joint #
theta
d
a
U
0
0
l1
1
theta1
0
0
90
2
0
l2
0
-90
3
theta3
0
0
90
H
0
l3
0
0
2008 Fall Semester, Robotics (School of AME, KAU) by sjkwon
alpha
U
TH = U A0 0TH = U A0 0 A1 1 A2 2 A3
2-49
Download