๐ฏ ์ํ์ง์ ํต์ฌ์ ๋ฆฌ
์ํ ์ง์ ์ ํ์ด๋ณด๋ ๊ณผ๋ชฉ๋ณ ์์ถ ์์ฝ์ด๋ค (๊ณผ๋ชฉ ์์๋ ํ์ต ์์์ ๊ฐ์ 3โ2โ4โ1). ๋ฏ์ ํญ๋ชฉ์ ์๋จ์ ๋์ "๋ณต์ต" ๋งํฌ๋ก ์ด๋ํด ์ ๋ ธํธ๋ฅผ ๋ค์ ์ฝ๊ณ , ์ฉ์ด ์ ์๊ฐ ํท๊ฐ๋ฆฌ๋ฉด ์ฉ์ด์ฌ์ ์ ํด์. ๋ง์ง๋ง ์ ๊ฒ์ ๋ชจ์๊ณ ์ฌ 4์ธํธ๋ก.
3๊ณผ๋ชฉ ๋ชจ์ ์ํํธ์จ์ด
์ขํ๊ณยท๋ณํํ๋ ฌ
- ํฌ์ฆ(Pose) = ์์น 3 + ์์ธ 3 = 6์์ ๋. ํ๋ฉด ์ด๋๋ก๋ด์ (x, y, ฮธ) 3์์ ๋ โ ํค๋ฉ๊ฐ ฮธ = yaw
- roll = x์ถ, pitch = y์ถ, yaw = z์ถ ํ์ . ์ค๋ฅธ์ ์ขํ๊ณ: \hat{x}ร\hat{y}=\hat{z}, ์์ ํ์ = ๋ฐ์๊ณ
- TCP(ํด ์ค์ฌ์ ) = ํด ์ขํ๊ณ ์์ , ๋๊ตฌ ๊ต์ฒด ์ ์ฌ์ค์ . ์ง๊ตโ๊ทน์ขํ: r=\sqrt{x^2+y^2}, ฮธ=\operatorname{atan2}(y,x)
- ํ์ ํ๋ ฌ = ์ง๊ตํ๋ ฌ: R^{-1}=R^\top, \det R = +1 (โ1์ด๋ฉด ๊ฑฐ์ธ ๋ฐ์ฌ). ์ด๋ฒกํฐ๋ ์ง๊ต ๋จ์๋ฒกํฐ
- ๋์ฐจ๋ณํํ๋ ฌ = 4ร4, ์ข์๋จ 3ร3 ํ์ + ์ฐ์ธก 3ร1 ํํ์ด๋, ๋ง์ง๋ง ํ [0 0 0 1]
- ๊ณฑ์ ์ ๋น๊ฐํ โ ๊ณ ์ ์ขํ๊ณ ๊ธฐ์ค ์ถ๊ฐ ๋ณํ์ ์ผ์ชฝ(์ ๊ณฑ), ํ์ฌ(์ด๋) ์ขํ๊ณ ๊ธฐ์ค์ ์ค๋ฅธ์ชฝ(ํ๊ณฑ)
- ์ค์ผ๋ฌ๊ฐ์ ํจ์ ์ง๋ฒ๋ฝ(pitch ยฑ90ยฐ์์ ์์ ๋ ์์ค) โ ์ฟผํฐ๋์ธ(์ 4๊ฐ, ์ง๋ฒ๋ฝ ์์, ROS ํ์ค)
๋ณต์ต: ์ขํ๊ณ ยท ๋ณํํ๋ ฌ
๊ธฐ๊ตฌํ
- ์๊ธฐ๊ตฌํ(์กฐ์ธํธโํฌ์ฆ): ๋ณํํ๋ ฌ ์ฐ์ ๊ณฑ, ํด ํญ์ ์ ์ผ โ ์ญ๊ธฐ๊ตฌํ(ํฌ์ฆโ์กฐ์ธํธ): ํด ์์(์์ ๊ณต๊ฐ ๋ฐ)ยท๋ค์ค(์๋ณด์ฐ ์ /๋ค์ด, 6์ถ ์ต๋ 8๊ฐ)ยท๋ฌดํ(์ฌ์ ์์ ๋ 7์ถ)
- DH ํ๋ผ๋ฏธํฐ 4๊ฐ: ฮธ(์กฐ์ธํธ๊ฐ)ยทd(์คํ์ )ยทa(๋งํฌ ๊ธธ์ด)ยทฮฑ(๋นํ๋ฆผ) โ ํ์ ์กฐ์ธํธ ๋ณ์๋ ฮธ, ์ง๋์กฐ์ธํธ๋ d. ์ง๋ m์ ์๋(๋์ญํ)
- 2๋งํฌ ์๊ธฐ๊ตฌํ: x = l_1\cos ฮธ_1 + l_2\cos(ฮธ_1{+}ฮธ_2) / ์ญ๊ธฐ๊ตฌํ: \cos ฮธ_2 = \dfrac{x^2+y^2-l_1^2-l_2^2}{2l_1 l_2} (ยฑ๊ฐ ๊ณง ๋ค์คํด, |cos|>1์ด๋ฉด ํด ์์)
- ์์ฝ๋น์: \dot{x} = J(q)\dot{q} โ ์กฐ์ธํธ ์๋โ๋ง๋จ ์๋. ํน์ด์ : \det J = 0 โ ํน์ ๋ฐฉํฅ ์ด๋ ๋ถ๊ฐ(์์ ๋ ์์ค), ๊ทผ์ฒ์์ ์กฐ์ธํธ ์๋ ํญ์ฃผ. ์: ํ ์์ ํ ๋ป์ ์์ธ
- ํด์์ ํด๋ฒ(๋น ๋ฆยท๋ชจ๋ ํด, ๊ตฌ์กฐ๋ง๋ค ์ ๋, Pieper ์กฐ๊ฑด) vs ์์น์ ํด๋ฒ(๋ดํด-๋ฉ์จ ๋ฐ๋ณต, ๋ฒ์ฉ, ์ด๊ธฐ๊ฐ ์์กดยทํด 1๊ฐ)
- ์ฌ์ ์์ ๋(7์ถ): ๋ง๋จ ํฌ์ฆ ์ ์งํ ์ฑ ํ๊ฟ์น๋ง ์์ง์ฌ ์ฅ์ ๋ฌผยทํน์ด์ ํํผ
๋ณต์ต: ๋ก๋ด ๊ธฐ๊ตฌํ ํด์ ยท ๋ก๋ด ์ญ๊ธฐ๊ตฌํ ํด์
๊ฒฝ๋ก๊ณํยท์ถฉ๋ํํผ
- ๊ฒฝ๋ก(๊ธฐํํ์ ๊ธธ) vs ๊ถค์ (๊ฒฝ๋ก + ์๊ฐ ๋ฒ์น). ์กฐ์ธํธ ๊ณต๊ฐ ๊ณํ = IK ์์ยท๋๋ง, ํน์ด์ ๋ฌด๊ด, ์ง์ ๋ฏธ๋ณด์ฅ(PTP/MoveJ) โ ์์ ๊ณต๊ฐ ๊ณํ = ๋ณด๊ฐ์ ๋ง๋ค IK, ์ง์ ยท์ํธ ์ ํ(MoveL/MoveC), ํน์ด์ ์ํ
- ๋คํญ์ ๋ณด๊ฐ: 3์ฐจ = ๊ฒฝ๊ณ์กฐ๊ฑด 4๊ฐ(์์นยท์๋), 5์ฐจ = 6๊ฐ(+๊ฐ์๋). ์ฌ๋ค๋ฆฌ๊ผด ํ๋กํ์ผ = ๊ฐ์โ๋ฑ์โ๊ฐ์(๊ฑฐ๋ฆฌ ์งง์ผ๋ฉด ์ผ๊ฐํ), ์ ํฌ(๊ฐ์๋ ๋ณํ์จ) ์ํ โ S-์ปค๋ธ
| ๊ตฌ๋ถ | ์ ์ญ ๊ฒฝ๋ก๊ณํ | ์ง์ญ ๊ฒฝ๋ก๊ณํ |
|---|---|---|
| ์ ๋ณด์ยท๋์ | ์ฌ์ ์ง๋, ์ ์ ์ฅ์ ๋ฌผ | ์ค์๊ฐ ์ผ์, ๋์ ์ฅ์ ๋ฌผ |
| ์คํ | ์ถ๋ฐ ์ 1ํ + ์ฌ๊ณํ | ์์ญ ms ์ฃผ๊ธฐ, ์ถ๋ ฅ = ์๋ ๋ช ๋ น (v, ฯ) |
- Dijkstra: ๋์ ๋น์ฉ์ ๊ท ์ผ ํ์ฅ, ์ต๋จ ๋ณด์ฅ. A*: f(n)=g(n)+h(n) โ h๊ฐ ํ์ฉ ๊ฐ๋ฅ(์ค์ ์์ฌ ๋น์ฉ ๊ณผ๋ํ๊ฐ ๊ธ์ง)์ด๋ฉด ์ต์ ๋ณด์ฅ, h=0์ด๋ฉด Dijkstra์ ๋์ผ
- ์ํ๋ง ๊ธฐ๋ฐ(๊ณ ์ฐจ์ ๊ตฌ์ฑ๊ณต๊ฐ์ฉ): PRM = ๋ก๋๋งต ์ฌ์ ๊ตฌ์ถ(multi-query) vs RRT = ํธ๋ฆฌ ํ์ฅ(single-query). ํ๋ฅ ์ ์์ ์ฑ O, ์ต์ ์ฑ X (RRT*๋ ์ ๊ทผ์ ์ต์ )
- ํฌํ ์ ํ๋: ์ธ๋ ฅ(๋ชฉํ)+์ฒ๋ ฅ(์ฅ์ ๋ฌผ), F=-โU โ ํจ์ : ์ง์ญ ์ต์๊ฐ์ ๊ฐํยท์ง๋. DWA: ๊ฐ๊ฐ์ ํ๊ณ๋ก ๋์ ์ฐฝ ์ ํ โ ์คํ ๊ฐ๋ฅํ (v, ฯ)๋ง, ํ๊ฐ = heading + dist + velocity
- ์ถฉ๋ ๊ฒ์ฌ: ๊ฒฝ๊ณ ๋ณผ๋ฅจ(๊ตฌ = ์ต๋จ์, ์บก์ = ๋งํฌ ํ์ค), ๋์ ๋จ๊ณ(ํ๋ณด ์ ๋ณ) โ ์ข์ ๋จ๊ณ(์ ๋ฐ). ์๊ธฐ์ถฉ๋๋ ๊ฒ์ฌ. C-space: ์ฅ์ ๋ฌผ ํฝ์ฐฝ + ๋ก๋ด์ ์ ์ทจ๊ธ
- ์์ ๊ณ์ฐ: TTC = d/v_rel, ์ ์ง๊ฑฐ๋ฆฌ = vยทt_{react} + \dfrac{v^2}{2a} โ ์ ๋๊ฑฐ๋ฆฌ๋ ์๋ ์ ๊ณฑ ๋น๋ก. ISO/TS 15066 ํ๋ 4๋ฐฉ์: ๊ฐ์ ์ ์งยทํธ๋ ๊ฐ์ด๋ฉยท์๋๋ถ๋ฆฌ ๊ฐ์ยท๋๋ ฅํ ์ ํ(์ ์ด ํ์ฉ)
๋ณต์ต: ๋จธ๋ํฐ๋ ์ดํฐ ๊ฒฝ๋ก๊ณํ ยท ์ด๋๋ก๋ด ์ ์ญ ๊ฒฝ๋ก๊ณํ ยท ์ด๋๋ก๋ด ์ง์ญ ๊ฒฝ๋ก๊ณํ ยท ๋จธ๋ํฐ๋ ์ดํฐ ์ถฉ๋ํํผ ยท ์ด๋๋ก๋ด ์ถฉ๋ํํผ
์ด๋์ง๋ฅ โ ์ง๋ยท์์น์ธ์ยทSLAM
- ์ง๋ 3์ข : ๊ฒฉ์์ง๋(์ ๋ณ ์ ์ ํ๋ฅ , ๋ฏธ์ง ์์ญ 0.5, ๋ฉ๋ชจ๋ฆฌ ํผ โ ๊ฒฝ๋ก๊ณํ ํ์ค), ํน์ง์ง๋(๋๋๋งํฌ ์ขํ๋ง, EKF ๊ถํฉ), ์์์ง๋(๋ ธ๋ยท๊ฐ์ ๊ทธ๋ํ, ๋๊ท๋ชจ ์์ ๊ณํ, ์ ๋ฐ ์ฃผํ ๋ถ์ ํฉ)
- ๊ฒฉ์ ์ ํฌ๊ธฐ ์ ๋ฐ โ ์ ์ 2D 4๋ฐฐยท3D 8๋ฐฐ. ๊ฐฑ์ ์ ๋ก๊ทธ ์ค๋(๊ณฑโ๋ง์ ), ๋น ํต๊ณผ ์ =๋น์ ์ ยท๋ถ๋ชํ ์ =์ ์ (์ญ์ผ์ ๋ชจ๋ธ)
- ์ค๋๋ฉํธ๋ฆฌ = ์์ฝ๋ ์ ๋ถ(์ถ์ธกํญ๋ฒ): v=\dfrac{v_R+v_L}{2}, ฯ=\dfrac{v_R-v_L}{L} โ ์ค์ฐจ ๋์ (๋๋ฆฌํํธ), ์ธ๋ถ ๊ด์ธก์ผ๋ก ๋ณด์ ํ์
- ์์น์ธ์ 3๋ฌธ์ (์ฌ์โ์ด๋ ค์): ์์น ์ถ์ (์ด๊ธฐ ์์น ์) โ ์ ์ญ ์์น์ธ์(๋ชจ๋ฆ) โ ๋ฉ์น ๋ก๋ด(์๊ฐ์ด๋ ์๊ฐยท์ฌ์ธ์)
- ๋ฒ ์ด์ฆ ํํฐ = ์์ธก(๋ชจ์ ๋ชจ๋ธ, ๋ถํ์ค์ฑโ) โ ๊ฐฑ์ (๊ด์ธก ๋ชจ๋ธ, ๋ถํ์ค์ฑโ) ๋ฐ๋ณต. ์ค์บ ๋งค์นญ ๋ํ ์๊ณ ๋ฆฌ์ฆ = ICP
| ๋ฐฉ๋ฒ | ๋ฏฟ์์ ํํ | ํน์ง |
|---|---|---|
| EKF | ๊ฐ์ฐ์์ 1๊ฐ(๋จ๋ด) | ๊ฐ๋ณ๊ณ ์ ๋ฐ, ์์น ์ถ์ ์ฉ โ ์ ์ญ ์ธ์ ๋ถ๊ฐ |
| ํํฐํด(MCL) | ํํฐํด ๋ค์(๋ค๋ด) | ์ ์ญยท๋ฉ์น ๋์(๋ฌด์์ ํํฐํด ์ถ๊ฐ), ๊ณ์ฐ โ ํํฐํด ์, ROS AMCL |
- SLAM = ์์น์ธ์+์ง๋์์ฑ ๋์(๋ญ-๋ฌ๊ฑ ๋ฌธ์ ). ํ๋ก ํธ์๋(ํน์ง ์ถ์ถยท์ค์บ ๋งค์นญยท๋ฐ์ดํฐ ์ฐ๊ด) / ๋ฐฑ์๋(๊ทธ๋ํ ์ต์ ํ). ๋ฃจํ ํ์ = ์ฌ๋ฐฉ๋ฌธ ์ธ์ โ ๋์ ์ค์ฐจ ๊ถค์ ์ ์ฒด ์ผ๊ด ๋ณด์
- ๊ธฐ๋ฒ ๊ณ๋ณด: EKF-SLAM(O(n^2) ํ๊ณ) โ FastSLAM(๊ถค์ ํํฐํด + ๋๋๋งํฌ EKF, Gmapping) โ ๊ทธ๋ํ SLAM(๋ ธ๋=ํฌ์ฆ, ๊ฐ์ =์ ์ฝ โ ํ๋ ํ์ค, Cartographer)
๋ณต์ต: ์ด๋๋ก๋ด ์ง๋ ์์ฑ ยท ์ด๋๋ก๋ด ์์น์ธ์ ยท ์ด๋๋ก๋ด SLAM
์ก์ถ์์ดํฐ ์ฌ์ยท๋ชจ๋ธ๋ง
- ์ ๊ธฐ(์ ๋ฐ ์ ์ด, ์ฃผ๋ฅ) / ์ ์(์ต๋ ํ, ๋ํ ์ค๋ถํ) / ๊ณต์(๊ฐ๋จยท๊นจ๋, ์ ๋ฐ ์์น์ ์ด ๊ณค๋). ์คํ ํ ๋ชจํฐ = ๊ฐ๋ฃจํ ์์น์ ์ด ๊ฐ๋ฅยท๊ณผ๋ถํ ์ ํ์กฐ, BLDC = ์ ์ ์ ๋ฅ๋ก ์๋ช ยทํจ์จโ
- ์ถ๋ ฅ P = ฯฯ (ฯ๋ rad/s๋ก ํ์ฐ!), ํ ํฌ ฯ = k_tยทi (์ ๋ฅ ๋น๋ก), SI์์ k_t = k_e
- ๊ฐ์๋น N: ์๋ 1/N, ํ ํฌ N๋ฐฐ, ๋ฐ์ฌ ๊ด์ฑ 1/N^2 โ J_{eq} = J_m + J_L/N^2. ๋ฐฑ๋์ ๊ทน์ ๊ฐ์๊ธฐ = ํ๋ชจ๋ ๋๋ผ์ด๋ธ. ๊ด์ฑ๋น ํฌ๋ฉด ์ ์ด ๋ถ์์
- ํ์ ํ ํฌ = J_{eq}ฮฑ(๊ฐ์) + ๋ง์ฐฐ + ์ค๋ ฅ โ ๊ฐ์ ๊ตฌ๊ฐ ์ต๋, ๊ฐ์ ๊ตฌ๊ฐ ์์ = ํ์(๋ฐ์ ๊ธฐ ๋์). ์ ์ 2๋ ์กฐ๊ฑด: RMS ํ ํฌ โค ์ ๊ฒฉ, ํผํฌ โค ์ต๋. ฯ_{rms}=\sqrt{ฮฃฯ_i^2 t_i / ฮฃt_i} โ ํด์ง ์๊ฐ๋ ๋ถ๋ชจ ํฌํจ
- ์ ํน์ฑ: V = Ri + k_e ฯ โ ๋ฌด๋ถํ ์๋ ฯ_0 = V/k_e, ์ค์(๊ธฐ๋) ํ ํฌ ฯ_s = k_t V/R. ํ ํฌ-์๋ = ์ฐํํฅ ์ง์ , ์ ์โ = ํํ์ด๋(PWM ์๋์ ์ด ์๋ฆฌ)
- ๋ํน์ฑ: ์ ๊ธฐ ์์ ์ ฯ_e = L/R โช ๊ธฐ๊ณ ์์ ์ ฯ_m โ JR/(k_t k_e) โ ์ ๋ฅ ๋ฃจํ๋ฅผ ์์ชฝ์ ๋๋ ๊ทผ๊ฑฐ. 1์ฐจ ์์คํ ์คํ ์๋ต: t = ฯ์์ 63.2% (2ฯ 86.5%, 3ฯ 95%)
- ๋ง์ฐฐ 3์ข : ์ ์ฑ(์๋ ๋น๋ก bฯ) / ์ฟจ๋กฑ(ํฌ๊ธฐ ์ผ์ ยท๋ฐฉํฅ ๋ฐ๋) / ์ ์ง(๊ฐ์ฅ ํผ, ์คํฑ-์ฌ๋ฆฝ ์์ธ)
๋ณต์ต: ์ก์ถ์์ดํฐ ์ฌ์ ๋ถ์ ยท ์ก์ถ์์ดํฐ ๋์ญํ์ ๊ตฌ๋ ํ๋กํ์ผ ยท ์ก์ถ์์ดํฐ ํน์ฑ ๋ชจ๋ธ๋ง ยท ์ก์ถ์์ดํฐ ๋์ญํ ๋ชจ๋ธ๋ง
์ ์ด๊ตฌ์กฐยท๊ฒ์ธ ํ๋
- PWM: V_{avg} = DรV_{DC} (๋ํฐ๋น D). H-๋ธ๋ฆฌ์ง: ๋๊ฐ์ ์ ON = ์ ยท์ญํ์ , ๊ฐ์ ์ชฝ ์ํ ๋์ ON = ์์ค๋ฃจ(๋จ๋ฝ) โ ๋ฐ๋ํ์ ์ฝ์ ํ์
- ์์ฝ๋: ์ธํฌ๋ฆฌ๋ฉํธ(AยทB์ 90ยฐ ์์์ฐจ๋ก ๋ฐฉํฅ ํ๋ณ, 4์ฒด๋ฐฐ โ ๋ถํด๋ฅ 360ยฐ/4P, ์ ์ ์ ์์น ์์ค โ ํธ๋ฐ ํ์) vs ์ฑ์๋ฃจํธ(์ ๋ ์์น ์ฆ์, ํธ๋ฐ ๋ถ์, ๊ณ ๊ฐ)
- PID: P = ํ์ฌ ์ค์ฐจ(๊ธฐ๋ณธ ํ) / I = ๊ณผ๊ฑฐ ๋์ โ ์ ์์ํ ์ค์ฐจ ์ ๊ฑฐ / D = ๋ณํ์จ โ ๊ฐ์ โยท์ค๋ฒ์ํธ ์ต์ , ๋ ธ์ด์ฆ ์ฆํญ. ์ด๋ ๊ฒ์ธ์ด๋ ๊ณผํ๋ฉด ์ง๋ โ ๋ฐ์ฐ
- ์บ์ค์ผ์ด๋ 3์ค ๋ฃจํ: ์์น(๋ฐ๊นฅ, P) โ ์๋(PI) โ ์ ๋ฅ(์, PI) โ ๋น ๋ฅธ ๋ฌผ๋ฆฌ๋์ด ์์ชฝ, ์ฃผ๊ธฐ๋ ์์ชฝ์ผ์๋ก ๋น ๋ฆ(์ ๋ฅ 10~20 kHz). ํ๋์ ์์ชฝ๋ถํฐ. ์ ๋ฅ ๋ฆฌ๋ฏธํธ = ํ ํฌ ๋ฆฌ๋ฏธํธ
- ํผ๋ํฌ์๋ = ์ง๋ น ๊ธฐ๋ฐ ์ฌ์ ๊ณ์ฐ(์๋ยท๊ฐ์๋ FF, ์ค๋ ฅ ๋ณด์) โ ์ธ๋์ ๋ชป ์ก์, ํผ๋๋ฐฑ๊ณผ ๋ณํ
- ZN ํ๊ณ ๊ฐ๋๋ฒ: K_i=K_d=0์์ K_pโ โ ์ง์ ์ง๋ ์ K_u, P_u ๊ธฐ๋ก โ PID: K_p=0.6K_u, T_i=0.5P_u, T_d=0.125P_u
- ์ ๋ถ ์์ธ๋์ : ์กฐ์๋ ํฌํ ์ค ์ ๋ถ ๋์ โ ํฐ ์ค๋ฒ์ํธยท์ ์ฐฉ ์ง์ฐ. ๋์ฑ = ํด๋จํ(์ ๋ถ ์ค์ง)ยท์ญ๊ณ์ฐ
๋ณต์ต: ์ก์ถ์์ดํฐ ๊ตฌ๋์๋ฆฌ ยท ์ก์ถ์์ดํฐ ์ ์ด๊ตฌ์กฐ ์ค๊ณ ยท ์ ์ด๊ธฐ ๊ฒ์ธ ์ค์
์๋ฒ ๋๋ยทํ์จ์ดยท์ฑ๋ฅ์ํ
- ์ค์๊ฐ = "๋น ๋ฆ"์ด ์๋๋ผ ๋ฐ๋๋ผ์ธ ๋ณด์ฅ(๊ฒฐ์ ๋ก ). ํ๋(์ ๋ฅ ์ ์ดยท๋น์์ ์ง โ ๋ฏธ์ค = ์ฌ๊ณ ) vs ์ํํธ(๋ก๊ทธยท๋ชจ๋ํฐ๋ง). ํ๋จ ๊ธฐ์ค์ ํ๊ท ์๋ WCET
- ์ธํฐ๋ฝํธ(์ฆ๊ฐ ์๋ต) vs ํด๋ง(๋ฃจํ๋ง๋ค ํ์ธ). ISR ๊ท์น: ์งง๊ฒ(ํ๋๊ทธ๋ง ์ธ์ฐ๊ณ ๋ฉ์ธ์ ์์), ๊ณต์ ๋ณ์ volatile. ์์น๋ ํ์ด๋จธ = ํฅ ๋๊ธฐ๋ฉด ์๋ ๋ฆฌ์ . ํฌ๋ก์ค ์ปดํ์ผ = ํธ์คํธ PC์์ ํ๊น(ARM)์ฉ ๋น๋
- ํ์จ์ด 3๊ณ์ธต: ์์ฉ(์ ์ดยท์ํ๋จธ์ ) / ๋ฏธ๋ค์จ์ด(ํต์ ์คํ) / HAL(๋ ์ง์คํฐ ์ถ์ํ โ ์ด์์ฑ). ์คํ ๊ตฌ์กฐ: ์ํผ๋ฃจํ / ์ ๊ฒฝยท๋ฐฐ๊ฒฝ(์ธํฐ๋ฝํธ ๊ธฐ๋ฐ) / RTOS(์ฐ์ ์์ ์ ์ ํ)
- ์ฐ์ ์์ = Rate Monotonic(์ฃผ๊ธฐ ์งง์์๋ก ๋์): ์ ๋ฅ(+๊ณผ์ ๋ฅ ๋ณดํธ) > ์๋ > ์์น > ํต์ . CPU ์ฌ์ฉ๋ฅ U=ฮฃ C_i/T_i โค ์ฝ 70% ์ฌ์
- ์ํ ๋จธ์ : ์ด๊ธฐํ โ ๋๊ธฐ(์๋ณด OFF) โ ์ด์ โ Fault(์ฆ์ ์ ๋ ฅ๋จ ์ฐจ๋จ, ์๋ ์ฌ๊ธฐ๋ ๊ธ์ง). ํ์ผ์ธ์ดํ: ํต์ ๋์ ์ ๋ง์ง๋ง ์ง๋ น ์ ์ง X โ ๊ฐ์ ์ ์ง. ํต์ ํ์ค = CAN. ๋ถํธ๋ก๋ = ๊ฒ์ฆยท์ด๊ด + ํ์จ์ด ์ ๋ฐ์ดํธ
- X-in-the-Loop ์์: MIL(๋ชจ๋ธ+๋ชจ๋ธ) โ SIL(์ค์ฝ๋, PC) โ PIL(์ค์ฝ๋, ์คMCU) โ HIL(์ค์ ์ด๊ธฐ + ์ค์๊ฐ ์๋ฎฌ๋ ์ดํฐ โ ์ํ ์กฐ๊ฑด์ ์ค๋ฌผ ํ์ ์์ด ๋ฐ๋ณต) โ ์ค๋ฌผ. ์คํ ์ ๋ ฅ = ๊ณผ๋ ์๋ต, ์ฒํ = ์ฃผํ์ ์๋ต, ์ธ๋ ์ํ = ๋ค์ด๋๋ชจ๋ฏธํฐ๋ก ๋ถํ ๊ธ๋ณ
- ์คํ ์๋ต ์งํ: ์์น์๊ฐ = 10โ90%, ์ค๋ฒ์ํธ = (ํผํฌโ์ต์ข )/์ต์ข ๊ฐร100, ์ ์ฐฉ์๊ฐ = ยฑ2%(๋๋ ยฑ5%) ๋ฐด๋ ์ง์ ํ ์ฌ์ดํ ์์, ๋์ญํญ = โ3 dB(โ0.707) ์ฃผํ์. ์์ ์ฌ์ : PM 30~60ยฐ, GM โฅ 6 dB
- ์ฆ์๋ณ ์ฒ๋ฐฉ: ์ค๋ฒ์ํธยท์ง๋ = ๊ฐ์ ๋ถ์กฑ(K_pโ/K_dโ), ์๋ฅ ์ค์ฐจ = K_iโยท์ค๋ ฅ ๋ณด์, ๊ฐ์ ๊ตฌ๊ฐ๋ง ์ค์ฐจ ๊ธ์ฆ = ํ ํฌ(์ ๋ฅ) ํฌํ โ ๊ฒ์ธ์ผ๋ก ๋ชป ๊ณ ์นจ(ํ๋กํ์ผ ์ํยท์ฉ๋ ์ฌ๊ฒํ ), ๊ณต์ง ํผํฌ = ๋ ธ์น ํํฐยท๊ธฐ๊ณ ๊ฐ์
๋ณต์ต: ์๋ฒ ๋๋ ํ๋ก๊ทธ๋๋ฐ ํน์ฑ ยท ๋ก๋ด ์ก์ถ์์ดํฐ ํ์จ์ด ๊ตฌ์กฐ ยท ๋ก๋ด ์ก์ถ์์ดํฐ ํ์จ์ด ์ค๊ณ ยท ์ ์ด๊ธฐ ์ํํธ์จ์ด ์ฑ๋ฅ์ํ ยท ์ ์ด๊ธฐ ์ํํ๊ฐ ๊ฒฐ๊ณผ ์ฑ๋ฅ ๋ถ์
2๊ณผ๋ชฉ ๋ก๋ด ์ํํธ์จ์ด ๊ตฌ์กฐ์ค๊ณ
OSยท์ค์๊ฐ
- ๋ฒ์ฉ OS(๊ณตํยทํ๊ท ์ฑ๋ฅ, ์ง์ฐ ๋น๊ฒฐ์ ์ ) vs RTOS(๋ฐ๋๋ผ์ธ ์ ์๋ต ๋ณด์ฅ = ๊ฒฐ์ ๋ก , ์ฐ์ ์์ ๊ธฐ๋ฐ ์ ์ ํ). ์ค์๊ฐ = "๋น ๋ฆ"์ด ์๋๋ผ "์ ํด์ง ์๊ฐ ์ ์๋ต ๋ณด์ฅ" โ ๊ฒฝ์ฑ(๋ชจํฐ ์ ๋ฅ ๋ฃจํ: ์๋ฐ ์ ์ฌ๊ณ ) / ์ฐ์ฑ(ํ๋ฉด ๊ฐฑ์ : ํ์ง ์ ํ)
- ์ฐ์ ์์ ์ญ์ : ๋ฎ์(L)์ด ์ฅ ์์์ ๋์(H)์ด ๊ธฐ๋ค๋ฆฌ๋ ์ฌ์ด ์ค๊ฐ(M)์ด L์ ์ ์ โ H๊ฐ ๋ฐ๋ฆผ. ํด๊ฒฐ: ์ฐ์ ์์ ์์(L์ H๋ก ์ ์ ์น๊ฒฉ)ยท์ฐ์ ์์ ์ฒ์ฅ
- 2๊ณ์ธต ๊ตฌ์ฑ: ์์ = ์๋ฒ ๋๋ PC์ Linux+๋ฏธ๋ค์จ์ด(๊ณํยท์ธ์ง) / ํ์ = MCU์ RTOSยท๋ฒ ์ด๋ฉํ(๋ชจํฐยท๋น์์ ์ง). ๋ฆฌ๋ ์ค ์ค์๊ฐํ: PREEMPT_RT ํจ์น, Xenomai(์ด์ค ์ปค๋)
- ๋ํ RTOS: FreeRTOSยทVxWorksยทQNX. ํจ์ : ROS๋ OS๊ฐ ์๋๋ผ ๋ฏธ๋ค์จ์ด(์ค์ผ์ค๋งยท๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ ๋ฆฌ๋ ์ค ๋ชซ)
๋ณต์ต: ๋ก๋ด ์ํํธ์จ์ด ์ด์์ฒด์
ํต์ ํ๋กํ ์ฝ
| UART | SPI | I2C | |
|---|---|---|---|
| ์ ํธ์ ยท๋ฐฉ์ | 2์ , ๋น๋๊ธฐ(๋ณด๋ ์ดํธ) 1:1 | 4์ , ๋๊ธฐยท๊ณ ์ ์ ์ด์ค, ์ฌ๋ ์ด๋ธ๋ง๋ค SS์ | 2์ (SDAยทSCL), ๋๊ธฐ, ์ฃผ์๋ก ๋ค์ค ์ฌ๋ ์ด๋ธ |
- RS-232(์ฑ๊ธ์๋ยท1:1ยท~15 m) vs RS-485(์ฐจ๋ยท๋ฉํฐ๋๋กญยท~1.2 kmยท๋ด๋ ธ์ด์ฆ)
- CAN: ์ฐจ๋ 2์ ยท๋ฉํฐ๋ง์คํฐยท๋นํ๊ดด ๋นํธ ์ค์ฌ โ ID๊ฐ ์์์๋ก ์ฐ์ (๋น์์ ์ง์ ์์ ID). ํด๋์ 8๋ฐ์ดํธ/CAN FD 64๋ฐ์ดํธ, CRC ์ค๋ฅ ๊ฒ์ถ
- EtherCAT: ํ๋ ์ ํต๊ณผ ์ค ์ฒ๋ฆฌ(processing on the fly) + ๋ถ์ฐ ํด๋ก(ยตs๊ธ ๋ค์ถ ๋๊ธฐ)
- TCP(์ฐ๊ฒฐ์งํฅยท์ฌ์ ์กยท์์ ๋ณด์ฅ โ ๋ช ๋ นยท์ค์ ) vs UDP(๋น์ฐ๊ฒฐยท์ ์ง์ฐ โ ์์ ์คํธ๋ฆผยท์ฃผ๊ธฐ ์ํ)
- OSI 7๊ณ์ธต ์์: ๋ฌผ๋ฆฌโ๋ฐ์ดํฐ๋งํฌโ๋คํธ์ํฌโ์ ์กโ์ธ์ โํํโ์์ฉ (TCP/UDP=์ ์ก, IP=๋คํธ์ํฌ, ํ๋๋ฒ์ค=๋ฌผ๋ฆฌ+๋ฐ์ดํฐ๋งํฌ)
๋ณต์ต: ๋ก๋ด ๊ตฌ์ฑ ์์ ๊ฐ ํต์ ํ๋กํ ์ฝ
๋ฏธ๋ค์จ์ด(ROSยทDDS)ยท์ ์ด ๊ตฌ์กฐ
- ๋ฏธ๋ค์จ์ด = OS์ ์์ฉ ์ฌ์ด ๊ณ์ธต: ์ด๊ธฐ์ข ํตํฉยท๋ถ์ฐ ํต์ ยท๋ชจ๋ ์ฌ์ฌ์ฉ
- ํต์ 3์ข : ํ ํฝ(๋ฐํ-๊ตฌ๋ , ๋น๋๊ธฐ ์คํธ๋ฆผ) / ์๋น์ค(์์ฒญ-์๋ต, ๋๊ธฐ) / ์ก์ (๋ชฉํ-ํผ๋๋ฐฑ-๊ฒฐ๊ณผ, ์ทจ์ ๊ฐ๋ฅ โ ์ฅ์๊ฐ ์์ ). ๋ฐํ-๊ตฌ๋ ์ฅ์ = ์๋ก์ ์กด์ฌ๋ฅผ ๋ชฐ๋ผ๋ ๋จ(๋ฎ์ ๊ฒฐํฉ)
- ROS 1โ2: ๋ง์คํฐ roscore(๋จ์ผ ์คํจ์ ) ์ ๊ฑฐ โ DDS ๋ถ์ฐ ๋์ค์ปค๋ฒ๋ฆฌ + QoS(reliable/best-effortยทhistory), ์ค์๊ฐยท๋ณด์ยทmicro-ROS
- ๋งค์นญ: OPRoS=ํ๊ตญ, RT-Middleware=์ผ๋ณธ AIST(OMG RTC ํ์ค), OROCOS=์ ๋ฝยท์ค์๊ฐ ์ ์ด
- ์ ์ด ๊ตฌ์กฐ 3๋ ํจ๋ฌ๋ค์: ์๊ณ ํ SPA(์ธ๊ณ ๋ชจ๋ธยท์ต์ ๊ณํ, ๋ฐ์ ๋๋ฆผ) / ๋ฐ์ํ ํฌ์ญ ๊ตฌ์กฐ(Brooks โ ์์ ํ๋์ด ํ์๋ฅผ ์ต์ , ๋น ๋ฅด์ง๋ง ์ฅ๊ธฐ ๊ณํ ๋ถ๊ฐ) / ํผํฉํ 3๊ณ์ธต(์๊ณ โ์คํโ๋ฐ์)
- ํ๋ ์ค์๊ฐ ๋ฃจํ๋ ๋ฏธ๋ค์จ์ด ๊ฒฝ์ ๊ธ์ง(์งํฐ) โ ํ์ ํ์จ์ด์. ๊ณ์ธตํ ์์น: ์์ธต์ ์๋์ธต์ ์ธํฐํ์ด์ค๋ง ์ฌ์ฉ
๋ณต์ต: ๋ก๋ด ์ํํธ์จ์ด ๊ตฌ์กฐ ์ค๊ณ ยท ๋ก๋ด ๋ฏธ๋ค์จ์ด ๊ตฌ์กฐ ์ค๊ณ
๋ชจ๋ํยทํ๋ก์ธ์ค ๊ด๋ฆฌ
- ์์ง๋(๋์์๋ก ์ข์, ๋์ ์): ๊ธฐ๋ฅ์ > ์์ฐจ์ > ํต์ ์ > ์ ์ฐจ์ > ์๊ฐ์ > ๋ ผ๋ฆฌ์ > ์ฐ์ฐ์ โ ์ด๊ธฐํ ๋ชจ๋=์๊ฐ์ ์์ง
- ๊ฒฐํฉ๋(๋ฎ์์๋ก ์ข์, ๋ฎ์ ์): ์๋ฃ < ์คํฌํ(๊ตฌ์กฐ์ฒด ์ ์ฒด) < ์ ์ด(ํ๋๊ทธ) < ์ธ๋ถ < ๊ณตํต(์ ์ญ ๋ณ์) < ๋ด์ฉ(๋ด๋ถ ์ง์ ์ฐธ์กฐ)
- ์ ๋ณด ์๋ = ์ธํฐํ์ด์ค๋ง ๊ณต๊ฐํด ๋ณ๊ฒฝ ์ฌํ๋ฅผ ๋ชจ๋ ์์ ๊ฐ๋ . ํฌ์ธ=ํธ์ถ๋ฐ๋ ์(์ฌ์ฌ์ฉ ์งํ) / ํฌ์์=ํธ์ถํ๋ ์(๊ณผ๋ค ์ ๋ณต์ก)
- ํ๋ก์ธ์ค ์ํ: ์ค๋น=CPU๋ง ๊ธฐ๋ค๋ฆผ / ๋๊ธฐ=I/O ๊ธฐ๋ค๋ฆผ โ ๋๊ธฐ๊ฐ ๋๋๋ฉด ์คํ์ด ์๋๋ผ ์ค๋น๋ก
- ํ๋ก์ธ์ค(๋ ๋ฆฝ ๋ฉ๋ชจ๋ฆฌยท์ฅ์ ๊ฒฉ๋ฆฌ) vs ์ค๋ ๋(์คํ๋ง ๊ฐ๋ณ, ์ฝ๋ยท์ ์ญยทํ ๊ณต์ ). IPC: ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์ต์(๋ณต์ฌ ์์, ๋๊ธฐํ ํ์), ์์ผ๋ง ์ปดํจํฐ ๊ฐ ๊ฐ๋ฅ
- ๋ฎคํ ์ค(1๊ฐ ์์, ์์ ์๋ง ํด์ ) vs ์ธ๋งํฌ์ด(์นด์ดํฐ๋ก N๊ฐ). ๊ต์ฐฉ์ํ 4์กฐ๊ฑด(๋ชจ๋ ์ฑ๋ฆฝํด์ผ): ์ํธ ๋ฐฐ์ ยท์ ์ ์ ๋๊ธฐยท๋น์ ์ ยท์ํ ๋๊ธฐ โ ์๋ฐฉ: ์์ ํ๋ ์์ ํต์ผ
- ROS 2 ๋ผ์ดํ์ฌ์ดํด ๋ ธ๋: UnconfiguredโInactiveโActiveโFinalized (๊ธฐ๋ ์์ ๋ณด์ฅ)
๋ณต์ต: ๋ชจ๋ํ ํ๋ก๊ทธ๋๋ฐ ยท ๋ฏธ๋ค์จ์ด ํ๋ก์ธ์ค ๊ด๋ฆฌ
์์คํ ํตํฉยท์ต์ ํยท์ํํ๊ฐ
- V-๋ชจ๋ธ ์ง: ์๊ตฌ์ฌํญโ์ธ์, ์์คํ ์ค๊ณโ์์คํ ์ํ, ์ํคํ ์ฒโํตํฉ, ์์ธ ์ค๊ณโ๋จ์
- ํตํฉ ์ ๋ต: ๋น ๋ฑ (ํ๊บผ๋ฒ์ โ ๊ฒฐํจ ์์น ๋ชป ์ฐพ์) / ํํฅ์โ์คํ (๊ฐ์ง ํ์) / ์ํฅ์โ๋๋ผ์ด๋ฒ(๊ฐ์ง ์์) / ์๋์์น(๋ณํ). ICD=์ธํฐํ์ด์ค ๊ณ์ฝ ๋ฌธ์(๊ธฐ๊ณยท์ ๊ธฐยทSW)
- ์ต์ ํ ์ฌ์ดํด: ์ธก์ (ํ๋กํ์ผ๋ง)โ๋ณ๋ชฉ ์๋ณโ๊ฐ์ โ์ฌ์ธก์ ยทํ๊ท ์ํ. ์กฐ๊ธฐ ์ต์ ํ๋ ๋ง์ ์ ๊ทผ์. ํจ๊ณผ ์: ์๊ณ ๋ฆฌ์ฆ > ์๋ฃ๊ตฌ์กฐ > ์ฝ๋. LUT=๊ณต๊ฐ์ผ๋ก ์๊ฐ ๊ตฌ๋งค
- ์๋ฌ์ ๋ฒ์น: S=1/((1-p)+p/s), ์ํ 1/(1-p) โ 40%๋ฅผ ๋ฌดํํ ๊ฐ์ ํด๋ ์ต๋ 1.67๋ฐฐ
- V&V: ๊ฒ์ฆ(Verification)="์ฌ๋ฐ๋ฅด๊ฒ ๋ง๋ค์๋"(์ฌ์๋๋ก) / ํ์ธ(Validation)="์ฌ๋ฐ๋ฅธ ์ ํ์ธ๊ฐ"(์ฌ์ฉ์ยท์คํ๊ฒฝ). ์ํ ๋ ๋ฒจ: ๋จ์โํตํฉโ์์คํ โ์ธ์
- ๋ธ๋๋ฐ์ค(๋๋ฑ ๋ถํ ยท๊ฒฝ๊ณ๊ฐ ๋ถ์) vs ํ์ดํธ๋ฐ์ค(๊ตฌ๋ฌธยท๋ถ๊ธฐ ์ปค๋ฒ๋ฆฌ์ง). ํฉ๊ฒฉ ๊ธฐ์ค์ ์ํ ๊ณํ ๋จ๊ณ์ ๋ฏธ๋ฆฌ
- ISO 9283: ์ ํ๋=์ง๋ น๊ณผ ๋๋ฌ ํ๊ท ์ ์ฐจ / ๋ฐ๋ณต ์ ๋ฐ๋=์ฐํฌ(ํ์ฐฉ๊ตฐ) โ ์ ๋ฐํ๋ ๋ถ์ ํ โ ์บ๋ฆฌ๋ธ๋ ์ด์ ์ผ๋ก ๋ณด์ ๊ฐ๋ฅ
- IP ๋ฑ๊ธ ์ฒซ์งธ=๋ฐฉ์ง(0~6)ยท๋์งธ=๋ฐฉ์. ์์ ํ์ค: ISO 10218 ์ฐ์ ์ฉ / TS 15066 ํ๋ / 13482 ์๋น์ค. ๊ฐ์ฉ๋ A=MTBF/(MTBF+MTTR)
๋ณต์ต: ๋ก๋ด ์์คํ ํตํฉ ์ค๊ณ ยท ๋ก๋ด ์์คํ ์ต์ ํ ยท ๋ก๋ด ์์คํ ํ๊ฐ์ ์ฐจ ยท ๋ก๋ด ์์คํ ์ํํ๊ฐ
์๊ตฌ์ฌํญ ๋ถ์ (ํ๋์จ์ดยทํ๊ฒฝยท์ฌ์ฉ์ยท์๋๋ฆฌ์ค)
- 5๋ ๊ตฌ์ฑ์์: ๊ธฐ๊ตฌ(๊ณจ๊ฒฉ)ยท๊ตฌ๋(๊ทผ์ก)ยท์ผ์(๊ฐ๊ฐ)ยท์ ์ด(๋๋)ยท์ ์(์ฌ์ฅ). ๋ด๊ณ ์ผ์(์์ฝ๋ยทIMUยท์ ๋ฅ) vs ์ธ๊ณ ์ผ์(์นด๋ฉ๋ผยทLiDARยทGPS). ๊ฐ์๊ธฐ: ํ๋ชจ๋(๋ฌด๋ฐฑ๋์ยท์ํ ์๋ชฉ) vs RV(๊ณ ๊ฐ์ฑยท๊ธฐ์ ์ถ)
- ์ขํํ: ์ง๊ต PPP=์ง์ก๋ฉด์ฒด / ์ํต RPP / ๊ทน์ขํ RRP=๊ตฌํ / SCARA(์ํ ์ ์ฐยท์์ง ๊ฐ์ฑ โ ์ํ ์กฐ๋ฆฝ ์ต์ ) / ์์ง ๋ค๊ด์ RRR(์์ ์์ญ ์ต๋ยท๋ฒ์ฉ) / ๋ณ๋ ฌ(๊ณ ์ยท๊ณ ๊ฐ์ฑยท์์ ์์ญ ์ข์)
- ์ด๋๋ก๋ด: ์ฐจ๋ ๊ตฌ๋(์ ์๋ฆฌ ํ์ Oยท๋ ผํ๋ก๋ ธ๋ฏน) / Ackermann(์ต์ ํ์ ๋ฐ๊ฒฝยท์ ์๋ฆฌ ํ์ X) / ์ ๋ฐฉํฅ ๋ฉ์นด๋(ํ๋ก๋ ธ๋ฏนยทํก์ด๋ O)
- ํ๊ฒฝ 3์ถ: ์ ํ/๋น์ ํยท์ ์ /๋์ ยท์ค๋ด/์ค์ธ โ ์ค๋ด=GPS ๋ถ๊ฐโSLAM ํ์, ์ ๋ฆฌ๋ฒฝ=LiDAR ํฌ๊ณผโ์ด์ํ ๋ณ์ฉ(์ผ์ ์ตํฉ)
- ๋ถํด๋ฅ(์ต์ ๊ตฌ๋ณ)โ ์ ํ๋(์ฐธ๊ฐ ๊ทผ์ )โ ์ ๋ฐ๋(์ฐํฌ). ๋๋ฆฌํํธ=IMU ์ ๋ถ ์ค์ฐจ ์ฃผ๋ฒ. ์ ๊ฒฉ ํ ํฌ(์ฐ์) vs ์ต๋ ํ ํฌ(์์) โ ๊ณ ์จ์์ ๋๋ ์ดํ
- ์ฌ์ฉ์ 4์ ํ(์ง์ ยท๊ฐ์ ยท์ ์ง๋ณด์์ยท์ 3์=์์ ยท์๋ ํ์ ๋์)ยทํน์ฑ 3์ถ(์ ์ฒดยท์ธ์งยท์ฌ๋ฆฌ)ยทํ๋ฅด์๋. ๋ก๊ทธ=์ ๋("์"๋ ๋ชจ๋ฆ) + ๊ด์ฐฐ=์ ์ฑ ๋ณํ. HTA=๋ชฉํ์ ๊ณ์ธต ๋ถํด
- ์๋๋ฆฌ์ค ๊ตฌ์ฑ: ์ฌ์ ์กฐ๊ฑดโํธ๋ฆฌ๊ฑฐโ์ ์/๋์(๊ณ์ ์งํ)/์์ธ(๋ถ๊ฐ โ ์์ ์ํ ์๋ ด)โ์ฌํ ์กฐ๊ฑด. ์ ์ค์ผ์ด์ค=๋ชฉํ ๋จ์, ์๋๋ฆฌ์ค=๊ทธ ํ ์คํ ๊ฒฝ๋ก
- ์์ ์คํ ๊ตฌ์กฐ: FSM(์ง๊ด์ ยท์ํ ๋ง์ผ๋ฉด ์กฐํฉ ํญ๋ฐ) vs ํ๋ ํธ๋ฆฌ(์ํ์ค=๋ชจ๋ ์ฑ๊ณตํด์ผ, ์ ๋ ํฐ=ํด๋ฐฑ; ์์ธ ๋ง์ ๋๊ท๋ชจ์ ์ ๋ฆฌ)
๋ณต์ต: ๋ก๋ด ๊ตฌ์ฑ์์ ยท ๋ก๋ด ๊ตฌ์กฐ์ ๋ฐ๋ฅธ ๋ถ๋ฅ ยท ๋ก๋ด ์์ ํ๊ฒฝ ๋ถ์ ยท ์ผ์ ๋ฐ ๊ตฌ๋์ฅ์น์ ์ฑ๋ฅํ๊ฒฝ ๋ถ์ ยท ์ฌ์ฉ์ ํน์ฑ์ ๋ถ์ ยท ๋ก๋ด ์ฌ์ฉํจํด ๋ถ์ ยท ๋ก๋ด ์์ ์๋๋ฆฌ์ค ์์ฑ ยท ์์ ์๋๋ฆฌ์ค๋ณ ์ํํธ์จ์ด ๊ตฌํ๊ธฐ์
์ํคํ ์ฒ ์ค๊ณยท๊ฒ์ฆ
- ์ํคํ ์ฒ๋ ๊ธฐ๋ฅ์ด ์๋๋ผ ํ์ง ์์ฑ(๋น๊ธฐ๋ฅ) ์ด ๊ฒฐ์ โ ์ํคํ ์ฒ ๋๋ผ์ด๋ฒ(ํต์ฌ ๊ธฐ๋ฅ+ํ์ง+์ ์ฝ)๋ฅผ ์ธก์ ๊ฐ๋ฅํ ์๋๋ฆฌ์ค("ํํผ ๋ฐ์ 100 ms ์ด๋ด")๋ก ๊ธฐ์
- 4+1 ๋ทฐ: ๋ ผ๋ฆฌ(ํด๋์ค)ยทํ๋ก์ธ์ค(๋์์ฑ โ ROS ๊ณ์ฐ ๊ทธ๋ํ)ยท๊ฐ๋ฐ(ํจํค์ง)ยท๋ฌผ๋ฆฌ(HW ๋ฐฐ์น=๋ฐฐ์น ๋ค์ด์ด๊ทธ๋จ) + ์ ์ค์ผ์ด์ค(์๋๋ฆฌ์ค)
- ์คํ์ผ ๋งค์นญ: ๊ณ์ธตํ(ํ์ ๊ต์ฒดยท์ด์) / ํ์ดํโํํฐ(์ผ์ ํ์ดํ๋ผ์ธ) / ๋ฐํโ๊ตฌ๋ (๋ฎ์ ๊ฒฐํฉ, ์ถ์ ์ด๋ ค์) / ๋ธ๋๋ณด๋(์ธ๊ณ ๋ชจ๋ธ ๊ณต์ ) / ํด๋ผ์ด์ธํธโ์๋ฒ(์๋ฒ=๋ณ๋ชฉยท๋จ์ผ ์คํจ์ ) / MVC(๊ด์ UI)
- ํ๋ ์์ํฌ = ์ ์ด์ ์ญ์ (IoC)(๋ด ์ฝ๋๊ฐ ํธ์ถ๋นํจ) vs ๋ผ์ด๋ธ๋ฌ๋ฆฌ(๋ด๊ฐ ํธ์ถ). ROS=์ํ๊ณยทOROCOS=์ค์๊ฐยทOpenRTM=RTC ํ์ค. ์๋ฎฌ๋ ์ดํฐ์ ํ๊ณ=Sim-to-Real Gap, CI=์ฌ๋ฆด ๋๋ง๋ค ์๋ ๋น๋ยท์ํ
- OO 4๋ ํน์ง: ์บก์ํยท์์ยท๋คํ์ฑยท์ถ์ํ. ์งํฉ(๋น ๋ง๋ฆ๋ชจยท๋ถ๋ถ ๋ ๋ฆฝ ์์กด) vs ํฉ์ฑ(์ฑ์ด ๋ง๋ฆ๋ชจยท์๋ช ์ฃผ๊ธฐ ๊ณต์ ). SOLID: ๋จ์ผ ์ฑ ์ยท๊ฐ๋ฐฉ-ํ์(ํ์ฅ ์ด๋ฆผยท์์ ๋ซํ)ยท๋ฆฌ์ค์ฝํ ์นํยท์ธํฐํ์ด์ค ๋ถ๋ฆฌยท์์กด์ฑ ์ญ์ (์ถ์์ ์์กด)
- CASE: ์์=๋ถ์ยท์ค๊ณ / ํ์=๊ตฌํยท์ํ. ์๊ณตํ(๋ชจ๋ธโ์ฝ๋)ยท์ญ๊ณตํ(์ฝ๋โ๋ชจ๋ธ)ยท์ฌ๊ณตํ(์ญ๊ณตํ+๊ฐ์ ). MBD ๊ฒ์ฆ ์์: MILโSILโHIL
- ๊ฒํ ๊ฒฉ์ ์: ๋๋ฃ ๊ฒํ < ์ํฌ์ค๋ฃจ(์์ฑ์ ์ฃผ๋) < ์ธ์คํ์ (์ค์ฌ์ ์ฃผ๋ยท์ฒดํฌ๋ฆฌ์คํธยท๊ฒ์ถ๋ฅ ์ต๊ณ ). ATAM=ํ์ง ์๋๋ฆฌ์ค๋ก ์ํยท๋ฏผ๊ฐ์ ยท์ ์ถฉ์ ๋ถ์
- ์ค๋ฅ(์ฌ๋ ์ค์)โ๊ฒฐํจ(์ฐ์ถ๋ฌผ์ ํ )โ๊ณ ์ฅ(์คํ ์ค ๋ฐํ). FTA=์ฌ๊ณ โ์์ธยทํํฅยท์ฐ์ญ(AND/OR ๊ฒ์ดํธ) vs FMEA=๊ณ ์ฅ๋ชจ๋โ์ํฅยท์ํฅยท๊ท๋ฉ(RPN=์ฌ๊ฐ๋ร๋ฐ์๋ร๊ฒ์ถ๋). ์์ ์ค๊ณ: fail-safeยท์ด์คํยท์์น๋ ยท๊ฒฉ๋ฆฌยท์ถํด ์ด์
๋ณต์ต: ๋ก๋ด ์ํํธ์จ์ด ์ํคํ ์ฒ ๋ชจ๋ธ๋ง ยท ๋ก๋ด ์ํํธ์จ์ด ๊ฐ๋ฐํ๊ฒฝ ยท ๋ก๋ด ์ํํธ์จ์ด ์ํคํ ์ฒ ๋ถ๋ฅ ยท ๋ก๋ด ์ํํธ์จ์ด ํ๋ ์์ํฌ ยท ๋ก๋ด ์ํํธ์จ์ด ์ค๊ณ ๋๊ตฌ ยท ๊ฐ์ฒด์งํฅ ์ํํธ์จ์ด ์ค๊ณ ยท ๋ก๋ด ์ํํธ์จ์ด ์ํคํ ์ฒ ๊ฒ์ฆ ยท ๋ก๋ด ์ํํธ์จ์ด ์ํคํ ์ฒ ์ค๋ฅ๋ถ์
4๊ณผ๋ชฉ ์ง๋ฅ ์ํํธ์จ์ด
์์ ์๊ตฌ์ฌํญ ยท ๋ชฉํ์ฌ์
- ์๊ตฌ๊ณตํ 4๋จ๊ณ: ๋์ถโ๋ถ์โ๋ช ์ธโ๊ฒ์ฆ โ ๋ถ์=์ถฉ๋ ํด๊ฒฐยท์ฐ์ ์์ํ(MoSCoW), ๊ฒ์ฆ=์ดํด๊ด๊ณ์ ์๋์์ ์ผ์น ํ์ธ
- ๊ธฐ๋ฅ ์๊ตฌ=๋ฌด์์ ํ๋๊ฐ / ๋น๊ธฐ๋ฅ ์๊ตฌ=์ผ๋ง๋ ์(์ฑ๋ฅยท์ ๋ขฐ์ฑยท์์ ) โ ์ํคํ ์ฒ๋ ๋น๊ธฐ๋ฅ ์๊ตฌ๊ฐ ๊ฒฐ์
- ์ข์ ์๊ตฌ์ฌํญ 5ํน์ฑ: ๋ช ํ์ฑยท๊ฒ์ฆ ๊ฐ๋ฅ์ฑยท์์ ์ฑยท์ผ๊ด์ฑยท์ถ์ ๊ฐ๋ฅ์ฑ ("๋นจ๋ฆฌ ๋ฐฐ๋ฌ" โ "5๋ถ ์ด๋ด"๋ก ์ ๋ํ)
- ๊ฐ๋ฐํ์ค = ๋ฌผ์ฒด + ์๋์ดํํฐ(๊ทธ๋ฆฌํผ) ๋ฌด๊ฒ (๊ทธ๋ฆฌํผ ๋นผ๋จน๊ธฐ๊ฐ ์ ํ์ ํจ์ ). ์กฐ๋ฆฝ ๊ณต์ฐจ โ ๋ฐ๋ณต ์ ๋ฐ๋ ๋์กฐ
- ์ง๋ ฌ ์์ ์ฑ๊ณต๋ฅ = ๋จ๊ณ ์ฑ๊ณต๋ฅ ์ ๊ณฑ โ ์ต์ฝ ๋จ๊ณ ๊ฐ์ ์ด ์ต์ฐ์ , ์ฌ์ดํด ํ์๋ ๋ณ๋ชฉ ๋จ๊ณ๊ฐ ์ง๋ฐฐ
- ๋ชฉํ์ฌ์ 3๋ ์๊ฑด: ์ ๋์ฑยท์ธก์ ์กฐ๊ฑด ๋ช ์ยท๋ฌ์ฑ ๊ฐ๋ฅ์ฑ. ์์ฉ ๊ธฐ์ค(ํฉ๊ฒฉ ํ์ ๋ฒ)์ ์ํ ์ ์ ํ์
- ์ถ์ ์ฌ์ฌ: ์๊ตฌ์ฌํญ โ ๋ชฉํ์ฌ์ โ ์ค๊ณ โ ์ํ. ์์ถฉ ๋ชฉํ๋ ์ฐ์ ์์ ๋ช ์(์์ > ์ฑ๊ณต๋ฅ > ์๋)
๋ณต์ต: ์์ ์๊ตฌ์ฌํญ ๋ถ์ ยท ๋ก๋ด ์ฑ๋ฅ ๋ถ์ ยท ์์ ์ง๋ฅ ์ํํธ์จ์ด ๋ชฉํ์ฌ์
์์ ์ง๋ฅ ์ค๊ณ ยท ์ฃผ๋ณ์ฅ์น ์ธํฐํ์ด์ค
- ์์ ์ง๋ฅ 3์์: ๊ณํ(Planning)โ์คํ(Execution)โ๊ฐ์(Monitoring). ์คํจ ๋์ ์ฌ๋ค๋ฆฌ: ์ฌ์๋ โ ์ฌ๊ณํ โ ์ถํดยท์ธ๊ณ
- STRIPS์ ํ๋ = ์ ์ ์กฐ๊ฑด(์คํ ๊ฐ๋ฅ ์กฐ๊ฑด) + ํจ๊ณผ(์คํ ํ ์ํ ๋ณํ) โ ๊ณํ๊ธฐ๊ฐ ํ๋ ์์๋ฅผ ์ค์ค๋ก ์ถ๋ก
- ๊ณํ=ํ๋์ ์์ / ์ค์ผ์ค๋ง=์๊ฐยท์์ ๋ฐฐ๋ถ. ์์ ์ง๋ฅ์ 3๊ณ์ธต ๊ตฌ์กฐ์ ์๊ณ ์ธต+์คํ์ธต, ์ธ๊ณ ๋ชจ๋ธ์ ๋ธ๋๋ณด๋ ์คํ์ผ
- ์ธํฐํ์ด์ค ์ ํ: ๋จ์ On/Off=๋์งํธ I/O(24 V), ๋ค์ ์ค๋นยท๊ตฌ์กฐํ=ํ๋๋ฒ์ค(CANยทModbus), ๋์ฉ๋ยท์๊ฒฉ=๋คํธ์ํฌ
- ๋น์์ ์งยท์์ ์ธํฐ๋ก = SW ๋ฏธ๊ฒฝ์ ํ๋์์ด์ด๋(์ง๊ฒฐ) ์์น โ SW๋ ์์ ์ ์ตํ ๋ณด๋ฃจ๊ฐ ์๋๋ค
- ํธ๋์ ฐ์ดํฌ: ์์ฒญ โ ์๋ต ํ์ธ ํ์๋ง ์งํ + ๊ฐ ๋จ๊ณ ํ์์์ ์์ธ ์ฒ๋ฆฌ. ์ฅ์น๋ ๋๋ผ์ด๋ฒ ๋ชจ๋๋ก ์บก์ํ, ์คํ ์ผ๋ก ์ฌ์ ์ํ
๋ณต์ต: ์์ ์ง๋ฅ ์ํํธ์จ์ด ์ค๊ณ ยท ์ฃผ๋ณ์ฅ์น ์ธํฐํ์ด์ค ๋ถ์
์ธ์ง์ง๋ฅ ยท ํ์ต
- ์ธ์ง ํ์ดํ๋ผ์ธ 4๋จ๊ณ: ์ ์ฒ๋ฆฌ โ ํน์ง ์ถ์ถ โ ์ธ์ โ ํ์ฒ๋ฆฌ(์ถ์ ยท์ขํ ๋ณํ)
- ์ ๋ฐ๋ = TP/(TP+FP)(๊ฒ์ถํ ๊ฒ ์ค ์ง์ง) vs ์ฌํ์จ = TP/(TP+FN)(์ค์ ์ค ์ก์ ๊ฒ), F1=์กฐํํ๊ท . ๋ฌธํฑ๊ฐโ โ ์ฌํ์จโยท์ ๋ฐ๋โ
- ์์ ๊ธฐ๋ฅ(์ฌ๋ ๊ฐ์ง ์ ์ง)์ ์ฌํ์จ ์ฐ์ โ ๋ฏธ๊ฒ์ถ(FN)์ด ์ฌ๊ณ , ์ค๊ฒ์ถ(FP)์ ๋ถํธ. ์ ๋ขฐ๋ ๋ฎ์ผ๋ฉด ์์ ํ ์ชฝ์ผ๋ก(์ฌ๊ด์ธกยท๊ฐ์)
| ๊ณผ์ | ๋ต์ ํํ |
|---|---|
| ๋ถ๋ฅ | ์์ ์ ์ฒด์ ๋ผ๋ฒจ ํ๋ |
| ๊ฒ์ถ | ํด๋์ค + ๊ฒฝ๊ณ ์์ (ํ์ง=๊ฒ์ถ+์์ธ ์ถ์ ) |
| ์ธ๊ทธ๋ฉํ ์ด์ | ํฝ์ ๋จ์ ์์ญ (์ฃผํ ๊ฐ๋ฅ ์์ญ) |
| ์ถ์ | ํ๋ ์ ๊ฐ ๋์ผ ๋ฌผ์ฒด ์ฐ๊ฒฐ |
- ๋ฐ์ดํฐ ๋ถํ : ํ์ต=๋ชจ๋ธ ์์ฑ, ๊ฒ์ฆ=ํ๋ยท๋ชจ๋ธ ์ ํ, ์ํ=์ต์ข ํ๊ฐ์๋ง (ํ๋์ ์ฐ๋ฉด ์ฑ๋ฅ ๋ถํ๋ฆผ)
- ๊ณผ์ ํฉ ์งํ = ํ์ต ์ฑ๋ฅ โซ ๊ฒ์ฆ ์ฑ๋ฅ. ๋์ฑ : ๋ฐ์ดํฐ ํ์ถฉยท์ฆ๊ฐ, ๋ชจ๋ธ ๋จ์ํ, ์ ์นํ, ์กฐ๊ธฐ ์ข ๋ฃ
- ์์ ยท์ค์๊ฐ=์จ๋ณด๋(์ฃ์ง), ๋ฌด๊ฑฐ์ด ๋ถ์=ํด๋ผ์ฐ๋. ๊ฒฝ๋ํ: ์์ํ(32๋นํธโ8๋นํธ)ยท๊ฐ์ง์น๊ธฐ(์ฐ๊ฒฐ ์ ๊ฑฐ)
๋ณต์ต: ์ธ์ง์ง๋ฅ ์ํํธ์จ์ด ๋ชฉํ์ฌ์ ยท ์ธ์ง์ง๋ฅ ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ
HRI (์ธ๊ฐ-๋ก๋ด ์ํธ์์ฉ)
- ์์ฑ ๋ํ ํ์ดํ๋ผ์ธ: ASR(์์ฑโํ ์คํธ) โ NLU(์๋ยท๊ฐ์ฒด ์ถ์ถ) โ ๋ํ ๊ด๋ฆฌ(๋ฌธ๋งฅยท๋๋ฌป๊ธฐ) โ TTS(์์ฑ ํฉ์ฑ) โ ASR=๋ฐ์์ฐ๊ธฐ, NLU=๋ป ์์๋ฃ๊ธฐ
- ์ค๊ณ ์์น: ํผ๋๋ฐฑยท์์ธก ๊ฐ๋ฅ์ฑ(์๋ ํ์=์์ ๊ธฐ๋ฅ)ยท์ค๋ฅ ๊ด์ฉ(ํ์ธยท์ทจ์)ยท์ผ๊ด์ฑ โ ์ทจ์ ๋ถ๊ฐ ๋์(์ด๋ยท๊ฒฐ์ )์ ๋ณต์ฐฝ ํ์ธ ํ์
- ๊ทผ์ ํ(ํ๋ก์ธ๋ฏน์ค): ๋ฐ์ (~45 cm)ยท๊ฐ์ธ(~1.2 m)ยท์ฌํ(~3.6 m)ยท๊ณต๊ณต โ ์ฌ๋ฆฌ์ ๊ฑฐ๋ฆฌ๋ ์ค๊ณ ๋ณ์
- ๋ฉํฐ๋ชจ๋ฌ = ์ฑ๋ ์คํจ ๋ณด์(์์ ์ ํ๋ฉด) + ์ ๊ทผ์ฑ. ์ธ์ ์คํจ ์ ํ๋ฉด ํฐ์น ํด๋ฐฑ
- ์์ฑ ์ค๋ฌด: ์จ์ดํฌ์๋(์์ ์ค์ธ์ยทํ๋ผ์ด๋ฒ์ ์ํ) + ๋ง์ดํฌ ์ด๋ ์ด ๋นํฌ๋ฐ(์์ ์ ํ์ ๋ถ๋ฆฌ)
- ์ง์ ๊ต์=์์ผ๋ก ์ก๊ณ ๊ฐ๋ฅด์นจ(ํ๋๋ก๋ด) vs ํฐ์น ํ๋ํธ=์ ์ฉ ๋จ๋ง. ๋น์์ ์ง๋ ๋ฌผ๋ฆฌ ๋ฒํผ
- ์ ๋ขฐ ์กฐ์จ: ๊ณผ์ ๋ ๋ถ์ ๋ ์ํ โ ๋ฅ๋ ฅ ํ๊ณ๋ฅผ ์ ์งํ๊ฒ ํํ. GUI 5์ง์นจ: ๊ฐ์์ฑยท์ผ๊ด์ฑยทํผ๋๋ฐฑยท์ค๋ฅ ์๋ฐฉยท์ ๊ทผ์ฑ
๋ณต์ต: HRI ์ํํธ์จ์ด ์ค๊ณ ยท HRI ์ธํฐํ์ด์ค
์ผ์ ์ฌ์ ยท ์๋ ์๋ฆฌ
- ๋ถ๋ฅ 3์ถ: ๋ด๊ณ/์ธ๊ณ, ์ ์ด/๋น์ ์ด, ๋ฅ๋(์๋์ง๋ฅผ ์จ โ ์ด์ํยทLiDARยท๋ ์ด๋ยท๊ตฌ์กฐ๊ด)/์๋(ํ๊ฒฝ ์๋์ง๋ง โ ์นด๋ฉ๋ผยท๋ง์ดํฌยท์ง์๊ธฐ)
- ์ฆ๋ถํ ์์ฝ๋: AยทB์ 90ยฐ ์์์ฐจ๋ก ๋ฐฉํฅ ํ๋ณ+4์ฒด๋ฐฐ, Z์=์์ , ์ ์ ์ ์์น ์์คโํธ๋ฐ ํ์ / ์ ๋ํ: ์ฆ์ ์ ๋ ์์น, ๊ทธ๋ ์ด ์ฝ๋(์ธ์ 1๋นํธ๋ง ๋ณํโ๊ฒฝ๊ณ ์ค๋ ๋ฐฉ์ง)
- IMU: ์์ด๋ก=์ฝ๋ฆฌ์ฌ๋ฆฌ ํ์ผ๋ก ๊ฐ์๋(์ ๋ถ ๋๋ฆฌํํธ ์๋ช ) / ๊ฐ์๋๊ณ=์ค๋ ฅ ์ธก์ ์ผ๋ก ์ ์ง ์ ๊ธฐ์ธ๊ธฐ ์ผ์
- ์ด์ํ d = vt/2 (์๋ณต์ด๋ผ รท2, ์์์ ์จ๋ ์์กด) / ์คํ ๋ ์ค ์นด๋ฉ๋ผ=์์ฐจ(disparity), ํด์๋ก ๊ฐ๊น๋ค
- ์คํธ๋ ์ธ ๊ฒ์ด์ง: ๋ณํโ์ ํญ ๋ณํโํํธ์คํค ๋ธ๋ฆฌ์ง๋ก ๊ฒ์ถ (๋ก๋์ ยท6์ถ ํ/ํ ํฌ). ํ ํจ๊ณผ=๋น์ ์ด ์ ๋ฅ ์ธก์
| ๊ฑฐ๋ฆฌ ์ผ์ | ํน์ฑ | ์ฝ์ |
|---|---|---|
| ์ด์ํ | ์ ๊ฐ, ๋์ ๋น | ํก์๋ฉดยท์จ๋, ๋๋ฆผ |
| LiDAR | ์ ๋ฐ ์ ๊ตฐ, ์ฅ๊ฑฐ๋ฆฌ | ์ ๋ฆฌยท๊ฒ์ ํ๋ฉด, ๋นยท์๊ฐ |
| ๋ ์ด๋ | ์ ์ฒํ์ ์ต๊ฐ | ๋ถํด๋ฅ ๋ฎ์ |
- ๋ฆฌ์กธ๋ฒ=์ ์๊ธฐ ์ ๋์ ์ ๋ ๊ฐ๋, ๊ณ ์จยท์ง๋์ ๊ฐํจ. ์ ๋ํ ๊ทผ์ =๊ธ์๋ง, ์ ์ ์ฉ๋ํ=๋น๊ธ์๋. ์์ ๊ธฐ๋ฅ์ ์๋ฆฌ๊ฐ ๋ค๋ฅธ ์ผ์ ์ค๋ณต
๋ณต์ต: ๋ก๋ด์ผ์ ์๋ ์๋ฆฌ ยท ์ผ์ ์ข ๋ฅ
์ผ์ ์ธํฐํ์ด์ค ยท ํ๋กํ ์ฝ ยท ๋๋ผ์ด๋ฒ
- ADC LSB = ๋ฒ์/2โฟ (12๋นํธยท5 V โ 1.22 mV, 10๋นํธ โ 4.88 mV). ๋์ดํด์คํธ f_s \ge 2f_{max} โ ์๋ฐ ์ ์จ๋ฆฌ์ด์ฑ, ์ฌํ ๋ณต๊ตฌ ๋ถ๊ฐ โ ADC ์ ์๋ ๋ก๊ทธ ์ ์ญํต๊ณผ ํํฐ๋ก ์๋ฐฉ๋ง ๊ฐ๋ฅ
- 4~20 mA ์ ๋ฅ ๋ฃจํ: ๊ธด ๋ฐฐ์ ๋ ธ์ด์ฆ์ ๊ฐํจ + 4 mA ์์ (live zero)์ผ๋ก ๋จ์ (0 mA) ๊ฐ์ง โ ์ฐ์ ๊ณ์ธก ํ์ค
- ํ๋ ์ ๊ตฌ์กฐ: SOFโIDโ๊ธธ์ดโ๋ฐ์ดํฐโ์ฒดํฌ์ฌ. ์ค๋ฅ ๊ฒ์ถ ๊ฐ๋ ํจ๋ฆฌํฐ < ์ฒดํฌ์ฌ < CRC. ๋ฆฌํ ์๋์=ํ์ ๋ฐ์ดํธ ๋จผ์
- ํด๋ง(์์ฒญโ์๋ต)/์คํธ๋ฆฌ๋ฐ(์ฃผ๊ธฐ ์ก์ )/์ด๋ฒคํธ ๊ตฌ๋(ํํธ๋นํธ ๋ณํ โ ์นจ๋ฌต์ ์ ์/๊ณ ์ฅ ๊ตฌ๋ณ). ๋์ญํญ=ํฌ๊ธฐร์ฃผ๊ธฐ(20 Bร100 Hz=16 kbps), ๋ง์ง ํ์
- ํ๋ 3๋ฐฉ์: ํด๋ง=๋จ์ยทCPU ๋ญ๋น, ์ธํฐ๋ฝํธ=์ฆ์ ์ฒ๋ฆฌยทISR ์งง๊ฒ, DMA=CPU ๋ฌด๊ฐ์ ๋๋ ์ ์ก(์นด๋ฉ๋ผยทLiDAR). ๋ง ๋ฒํผ๋ก ์๋ ์ฐจ ์์ถฉ
- ๋๋ผ์ด๋ฒ 5๋จ๊ณ: ์ด๊ธฐํ โ ํ๋ โ ํ์ฑยท๊ฒ์ฆ โ ๋ณํ โ ๋ฐํ. ํ์์คํฌํ๋ ์์ ์๊ฐ ์๋ ์ธก์ ์๊ฐ. ๊ณ ์ ๊ฐ(stuck) ๊ฐ์ง="์ด์ ์๋ ์ฒํ๋ ๊ณ ์ฅ"
- ํํฐ ๊ตฌ๋ถ: ์คํ์ดํฌ=์ค์๊ฐ, ์์ํ ๋๋ค ๋ ธ์ด์ฆ=์ด๋ํ๊ท ยท์ ์ญํต๊ณผ โ ๊ฐํ ์๋ก ์ง์ฐโ(์ ์ด ์๋ต๊ณผ ํธ๋ ์ด๋์คํ)
- ์๋ณด ํํฐ: ์์ด๋ก(๊ณ ์ฃผํ ์ ๋ขฐ)+๊ฐ์๋๊ณ(์ ์ฃผํ ์ ๋ขฐ), ฮธ = ฮฑ(ฮธ_{prev}+ฯฮt)+(1-ฮฑ)ฮธ_{acc}, ฮฑโ0.98. ์นผ๋ง ํํฐ=์์ธกโ๋ณด์ ๋ฐ๋ณต, ๋ถํ์ค์ฑ ์์ ์ชฝ์ ๊ฐ์ค. ์ตํฉ 3์ ์ : ์ขํ๊ณยท์๊ฐยท๋ถํ์ค์ฑ ์ ํฉ
๋ณต์ต: ๋ก๋ด์ผ์ ์ธํฐํ์ด์ค ยท ํต์ ํ๋กํ ์ฝ ์ค๊ณ ยท ๋ก๋ด์ผ์ฑ ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ ยท ๋ก๋ด์ผ์ ๋๋ผ์ด๋ฒ ๊ตฌํ
1๊ณผ๋ชฉ ๋ก๋ด์ด์ ์ํํธ์จ์ด
๋ชจ๋ํฐ๋ง ํด ๊ฐ๋ฐ
- ์ ์ด๊ธฐ 4๋ ๊ธฐ๋ฅ: ๋ชจ์ ์ ์ด ยท I/O ยท ํต์ ยท ์์ . ๊ณ์ธต: ์์(์์ ๊ณํยทUIยท์๋ฒ ํต์ , ๋น์ค์๊ฐ~์ฐ์ฑ) / ํ์(๊ด์ ์๋ณด, โค1 ms ๊ฒฝ์ฑ ์ค์๊ฐ) โ ๋ชจ๋ํฐ๋ง์ ์์ ์์ญ์์, ์ค์๊ฐ ๋ฃจํ๋ฅผ ๋ฐฉํดํ์ง ์๋๋ค
- ํ์ํ ์ ์ด๊ธฐ(์ ์กฐ์ฌ ์ผ์ฒดํ, API๋ก๋ง ์ ๊ทผ) vs ๊ฐ๋ฐฉํ(ํ์ค OSยทROS ๊ธฐ๋ฐ, ํ์ฅ ์์ )
- ์์ ์ฅ์น ๊ตฌ๋ถ: ๋น์์ ์ง(์ฆ์ ๋๋ ฅ ์ฐจ๋จ) / ๋ฐ๋๋งจ ์ค์์น(์ฅ ๋์๋ง ๋์) / ์ธํฐ๋ก(์กฐ๊ฑด ์๋ฐ ์ ๋์ ์ฐจ๋จ)
- ๋ชจ๋ํฐ๋ง ํ์ดํ๋ผ์ธ: ์์งโ์ ์ฒ๋ฆฌโ์ ์ฅโ๋ถ์โ์๊ฐํโ์๋ฆผ. ์ํ ๋ฐ์ดํฐ=์ฃผ๊ธฐ์ (โ์๊ณ์ด DB), ์๋ยท์ด๋ฒคํธ=๋น์ฃผ๊ธฐ์
- ์์ง: ํด๋ง(์ฃผ๊ธฐ ์์ฒญ โ ๋จ์, ํํ์ธยท์ฃผ๊ธฐ ์ฌ์ด ์ฌ๊ฑด ๋์นจ) vs ์ด๋ฒคํธ ํธ์(๋ณํ ์ ์ ์ก โ ํจ์จ, ์ ์ด๊ธฐ ์ง์ ํ์). ์ค๋ฌด๋ ์ํ=ํด๋ง + ์๋=์ด๋ฒคํธ ์กฐํฉ
- ๋ณด์ 3๋จ๊ณ ์งํ: ์ฌํ(๊ณ ์ฅ ํ ์๋ฆฌ) โ ์๋ฐฉ(์ฃผ๊ธฐ ์ ๊ฒ) โ ์์ง(๋ฐ์ดํฐ ์ถ์ธ๋ก ์์ธก โ ๋ชจ๋ํฐ๋ง ๋ฐ์ดํฐ๊ฐ ์ ์ )
- ๋ก๊ทธ ๋ ๋ฒจ: DEBUG < INFO < WARN < ERROR < FATAL (์ด์์ INFO ์ด์), ๋ก๊ทธ ๋กํ ์ด์ ์ผ๋ก ์ฉ๋ ๊ด๋ฆฌ
- ์๋: ํ์คํ ๋ฆฌ์์ค(๋ฐ์ 80 ยฐCยทํด์ 75 ยฐC์ฒ๋ผ ๋ฌธํฑ ๋ถ๋ฆฌ โ ์ฑํฐ๋ง ๋ฐฉ์ง), ํญ์ฃผ ๋์ฑ =๊ทธ๋ฃนํยท์ค๋ณต ์ ๊ฑฐยท๋ฑ๊ธํ (์๊ณ๊ฐ ์ฌ๋ฆฌ๊ธฐ๋ ์ค๋ต)
๋ณต์ต: ๋ก๋ด ์ ์ด๊ธฐ ํน์ฑ ยท ๋ก๋ด ๋ชจ๋ํฐ๋ง ํ๋ก๊ทธ๋จ
์๋ฒ ์ฐ๋ โ ์๋ฒยทํด๋ผ์ด์ธํธยท๋ณด์
- ์์ผ ์์: ์๋ฒ socketโbindโlistenโaccept(accept๊ฐ ํต์ ์ฉ ์์ผ ์๋ก ์์ฑ) / ํด๋ผ์ด์ธํธ socketโconnect. ๋ก๋ด์ด ํด๋ผ์ด์ธํธ๊ฐ ๋๋ ์ด์ = ๋ฐฉํ๋ฒฝ ์โ๋ฐ ์ฐ๊ฒฐ์ด ์ ๋ฆฌ
- ๋์์ฑ: ๋ฐ๋ณต / ๋ฉํฐํ๋ก์ธ์ค(fork) / ๋ฉํฐ์ค๋ ๋ / I/O ๋ฉํฐํ๋ ์ฑ(selectยทepoll โ ์ค๋ ๋ 1๊ฐ๊ฐ ๋ค์ ์์ผ ๊ฐ์) / ๋น๋๊ธฐ I/O
- ์์ฉ ํ๋กํ ์ฝ: REST(์์=URI, ํ์=GET์กฐํยทPOST์์ฑยทPUT์์ ยทDELETE์ญ์ ) / WebSocket(์๋ฐฉํฅ ์์ โ ์๋ฒ ํธ์ ๊ฐ๋ฅ) / MQTT(๋ธ๋ก์ปค ๋ฐํ-๊ตฌ๋ , QoS 0=์ต๋ ํ ๋ฒยท1=์ต์ ํ ๋ฒยท2=์ ํํ ํ ๋ฒ)
- ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ ๊ด๋ฆฌ(๋๊น ์ ์ ): ํํธ๋นํธ(์์กด ํ์ธ)ยทํ์์์ยท์ง์ ๋ฐฑ์คํ(1โ2โ4์ด ์ฌ์๋)ยท๋ก์ปฌ ๋ฒํผ๋ง(๋๊น ์ค ์ ์ฅโ์ฌ์ ์ ํ ์ ์ก). ํต์ ์ ์ ์ด ๋ฃจํ์ ํ๋ก ๋ถ๋ฆฌ(๋น๋๊ธฐ)
- ์ง๋ ฌํ: ํ ์คํธ(JSONยทXML โ ์ฝ๊ธฐ ์ฌ์) vs ์ด์ง(protobuf โ ์๊ณ ๋น ๋ฆ, ๋๋ยท๊ณ ์ฃผ๊ธฐ ๋ฐ์ดํฐ)
- ๋ณด์ CIA: ๊ธฐ๋ฐ์ฑ=์ํธํ / ๋ฌด๊ฒฐ์ฑ=ํด์ยท์ ์์๋ช / ๊ฐ์ฉ์ฑ=DoS ๋ฐฉ์ดยท์ด์คํ + ์ธ์ฆ(๋๊ตฌ๋) / ์ธ๊ฐ(๋ฌด์์ ํ์ฉ โ RBACยท์ต์ ๊ถํ) / ๋ถ์ธ๋ฐฉ์ง(์ ์์๋ช )
- ๊ณต๊ฒฉ: ๋์ฒญยท์คํธํยทMITMยท์ฌ์ ์ก(์ ์ ํจํท ์ฌ์ฌ์ฉ โ Nonceยทํ์์คํฌํ๋ก ๋ฐฉ์ด)ยทDoS โ ๋ก๋ด์ ํดํน์ด ๋ฌผ๋ฆฌ ์ฌ๊ณ ๋ก ์ง๊ฒฐ
- ์ํธ: ๋์นญํค(AES โ ๋น ๋ฆ, ํค ๋ฐฐ์ก ๋ฌธ์ ) vs ๊ณต๊ฐํค(RSAยทECC โ ๋๋ฆผ, ๋ฐฐ์ก ๋ฌธ์ ์์) โ TLS ํ์ด๋ธ๋ฆฌ๋(๊ณต๊ฐํค๋ก ์ธ์ ํค ๊ตํ ํ ๋์นญํค ํต์ ). ์ ์์๋ช =๊ฐ์ธํค ์๋ช โ๊ณต๊ฐํค ๊ฒ์ฆ(์ํธํ์ ๋ฐฉํฅ ๋ฐ๋), OTA ํ์จ์ด๋ ์๋ช ๊ฒ์ฆ
๋ณต์ต: ์๋ฒ ํ๋ก๊ทธ๋จ ยท ํด๋ผ์ด์ธํธ ํ๋ก๊ทธ๋จ ยท ๋ก๋ด ๋ณด์
์ธ๋ถ ํด ๋๊ธฐํ โ ์๊ฒฉ์ ์ดยท์๊ฐยท๋ฐ์ดํฐ
- ์๊ฒฉ์ ์ด ๊ตฌ์ฑ: ๋ง์คํฐ(์กฐ์์ ์ธก) โ ํต์ ์ฑ๋ โ ์ฌ๋ ์ด๋ธ(๋ก๋ด ์ธก). ํ ํฑ=์๋ฐฉํฅ(Bilateral): ์์น๋ ๋ง์คํฐโ์ฌ๋ ์ด๋ธ, ํ์ ์ฌ๋ ์ด๋ธโ๋ง์คํฐ
- ์๊ฐ ์ง์ฐ = ์ต๋์ ์ (๊ณผ๋ ์กฐ์ยท๋ฐ์งยทMove-and-wait). ๋์ฑ : ์์ธก ๋์คํ๋ ์ดยท๋ก๋ด ์์จ ๋ฐ์ฌยท๊ฐ๋ ์ ์ด(์ง์ฐ ํฐ ํ๊ฒฝ ํ์). ์คํํธ๋ผ: ์ง์ โ๊ณต์ โ๊ฐ๋ โ์์ ์์จ
- ์์ : ๋ฐ๋๋งจ ์ค์์น, ์์น๋ ํ์์์(๋ช ๋ นยทํํธ๋นํธ ๋์ โ ์์ ์ ์ง โ "๋ง์ง๋ง ๋ช ๋ น ์ ์ง"๋ ์ต์ ์ ์ค๊ณ), ๋ก๋ด ์ธก ๋ช ๋ น ์ ํจ์ฑ ์ฌ๊ฒ์ฌ, E-Stop ์ด์คํ
- ์๊ฐ ๋๊ธฐํ: NTP(ms๊ธ, ฮธ = \dfrac{(T_2-T_1)+(T_3-T_4)}{2} โ ์ง์ฐ ๋์นญ ๊ฐ์ ) vs PTP/IEEE 1588(ยตs๊ธ โ ํ๋์จ์ด ํ์์คํฌํ, ๋ง์คํฐ-์ฌ๋ ์ด๋ธยทBMC ์ ์ถ). ํ์์คํฌํ๋ ์ธก์ ์๊ฐ์ ๊ฐ๊น๊ฒ
- ๋ฐ์ดํฐ ๋๊ธฐํ: ์ ์ฒด vs ์ฆ๋ถ(๋ณ๊ฒฝ๋ถ๋ง โ ์ค๋ฌด ํ์ค). ์ถฉ๋ ํด๊ฒฐ: LWW(์ต์ข ์์ ์ฐ์ โ ๋จ์, ์์ ์ ์คยท์๊ณ ์์กด)ยท์ฐ์ ์์ ๊ท์นยท๋ฒ์ ๋ฒกํฐ. ์คํ๋ผ์ธ ๋๊ธฐํ=๋๊น ์ค ๋ก์ปฌ ๊ธฐ๋กโ์ฌ์ ์ ๋ฐ์
- ๋์งํธ ํธ์: ์ค๋ฌผ๊ณผ ์ค์๊ฐ ๋๊ธฐํ๋๋ ๊ฐ์ ๋ชจ๋ธ โ ๊ฐ์ยท์์ธกยท๊ฒ์ฆ, CPS์ ์ฌ์ด๋ฒ ์ธก ํต์ฌ
๋ณต์ต: ๋ก๋ด ์๊ฒฉ์ ์ด๊ธฐ ์ธํฐํ์ด์ค ยท ๋๊ธฐํ ํ๋ก๊ทธ๋จ
์์ฉ โ ์ปจํ ์ธ ยทICT ์ตํฉยทIoT ์ฐ๋
- ๋ก๋ด ์ปจํ ์ธ 3ํน์ง: ๋ฌผ๋ฆฌ ๋์ยท๋ฉํฐ๋ชจ๋ฌยท์ํธ์์ฉ์ฑ. ํ๋ซํผ-์ปจํ ์ธ API ๋ถ๋ฆฌ โ ๋ด๋ถ ๋ชฐ๋ผ๋ ๊ฐ๋ฐยทํ ๋ก๋ด ์ด์ยท๋ ๋ฆฝ ๋ฐฐํฌ(์คํ ์ดยทOTA)
- ์ ์ ๋๊ตฌ: ๋ธ๋กํ(๋น์ ๋ฌธ๊ฐยท๊ต์ก) / ํ์๋ผ์ธ ํคํ๋ ์(๋ชจ์ โ ๋ณด๊ฐ) / SDK(์ ๋ฌธ๊ฐ). ๋ก์ง = ์ด๋ฒคํธ ๊ธฐ๋ฐ + FSM(์ํ๋ณ๋ก ๊ฐ์ ์ด๋ฒคํธ์ ๋ค๋ฅธ ๋ฐ์)
- ์ฃ์ง vs ํด๋ผ์ฐ๋: ์์ ยท์ค์๊ฐ=์ฃ์ง(์ถฉ๋ ์ ์ง๋ฅผ ํด๋ผ์ฐ๋์ ๋งก๊ธฐ๋ฉด ์ฌ๊ณ ), ๋๊ท๋ชจ ํ์ตยท์ถ์ ยท๊ณต์ =ํด๋ผ์ฐ๋
- 5G: eMBB(๋์ฉ๋ ์์) / URLLC(1 ms ์ด์ ์ง์ฐ โ ๋ฌด์ ์๊ฒฉ์ ์ด์ ํต์ฌ) / mMTC(์ด์ฐ๊ฒฐ)
- CPS(์ฌ์ด๋ฒ๊ฐ ๋ฌผ๋ฆฌ๋ฅผ ์ค์๊ฐ ์ ์ด) โ ์ค๋งํธํฉํ ๋ฆฌ. RaaS=๊ตฌ๋ ๋ชจ๋ธ โ ์ด์ SW(๋ชจ๋ํฐ๋งยท์๋ฒยทOTA)๊ฐ ์ฌ์ ๊ธฐ๋ฐ
- IoT 4๊ณ์ธต: ๋๋ฐ์ด์ค โ ๋คํธ์ํฌ(๊ฒ์ดํธ์จ์ด=ํ๋กํ ์ฝ ๋ณํยท์ฃ์ง ์ ์ฒ๋ฆฌ) โ ํ๋ซํผ(oneM2M) โ ์๋น์ค
- ํต์ ์ ํ(์๋ยท๊ฑฐ๋ฆฌยท์ ๋ ฅ ํธ๋ ์ด๋์คํ): WiFi(๊ณ ์ยท๊ณ ์ ๋ ฅ) / BLE(๊ทผ๊ฑฐ๋ฆฌ ์ ์ ๋ ฅ) / Zigbee(์ ์ ๋ ฅ ๋ฉ์) / LoRa(๋น๋ฉดํ ์๊ฐ๋ง LPWAN) / NB-IoT(ํต์ ์ฌ๋ง LPWAN). MQTT(TCP ๋ฐํ-๊ตฌ๋ ) vs CoAP(UDP ์ด๊ฒฝ๋ RESTํ)
- IoT ๊ธฐ๊ธฐ๋ ๋ณด์์ด ์ทจ์ฝํ ๊ฒฝ์ฐ ๋ง์ โ ๋ก๋ด ์์คํ ์ ์นจ์ ๊ฒฝ๋ก ๊ฐ๋ฅ (์๋ฆฌ๋ฒ ์ดํฐ ์ฐ๋ ๋ฑ ๋ช ๋ น ์ฑ๋์ ์ธ์ฆยท์ํธํ ํ์)
๋ณต์ต: ๋ก๋ด ์ปจํ ์ธ ๊ฐ๋ฐ ยท ๋ก๋ด๊ณผ ICT ์ตํฉ ยท ๋ก๋ด๊ณผ IoT๋๋ฐ์ด์ค ์ฐ๋
ํ๋ จ โ ๊ต์ยทํ์ตยท๋ฐ์ดํฐ ๊ด๋ฆฌ
- ๊ฐ๋ฅด์น๊ธฐ ์คํํธ๋ผ: ๋ช ์์ ํ๋ก๊ทธ๋๋ฐ โ ๊ต์(ํ๋ํธ=์กฐ๊ทธ+๊ธฐ๋ก / ์ง์ ๊ต์=ํ๋๋ก๋ด ์์ผ๋ก ์ด๋ / OLP=์๋ฎฌ๋ ์ดํฐ ์์ฑยท๊ฒ์ฆ โ ์์ฐ ๋ฌด์ค๋จ, ์บ๋ฆฌ๋ธ๋ ์ด์ ํ์) โ ํ์ต
- ๋ชจ๋ฐฉํ์ต(์์ฐ ๋ฐ์ดํฐ โ ๋ณด์ ์ค๊ณ ๋ถ์, ์์ฐ ๋ฐ ์ํฉ์ ์ฝํจ) vs ๊ฐํํ์ต(์์ด์ ํธยทํ๊ฒฝยท์ํยทํ๋ยท๋ณด์ โ ๋์ ๋ณด์ ์ต๋ํ ์ ์ฑ ํ์ต, ์ ๋ต ๋ผ๋ฒจ ์์)
- Sim-to-Real: ๋ฆฌ์ผ๋ฆฌํฐ ๊ฐญ(๋ฌผ๋ฆฌ ์ฐจ์ด๋ก ์ค๊ธฐ ์ฑ๋ฅ ๋ถ๊ดด) โ ๋๋ฉ์ธ ๋๋คํ(๋ง์ฐฐยท์ง๋ยท์กฐ๋ช ๋ฌด์์ ๋ณํ๋ก ๊ฐ์ธํ)
- ํ๋ จ ํ์ดํ๋ผ์ธ(์ํ): ์์ง โ ํ์ต(ํด๋ผ์ฐ๋ GPU) โ ํ๊ฐ(์๋ฎฌโ์ค๊ธฐ) โ ๋ฐฐํฌ(OTA) โ ๋ชจ๋ํฐ๋งยท์ฌํ์ต
- ๋ฐ์ดํฐ ์์ ์ฃผ๊ธฐ: ์์งโ์ ์ฅโ์ฒ๋ฆฌยท๋ถ์โํ์ฉโ๋ณด๊ดโํ๊ธฐ. ์ ์ฅ์ ๋งค์นญ: RDB(ACID โ ์ค์ ยท์ค์ ) / NoSQL(์ค์ผ์ผ์์) / ์๊ณ์ด DB(์ํ ์คํธ๋ฆผ) / ์ค๋ธ์ ํธ(์์ยท์ง๋ยท๋ชจ๋ธ). ๋น ๋ฐ์ดํฐ 3V=VolumeยทVelocityยทVariety(+VeracityยทValue=5V), GIGO
- ๋ฐฑ์ : ์ ์ฒด(๋ณต์ ์ต๋จ์) / ์ฆ๋ถ(์ง์ ์ดํ โ ๋ณต์ ์ ์ฌ์ฌ ์ ๋ถ ํ์) / ์ฐจ๋ฑ(๋ง์ง๋ง ์ ์ฒด ์ดํ โ ๋ณต์=์ ์ฒด+๋ง์ง๋ง 1๊ฐ). 3-2-1 ๊ท์น(3๋ฒยท2๋งค์ฒดยท1์๊ฒฉ์ง) + ๋ณต์ ์ํ๊น์ง ํด์ผ ์์ฑ
- ๊ฐ์ธ์ ๋ณด(์ผ๊ตดยท์์ฑยท์์น): ์ต์ ์์งยท๊ณ ์ง, ์ต๋ช ์ฒ๋ฆฌ(๋ณต์ ๋ถ๊ฐ) vs ๊ฐ๋ช ์ฒ๋ฆฌ(์ฌ์๋ณ ๊ฐ๋ฅ โ ๋ถ๋ฆฌ ๋ณด๊ด), ๋ชฉ์ ๋ฌ์ฑ ํ ์ง์ฒด ์์ด ํ๊ธฐ
๋ณต์ต: ๋ก๋ด ํ๋ จ ํ๋ก๊ทธ๋จ ยท ๋ก๋ด ๋ฐ์ดํฐ ๊ด๋ฆฌ
๐ ๊ด๋ จ
- ์ฉ์ด์ฌ์ โ ํต์ฌ ์ฉ์ด 138๊ฐ ์ ์
- ๋ชจ์๊ณ ์ฌ โ ์ค์ ํ์ 4์ธํธ
- ๐ Home์ผ๋ก