๐ฌ ML & Data/โ Q & etc.
[MPC] 4. Optimal Control(2) - Taylor Series ์ ์ฉ, Algebraic Riccati Equation(ARE) ๊ตฌํ๊ธฐ
LQR์ ์ ์ฉ $$V^{*}(x(t), t) = \underset{u[t, t+\Delta t]}{min} \{ \Delta t \cdot l[x(t + \alpha \Delta t), u(t + \alpha \Delta t), t + \alpha \Delta t] + V^{*}(x(t + \Delta t), t+\Delta t) \}$$ ์ด ์์์ $V^{*}(x(t + \Delta t), t+\Delta t)$ ๋ถ๋ถ์ ์ Taylor Series๋ก x์ t์ ๋ํด์ ์ ๋ฆฌํด๋ณด์. $x = (x(t), t), v = \Delta t$ ๋ผ๊ณ ์๊ฐํ์. ์ ๋ฆฌํ๋ฉด ์๋์ ๊ฐ๋ค. $$V^{*}(x + v) = V^{*}(x) + f'(x)v + f(x)v' + \frac 12 f''(x)v^{2}+ \frac1..
[MPC] 4. Optimal Control(1) - LQR๊ณผ Taylor Series(ํ ์ผ๋ฌ ๊ธ์)
optimal control ๊ธฐ์ด - LQR(Linear Quadratic Regulator) LQR์ด ๊ธฐ์ด๋ผ์ ์๊ฑธ๋ก system : $\dot x = f(x, u, t), x(t_{0}) = x_{0}$ cost function : $$V(x(t_{0}), u, t_{0}) = \int_{t_{0}}^{T} l[x(\tau), u(\tau), \tau]d\tau + m(x(T))$$ ์ cost function์ ์ต์ํํ๋ ์ ๋ ฅ $u^{*}(t), t_{0}\le t \le T$ ์ฐพ๊ธฐ -> optimal control์ ๋ชฉ์ principle of optimality ์ ๋ฐ๋ผ ํ ํด๊ฐ ์ต์ ์ด๋ฉด sub problem์ ํด๋ ์ต์ ์ด ๋๋ค. $t_{0} < t < t_{1} < T$ ๋ก $t_{1}$ ์ถ๊ฐ..
[MPC] 3. ์ํ(state)์ ์ถ๋ ฅ(output) ์์ธกํด๋ณด๊ธฐ
Input / Output ์ ๋ฆฌ $N_p$ : ์์ธกํ๋ ค๋ ๋ฏธ๋ ์ถ๋ ฅ ์ $N_c$ : ์์ธกํ๋ ค๋ ๋ฏธ๋ ์ ์ด์ ๋ ฅ ์ ๊ฒฝ๋ก ์ถ์ ์ ๊ฒฝ์ฐ, $N_p$๊ฐ ์ ์ tracking ํ๊ธฐ ์ํ $N_c$๊ฐ ์ ์ด ๋ช ๋ น... Control Input $\Delta u(k), \Delta u(k+1), \Delta u(k+2), \cdots, \Delta u(k + N_{c} - 1)$ Output $y(k), y(k+1), \cdots, y(k+N_{p})$ $y(k) = Cx(k)$ ์ด๋ฏ๋ก $y(k+1) = Cx(k+1), y(k+2) = Cx(k+2), \cdots$ ๋ก ํํ ๊ฐ๋ฅ ๋ฐ๋ผ์ ์์ธก state $x(k+1), x(k+2), \cdots, x(k+N_{p})$๋ฅผ ๊ตฌํ๋ฉด ๋จ State variable ๊ตฌํ๊ธฐ $..
[MPC] 2. ์ํ ๊ณต๊ฐ ๋ฐฉ์ ์ ์ ๋
MPC ์ํ ๊ณต๊ฐ ๋ฐฉ์ ์ ์ ๋ ์ํ๊ณต๊ฐ ๋ฐฉ์ ์ + LTI(Linear TimeINvariant, ์ ํ ์๊ฐ ๋ถ๋ณ ์์คํ )์ ๊ฒฝ์ฐ => Continuous-time state-space model ์ํ ๋ฐฉ์ ์ : $$\bar{x} = Ax + Bu$$ ์ถ๋ ฅ ๋ฐฉ์ ์ : $$y = Cx$$ MPC๋ discrete ํ ํ๊ฒฝ => Discrete-time state-space model ์ํ ๋ฐฉ์ ์ : $$x(k+1) = A_{d}x(k) + B_{d}u(k)$$ ์ถ๋ ฅ ๋ฐฉ์ ์ : $$y(k) = C_{d}x(k)$$ MPC ๊ธฐ๋ณธ ๋ชจ๋ธ์ Discrete-time aumented state-space model ์ํ ๋ณ์ ๋์ ์ํ ๋ณ์์ ๋ณํ๋ $\Delta x$ ์ฌ์ฉ ์ํ ๋ฐฉ์ ์ $${x(k+1) - x(k) ..
[MPC] 1. Model Predictive Control Intro
์ ํ๋ธ https://www.youtube.com/watch?v=zU9DxmNZ1ng&list=PLSAJDR2d_AUtkWiO_U-p-4VpnXGIorrO-&index=1 ๋ธ๋ก๊ทธ https://sunggoo.tistory.com/65 ์ ์๋ฃ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ณต๋ถํ ๋ด์ฉ์ ๊ฐ๋ณ๊ฒ ์ ๋ฆฌํ๋ ค๊ณ ํฉ๋๋ค. ์์ ์ฆ๋ช ์ด ๋ง๊ฒ ๊ณ , ๊ทธ ๋ค๋ก๋ ๋ชฉ์ ์ ๋ฐ๋ผ ๋ ผ๋ฌธ์ด๋ ์ฝ๋ ๊ตฌํ์ ๋ณด๋ฉด์ ์ถ๊ฐํด๋ณด๊ฒ ์ต๋๋ค. MPC(Model Predictive Control)์ ์ปจ์ ๊ธฐ๊ธฐ ์ํ ๋ณํ(dynamics) + ์ฃผ๋ณ ํ๊ฒฝ ์์ => cost function ์ ์ด๊ณตํ ๋น์ ํ / ๋น๋ณผ๋ก(Non-linear, Non-convex) ๋์ ๊ณต๋ถํ๋ฉด์ ๋๋ผ๊ธฐ์๋ ๊ฐํํ์ต์ ํฅ๊ธฐ๊ฐ ์ข ์์ Flow k-1 ์ผ ๋์ ์ํ ๋ณ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก k+1 ~ ..
[Math] Mathematics for Machine Learning 2. Linear Algebra
๊ทผ๋์ ์ ๋ง์ด์ง ์ํ ๊ณต๋ถ์ ํ์์ฑ์ ๋๊ปด์ MML ์ด๋ผ๋ ๋จธ์ ๋ฌ๋ ์ํ์ ๋ฐ์ด๋ธ ๊ฐ์ ์ฑ ์ผ๋ก ๊ณต๋ถ๋ฅผ ์์ํ๋๋ฐ... ์ผ๋จ ์์ด๊ณ (!), ์ฉ์ด๊ฐ ๋๋ฌด ๋ง๊ณ (!), ๋ด์ฉ๋ ์ด๋ ค์์ ์์ฃผ ์ ๋ฅผ ๋จน๊ณ ์๋ค. ์ด์ฐ์ ์ฐ ์ดํดํ๋ค๊ณ ์๊ฐํ๋๋ฐ ์ฐ์ต๋ฌธ์ ๋ฅผ ๋ณด๋๊น ๋ ์ด์ผ~ ๋ชจ๋ฅด๊ฒ ๊ณ ๋๋ฆฌ๋ค... ๋ต์์ง๋ฅผ ๋ด๋ ์ดํด๊ฐ ์ด๋ ค์ด ๋ถ๋ถ์ด ๋ง์์ ๊ผผ๊ผผํ๊ฒ ๊ฐ์ด๋ ๋ฐ๋ผ ๋์ธ๋ฒ ํ์ด๋ด์ผ ์ดํด๊ฐ ๋์ง ์ถ๋ค. ๊ทผ๋ฐ ๋๋ฌด ์ด๋ ต๋ค ใ ใ ... ์ ํ๋์ ๊ฐ์๋ฅผ ์๊ฐํ์๋๋ฐ๋ ๋ด๊ฐ ๋ค์๋ ์ ํ๋์ ๊ฐ์์ ๋ฒ์๋ณด๋ค ๋ ๋์ ๋ฏ ํ๋ค. ์๋ฌดํผ ์๋ ๋งํฌ๋ ์ฐธ๊ณ ํ ์ฌ์ดํธ ๋ฑ. ํ๊ตญ์ด ๋ฒ์ญ ํด์ฃผ์ ์ค๋ณ๋ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค... ๋น๊ตํ๋ฉฐ ๋ณด๊ณ ์์ต๋๋ค... ๊ต์ฌ - pdf ๋ฌด๋ฃ ๊ณต๊ฐ(https://mml-book.github.io/book/mml-boo..
[Data] ์ ๋ ๋ชจํฐ ์ด์ํ์ง ๋ฐ ๋ถ๋ฅ๋ฅผ ์ํ ์ฃผํ์ ๋ถ์
1. ๋ฐ์ดํฐ ์ทจ๋ Sampling rate 25.6kHz DC Motor, ์์ฒด ์ ์ ์คํํ๊ฒฝ ๋ฐ์ดํฐ ํ์ผ ๋น 102,400๊ฐ ํฌ์ธํธ 2. FFT ๋ชจํฐ ์ฃผํ์ ๋ถ์ 1. Normal ์ ์์ํ ๋ชจํฐ์ ์ฃผํ์๋ ์ง๋ ์ฐจ์(Harmonic)๊ฐ ๋ฐ๋น๋กํ๋ค. ํ์ฌ ์คํ ์ธํธ์ ๋ชจํฐ๋ ์ฝ 3600rpm์ ๊ฐ์ง๊ณ ์์ผ๋ฏ๋ก ์ง๋์ฐจ์๋ 1์ฐจ 60Hz, 2์ฐจ 120Hz, 3์ฐจ 180Hz๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ FFT ์ฃผํ์ ๋ถ์ ๊ฒฐ๊ณผ 1์ฐจ, 2์ฐจ, 3์ฐจ ์ง๋ ์ฐจ์ ์์ผ๋ก amplitude๊ฐ ๊ฐ์ํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. 2. Misalignment ์ค์ ๋ ฌ(Misalignment) ์ํ๋ Parallel Misalignment(์ง๋ฉด๊ณผ ๋ชจํฐ์ ์ถ์ ํํํ๋ ๋ฒ ์ด๋ง์ ๊ธฐ์ค์ผ๋ก ๋จ์ฐจ๊ฐ ์กด์ฌํ ๋)์ Angular Misalign..
[PyTorch] pretrained model load/save, pretrained model ํธ์ง
Load Pretrained model in pytorch Pretrained model pth๋ก ์ ์ฅ๋ torch pretrained model(weight)๋ฅผ ๋ถ๋ฌ์์ ์ฌ์ฉ weight์ ์ผ๋ถ๋ง ๋ถ๋ฌ์์ ์ฌ์ฉํ ์ ์๋ค. pth = dictionary ๋ก ๊ตฌ์ฑ๋๋ค. Get format pth ํ์ผ์ Dictionary ํํ๋ก ์ ์ฅ๋์ด ์๋ค. pytorch์ load๋ฅผ ํตํด์ ๋ถ๋ฌ์ฌ ์ ์๋ค. import torch model = torch.load('model.pth') print(model.keys()) model.keys() ๋ฅผ ์ฌ์ฉํด์ key ๊ฐ๋ค์ ๋ถ๋ฌ์ฌ ์ ์๋๋ฐ, ์ด๊ฒ์ผ๋ก ๋ชจ๋ธ ๊ตฌ์กฐ๋ฅผ ํ์ ํ ์ ์๋ค. ํ์ฌ ์์ ๋ก ์ฌ์ฉํ๊ณ ์๋ pth ํ์ผ์ mobilenet-ssd-v1 ๋ชจ๋ธ์ mAP 0..