Search
๐Ÿฐ

Ch.19 Hierarchiecal Animation

course
last review
mastery
rookie
progress
not started
date
4 more properties
Previous chapter

Todayโ€™s MAIN QUEST

FK์˜ ์‹œ์ ์—์„œ ๋ฐ”๋ผ๋ณด์ž.
2์ฐจ์› ๊ณต๊ฐ„์—์„œ ๊ด€์ ˆ์˜ ์—”๋“œํฌ์ธํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.
x=f(q)\bold{x}=\bold{f(q)}
[xy]=[l1cos(q1)+l2cos(q1+q2)l1sin(q1)+l2sin(q1+q2)]\begin{bmatrix}x\\y\end{bmatrix}=\begin{bmatrix}l_1cos(q_1)+l_2cos(q_1+q_2)\\l_1sin(q_1)+l_2sin(q_1+q_2)\end{bmatrix}
Inverse Kinematics๊ฐ€ ๋ญ”๊ฐ€? ๋ฐ”๋กœ ์ด๊ฑธ ์—ญ์—ฐ์‚ฐ ํ•˜์ž๋Š” ๊ฑฐ๋‹ค!
์ฆ‰, ์šฐ๋ฆฌ๋Š” ์ด ๋ฌธ์ œ๋ฅผ ํ’€์–ด์•ผ ํ•œ๋‹ค.
q=fโˆ’1(x)\bold{q}=\bold{f^{-1}(x)}
[q1q2]=fโˆ’1(x)?\begin{bmatrix}q_1\\q_2\end{bmatrix} = \bold{f^{-1}(x)}?
์ด ์นœ๊ตฌ๋ฅผ ํ’€์–ด๋ณด์ž.
ํ”ผํƒ€๊ณ ๋ผ์Šค์˜ ์ •๋ฆฌ
d2=x2+y2d^2=x^2+y^2
์ฝ”์‚ฌ์ธ ๋ฒ•์น™
d2=l12+l22โˆ’2l1l2cos(a)cos(a)=l12+l22โˆ’d22l1l2d^2 = l_1^2 + l_2^2 - 2l_1l_2cos(a)\\ cos(a) = \frac{l_1^2 + l_2^2 - d^2}{2l_1l_2}
์„ ํ†ตํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‹์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
ํ•˜์ง€๋งŒ ๋™์‹œ์—?!
q2=ฯ€โˆ’aq_2 = \pi -a
์ด๊ธฐ๋„ ํ•˜๋‹ค!
cos(q2)=cos(ฯ€โˆ’a)=cos(ฯ€)cos(a)+sin(ฯ€)sin(a)=โˆ’cos(a)=d2โˆ’l12โˆ’l222l1l2\begin{align} cos(q_2) &= cos(\pi -a) \\&=cos(\pi)cos(a)+sin(\pi)sin(a)\\ &=-cos(a)\\ &= \frac{d^2 - l_1^2 - l_2^2}{2l_1l_2} \end{align}
์ฆ‰, q2๋Š” ๋‘๊ฐ€์ง€ ์‹์ด ๋  ์ˆ˜ ์žˆ๋‹ค.
q2={ฯ€โˆ’cosโกโˆ’1(l12+l22โˆ’x2โˆ’y22l1l2)cosโกโˆ’1(x2+y2โˆ’l12โˆ’l222l1l2)q2 = \begin{cases} \pi -\cos ^{-1}(\frac{l_1^2 + l_2^2 - x^2 - y^2}{2l_1l_2} )\\ \cos ^{-1}(\frac{x^2 + y^2 -l_1^2 - l_2^2}{2l_1l_2} ) \end{cases}
์ด์ œ q1์„ ๊ตฌํ•ด๋ณด์ž.
tanโก(q1+ฮฒ)=yxq1=tanโกโˆ’1(yx)โˆ’ฮฒ\tan(q_1+\beta) = \frac{y}{x}\\ q1 = \tan^{-1}(\frac{y}{x})-\beta
์ด๋•Œ ์ฝ”์‚ฌ์ธ ๋ฒ•์น™์— ์˜ํ•ด ๋‹ค์Œ์ด ์„ฑ๋ฆฝํ•œ๋‹ค.
ฮฒ=tanโกโˆ’1(l2sinโก(q2)l1+l2cosโก(q2))\beta = \tan^{-1}(\frac{l_2\sin(q_2)}{l_1+l_2\cos(q_2)})
๋”ฐ๋ผ์„œ ์ด๋ ‡๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค.
q1=tanโกโˆ’1(yx)โˆ’tanโกโˆ’1(l2sinโก(q2)l1+l2cosโก(q2))q1 = \tan^{-1}(\frac{y}{x})-\tan^{-1}(\frac{l_2\sin(q_2)}{l_1+l_2\cos(q_2)})
2์ฐจ์› ๊ณต๊ฐ„์—์„œ 2๊ฐœ์˜ ๋งํฌ์˜ ๊ฒฝ์šฐ์—๋Š” ๋‘๊ฐ€์ง€ ์ด์‚ฐ์ ์ธ ํ•ด๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค.
q=[tanโกโˆ’1(yx)โˆ’tanโกโˆ’1(l2sinโก(q2)l1+l2cosโก(q2))ฯ€โˆ’cosโกโˆ’1(l12+l22โˆ’x2โˆ’y22l1l2)]q=[tanโกโˆ’1(yx)โˆ’tanโกโˆ’1(l2sinโก(q2)l1+l2cosโก(q2))cosโกโˆ’1(x2+y2โˆ’l12โˆ’l222l1l2))]q = \begin{bmatrix}\tan^{-1}(\frac{y}{x})-\tan^{-1}(\frac{l_2\sin(q_2)}{l_1+l_2\cos(q_2)})\\ \pi -\cos ^{-1}(\frac{l_1^2 + l_2^2 - x^2 - y^2}{2l_1l_2} )\end{bmatrix}\\ q = \begin{bmatrix}\tan^{-1}(\frac{y}{x})-\tan^{-1}(\frac{l_2\sin(q_2)}{l_1+l_2\cos(q_2)})\\ \cos ^{-1}(\frac{x^2 + y^2 -l_1^2 - l_2^2}{2l_1l_2} ) )\end{bmatrix}
3๊ฐœ์˜ ๊ฒฝ์šฐ๋Š” ์–ด๋–จ๊นŒ?
๊ฒฐ๊ณผ๊ฐ’์€x,y
์ธํ’‹์€ q1,q2,q3๋กœ 3๊ฐ€์ง€๋‹ค! ์—ฌ๊ธฐ์—์„œ ์šฐ๋ฆฌ๊ฐ€ ๊ถ๊ธˆํ•œ ๊ฐ’์€ ๊ฒฐ๊ณผ๋กœ๋ถ€ํ„ฐ ์ธํ’‹์„ ๊ตฌํ•ด์•ผํ•˜๋ฏ€๋กœ
m = 2 < n=3, ์ฆ‰, ๋ฌดํ•œํ•œ ํ•ด๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

Cyclic Coordinate Descent(CCD)

1. Joint๋งˆ๋‹ค ์ˆœํšŒํ•˜๋ฉฐ End Effector์™€ Target ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ์™€ ๋ฐฉํ–ฅ ์ฐจ์ด๊ฐ€ ์ตœ์†Œ๊ฐ€ ๋˜๋„๋กย ๊ฐ๋„๋ฅผ ๋ณ€ํ™˜ํ•œ๋‹ค.
1-1. ํƒ€๊ฒŸ์˜ ์œ„์น˜ T, ๊ทธ๋ฆฌ๊ณ  End Effector์™€ P4 Joint์˜ ์‚ฌ์ด๊ฐ์„ ฮธ4๋ผ๊ณ  ํ•  ๋•Œ(<Fig 2>์˜ a),ย ย ฮธ4์˜ ๊ฐ๋„๊ฐ€ 0์ด
๋˜๋„๋ก End Effector๋ฅผ ์ด๋™์‹œํ‚จ๋‹ค(P4๋ฅผ ํšŒ์ „ํ•œ๋‹ค).
1-2. End Effector๋ถ€ํ„ฐ Base๊นŒ์ง€ ์—ญ์ˆœ์œผ๋กœ 1-1์˜ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.(<Fig 2>์˜ b->c->d)
2. ๋ชจ๋“  Joint์— ๋Œ€ํ•ด ๊ด€์ ˆ๊ฐ๊ณผ ์œ„์น˜๊ฐ€ ์—…๋ฐ์ดํŠธ ๋˜์—ˆ์œผ๋‚˜, ๋งŒ์กฑ์Šค๋Ÿฝ์ง€ ๋ชปํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์—ˆ๋‹ค๋ฉด, 1์˜ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.
(<Fig 2>์˜ e->f)
๋งŽ์€ ๊ฒฝ์šฐ์— ์ž˜ ํ’€๋ฆฌ๋‚˜, ์ž์—ฐ์Šค๋Ÿฝ์ง€๋Š” ์•Š๊ณ  ์ผ๋ฐ˜์ ์ธ ํ•ด๋ฅผ ๊ตฌํ•˜๊ธฐ ์–ด๋ ต๋‹ค.

Closed Form Solution

Optimization

Generic Math Notation

xt=f1(x1,x2,x3,x4,x5,x6)yt=f2(x1,x2,x3,x4,x5,x6)zt=f3(x1,x2,x3,x4,x5,x6)xr=f4(x1,x2,x3,x4,x5,x6)yr=f5(x1,x2,x3,x4,x5,x6)zr=f6(x1,x2,x3,x4,x5,x6)Y=F(X)x_t=f_1(x_1,x_2,x_3,x_4,x_5,x_6)\\ y_t=f_2(x_1,x_2,x_3,x_4,x_5,x_6)\\ z_t=f_3(x_1,x_2,x_3,x_4,x_5,x_6)\\ x_r=f_4(x_1,x_2,x_3,x_4,x_5,x_6)\\ y_r=f_5(x_1,x_2,x_3,x_4,x_5,x_6)\\ z_r=f_6(x_1,x_2,x_3,x_4,x_5,x_6)\\ Y=F(X)
dyidt=โˆ‚fiโˆ‚x1dx1dt+โˆ‚fiโˆ‚x2dx2dt+โˆ‚fiโˆ‚x3dx3dt+โˆ‚fiโˆ‚x4dx4dt+โˆ‚fiโˆ‚x5dx5dt+โˆ‚fiโˆ‚x6dx6dt\frac{dy_i}{dt}=\frac{\partial f_i}{\partial x_1}\frac{dx_1}{dt}+ \frac{\partial f_i}{\partial x_2}\frac{dx_2}{dt}+ \frac{\partial f_i}{\partial x_3}\frac{dx_3}{dt}+ \frac{\partial f_i}{\partial x_4}\frac{dx_4}{dt}+ \frac{\partial f_i}{\partial x_5}\frac{dx_5}{dt}+ \frac{\partial f_i}{\partial x_6}\frac{dx_6}{dt}
dY=โˆ‚Fโˆ‚XdXdY = \frac{\partial F}{\partial X}dX
Yโ€ฒ=J(X)Xโ€ฒY' = J(X) X'
dyidt=(โˆ‚f1โˆ‚x1โ€ฆโˆ‚f1โˆ‚x6โ‹ฎโ‹ฑโˆ‚f6โˆ‚x1โ€ฆโˆ‚f6โˆ‚x6)(dx1dtโ‹ฎdx6dt)\frac{dy_i}{dt}= \begin{pmatrix}\frac{\partial f_1}{\partial x_1} & \dots & \frac{\partial f_1}{\partial x_6} \\ \vdots & \ddots \\ \frac{\partial f_6}{\partial x_1} & \dots & \frac{\partial f_6}{\partial x_6}\end{pmatrix} \begin{pmatrix} \frac{dx_1}{dt}\\ \vdots\\ \frac{dx_6}{dt}\\ \end{pmatrix}
Jacobian??

Motion Capture

โ€ข
๋ฌด์—‡์„ ์บก์ณํ•ด์•ผํ•˜๋Š”๊ฐ€?
โ—ฆ
์„ธ๊ทธ๋จผํŠธ๋“ค์˜ ์กฐ์ธํŠธ๊ฐ€ ์žˆ๋Š” ๊ด€์ ˆ์ฒด์˜ ์œ„์น˜์™€ ๊ฐ๋„
โ—ฆ
์Šคํ‚จ์— ๋Œ€ํ•ด์„œ๋Š”?
๊ด€์ ˆ๋งˆ๋‹ค ์„ผ์„œ๋ฅผ ํ•˜๋‚˜ ๋ถ™์ธ๋‹ค.
๊ทธ ๊ด€์ ˆ์˜ ์›€์ง์ž„์„ ์„ผ์„œ๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.
๋งˆ์ปค๋‚˜ ํŠธ๋ž˜์ปค๋ฅผ ์กฐ์ธํŠธ์— ๋ถ™์ธ๋‹ค.
์ „ํ†ต์ ์ธ ๋ฐฉ๋ฒ•
โ€ข
Electro-Mechanical : ์—‘์†Œ์Šค์ผˆ๋ ˆํ†คํ˜•ํƒœ์˜ ๋””๋ฐ”์ด์Šค
โ—ฆ
์‹ค์™ธ์—์„œ ์บก์ณํ•˜๊ธฐ ํŽธ๋ฆฌํ•˜๋‹ค.
โ—ฆ
์ด๋™์— ์ œ์•ฝ์ด ํฌ๋‹ค.
โ€ข
Magnetic : ๊ฐ ์„ผ์„œ๊ฐ€ ์ž๊ธฐ์žฅ์„ ๋ฐœ์‚ฐ์‹œ์ผœ ๋ฐ•์Šค๊ฐ€ ์ž๊ธฐ์žฅ์„ ์บก์ณํ•˜๋Š” ๋ฐฉ์‹
โ—ฆ
๋ฉ”์นด๋‹ˆ์ปฌ๋ณด๋‹ค๋Š” ์ด๋™ํ•˜๊ธฐ ํŽธํ•˜๋‹ค.
โ—ฆ
์œ ์„ ๋ฐฉ์‹์ด๋ฉฐ, ๊ธˆ์†๋ฌผ์ฒด๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ๋…ธ์ด์ฆˆ๊ฐ€ ์‹ฌํ•ด์ง„๋‹ค.
โ€ข
passiv Optical : ๋™๊ทธ๋ž€ ๊ตฌํ˜• ๋งˆ์ปค๋ฅผ ๋ถ™์—ฌ์„œ ์ •๋ฐ˜์‚ฌ๊ฐ€ ์‰ฝ๊ฒŒ ์ผ์–ด๋‚˜๋„๋ก ํ•œ ํ›„, ๋น›์„ ์ด์„œ ์ด๋ฏธ์ง€ ์ถ”์ ์„ ํ•œ๋‹ค. ๋‘ ๊ฐœ ์ด์ƒ์˜ ์นด๋ฉ”๋ผ๊ฐ€ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•ด ์‚ผ๊ฐ์ธก๋Ÿ‰์„ ์ง„ํ–‰ํ•œ๋‹ค.
โ—ฆ
์ง€๊ธˆ๋„ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” ๋ฐฉ๋ฒ•
โ—ฆ
ํ•ด์ƒ๋„, ํ”„๋ ˆ์ž„๋ ˆ์ดํŠธ, ์นด๋ฉ”๋ผ์˜ ํฌ์ง€์…˜ ๋ชจ๋‘๊ฐ€ ์ค‘์š”ํ•จ.
โ€ข
Active Optical :
ํ’€ํŠธ๋ž˜์ปค??
Next chapter