Tayler Series

ํ…Œ์ผ๋Ÿฌ ๊ธ‰์ˆ˜๋Š”, ์ž„์˜์˜ ํ•จ์ˆ˜๋ฅผ ๋ฌดํ•œ๊ฐœ์˜ ๋‹คํ•ญ์‹์„ ๋”ํ•˜์—ฌ ๊ทผ์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

๋ณดํ†ต ํ…Œ์ผ๋Ÿฌ ๊ธ‰์ˆ˜๋Š” 1์ฐจ ํ•จ์ˆ˜๋กœ ๊ทผ์‚ฌํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

Newton-Rahpson method

๋‰ดํ„ด ๋ž์Šจ ๋ฉ”์„œ๋“œ์˜ ํ•ต์‹ฌ์€, iterative ์ ‘๊ทผ์ด๋‹ค.

1๋ณ€์ˆ˜ ํ•จ์ˆ˜์—์„œ Newton-Rahpson method

๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜์ž. ์šฐ๋ฆฌ๊ฐ€ ํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ์€ ์ด ํ•จ์ˆ˜์˜ ๊ทผ ์„ ์ฐพ๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ ํ…Œ์ผ๋Ÿฌ ์‹œ๋ฆฌ์ฆˆ๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์ž. ์ด ํ•จ์ˆ˜ f๋Š” 1์ฐจ๊นŒ์ง€๋งŒ ๊ทผ์‚ฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์ด ๋•Œ, ์ด ๊ทผ์‚ฌ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ์ , a๋ฅผ x_i๋กœ ์ฃผ๋ฉด,

๊ทธ๋ ‡๋‹ค๋ฉด ์ด xi๋กœ ์‹œ์ž‘ํ•ด์„œ ์ด ํ•จ์ˆ˜๋ฅผ ๊ทผ์‚ฌํ–ˆ์œผ๋ฏ€๋กœ, ๊ทผ์‚ฌํ•œ ์‹์„ 0์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋‹ต์ด๋‹ค. **์ด ๊ทผ์‚ฌ๋œ ํ•จ์ˆ˜๋กœ ๋‚˜์˜จ solution์„ x(i+1) ์ด๋ผ ํ•˜์ž.**

์šฐ๋ฆฌ๋Š” x_(i+1)์„ ์ฐพ๊ณ  ์‹ถ์œผ๋ฏ€๋กœ, ์œ„์˜ ๊ฐ€์ •๋“ค์„ ์‹์— ๋‹ค ์ง‘์–ด๋„ฃ์œผ๋ฉด,

๋”ฐ๋ผ์„œ, ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” x_(i+1) ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๋‚˜์˜จ x_(i+1)์„ ๋‹ค์‹œ a๋กœ ๋„ฃ๊ณ , ์ด ์ž‘์—…์„ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋˜๋ฉด, ํ•ด ๊ทผ์ฒ˜์— ๊ฐ”์„ ๋•Œ, ๋ธํƒ€ x๊ฐ€ ๋งค์šฐ ์ž‘์•„์ง„๋‹ค. ์ด ๋•Œ, ์šฐ๋ฆฌ๋Š” ํ•ด๋ฅผ ์ฐพ์•˜๋‹ค๊ณ  return ํ•ด์ค€๋‹ค.

์ผ๋ฐ˜ํ™”๋œ Newton-Rahpson method

๊ทธ๋ ‡๋‹ค๋ฉด, ์‹์ด 2๊ฐœ, ๋ณ€์ˆ˜๊ฐ€ 2๊ฐœ์ธ ๋ฒกํ„ฐ ํ•จ์ˆ˜์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ๊ทผ์‚ฌํ•  ์ˆ˜ ์žˆ์„๊นŒ?

๊ฐ๊ฐ์„ ํ…Œ์ผ๋Ÿฌ ์‹œ๋ฆฌ์ฆˆ๋กœ ์ „๊ฐœํ•˜์ž. 1์ฐจํ•ญ ๊นŒ์ง€.

์šฐ๋ณ€์ด 0์ธ ์ด์œ ๋Š” ์œ„์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ๊ณผ ๊ฐ™์€ ์˜๋ฏธ ์ด๋‹ค. ์šฐ๋ฆฌ๋Š” 0์ด ๋˜๋Š” x, y๋ฅผ ์ฐพ๊ณ  ์‹ถ์€ ๊ฒƒ์ด๊ธฐ์— ๊ทผ์‚ฌํ•œ ์‹์—์„œ ํ•จ์ˆ˜๊ฐ’์ด 0์ด ๋  ๋•Œ, x*(i+1), y*(i+1) ์ด ํ•„์š”ํ•˜๋‹ค. ํŽธ๋ฏธ๋ถ„ ํ›„ x_i, y_i๋ฅผ ๋„ฃ๋Š” ๊ฒƒ์„ ์ƒ๋žตํ•ด์„œ ํ‘œํ˜„ํ•˜๋ฉด,

\\begin{bmatrix} \\partial f_1 \over \partial x & \partial f_1 \over \partial y\\ \\partial f_2 \over \partial x & \partial f_2 \over \partial y\\ \\end{bmatrix} \\begin{bmatrix} \\Delta x_i\\ \\Delta y_i\\ \\end{bmatrix} ;=; \\begin{bmatrix} -f_1(x_i, y_i)\\ -f_2(x_i, y_i)\\ \\end{bmatrix}

์—ฌ๊ธฐ์„œ,

J;=;\begin{bmatrix} \\partial f_1 \over \partial x & \partial f_1 \over \partial y\\ \\partial f_2 \over \partial x & \partial f_2 \over \partial y\\ \\end{bmatrix}

J๋ฅผ ์ž์ฝ”๋น„์•ˆ ํ–‰๋ ฌ ์ด๋ผ ํ•œ๋‹ค.

\\Delta \overset{\rightarrow}{h} ;=; \\begin{bmatrix} \\Delta x_i\\ \\Delta y_i\\ \\end{bmatrix} ;=; \\begin{bmatrix} \\partial f_1 \over \partial x & \partial f_1 \over \partial y\\ \\partial f_2 \over \partial x & \partial f_2 \over \partial y\\ \\end{bmatrix}^{-1} \\begin{bmatrix} -f_1(x_i, y_i)\\ -f_2(x_i, y_i)\\ \\end{bmatrix}

์ด๋ฏ€๋กœ ์—…๋ฐ์ดํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ์—ญ์‹œ๋‚˜ ์ดˆ๊ธฐ๊ฐ’ ์„ค์ •์ด ํ•„์š”ํ•˜๋‹ค!

Position Analysis

์ด์ „ ๊ธ€์—์„œ ์šฐ๋ฆฌ๋Š” ์ œ์•ฝ์‹๋“ค์ด ๋ชจ์ธ ๋ฒกํ„ฐํ•จ์ˆ˜ C๋ฅผ ์ •์˜ํ–ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ฒฐ๊ตญ ๋ฒกํ„ฐํ•จ์ˆ˜ C = 0 ์ด๋˜๋Š” ํ•ด, ์ฆ‰ q ๋ฒกํ„ฐ๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ์ด ๋ฒกํ„ฐ ํ•จ์ˆ˜ C๋ฅผ ํ…Œ์ผ๋Ÿฌ ์‹œ๋ฆฌ์ฆˆ๋กœ ๊ทผ์‚ฌํ•œ ๋’ค Newton-Rahpson method ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๋ฅผ ๊ตฌํ•˜์ž! ๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฒกํ„ฐํ•จ์ˆ˜ C๋ฅผ ๊ทผ์‚ฌํ™” ํ•ด์•ผ ํ•œ๋‹ค. ํ…Œ์ผ๋Ÿฌ ์‹œ๋ฆฌ์ฆˆ๋ฅผ ์ ์šฉํ•˜๋ฉด,

C\_{q_i};=;{\partial \overset{\rightarrow}{C} \over \partial \overset{\rightarrow}{q\_{i}}};=; \\begin{bmatrix} {\partial C_1\over \partial q_1} & \dots & {\partial C_1\over \partial q_n} \\\vdots\ & & \vdots\\ {\partial C_m\over \partial q_1} & \dots & {\partial C_m\over \partial q_n}\\ \\end{bmatrix}

C ํ–‰๋ ฌ์€ ์ž์ฝ”๋น„์•ˆ ํ–‰๋ ฌ์ด๋‹ค. ๋”ฐ๋ผ์„œ,

\\Delta \overset{\rightarrow}{q_i};=;-\[ C\_{q_i}\]^{-1;}\overset{\rightarrow}{C}(\overset{\rightarrow}{q\_{i}};,t)

๋กœ q๋ฒกํ„ฐ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ๋ฐ˜๋ณตํ•˜๋‹ค๊ฐ€ ํŠน์ • ์กฐ๊ฑด์ผ ๋•Œ, ์šฐ๋ฆฌ๋Š” ๋ฐ˜๋ณต์„ ๋ฉˆ์ถ”๊ณ  return ํ•˜๋ฉด๋˜๋Š”๋ฐ,

๋‘ ์‹์˜ ์˜๋ฏธ๋Š”, ํ•˜๋‚˜๋Š” ๋‹ค๊ฐ€๊ฐ€๋Š” step size์ด๊ณ , ๋‘๋ฒˆ์งธ๋Š” ํ•จ์ˆ˜๊ฐ’์˜ size ์ฐจ์ด์ด๋‹ค.

ํ•ด๋‹ต์„ ์ฐพ์•„๊ฐ€๋Š” ๊ณผ์ •์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‘๊ฐ€์ง€์˜ ๊ธฐ์ค€์„ ์„ธ์šธ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๋‘ ๊ธฐ์ค€์— ๋Œ€ํ•ด์„œ iteration์„ ๋ฉˆ์ถ˜๋‹ค.

Notice

์šฐ๋ฆฌ๋Š” t๊ฐ€ ๋ณ€์ˆ˜๊ฐ€ ์•„๋‹Œ ๊ฒƒ์— ์ฃผ๋ชฉํ•ด์•ผ ํ•œ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ•ด๋ฅผ ์ˆ˜์น˜์ ์œผ๋กœ ๊ตฌํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. t๊ฐ€ 0์ผ ๋•Œ, q๋ฒกํ„ฐ์˜ ์ดˆ๊ธฐ๊ฐ’์„ ์ž„์˜๋กœ ์žก๊ณ , Newton ๋ฉ”์„œ๋“œ, q ๊ตฌํ•จ. t๊ฐ€ 0.01 ์ผ ๋•Œ, q๋ฒกํ„ฐ์˜ ์ดˆ๊ธฐ๊ฐ’์„ ์ž„์˜๋กœ ์žก๊ณ , newton ๋ฉ”์„œ๋“œ , q ๊ตฌํ•จ. ๋”ฐ๋ผ์„œ t๋Š” ์ƒ์ˆ˜๋กœ ์ƒ๊ฐํ•˜๊ณ  ์šฐ๋ฆฌ๋Š” ๋ฌธ์ œ๋ฅผ ํ‘ผ๋‹ค.

Velocity Analysis

๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ œ์•ฝ์‹์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์šฐ๋ฆฌ๊ฐ€ ๊ถ๊ธˆํ•œ ๊ฒƒ์€ q_dot ๋ฒกํ„ฐ์ด๋‹ค.

์ด๋ฏ€๋กœ,

Ct ๋ฒกํ„ฐ๋Š” t์— ๋Œ€ํ•ด ๋ฏธ๋ถ„ํ•œ ๋ฒกํ„ฐ์ด๋ฏ€๋กœ, Driving constraint ์‹ ์ด์™ธ ํ•ญ์€ 0์ด๋‹ค. ๋”ฐ๋ผ์„œ ๊ฒฐ๋ก ์ ์œผ๋กœ,

C\_{q}\cdot \overset{\cdot}{\overset{\rightarrow}{q}} ;=;-\overset{\rightarrow}{C\_{t}}\\ ;\\ \\overset{\cdot}{\overset{\rightarrow}{q}};=; -\[ C\_{q}\]^{-1}\overset{\rightarrow}{C\_{t}}

์ด๋‹ค.

Acceleration Analysis

์ œ์•ฝ์‹์„ ๋‘๋ฒˆ ๋ฏธ๋ถ„ํ•ด์„œ, q_twodot ์„ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค.

{d^2\overset{\rightarrow}{C}(\overset{\rightarrow}{q}, t) \over dt^2};=; {d\over dt}\[{d\overset{\rightarrow}{C} \over d\overset{\rightarrow}{q}}\cdot\overset{\cdot}{\overset{\rightarrow}{q}};+;\overset{\cdot}{\overset{\rightarrow}{C}}\] ;=; {d\over dt}\[ C\_{q}\cdot \overset{\cdot}{\overset{\rightarrow}{q}};+;\overset{\rightarrow}{C\_{t}}\] ;=;\overset{\rightarrow}{0}

๊ฒฐ๊ณผ์ ์œผ๋กœ,

C\_{q}\cdot \overset{\cdot \cdot}{\overset{\rightarrow}{q}} ;=;\overset{\rightarrow}{Q\_{d}}\\ ;\\ \\overset{\cdot \cdot}{\overset{\rightarrow}{q}};=; \[ C\_{q}\]^{-1}\overset{\rightarrow}{Q\_{d}} \\ ;\\ \\overset{\rightarrow}{Q\_{d}};=;-( C\_{q} \overset{\cdot}{\overset{\rightarrow}{q}})*q \overset{\cdot}{\overset{\rightarrow}{q}};-;2 C*{qt} \overset{\cdot}{\overset{\rightarrow}{q}};-;\overset{\rightarrow}{C\_{tt}}