SLAM Engineer

๐ŸŒˆ Robotics Engineer ๋กœ์„œ ์ž์ฃผํ•˜๋Š” ์ƒ๊ฐ๋“ค


์—ฐ๊ตฌ ๋ฐ ์ผ ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜์—ˆ๋˜ ์ƒ๊ฐ๋“ค

  • ๊ฐœ์ธ์ ์œผ๋กœ ๋„์›€์ด ๋˜์–ด์˜จ ์ƒ๊ฐ๋“ค์„ ๊นŒ๋จน์„๊นŒ๋ด ๊ธฐ๋กํ•ด๋‘”๋‹ค.
  • ๋ฐ”๋€” ์ˆ˜ ์žˆ์Œ.

0. Mind ํŽธ

  1. Time is the first resource we need to take care of.
    • ๋ฌผ๋ก  ์–ด๋–ค ๊ธธ์„ ๊ฐ€๋„ ๋‹ค ๋ง์ด๋˜๊ธฐ์•ผ ํ•˜๊ฒ ์ง€๋งŒ, ์šฐ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ์—†๊ธฐ ๋•Œ๋ฌธ์—โ€ฆ ์ข‹์•„๋ณด์ด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์œ„๋Œ€ํ•œ ๊ฒƒ์ด ํ•„์š”ํ•˜๋‹ค. ๋ธŒ๋ผ์ด์–ธ ํŠธ๋ ˆ์ด์‹œ์˜ โ€˜๊ฒŸ ์Šค๋งˆํŠธโ€™ ๋ฅผ ์ฝ์œผ๋ฉฐ ๋งŽ์ด solid ํ•ด์ง„ ์ƒ๊ฐ.
  2. Occamโ€™s Razor.
    • ๊ฐ™์€ ํšจ๊ณผ๋ฅผ ๊ฑฐ๋‘”๋‹ค๋ฉด ๋‹จ์ˆœํ•œ ๊ฒƒ์ด ์ข‹์€ ๊ฒƒ์ด๋‹ค.
  3. Do not overengineering.
    • ๋‹ญ์žก๋Š” ๋ฐ ์†Œ์žก๋Š” ์นผ ์“ฐ(๋Š๋ผ ์‹œ๊ฐ„๋‚ญ๋น„ ํ•˜)์ง€ ๋ง๊ธฐ.
  4. Do not overclaim.
    • ์‹ค์ œ๋ณด๋‹ค ๋ถ€ํ’€๋ ค ๋งํ•˜์ง€ ์•Š๊ธฐ. ํŠน์ • ์ƒํ™ฉ์—์„œ๋งŒ ์ž˜ ๋˜๋Š” ๊ฒƒ์„ ์ œ๋„ค๋ฆญํ•œ ๋‹จ์–ด๋กœ ํฌ์žฅํ•˜์ง€ ์•Š๊ธฐ. ๋…ผ๋ฌธ ๋ฆฌ๋ทฐํ•  ๋•Œ ๋งŽ์ด ์ง€์ ํ•˜๋Š” ๋ถ€๋ถ„.
  5. Be a social: Talk, share, and rearrange.
    • ์†ํ•œ ์กฐ์ง์— ์ •๋ง๋กœ ํ•„์š”ํ•œ ๊ฒŒ ๋ญ”์ง€ ์•Œ์•„๋‚ด๋ ค๋ฉด ๋งŽ์ด ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ„์–ด์•ผ ํ•œ๋‹ค. ์ด์•ผ๊ธฐ๋ฅผ ์ง„ํ–‰์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ž์ฃผ ๋งŽ์ด ๊ณต์œ ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐฉํ–ฅ์„ ์žฌ์กฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. ์ผ์€ ์ตœ์ ํ™”์™€ ๋น„์Šทํ•œ ๋“ฏ. ์ค‘์š”ํ•œ ๊ฒƒ์€ ๋ฐฉํ–ฅ๊ณผ ๋ณดํญ. ๋ฐฉํ–ฅ๊ณผ ๋ณดํญ โ€“์ฆ‰, gradientโ€“ ์€ ๋ˆ„๊ฐ€ ์•Œ๋ ค์ฃผ๋Š”๊ฐ€?: overclaim ํ•˜์ง€ ์•Š์€ share + ๋™๋ฃŒ๋“ค๊ณผ์˜ ๋Œ€ํ™”.

1. ์—”์ง€๋‹ˆ์–ด๋ง ํŽธ

  • Engineering is (mathematically) optimization.
  • All optimization is composed of twp steps: 1. Problem building (front-end) and 2. Problem solving (back-end).

1-1. Front-end ํŽธ

  1. Outliers are inevitable.
    • ๊ทธ๋ž˜์„œ ๋‚˜๋Š” ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ (๊ทธ๊ฒƒ์ด ์„ฑ๋ฆฝํ•˜๋Š” ๊ฒŒ์ž„ ๋“ฑ์„ ์˜ˆ์™ธ๋กœ ํ•˜๋ฉด) ๋ณ„๋กœ ์•ˆ ์ข‹์•„ํ•œ๋‹ค.
  2. Correspondence, correspondence, and correspondence.
    • computer vision ๋ถ„์•ผ์˜ ์œ ๋ช…ํ•œ ๊ต์ˆ˜๋‹˜์ธ Takeo Kanade ๊ป˜์„œ ์ด ๋ง์„ ํ•˜์…จ๋‹ค๊ณ  ํ•จ.
    • ๊ทธ๋งŒํผ correspondence association (outlier ๋“ค์ด inevitable ํ•˜๊ธฐ ๋•Œ๋ฌธ์—) ์ด ์–ด๋ ต๋‹ค๋Š” ๋œป์ด๊ฒ ๊ณ , ๊ทธ๋งŒํผ correspondence association ๋งŒ ํ’€๋ฆฐ๋‹ค๋ฉด ๋‹ค ํ’€๋ฆฐ๋‹ค๋Š” ๊ฑธ ์˜๋ฏธํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

1-2. Back-end ํŽธ

  1. The world is non-linear
    • ์–ด์ฉ” ์ˆ˜ ์—†๋Š” ์ง„๋ฆฌ.
  2. Initial is all you need.
    • ์„ธ์ƒ์€ nonlinear ํ•˜์ง€๋งŒ ๊ฒฐ๊ตญ linearizeํ•ด์„œ ํ’€๋ ค๊ณ  ํ•˜๊ธฐ ๋•Œ๋ฌธ.
    • ์ด๋Š” ์œ„์˜ 0.2 ์™€ 0.3 ๊ณผ๋„ ํ†ตํ•œ๋‹ค. ๋ณต์žกํ•œ ์ด๋ก ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค, ์•ฝ๊ฐ„์˜ ๋ˆ+๊ณต์ˆ˜ ๋ฅผ ๋“ค์—ฌ Initial ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋ฌธ์ œ๋ฅผ ์‰ฝ๊ฒŒ ํ’€์–ด ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Œ.
  3. Gauss-Newton: Gradient is then you need.
    • ๋Œ€ํ•™์—์„œ ๋”ฑ ํ•œ ๊ฐ€์ง€๋งŒ ๋ฐฐ์›Œ์•ผ ํ•œ๋‹ค๋ฉด Gauss-newton algorithm ๊ณผ ์ด๋ฅผ ์œ„ํ•œ auto-diff ๋ฅผ ๊ผฝ๊ณ  ์‹ถ๋‹ค.

2. ๊ตฌํ˜„ ํŽธ

  1. SW guy must know HW.
    • ๊ฐœ์ธ์ ์œผ๋กœ๋„ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„.
  2. Not only estimate, but also measure.
    • ํŠนํžˆ time cost ๋ฆฌํฌํŠธํ•  ๋•Œ, ์ธก์ •ํ•˜์ง€ ์•Š๊ณ  ๋„˜๊ฒจ์งš์œผ๋ฉด 0.1, 0.2, 0.3์„ ์–ด๊ธฐ๋Š” ์ƒํ™ฉ์ด ๋ฒŒ์–ด์ง„๋‹ค.
  3. Not table, but demo.
    • AJ Davison ๊ต์ˆ˜๋‹˜๊ป˜์„œ ํ•˜์…จ๋˜ ๋ง.
    • Table์€ ๊ทธ ๋ฐ์ดํ„ฐ์…‹์—์„œ๋Š” ์ž˜ ํ–ˆ๋‹ค๋Š” ๊ฑธ ์˜๋ฏธํ•˜๊ณ  ์—ฌ์ „ํžˆ ์•ˆ๋˜๋Š” ๊ฑด ์•ˆ๋œ๋‹ค๋Š” ๊ฑธ ์˜๋ฏธํ•œ๋‹ค. ๊ทผ๋ฐ Demo๋Š” ์•„๋ฌดํŠผ ์ž˜ ๋œ๋‹ค๋Š” ๊ฑธ ์˜๋ฏธํ•œ๋‹ค.

๊ฒฐ๋ก 

  • ๊ทธ๋ฆฌ๊ณ  ํ–‰๋™์ด ๋”์šฑ ์ค‘์š”ํ•˜๋‹ค.