Curieux.JY
  • Post
  • Note
  • Jung Yeon Lee

On this page

  • Brief Review
  • Detail Review
    • ๊ธฐ์ˆ ์  ๋ฉ”์„œ๋“œ ๋ถ„์„
      • 2.1 ํŒŒ์ดํ”„๋ผ์ธ ๊ฐœ์š” (Perception-to-Control Pipeline)
      • 2.2 ์—”๋“œ์ดํŽ™ํ„ฐ ์ƒ˜ํ”Œ๋ง ์ „๋žต (End-Effector Sampling Strategy)
      • 2.3 ์ ‘์ด‰-์•”์‹œ์  MPC ์ˆ˜์‹ ๋ชจ๋ธ (LCS์™€ QPCC)
      • 2.4 C3+ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (์Šฌ๋ž™ ๋ณ€์ˆ˜์™€ ADMM)
      • 2.5 ์‹œ์Šคํ…œ ๊ตฌํ˜„ ์š”์•ฝ
    • ์‹คํ—˜ ์„ค์ • ๋ฐ ๊ฒฐ๊ณผ ํ‰๊ฐ€
      • 3.1 ์‹คํ—˜ ๊ตฌ์„ฑ
      • 3.2 ๋‹จ์ผ ๊ฐ์ฒด ํ‘ธ์‹ฑ ๊ฒฐ๊ณผ
      • 3.3 ๋‹ค์ค‘ ๊ฐ์ฒด ํ‘ธ์‹ฑ ๊ฒฐ๊ณผ
      • 3.4 C3 vs C3+ ์†๋„ ๋น„๊ต
    • ๊ธฐ์กด ์—ฐ๊ตฌ์™€์˜ ๋น„๊ต ๋ถ„์„
    • ๊ฒฐ๋ก  ๋ฐ ํ–ฅํ›„ ์—ฐ๊ตฌ
    • ์ฐธ๊ณ ๋ฌธํ—Œ

๐Ÿ“ƒPush Anything ๋ฆฌ๋ทฐ

push
mpc
Single- and Multi-Object Pushing From First Sight with Contact-Implicit MPC
Published

October 31, 2025

  • Paper Link
  • Project LInk
  1. ๐Ÿค” ์ด ์—ฐ๊ตฌ๋Š” ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ๋‹จ์ผ ๋ฐ ๋‹ค์ค‘ ๊ฐ์ฒด๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ€์–ด ์กฐ์ž‘ํ•˜๋Š” ํ•ต์‹ฌ ๊ณผ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด โ€™Push Anythingโ€™์ด๋ผ๋Š” ํ†ตํ•ฉ ํŒŒ์ดํ”„๋ผ์ธ์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.
  2. ๐Ÿš€ ์ด ํŒŒ์ดํ”„๋ผ์ธ์€ ๊ฐ์ฒด ์Šค์บ” ๋ฐ ๋ฉ”์‹œ ์žฌ๊ตฌ์„ฑ, ๊ฒฌ๊ณ ํ•œ ๊ฐ์ฒด ์ถ”์ , ๊ทธ๋ฆฌ๊ณ  ADMM ๊ธฐ๋ฐ˜ CI-MPC์ธ C3๋ฅผ ๊ฐœ์„ ํ•˜์—ฌ ํˆฌ์˜ ๋‹จ๊ณ„ ์—ฐ์‚ฐ ์†๋„๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ํ–ฅ์ƒ์‹œํ‚จ C3+ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ†ตํ•ฉํ•ฉ๋‹ˆ๋‹ค.
  3. โœจ ํ•˜๋“œ์›จ์–ด ์‹คํ—˜์„ ํ†ตํ•ด 33๊ฐœ ๊ฐ์ฒด์— ๊ฑธ์ณ 98%์˜ ์„ฑ๊ณต๋ฅ ๊ณผ ๋†’์€ ์ •๋ฐ€๋„๋ฅผ ๋‹ฌ์„ฑํ–ˆ์œผ๋ฉฐ, ์ด์ „์— ๋‹ค๋ฃจ๊ธฐ ์–ด๋ ค์› ๋˜ ๋ณต์žกํ•œ ๋‹ค์ค‘ ๊ฐ์ฒด ๋ฐ€๊ธฐ ์ž‘์—…์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•จ์„ ์ž…์ฆํ–ˆ์Šต๋‹ˆ๋‹ค.

Brief Review

๋ณธ ๋…ผ๋ฌธ์€ ๋‹ค์–‘ํ•œ ํ˜•์ƒ์˜ ๊ฐ์ฒด, ํŠนํžˆ ๋‹ค์ค‘ ๊ฐ์ฒด ํ™˜๊ฒฝ์—์„œ ์ •๋ฐ€ํ•œ ๋น„ํŒŒ์ง€(non-prehensile) ํ‰๋ฉด ํ‘ธ์‹ฑ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ โ€œPush Anythingโ€์ด๋ผ๋Š” ๋กœ๋ด‡ ์กฐ์ž‘ ํŒŒ์ดํ”„๋ผ์ธ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ Contact-Implicit Model Predictive Control (CI-MPC) ๋ฐฉ๋ฒ•์€ ๋ณต์žกํ•œ ์ ‘์ด‰ ์ƒํ˜ธ์ž‘์šฉ๊ณผ ์•Œ ์ˆ˜ ์—†๋Š” ๋ฌผ๋ฆฌ์  ํŠน์„ฑ์œผ๋กœ ์ธํ•ด ์ œํ•œ๋œ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋งŒ ์ ์šฉ ๊ฐ€๋Šฅํ–ˆ์œผ๋ฉฐ, ๋‹ค์ค‘ ๊ฐ์ฒด ํ™˜๊ฒฝ์—์„œ์˜ ์ˆ˜๋งŽ์€ ์ ‘์ด‰ ์ถ”๋ก ์€ ์‚ฌ์‹ค์ƒ ๋ถˆ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๋ณธ ์—ฐ๊ตฌ๋Š” ํ•ต์‹ฌ์ ์œผ๋กœ Consensus Complementarity Control (C3) [1]์˜ ๊ฐœ์„ ๋œ ๋ฒ„์ „์ธ Consensus Complementarity Control Plus (C3+) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋„์ž…ํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ์„ฑ๋Šฅ์„ ๋Œ€ํญ ํ–ฅ์ƒ์‹œํ‚ค๊ณ , ๊ฐ์ฒด ์Šค์บ๋‹, ๋ฉ”์‹œ ์žฌ๊ตฌ์„ฑ, ๋กœ๋ด‡ ํ•˜๋“œ์›จ์–ด ์‹คํ–‰์„ ์•„์šฐ๋ฅด๋Š” ์™„์ „ํ•œ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ๋ฐฉ๋ฒ•๋ก : C3+ (Consensus Complementarity Control Plus)

C3+๋Š” ์ ‘์ด‰ ๋™์—ญํ•™์„ ์ตœ์ ํ™” ๋ฌธ์ œ์— ์ง์ ‘ ๋‚ด์žฅํ•˜๋Š” CI-MPC ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ, Venkatesh, Bianchini et al. [4]์˜ ์ƒ˜ํ”Œ๋ง ๊ธฐ๋ฐ˜ CI-MPC ์ ‘๊ทผ ๋ฐฉ์‹์— ๊ฐœ์„  ์‚ฌํ•ญ์„ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋กœ๋ด‡์˜ ์—”๋“œ ์ดํŽ™ํ„ฐ(end effector) ํ›„๋ณด ์œ„์น˜๋ฅผ ์ƒ˜ํ”Œ๋งํ•˜๊ณ , ๊ฐ ํ›„๋ณด์— ๋Œ€ํ•ด CI-MPC ๋ฌธ์ œ๋ฅผ ํ’€์–ด ์ตœ์ ์˜ ๊ถค์ ์„ ์ฐพ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง€์—ญ ์ตœ์ ํ™” ๋ฌธ์ œ๋ฅผ ๊ทน๋ณตํ•ฉ๋‹ˆ๋‹ค.

1. ์ ‘์ด‰ ๋™์—ญํ•™ ๋ชจ๋ธ:

์ ‘์ด‰ ๋™์—ญํ•™์€ ๋ณธ์งˆ์ ์œผ๋กœ ๋ถˆ์—ฐ์†์ ์ด๋ฉฐ, ๋ถ€์ฐฉ(sticking), ๋ฏธ๋„๋Ÿฌ์ง(sliding), ๋ถ„๋ฆฌ(separation)์™€ ๊ฐ™์€ ํ–‰๋™์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ƒ๋ณด์„ฑ ์ œ์•ฝ ์กฐ๊ฑด(complementarity constraints)์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ชจ๋ธ๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค:

x_{k+1} = f (x_k, u_k, \lambda_k) 0 \le \lambda_k \perp \Phi(x_k, u_k, \lambda_k) \ge 0 ์—ฌ๊ธฐ์„œ x_k \in \mathbb{R}^{n_x}๋Š” ์‹œ์Šคํ…œ ์ƒํƒœ, u_k \in \mathbb{R}^{n_u}๋Š” ์ œ์–ด ์ž…๋ ฅ, \lambda_k \in \mathbb{R}^{n_\lambda}๋Š” ์ ‘์ด‰๋ ฅ, \Phi๋Š” ์ž ์žฌ์  ์ ‘์ด‰ ์Œ ์‚ฌ์ด์˜ ๋ถ€ํ˜ธ ์žˆ๋Š” ๊ฑฐ๋ฆฌ(gap function)์ž…๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ ์ ‘์ด‰ ๋ชจ๋“œ์˜ ๋‹ค์ค‘ ๋ชจ๋“œ(multi-modal) ํŠน์„ฑ์„ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค.

2. CI-MPC ๋ฌธ์ œ ๊ณต์‹ํ™”:

C3+๋Š” ์ด ์ ‘์ด‰ ๋™์—ญํ•™ ๋ชจ๋ธ์„ ํ‘œ์ค€ 2์ฐจ ๋น„์šฉ ํ•จ์ˆ˜์™€ ๊ฒฐํ•ฉํ•˜์—ฌ Quadratic Program with Complementarity Constraints (QPCC)๋ฅผ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค:

\min_{x_{0:N}, u_{0:N-1}, \lambda_{0:N-1}} \sum_{k=0}^{N-1} (x_k^T Q_k x_k + u_k^T R_k u_k) + x_N^T Q_N x_N \text{s.t.} x_{k+1} = A x_k + B u_k + D \lambda_k + d 0 \le \lambda_k \perp E x_k + F \lambda_k + H u_k + c \ge 0 (x_k, u_k) \in \mathcal{C}

์—ฌ๊ธฐ์„œ ๋™์—ญํ•™ f์™€ ๊ฑฐ๋ฆฌ ํ•จ์ˆ˜ \Phi๋Š” ์ƒํƒœ x, ์ž…๋ ฅ u, ์ ‘์ด‰๋ ฅ \lambda์— ๋Œ€ํ•ด ์„ ํ˜•ํ™”๋œ ๊ทผ์‚ฌ์น˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ QPCC๋Š” ๋น„๋ณผ๋ก(non-convex) ๋ฌธ์ œ์ด๋ฉฐ Mixed-Integer Quadratic Program (MIQP)์œผ๋กœ ์žฌ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด๋Š” ๊ณ„์‚ฐ ๋น„์šฉ์ด ๋งค์šฐ ๋†’์Šต๋‹ˆ๋‹ค.

3. C3+์˜ ํ•ต์‹ฌ ๊ฐœ์„  ์‚ฌํ•ญ: Slack Variable ๋„์ž… ๋ฐ ADMM ์ตœ์ ํ™”:

C3+๋Š” ํšจ์œจ์ ์ธ ํ•ด๋ฒ•์„ ์œ„ํ•ด ADMM(Alternating Direction Method of Multipliers) [33]์„ ํ™œ์šฉํ•˜๋Š” C3 ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. C3+์˜ ํ•ต์‹ฌ์€ ์ƒ๋ณด์„ฑ ์ œ์•ฝ ์กฐ๊ฑด ๋‚ด์˜ ์„ ํ˜• ํ‘œํ˜„์‹(E x_k + F \lambda_k + H u_k + c)์„ ๋‚˜ํƒ€๋‚ด๋Š” ์Šฌ๋ž™ ๋ณ€์ˆ˜ \eta_k \in \mathbb{R}^{n_\lambda}๋ฅผ ๋„์ž…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

\min_{x_{0:N}, u_{0:N-1}, \lambda_{0:N-1}, \eta_{0:N-1}} \sum_{k=0}^{N-1} (x_k^T Q_k x_k + u_k^T R_k u_k) + x_N^T Q_N x_N \text{s.t.} x_{k+1} = A x_k + B u_k + D \lambda_k + d \eta_k = E x_k + F \lambda_k + H u_k + c 0 \le \lambda_k \perp \eta_k \ge 0 (x_k, u_k) \in \mathcal{C}

์ด ๋ฌธ์ œ(5)๋Š” ์ปจ์„ผ์„œ์Šค(consensus) ํ˜•ํƒœ๋กœ ์žฌ๊ตฌ์„ฑ๋˜์–ด ADMM ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ๋ฐ˜๋ณต์ ์œผ๋กœ ํ•ด๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ADMM์€ ๋‹ค์Œ ์„ธ ๊ฐ€์ง€ ์—…๋ฐ์ดํŠธ ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค:

  1. Quadratic Step (z-update): ๋ณผ๋ก(convex) QP๋ฅผ ํ’€์–ด ์‹œ์Šคํ…œ ๋™์—ญํ•™, ์Šฌ๋ž™ ๋ณ€์ˆ˜ ๋“ฑ ์‹œ๊ฐ„์— ๊ฑธ์ณ ๊ฒฐํ•ฉ๋œ ์ œ์•ฝ ์กฐ๊ฑด์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. C3+์—์„œ๋Š” \eta_k์— ๋Œ€ํ•œ ์„ ํ˜• ๋“ฑ์‹ ์ œ์•ฝ์ด ์ถ”๊ฐ€๋˜์–ด QP ํฌ๊ธฐ๊ฐ€ ์•ฝ๊ฐ„ ์ปค์ง€์ง€๋งŒ, OSQP [34]์™€ ๊ฐ™์€ ํ‘œ์ค€ ์†”๋ฒ„๋กœ ํšจ์œจ์ ์œผ๋กœ ํ’€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. Projection Step (ฮด-update): ์ด ๋‹จ๊ณ„๋Š” C3+์˜ ์ฃผ์š” ๊ณ„์‚ฐ์ƒ์˜ ์ด์ ์ž…๋‹ˆ๋‹ค. ๊ฐ ํƒ€์ž„์Šคํ… k์— ๋Œ€ํ•ด ์ด์ „ ๋‹จ๊ณ„์˜ ๊ฒฐ๊ณผ๋ฅผ ๋‹จ์ˆœ ์ƒ๋ณด์„ฑ ์ง‘ํ•ฉ 0 \le \delta\lambda_k \perp \delta\eta_k \ge 0์— ํˆฌ์˜ํ•ฉ๋‹ˆ๋‹ค. ์Šฌ๋ž™ ๋ณ€์ˆ˜ ๋„์ž… ๋•๋ถ„์— ๋น„๋ณผ๋ก ์ƒ๋ณด์„ฑ ์ œ์•ฝ ์กฐ๊ฑด์ด ์ ‘์ด‰๋ณ„๋กœ ๋ถ„๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, (11)์€ ๋งŽ์€ ๋…๋ฆฝ์ ์ธ 1D MIQP๋ฅผ ํ‘ธ๋Š” ๊ฒƒ๊ณผ ๋™๋“ฑํ•ด์ง€๋ฉฐ, ์ด๋Š” ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•œ ๋‹ซํžŒ ํ˜•ํƒœ์˜ ํ•ด๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค: (\delta\lambda_k, \delta\eta_k)^* = \begin{cases} (0, \eta^\circ) & \text{if } \eta^\circ \ge 0 \text{ and } \eta^\circ \ge p_{\lambda}/p_{\eta} \lambda^\circ \\ (\lambda^\circ, 0) & \text{if } \lambda^\circ \ge 0 \text{ and } \eta^\circ < p_{\lambda}/p_{\eta} \lambda^\circ \\ (0, 0) & \text{otherwise} \end{cases} ์—ฌ๊ธฐ์„œ \lambda^\circ = (z_{k+1}^i + w_k^i)_\lambda, \eta^\circ = (z_{k+1}^i + w_k^i)_\eta์ด๋ฉฐ p_\lambda, p_\eta > 0๋Š” ๊ฐ€์ค‘์น˜์ž…๋‹ˆ๋‹ค. ์ด ๋‹ซํžŒ ํ˜•ํƒœ์˜ ํ•ด๋Š” ๊ฐ’๋น„์‹ผ MIQP๋ฅผ ์ƒ์ˆ˜ ์‹œ๊ฐ„์˜ ๋ถ„์„์  ๊ณ„์‚ฐ์œผ๋กœ ๋Œ€์ฒดํ•˜์—ฌ ์ƒ๋‹นํ•œ ์†๋„ ํ–ฅ์ƒ์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  3. Dual Update (w-update): ์Šค์ผ€์ผ๋ง๋œ ๋“€์–ผ ๋ณ€์ˆ˜ w_k๋ฅผ ์กฐ์ •ํ•˜์—ฌ z_k์™€ \delta_k๊ฐ€ ๋‹ค์Œ ๋ฐ˜๋ณต์—์„œ ์ผ์น˜ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

C3+๋Š” ์ •ํ•ด์ง„ ์ˆ˜์˜ ADMM ๋ฐ˜๋ณต ํ›„ ์กฐ๊ธฐ ์ข…๋ฃŒํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ์ œ์–ด ์†๋„๋ฅผ ์œ ์ง€ํ•˜๋ฉฐ, ๋งˆ์ง€๋ง‰ ์ด์ฐจ ๋‹จ๊ณ„์—์„œ ์—”๋“œ ์ดํŽ™ํ„ฐ-๊ฐ์ฒด ์ ‘์ด‰ ๊ตฌ์„ฑ ์š”์†Œ์— ํฐ ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ๋™์—ญํ•™์ ์œผ๋กœ ์‹คํ˜„ ๊ฐ€๋Šฅํ•œ ํž˜์„ ์œ ๋„ํ•ฉ๋‹ˆ๋‹ค.

Push Anything ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ:

  • ๊ฐ์ฒด ๋ฉ”์‹œ ์žฌ๊ตฌ์„ฑ: RealSense D455 RGBD ์นด๋ฉ”๋ผ๋กœ ๊ฐ์ฒด ๋น„๋””์˜ค๋ฅผ ๋…นํ™”ํ•˜๊ณ , XMem [29]์œผ๋กœ ๊ฐ์ฒด ๋งˆ์Šคํฌ๋ฅผ ์ƒ์„ฑํ•œ ํ›„, BundleSDF [30]๋ฅผ ํ†ตํ•ด ๋ฉ”์‹œ ์žฌ๊ตฌ์„ฑ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์ค‘ ๊ฐ์ฒด ์ถ”์ : FoundationPose [31]์˜ ์—ฌ๋Ÿฌ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰ํ•˜์—ฌ ๋‹ค์ค‘ ๊ฐ์ฒด๋ฅผ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค. XMem [29]์„ ํ†ตํ•ฉํ•˜์—ฌ ๋งˆ์Šคํฌ์˜ ์ฃผ๊ธฐ์  ์žฌ๋“ฑ๋ก์„ ํ†ตํ•ด ์‹œ๊ฐ„ ๊ฒฝ๊ณผ์— ๋”ฐ๋ฅธ ๋“œ๋ฆฌํ”„ํŠธ(drift)๋ฅผ ์ˆ˜์ •ํ•˜๊ณ , ๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ๋ฐฉํ–ฅ ๋ณ€ํ™”๋ฅผ ๊ฐ์ง€ํ•˜์—ฌ ๊ฐ์ฒด ๋Œ€์นญ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒ˜ํ”Œ๋ง ์ „๋žต: ๊ฐ์ฒด ๋ฉ”์‹œ์˜ ๋ฐ”๋””-ํ”„๋ ˆ์ž„(body-frame) ๋ฉด ์œ„์น˜, ๋ฉด์ , ๋ฒ•์„  ๋ฒกํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—”๋“œ ์ดํŽ™ํ„ฐ ํ›„๋ณด ์œ„์น˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ž„์˜๋กœ ๊ฐ์ฒด, ๋ฉด, ๋ฉด ์œ„์˜ ์ ์„ ์„ ํƒํ•œ ํ›„, ๊ทธ ์ ์„ ๋ฉด์˜ ๋ฐ”๊นฅ ๋ฒ•์„  ๋ฒกํ„ฐ๋ฅผ ๋”ฐ๋ผ ๊ณ ์ •๋œ ๊ฑฐ๋ฆฌ๋งŒํผ ํˆฌ์˜ํ•˜๊ณ , ๋‹ค์‹œ ๊ณ ์ •๋œ ์›”๋“œ ๋†’์ด๋กœ ํˆฌ์˜ํ•˜์—ฌ ํ›„๋ณด ์œ„์น˜๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ฐ์ฒด์— ๋„ˆ๋ฌด ๊ฐ€๊นŒ์šด ์ƒ˜ํ”Œ์€ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

์‹คํ—˜ ๋ฐ ๊ฒฐ๊ณผ:

Franka Panda ๋กœ๋ด‡๊ณผ ๊ตฌํ˜• ์—”๋“œ ์ดํŽ™ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 33๊ฐœ์˜ ๋‹ค์–‘ํ•œ ๊ฐ์ฒด์— ๋Œ€ํ•ด ๊ด‘๋ฒ”์œ„ํ•œ ํ•˜๋“œ์›จ์–ด ์‹คํ—˜์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. * ๋‹จ์ผ ๊ฐ์ฒด ํ‘ธ์‹ฑ: 25๊ฐœ ๊ฐ์ฒด์— ๋Œ€ํ•œ 701ํšŒ ์‹œ๋„์—์„œ 99.9%์˜ ์„ฑ๊ณต๋ฅ ์„ ๋‹ฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ํ‰๊ท  ๋ชฉํ‘œ ๋„๋‹ฌ ์‹œ๊ฐ„์€ ์•ฝ 31์ดˆ์˜€์œผ๋ฉฐ, ์ด์ „ ์ž‘์—… [4]๋ณด๋‹ค ํ–ฅ์ƒ๋œ ์„ฑ๋Šฅ์„ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. * ๋‹ค์ค‘ ๊ฐ์ฒด ํ‘ธ์‹ฑ: 2-๊ฐ์ฒด, 3-๊ฐ์ฒด, 4-๊ฐ์ฒด ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์ด 227ํšŒ ์‹œ๋„์— ๊ฑธ์ณ 92.5%์˜ ์„ฑ๊ณต๋ฅ ์„ ๊ธฐ๋กํ–ˆ์Šต๋‹ˆ๋‹ค. ํ‰๊ท  ๋ชฉํ‘œ ๋„๋‹ฌ ์‹œ๊ฐ„์€ ๊ฐ๊ฐ 96.4์ดˆ, 191.1์ดˆ, 315.7์ดˆ๋กœ, ๊ฐ์ฒด ์ˆ˜์˜ ์ฆ๊ฐ€์— ๋น„๋ก€ํ•˜์—ฌ ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. * C3 ๋Œ€๋น„ C3+์˜ ํ•ด๋ฒ• ์‹œ๊ฐ„ ๋น„๊ต: C3+๋Š” C3์— ๋น„ํ•ด ์ „์ฒด ์„ฑ๋Šฅ์ด ๋” ๋น ๋ฆ…๋‹ˆ๋‹ค. Quadratic Step์€ ์•ฝ๊ฐ„ ๋А๋ฆฌ์ง€๋งŒ, Projection Step์€ ๋„ค๋‹ค์„ฏ ์ž๋ฆฟ์ˆ˜๋งŒํผ ์••๋„์ ์œผ๋กœ ๋น ๋ฅด๋ฉฐ, ์ด๋Š” ์Šฌ๋ž™ ๋ณ€์ˆ˜ ๋„์ž…์œผ๋กœ ์ธํ•œ ๊ณ„์‚ฐ ํšจ์œจ์„ฑ ๋•๋ถ„์ž…๋‹ˆ๋‹ค.

ํ•œ๊ณ„ ๋ฐ ํ–ฅํ›„ ์—ฐ๊ตฌ:

  • FoundationPose์˜ ํฌ์ฆˆ ์ถ”์  ์ •ํ™•๋„, ํŠนํžˆ ๊ฐ์ฒด ๊ฐ€๋ฆผ(occlusion) ์ƒํ™ฉ์—์„œ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์ค‘ ๋ทฐ ์ถ”์ ์„ ํ†ตํ•œ ์ง€๊ฐ(perception) ๊ฒฌ๊ณ ์„ฑ ํ–ฅ์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ๊ฐ์ฒด์— ๋™์ผํ•œ ์งˆ๋Ÿ‰๊ณผ ๊ด€์„ฑ์„ ๋ชจ๋ธ๋งํ•˜์—ฌ, ํ–ฅํ›„ ์˜จ๋ผ์ธ ๋ชจ๋ธ ํ•™์Šต ๋˜๋Š” ์ ์‘(adaptation)์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณ ์ฐจ์›์ ์ธ ๋‹ค๋‹จ๊ณ„ ์žฅ๊ธฐ ๊ณ„ํš(multi-step long-horizon planning)์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์•„ ์ž‘์—… ๋ณต์žก์„ฑ์ด ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ๋น„ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์œ„ ๋ ˆ๋ฒจ ์ถ”๋ก ๊ณผ์˜ ๊ฒฐํ•ฉ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ํŒŒ์ดํ”„๋ผ์ธ์„ 3D ๋น„ํŒŒ์ง€ ์กฐ์ž‘์œผ๋กœ ํ™•์žฅํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค.

๊ฒฐ๋ก ์ ์œผ๋กœ, โ€œPush Anythingโ€์€ C3+ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋„์ž…์„ ํ†ตํ•ด ๋ณต์žกํ•œ ๋‹ค์ค‘ ๊ฐ์ฒด ์ ‘์ด‰์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” CI-MPC์˜ ๋Šฅ๋ ฅ์„ ํฌ๊ฒŒ ํ™•์žฅํ–ˆ์œผ๋ฉฐ, ๋‹ค์–‘ํ•œ ์‹ค์ œ ๊ฐ์ฒด์— ๋Œ€ํ•œ ๊ณ ์ •๋ฐ€ ํ‰๋ฉด ํ‘ธ์‹ฑ ์ž‘์—…์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ์„ ํ•˜๋“œ์›จ์–ด ์‹คํ—˜์„ ํ†ตํ•ด ์ž…์ฆํ–ˆ์Šต๋‹ˆ๋‹ค.

Detail Review

Push Anything: ๋‹จ์ผ ๋ฐ ๋‹ค์ค‘ ๊ฐ์ฒด ํ‘ธ์‹ฑ์„ ์œ„ํ•œ CI-MPC (Contact-Implicit MPC) โ€“ ์‹ฌ์ธต ๋ฆฌ๋ทฐ

๋ณธ ๋ฆฌ๋ทฐ์—์„œ๋Š” Hien Bui ๋“ฑ(2025)์˜ Push Anything: Single- and Multi-Object Pushing From First Sight with Contact-Implicit MPC ๋…ผ๋ฌธ์„ ๋‹ค๋ฃฌ๋‹ค. ์ด ์—ฐ๊ตฌ๋Š” ๋น„์„ ์ ์  ์กฐ์ž‘(planar pushing) ๋ฌธ์ œ์—์„œ Contact-Implicit MPC (CI-MPC) ๊ธฐ๋ฐ˜ ์ œ์–ด๋ฒ•์„ ํ™•์žฅํ•˜์—ฌ ๋‹จ์ผ ๊ฐ์ฒด๋ฟ ์•„๋‹ˆ๋ผ ๋‹ค์ค‘ ๊ฐ์ฒด ํ™˜๊ฒฝ์—์„œ๋„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ณ ์ •๋ฐ€ ํ‘ธ์‹ฑ ์ œ์–ด๋ฅผ ๊ตฌํ˜„ํ–ˆ๋‹ค. ์ฃผ์š” ๊ธฐ์—ฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ฒซ์งธ, ์‹ค์ œ ๋ฌผ์ฒด ์Šค์บ” ๋ฐ ๋ฉ”์‹œ ์žฌ๊ตฌ์„ฑ, ๊ฐ์ฒด ์ถ”์ , ์ƒ˜ํ”Œ๋ง ๊ธฐ๋ฐ˜ CI-MPC๋ฅผ ํ†ตํ•ฉํ•˜๋Š” ์™„์ „ํ•œ ์กฐ์ž‘ ํŒŒ์ดํ”„๋ผ์ธ์ธ Push Anything๋ฅผ ์ œ์•ˆํ–ˆ๋‹ค. ๋‘˜์งธ, ๊ธฐ์กด C3(Consensus Complementarity Control) ๋ฐฉ๋ฒ•์„ ๊ฐœ์„ ํ•œ C3+ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐœ๋ฐœํ•˜์—ฌ ํ’€๊ธฐ ์–ด๋ ค์šด ํ˜ผํ•ฉ์ •์ˆ˜์ œ๊ณฑ๋ฌธ์ œ(MIQP)๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ•ด๊ฒฐํ–ˆ๋‹ค. C3+๋Š” ์ ‘์ด‰ ๋ชจ๋“œ๋ฅผ ๋А์Šจํ•˜๊ฒŒ ๋ถ„๋ฆฌํ•˜๊ณ  ADM(Mixed-Integer Linear Complementarity) ๊ธฐ๋ฐ˜ ADMM ์ตœ์ ํ™”๋กœ ๋ณ‘๋ ฌ ๊ณ„์‚ฐ์„ ๊ฐ€๋Šฅ์ผ€ ํ•จ์œผ๋กœ์จ, C3 ๋Œ€๋น„ ํˆฌ์˜ ๋‹จ๊ณ„์—์„œ 10โดโ€“10โต๋ฐฐ์— ๋‹ฌํ•˜๋Š” ์†๋„ ํ–ฅ์ƒ์„ ๋‹ฌ์„ฑํ–ˆ๋‹ค. ์…‹์งธ, ๊ฐœ๋ฐœ๋œ ์‹œ์Šคํ…œ์„ 33์ข…์˜ ๋‹ค์–‘ํ•œ ๊ฐ์ฒด์— ์ ์šฉํ•˜์—ฌ 928ํšŒ์˜ ํ•˜๋“œ์›จ์–ด ์‹คํ—˜์„ ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ 98% ์ด์ƒ์˜ ์„ฑ๊ณต๋ฅ (๋‹จ์ผ ๊ฐ์ฒด 99.9%, ๋‹ค์ค‘ ๊ฐ์ฒด 92.5%)๊ณผ ๋ฌผ์ฒด ์œ„์น˜ ์˜ค์ฐจ 2cm, ํšŒ์ „ ์˜ค์ฐจ 0.1rad ๋‚ด ๋„๋‹ฌ์„ ๋ณด์˜€์œผ๋ฉฐ, ์‹ค์‹œ๊ฐ„ ์„ฑ๋Šฅ(๋‹จ์ผ ๊ฐ์ฒด 0.5๋ถ„ ํ‰๊ท , 4๊ฐ์ฒด 5.3๋ถ„ ํ‰๊ท )์œผ๋กœ ๋ชฉํ‘œ ์œ„์น˜๊นŒ์ง€ ์ •๋ฐ€ํ•˜๊ฒŒ ํ‘ธ์‹ฑํ•จ์„ ๋ณด์˜€๋‹ค. ์ด์ฒ˜๋Ÿผ Push Anything์€ ๋ฏธ๋ฆฌ ์•Œ๋ ค์ง€์ง€ ์•Š์€ ๋‹ค์–‘ํ•œ ํ˜•์ƒ์˜ ๊ฐ์ฒด๋“ค์— ๋Œ€ํ•ด, ๋งŽ์€ ๋ฌผ์ฒด-๋ฌผ์ฒด ๋ฐ ๋ฌผ์ฒด-ํ™˜๊ฒฝ ๊ฐ„ ์ ‘์ด‰์„ ํฌํ•จํ•˜๋Š” ๋ณต์žกํ•œ ์žฅ๋ฉด์—์„œ๋„ ๊ธฐ์กด CI-MPC ๋ฐฉ์‹์œผ๋กœ๋Š” ๋ถˆ๊ฐ€๋Šฅํ–ˆ๋˜ ์ž‘์—…์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ณด์˜€๋‹ค.

๊ธฐ์ˆ ์  ๋ฉ”์„œ๋“œ ๋ถ„์„

2.1 ํŒŒ์ดํ”„๋ผ์ธ ๊ฐœ์š” (Perception-to-Control Pipeline)

Push Anything ์‹œ์Šคํ…œ์€ ์˜คํ”„๋ผ์ธ ๋‹จ๊ณ„์™€ ์˜จ๋ผ์ธ ๋‹จ๊ณ„๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. ์˜คํ”„๋ผ์ธ ๋‹จ๊ณ„์—์„œ๋Š” ์ƒˆ ๊ฐ์ฒด๋ฅผ ์นด๋ฉ”๋ผ๋กœ ์Šค์บ”ํ•ด ์ด๋ฅผ ๊ธฐํ•˜ ๋ชจ๋ธ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, RealSense D455 RGB-D ์นด๋ฉ”๋ผ๋กœ ๊ฐ์ฒด ๋™์˜์ƒ์„ ์ดฌ์˜ํ•œ ๋’ค, ์ฒซ ํ”„๋ ˆ์ž„์—์„œ ์ˆ˜๋™ ๋งˆ์Šคํ‚น์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์ดํ›„ ํ”„๋ ˆ์ž„์—์„œ๋Š” XMem์„ ์‚ฌ์šฉํ•ด ๋งˆ์Šคํฌ๋ฅผ ์ž๋™ ์ถ”์ ํ•œ๋‹ค. ์ด RGB, ๊นŠ์ด, ๋งˆ์Šคํฌ, ์นด๋ฉ”๋ผ ๋‚ด๋ถ€ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ž…๋ ฅ์œผ๋กœ BundleSDF (์‹ ๊ฒฝ ์ž„๋ฒ ๋””๋“œ SDF) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ๊ฐ์ฒด ๋ฉ”์‹œ๋ฅผ ์žฌ๊ตฌ์„ฑํ•˜๊ณ , ํ‘œ๋ฉด์„ ๋ฐ€๋ด‰(watertight)ํ•˜์—ฌ URDF ๋ชจ๋ธ์„ ์ƒ์„ฑํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ๋ชจ๋“  ๊ฐ์ฒด์˜ ์งˆ๋Ÿ‰๊ณผ ๊ด€์„ฑ ํ…์„œ๋ฅผ ๋™์ผํ•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ์ดํ›„ URDF๋“ค์„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ €์žฅํ•ด ๋‘๊ณ , ์‹คํ—˜ ์‹œ์—๋Š” ์ž„์˜๋กœ ์„ ํƒ๋œ 1~4๊ฐœ์˜ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

์˜จ๋ผ์ธ ๋‹จ๊ณ„์—์„œ๋Š” ์นด๋ฉ”๋ผ ์˜์ƒ์œผ๋กœ๋ถ€ํ„ฐ FoundationPose ๊ธฐ๋ฐ˜์˜ ๊ฐ์ฒด ์ƒํƒœ ์ถ”์ •๊ธฐ๋กœ ๊ฐ ๊ฐ์ฒด์˜ ์œ„์น˜ยท์ž์„ธ๋ฅผ ์ถ”์ ํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ํ”„๋ ˆ์ž„๋งˆ๋‹ค ์—ฌ๋Ÿฌ FoundationPose ์ธ์Šคํ„ด์Šค๋ฅผ ๋ณ‘๋ ฌ ์‹คํ–‰ํ•˜๋ฉฐ, ์•ž์„œ ์–ป์€ ๊ฐ์ฒด ๋ฉ”์‹œ๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ์ถ”์ ์„ ์ดˆ๊ธฐํ™”ํ•˜๊ณ  ์ง„ํ–‰ํ•œ๋‹ค. ๋‹ค๋งŒ, ๊ฐ์ฒด ๊ฐ„ ๋˜๋Š” ๋กœ๋ด‡์˜ ํŒ”์— ์˜ํ•œ ๋นˆ๋ฒˆํ•œ ๊ฐ€๋ฆผ๊ณผ ๋ฉ”์‹œ์˜ ๋ถˆ์™„์ „์„ฑ์œผ๋กœ ์ธํ•ด ์ถ”์  ์—๋Ÿฌ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ๊ธฐ์ ์œผ๋กœ XMem์œผ๋กœ ๋งˆ์Šคํฌ๋ฅผ ์žฌ๋“ฑ๋กํ•˜์—ฌ ์ถ”์  ๋“œ๋ฆฌํ”„ํŠธ๋ฅผ ๋ณด์ •ํ•˜๊ณ , ๊ฐ์ฒด ๋Œ€์นญ์„ฑ์œผ๋กœ ์ธํ•œ ์ž์„ธ ์ถ”์ • ๋ถˆ์—ฐ์†์„ ๊ฑธ๋Ÿฌ๋‚ธ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ํ˜„์žฌ ๋กœ๋ด‡ ์ƒํƒœ์™€ ์ถ”์ •๋œ ๊ฐ ๊ฐ์ฒด์˜ ์ƒํƒœ(x_{obj})๊ฐ€ ํš๋“๋œ๋‹ค.

์ดํ›„ ์ƒ˜ํ”Œ๋ง ๊ธฐ๋ฐ˜ CI-MPC ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๋™์ž‘ํ•œ๋‹ค. ์šฐ์„  ๊ฐ์ฒด ๋ฉ”์‹œ์™€ ์ƒํƒœ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ€๋Šฅ์„ฑ ์žˆ๋Š” ํ‘ธ์‹ฑ ์ ‘์ (๋˜๋Š” ์—”๋“œ์ดํŽ™ํ„ฐ ๋ชฉํ‘œ ์œ„์น˜) ํ›„๋ณด๋ฅผ ์ƒ˜ํ”Œ๋งํ•œ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ฐ ํ›„๋ณด ์œ„์น˜์— ๋Œ€ํ•œ ํ˜„์ง€ CI-MPC ์ตœ์ ํ™”๋ฅผ ํ’€์–ด ๋น„์šฉ์„ ๊ณ„์‚ฐํ•˜๊ณ , ์ตœ์ข…์ ์œผ๋กœ ๊ฐ€์žฅ ๋‚ฎ์€ ๋น„์šฉ์„ ๋‚ด๋Š” ํ›„๋ณด๋กœ ๋กœ๋ด‡์„ ์ด๋™์‹œ์ผœ ์‹ค์งˆ์ ์ธ ํ‘ธ์‹ฑ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋กœ๋ด‡์˜ ์›€์ง์ž„์€ ์šด๋™ ๊ณต๊ฐ„ ์ œ์–ด๊ธฐ(operational space controller)๋ฅผ ํ†ตํ•ด ์‹คํ–‰๋œ๋‹ค. ์ฆ‰, CI-MPC๊ฐ€ ๊ณ„ํšํ•œ ์—”๋“œ์ดํŽ™ํ„ฐ ๊ถค์  u^{*}, x^{*}๋ฅผ 1kHz์˜ ๊ณ ์ฃผํŒŒ ์ œ์–ด๊ธฐ๋กœ ์ถ”์ข…ํ•œ๋‹ค. ํ•˜๋“œ์›จ์–ด ๊ตฌ์„ฑ์œผ๋กœ๋Š” ๊ณ ์„ฑ๋Šฅ CPU 3๋Œ€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ (i) CI-MPC ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ „์šฉ, (ii) ๋กœ๋ด‡ ์ œ์–ด์™€ OSC, (iii) FoundationPose ๋“ฑ ์ธ์‹์šฉ์œผ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌํ•œ๋‹ค.

2.2 ์—”๋“œ์ดํŽ™ํ„ฐ ์ƒ˜ํ”Œ๋ง ์ „๋žต (End-Effector Sampling Strategy)

์ƒ˜ํ”Œ๋ง ๊ธฐ๋ฐ˜ CI-MPC์˜ ํ•ต์‹ฌ์€ ๋‹ค์–‘ํ•œ ์—”๋“œ์ดํŽ™ํ„ฐ ์œ„์น˜ ํ›„๋ณด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋จผ์ € ๊ฐ ๊ฐ์ฒด ๋ฉ”์‹œ์— ํฌํ•จ๋œ ๋ชจ๋“  ์‚ผ๊ฐํ˜• ๋ฉด์˜ ์œ„์น˜, ๋ฉด์ , ๋ฒ•์„  ๋ฒกํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค. ์ƒ˜ํ”Œ๋ง ์ ˆ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค: (1) ์ „์ฒด ๊ฐ์ฒด ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ท ๋“ฑํ•˜๊ฒŒ ์„ ํƒ, (2) ํ•ด๋‹น ๊ฐ์ฒด์—์„œ ๋ฉด์ ์— ๋น„๋ก€ํ•ด ํ•˜๋‚˜์˜ ์‚ผ๊ฐํ˜• ๋ฉด์„ ์„ ํƒ, (3) ์„ ํƒ๋œ ๋ฉด ์œ„์—์„œ ์ž„์˜์˜ ์ ์„ ์ƒ˜ํ”Œ๋งํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ์–ป์€ ํ‘œ๋ฉด์ƒ์˜ ์ ์„ ํ•ด๋‹น ๋ฉด์˜ ๋ฒ•์„  ๋ฐฉํ–ฅ์œผ๋กœ ๊ณ ์ • ๊ฑฐ๋ฆฌ๋งŒํผ ๋ฐ”๊นฅ์œผ๋กœ ์ด๋™์‹œํ‚ค๊ณ , ์„ธ๊ณ„ ์ขŒํ‘œ์—์„œ ๊ณ ์ •๋œ ๋†’์ด๋กœ ํˆฌ์˜ํ•˜์—ฌ ํ›„๋ณด ์œ„์น˜๋ฅผ ์–ป๋Š”๋‹ค. ์ƒ์„ฑ๋œ ํ›„๋ณด ์œ„์น˜ ์ค‘ ๋ฌผ์ฒด ํ‘œ๋ฉด๊ณผ ์ง€๋‚˜์น˜๊ฒŒ ๊ฐ€๊นŒ์šด(์ถฉ๋Œ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š”) ์œ„์น˜๋Š” ํ•„ํ„ฐ๋งํ•ด ์ œ๊ฑฐํ•œ๋‹ค. ์œ„ ๊ณผ์ •์„ ์›ํ•˜๋Š” ํ›„๋ณด ๊ฐœ์ˆ˜๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค. ์ด ์ƒ˜ํ”Œ๋ง ์ „๋žต์€ ๋Œ€์ƒ ๊ฐ์ฒด์˜ ๋ฉ”์‹œ๋งŒ ์žˆ์œผ๋ฉด ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋น„๊ตฌํ˜•/์˜ค๋ชฉํ˜• ๊ฐ์ฒด๋‚˜ ๋‹ค์ค‘ ๊ฐ์ฒด ํ™˜๊ฒฝ๋„ ๋ฌธ์ œ์—†์ด ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ƒ˜ํ”Œ๋ง ๊ฒฐ๊ณผ๋กœ ์–ป์€ ์—”๋“œ์ดํŽ™ํ„ฐ ์œ„์น˜ ํ›„๋ณด x_{\text{ee}}^{(i)}๋“ค์ด ๋กœ๋ด‡ ์‹œ์ž‘ ์œ„์น˜ x_{\text{ee}}^{(0)}์™€ ํ•จ๊ป˜ CI-MPC์˜ ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด๊ฐ„๋‹ค. ์ฆ‰, ๊ฐ ํ›„๋ณด์— ๋Œ€ํ•ด ๋กœ์ปฌ CI-MPC ๋ฌธ์ œ๋ฅผ ํ’€์–ด ๋น„์šฉ \mathcal{J}๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ , \min_{i}\mathcal{J}\left( x_{\text{ee}}^{(i)} \right)๊ฐ€ ๋˜๋„๋ก ๋กœ๋ด‡์„ ์ด๋™์‹œํ‚จ๋‹ค. ์ด๋•Œ ์ด๋™ ๊ฒฝ๋กœ๋Š” ์ถฉ๋Œ์ด ์—†๋Š” ๊ฒฝ๋กœ ์ฐพ๊ธฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์‚ฌ์ „ ๊ณ„ํšํ•œ ๋’ค, ๊ทธ ๋ชฉํ‘œ ์œ„์น˜์—์„œ CI-MPC๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋‘ ๋‹จ๊ณ„ ๋ฐฉ์‹์ด๋‹ค. ์ƒ˜ํ”Œ๋ง์„ ํ†ตํ•ด ์ „์—ญ ํƒ์ƒ‰(guidance)์„ ๋ณด์™„ํ•จ์œผ๋กœ์จ, ๋กœ์ปฌ CI-MPC์˜ ์ง€์—ญ ์ตœ์ ํ™” ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ณ  ์žฅ๊ธฐ์  ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

2.3 ์ ‘์ด‰-์•”์‹œ์  MPC ์ˆ˜์‹ ๋ชจ๋ธ (LCS์™€ QPCC)

CI-MPC๋Š” ํ˜ผํ•ฉ ์—ฐ์†-๋ถˆ์—ฐ์† ์‹œ์Šคํ…œ(hybrid dynamics) ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ํŠนํžˆ ์ ‘์ด‰ ์—ญํ•™์„ ๋ช…์‹œ์ ์œผ๋กœ ํฌํ•จํ•œ๋‹ค. ์ƒํƒœ x_{k} \in \mathbb{R}^{n_{x}}์™€ ์ œ์–ด์ž…๋ ฅ u_{k} \in \mathbb{R}^{n_{u}}๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ์„ ํ˜•ํ™” ์ „์˜ ์ผ๋ฐ˜ ๋™์—ญํ•™์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค:

x_{k + 1} = f\left( x_{k},u_{k},\lambda_{k} \right),\quad 0 \leq \lambda_{k}\bot\Phi\left( x_{k},u_{k},\lambda_{k} \right) \geq 0,

์—ฌ๊ธฐ์„œ \lambda_{k} \in \mathbb{R}^{n_{\lambda}}์€ ์ ‘์ด‰๋ ฅ(contact force)์„ ๋‚˜ํƒ€๋‚ด๊ณ , \Phi( \cdot )๋Š” ์ ‘์ด‰ ๊ฐ„๊ทน(gap ํ•จ์ˆ˜ ๋˜๋Š” signed distance)์ด๋‹ค. 0 \leq \lambda\bot\Phi \geq 0๋Š” ๋ณด์™„์„ฑ ์ œ์•ฝ์œผ๋กœ, ์ ‘์ด‰๋ ฅ์ด ๋น„์ œ๋กœ๋ฉด ์ ‘์ด‰ ๊ฐ„๊ทน์€ 0 (๋ฐ€์ฐฉ), ๊ฐ„๊ทน์ด ์–‘์ด๋ฉด ์ ‘์ด‰๋ ฅ์€ 0(๋น„์ ‘์ด‰)์„ ์˜๋ฏธํ•œ๋‹ค. ์ด ๋น„์„ ํ˜• ๋ชจ๋ธ์„ ์‹œ๊ฐ„-์ด์‚ฐํ™”ํ•˜๊ณ  ์„ ํ˜•ํ™”ํ•˜์—ฌ ์–ป์€ ์„ ํ˜• ๋ณด์™„ ์‹œ์Šคํ…œ(Linear Complementarity System, LCS)์˜ ํ˜•ํƒœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

\begin{aligned} x_{k + 1} &= Ax_{k} + Bu_{k} + D\lambda_{k} + d, \\ 0 \leq \lambda_{k} &\bot Ex_{k} + F\lambda_{k} + Hu_{k} + c \geq 0, \end{aligned}

์—ฌ๊ธฐ์„œ A,B,D,E,F,H,c,d๋Š” ์„ ํ˜•ํ™” ๊ณ„์ˆ˜ ํ–‰๋ ฌ ๋ฐ ์ƒ์ˆ˜ํ•ญ์ด๋‹ค. ์ด ๋ชจ๋ธ์€ ์ ‘์ด‰ ์‹œ ๋ฏธ๋„๋Ÿฌ์งยท๊ณ ์ฐฉ ๊ฐ™์€ ๋‹ค์ค‘ ์ ‘์ด‰ ๋ชจ๋“œ๋ฅผ ํฌํ•จํ•˜๋Š” ๋ณตํ•ฉ ์—ญํ•™์„ ์œ ์ง€ํ•˜๋ฉด์„œ๋„, ์ด์‚ฐ์„ ํ˜• ํ˜•ํƒœ๋กœ ๊ทผ์‚ฌํ•œ ๊ฒƒ์ด๋‹ค.

์ด LCS ๋ชจ๋ธ๊ณผ ์ด์ฐจ๋น„์šฉ(์˜ˆ: x^{T}Qx + u^{T}Ru)์„ ๊ฒฐํ•ฉํ•˜๋ฉด, ๋ชจ๋“  ์‹œ๊ฐ„ ๋‹จ๊ณ„์— ๋Œ€ํ•œ ๋ฏธ๋ถ„๋ถˆ๊ฐ€๋Šฅํ•œ ๋ณด์™„์„ฑ ์ œ์•ฝ๊นŒ์ง€ ํฌํ•จํ•˜๋Š” QPCC(Quadratic Program with Complementarity Constraints) ๋ฌธ์ œ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” \min\sum_{k = 0}^{N - 1}\left( x_{k}^{T}Q_{k}x_{k} + u_{k}^{T}R_{k}u_{k} \right) + x_{N}^{T}Q_{N}x_{N} ๊ฐ™์€ ์ด์ฐจ๋ชฉ์ ๊ณผ, x_{k + 1} = Ax_{k} + Bu_{k} + D\lambda_{k} + d, ๊ทธ๋ฆฌ๊ณ  0 \leq \lambda_{k}\bot Ex_{k} + F\lambda_{k} + Hu_{k} + c \geq 0 ๋“ฑ์˜ ์ œ์•ฝ์„ ๊ฐ–๋Š” ๋น„๋ณผ๋ก ์ตœ์ ํ™” ๋ฌธ์ œ์ด๋‹ค. ๋ณดํ†ต ์ด๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด ํ˜ผํ•ฉ์ •์ˆ˜ ์ œ๊ณฑ๊ณ„ํš(MIQP) ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ํ‘ผ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ ์—ฐ์‚ฐ ๋น„์šฉ์ด ๋งค์šฐ ํฌ๊ธฐ ๋•Œ๋ฌธ์— C3+๋Š” ์ด ๋ฌธ์ œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ทผ์‚ฌยทํ•ด๊ฒฐํ•˜๋Š” ์ „๋žต์„ ์‚ฌ์šฉํ•œ๋‹ค.

2.4 C3+ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (์Šฌ๋ž™ ๋ณ€์ˆ˜์™€ ADMM)

C3+๋Š” ๊ธฐ์กด Consensus Complementarity Control (C3) ๋ฐฉ๋ฒ•์„ ๊ฐœ์„ ํ•œ ๊ธฐ๋ฒ•์ด๋‹ค. ํ•ต์‹ฌ ์•„์ด๋””์–ด๋Š” ๋ณด์™„์„ฑ ์ œ์•ฝ์˜ ์‹ ํ‘œํ˜„์„ ๋ณ„๋„์˜ ์Šฌ๋ž™ ๋ณ€์ˆ˜ \eta_{k}๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰ Ex_{k} + F\lambda_{k} + Hu_{k} + c์˜ ๊ฐ’์„ \eta_{k}๋กœ ์ •์˜ํ•˜๋ฉด, ๋ณด์™„์„ฑ ์ œ์•ฝ 0 \leq \lambda_{k}\bot Ex_{k} + F\lambda_{k} + Hu_{k} + c \geq 0์€ ๋Œ€์‹ ์—

\eta_{k} = Ex_{k} + F\lambda_{k} + Hu_{k} + c,\quad 0 \leq \lambda_{k}\bot\eta_{k} \geq 0

๋กœ ๋ฐ”๋€๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์›๋ž˜ ๋ฌธ์ œ(4๋ฒˆ)์„ ๋“ฑ๊ฐ€ ๋ฌธ์ œ(5๋ฒˆ)๋กœ ์žฌ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด ํ˜•ํƒœ๋Š” ํ’€๊ธฐ ์œ„ํ•ด ADMM (Alternating Direction Method of Multipliers)๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

๊ตฌ์ฒด์ ์œผ๋กœ, C3+๋Š” ๋ณ€์ˆ˜๋ฅผ z_{k} = \left\lbrack x_{k};\lambda_{k};u_{k};\eta_{k} \right\rbrack๋กœ ๋ฌถ๊ณ , ์ด๋ฅผ ๋ณต์‚ฌํ•œ \delta_{k}๋ฅผ ๋„์ž…ํ•˜์—ฌ ์ œ์•ฝ์„ ๋‘ ๊ทธ๋ฃน์œผ๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ง‘ํ•ฉ \mathcal{C}_{z}์€ ์„ ํ˜• ๋™์—ญํ•™(ๅผ(5b))ยท์Šฌ๋ž™ ์ •์˜(ๅผ(5c)) ๋ฐ ์ž…๋ ฅ/์ƒํƒœ ๊ฒฝ๊ณ„(ๅผ(5e))๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒฐํ•ฉ ์ œ์•ฝ๋“ค์„ ํฌํ•จํ•˜๊ณ , ๋‘ ๋ฒˆ์งธ ์ง‘ํ•ฉ \mathcal{C}_{\delta}๋Š” ๊ฐ„๋‹จํ•ด์ง„ ๋ณด์™„์„ฑ ์ œ์•ฝ 0 \leq \delta\lambda_{k}\bot\delta\eta_{k} \geq 0๋งŒ์„ ๊ฐ–๋Š”๋‹ค. ADMM ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ด ๋‘ ์ง‘ํ•ฉ์— ๋Œ€ํ•ด ๋ฐ˜๋ณต์ ์œผ๋กœ ๋‹ค์Œ ์„ธ ๋‹จ๊ณ„(์˜ˆ: 1-Quadratic, 2-Projection, 3-Dual)๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ์ตœ์ ํ•ด๋ฅผ ๊ตฌํ•œ๋‹ค:

  1. Quadratic Step (z-์—…๋ฐ์ดํŠธ): ์ œ์•ฝ์กฐ๊ฑด๊ณผ ADMM ํŒจ๋„ํ‹ฐ ํ•ญ์„ ํฌํ•จํ•œ ํ™•์žฅ ๋ผ๊ทธ๋ž‘์ง€์–ธ์˜ ์ด์ฐจ ๋ชฉ์  ๋ฌธ์ œ๋ฅผ ํ‘ผ๋‹ค. ์ฆ‰, z ๋ณ€์ˆ˜๋ฅผ ๊ณ ์ •ํ•˜๊ณ , \delta, \omega (๋ผ๊ทธ๋ž‘์ฃผ ์Šน์ˆ˜) ๋“ฑ์„ ํฌํ•จํ•œ ์—ฐ๊ด€๋œ 2์ฐจ ๊ณ„ํš๋ฌธ์ œ๋ฅผ ํ’€์–ด z๋ฅผ ์—…๋ฐ์ดํŠธํ•œ๋‹ค. ์ด๋•Œ ํ’€๋ฆฌ๋Š” ๋ฌธ์ œ๋Š” ์„ ํ˜• ์ œ์•ฝ๋งŒ์„ ํฌํ•จํ•˜๋Š” ๋ณผ๋ก ์ด์ฐจ๊ณ„ํš(QP)์ด๋‹ค.

  2. Projection Step (ฮด-์—…๋ฐ์ดํŠธ): ๊ฐ ์‹œ๊ฐ„ ๋‹จ๊ณ„๋ณ„๋กœ, z-์—…๋ฐ์ดํŠธ ๊ฒฐ๊ณผ๋ฅผ ์ง‘ํ•ฉ \mathcal{C}_{\delta}์— ํˆฌ์˜ํ•œ๋‹ค. ์ฆ‰, 0 \leq \delta\lambda_{k}\bot\delta\eta_{k} \geq 0 ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋„๋ก \left( \delta\lambda_{k},\delta\eta_{k} \right)๋ฅผ ์กฐ์ •ํ•œ๋‹ค. ์Šฌ๋ž™ ๋ณ€์ˆ˜ ๋„์ž… ๋•๋ถ„์— ์ด ๋ฌธ์ œ๊ฐ€ ์‹œ๊ฐ„ ๋ฐ ์ ‘์ด‰๋ณ„๋กœ ์™„์ „ํžˆ ๋ถ„๋ฆฌ๋˜์–ด, ๊ฐ ์ ‘์ด‰ ์„ฑ๋ถ„์€ ๋…๋ฆฝ์ ์ธ 1์ฐจ์› MIQP๊ฐ€ ๋œ๋‹ค. ๋†€๋ž๊ฒŒ๋„ ์ด 1D MIQP๋Š” ๋‹ซํžŒํ˜•ํƒœ ํ•ด๋ฅผ ๊ฐ–๋Š”๋‹ค. ์‹ค์ œ๋กœ ์ˆ˜์‹(11)โ€“(12)์—์„œ ๋ณด๋“ฏ์ด, ํˆฌ์˜๊ฐ’ \left( \lambda_{k}^{*},\eta_{k}^{*} \right)๋Š” ์›๋ž˜๊ฐ’ \left( \lambda_{k}^{\circ},\eta_{k}^{\circ} \right)๊ณผ ๊ฐ€์ค‘์น˜ u_{\lambda},u_{\eta}๋ฅผ ์ด์šฉํ•œ ๊ฐ„๋‹จํ•œ ๋ถ€๋“ฑ์‹ ํŒ๋ณ„๋กœ ๊ณ„์‚ฐ๋œ๋‹ค. ์ด ๋ฐฉ์‹์œผ๋กœ, ์›๋ž˜ C3์—์„œ ์ง€์ˆ˜์‹œ๊ฐ„์— ๊ฐ€๊นŒ์šด ๋ณต์žก๋„๋ฅผ ๊ฐ–๋˜ ๋ฏน์Šค๋“œ ์ธํ‹ฐ์ € ๋ฌธ์ œํ’€์ด๊ฐ€ ์ƒ์ˆ˜์‹œ๊ฐ„ ํ•จ์ˆ˜ ํ‰๊ฐ€๋กœ ๋ณ€ํ™˜๋˜์–ด, ํˆฌ์˜ ๋‹จ๊ณ„์˜ ์—ฐ์‚ฐ๋Ÿ‰์ด 10โดโ€“10โต๋ฐฐ ์ด์ƒ ๊ฐ์†Œํ•œ๋‹ค.

  3. Dual Step (w-์—…๋ฐ์ดํŠธ): ์ฆ๋ถ„๋œ ๋“€์–ผ ๋ณ€์ˆ˜(๋ผ๊ทธ๋ž‘์ฃผ ์Šน์ˆ˜) \omega๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์—ฌ, ๋‹ค์Œ ๋ฐ˜๋ณต์—์„œ z์™€ \delta๊ฐ€ ์ผ์น˜ํ•˜๋„๋ก ์กฐ์ •ํ•œ๋‹ค.

์ด ADMM ๋ฐ˜๋ณต์€ ๊ด€์ ์— ๋”ฐ๋ผ ๋ฌดํ•œํžˆ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋‚˜, Push Anything ์‹œ์Šคํ…œ์—์„œ๋Š” ์‹ค์‹œ๊ฐ„ ์ œ์–ด๋ฅผ ์œ„ํ•ด ์ œํ•œ๋œ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋งŒ ์ˆ˜ํ–‰ํ•˜๊ณ  ์กฐ๊ธฐ ์ข…๋ฃŒํ•œ๋‹ค. ์‹ค์ œ ๊ตฌํ˜„์—์„œ๋Š” ๊ทนํžˆ ์†Œ์ˆ˜(์˜ˆ: 1โ€“2ํšŒ) ๋ฐ˜๋ณต ํ›„ ์ข…๋ฃŒํ•˜๋ฉฐ, ๋งˆ์ง€๋ง‰ Quadratic Step๋งŒ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์„ฑ๋Šฅ์ƒ ์œ ๋ฆฌํ–ˆ๋‹ค. ๋˜ํ•œ ์ตœ์ข… ๋‹จ๊ณ„์—์„œ ์—”๋“œ์ดํŽ™ํ„ฐ-๊ฐ์ฒด ์ ‘์ด‰ ์„ฑ๋ถ„์˜ ๊ฐ€์ค‘์น˜๋ฅผ ํฌ๊ฒŒ ์กฐ์ •ํ•˜์—ฌ(์˜ˆ: 1000๋ฐฐ) ์ œ์•ฝ ๋งŒ์กฑ๋„๋ฅผ ๋†’์ธ๋‹ค.

์š”์•ฝํ•˜๋ฉด, C3+๋Š” C3๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” SLIM, ํผํ…์Šค ์ ‘๊ทผ๊ณผ ADMM ๊ตฌ์กฐ๋ฅผ ๊ณ„์Šนํ•˜๋˜, ์Šฌ๋ž™ ๋ณ€์ˆ˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ ‘์ด‰ ์ œ์•ฝ์„ ํ•ด์ฒดํ•˜๊ณ  ๋Œ€์ˆ˜์  ๋‹ซํžŒํ˜• ํ•ด๋กœ ํ•ด๊ฒฐํ•จ์œผ๋กœ์จ ๊ณ„์‚ฐ ๋น„์šฉ์„ ๊ทน์ ์œผ๋กœ ์ค„์ธ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋‹ค์ˆ˜์˜ ์ ‘์ด‰์ด ์žˆ๋Š” ๋‹ค์ค‘ ๋ฌผ์ฒด ์žฅ๋ฉด์—์„œ๋„ ์‹ค์‹œ๊ฐ„์œผ๋กœ CI-MPC๋ฅผ ๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š” ํšจ์œจ์„ฑ์„ ํ™•๋ณดํ–ˆ๋‹ค.

2.5 ์‹œ์Šคํ…œ ๊ตฌํ˜„ ์š”์•ฝ

์•ž์„œ ์„ค๋ช…ํ•œ ํŒŒ์ดํ”„๋ผ์ธ์— ๋”ฐ๋ผ, ์‹ค์ œ ์‹œ์Šคํ…œ์€ Fig.28๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ๊ฐ–๋Š”๋‹ค. ์˜คํ”„๋ผ์ธ์— ์ƒ์„ฑํ•œ ๊ฐ์ฒด ๋ฉ”์‹œ์™€ URDF ํŒŒ์ผ๋“ค์€ ์˜จ๋ผ์ธ์—์„œ ์—”๋“œ์ดํŽ™ํ„ฐ ์ƒ˜ํ”Œ๋ง + C3+ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ „๋‹ฌ๋œ๋‹ค. ์—”๋“œ์ดํŽ™ํ„ฐ๋Š” 7โ€“40Hz ๋นˆ๋„๋กœ ํ›„๋ณด ์œ„์น˜๋ฅผ ์ƒ˜ํ”Œ๋งํ•˜๊ณ , ๊ฐ ํ›„๋ณด์— ๋Œ€ํ•ด C3+ ๊ธฐ๋ฐ˜ CI-MPC๋ฅผ ํ•ด ํ’€์ด ๋‚˜์˜จ๋‹ค. ์ดํ›„ ์ตœ์  ํ›„๋ณด๊ฐ€ ์„ ํƒ๋˜๋ฉด, ๋กœ๋ด‡์€ ์ถฉ๋Œ ํšŒํ”ผ ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•œ ๋’ค CI-MPC ๊ถค์ ์„ OSC(1kHz)๋กœ ์ถ”์ข…ํ•˜์—ฌ ๋ฌผ์ฒด๋ฅผ ํ‘ธ์‹ฑํ•œ๋‹ค. ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ๋Š” Drake ๋“ฑ ๋กœ๋ด‡ ํ”„๋ ˆ์ž„์›Œํฌ ์œ„์— C++๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์œผ๋ฉฐ, ์ปดํ“จํ„ฐ ๊ฐ„ LCM ํ†ต์‹ ์œผ๋กœ ์‹คํ—˜์ด ์ˆ˜ํ–‰๋œ๋‹ค.

์‹คํ—˜ ์„ค์ • ๋ฐ ๊ฒฐ๊ณผ ํ‰๊ฐ€

3.1 ์‹คํ—˜ ๊ตฌ์„ฑ

์‹คํ—˜์€ Franka Emika Panda 7์ž์œ ๋„ ํ˜‘๋™๋กœ๋ด‡๊ณผ ๊ตฌํ˜•(end-cap) ํ‘ธ์‹œ ํˆด์„ ์‚ฌ์šฉํ•ด ์ˆ˜ํ–‰๋˜์—ˆ๋‹ค. 33์ข…์˜ ๋‹ค์–‘ํ•œ ๊ฐ์ฒด(๋ณผ๋ก์ฒด, ์˜ค๋ชฉ์ฒด, 3D ํ”„๋ฆฐํŒ…๋œ ๋ฌธ์ž, ๊ฐ€์ •์šฉํ’ˆ ๋“ฑ)๊ฐ€ ์ค€๋น„๋˜์—ˆ์œผ๋ฉฐ, ๊ฐ ๊ฐ์ฒด๊ฐ€ ํƒ์ž ์œ„์— ๋†“์ธ ์ƒํƒœ์—์„œ ๋ชฉํ‘œ ์ž์„ธ(goal pose)๊นŒ์ง€ SE(2) ํ‰๋ฉด ๋‚ด ์ด๋™ํ•˜๋„๋ก ์„ค์ •ํ–ˆ๋‹ค. ๋ชฉํ‘œ ํ—ˆ์šฉ์˜ค์ฐจ๋Š” ๋†’์Œ(ํ‰๋ฉด์ƒ 5cm, ํšŒ์ „ 0.4rad)๊ณผ ๋‚ฎ์Œ(2cm, 0.1rad)์˜ ๋‘ ์กฐ๊ฑด์œผ๋กœ ํ‰๊ฐ€ํ•˜์˜€๋‹ค.

์žฅ๋ฉด ์„ค์ •์œผ๋กœ๋Š” ๋‹จ์ผ ๊ฐ์ฒด๋ถ€ํ„ฐ ๋„ค ๊ฐœ์˜ ๊ฐ์ฒด๊ฐ€ ์ดˆ๊ธฐ ๋‚œ์žก(cluttered)ํ•˜๊ฒŒ ๋†“์ธ ๋‹ค์ค‘ ๊ฐ์ฒด ๊นŒ์ง€ ๋‹ค๋ค˜๋‹ค. ์„ฑ๋Šฅ ํ‰๊ฐ€๋Š” ํ•˜๋“œ์›จ์–ด ์‹คํ—˜์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์กŒ๋‹ค. ๋‹จ์ผ ๊ฐ์ฒด ์‹คํ—˜์€ 25๊ฐœ ๊ฐ์ฒด ๊ฐ๊ฐ์— ๋Œ€ํ•ด 28๋ฒˆ์˜ ์„ฑ๊ณต์ ์ธ ํŠธ๋ผ์ด์–ผ์„ ์–ป์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ–ˆ์œผ๋ฉฐ, ๊ฒฐ๊ณผ 701ํšŒ์˜ ์‹คํ—˜์ด ์ˆ˜ํ–‰๋˜์—ˆ๋‹ค. ๋‹ค์ค‘ ๊ฐ์ฒด ์‹คํ—˜์€ 2๊ฐœ ๊ฐ์ฒด ์กฐํ•ฉ 10๊ฐœ, 3๊ฐœ ์กฐํ•ฉ 6๊ฐœ, 4๊ฐœ ์กฐํ•ฉ 5๊ฐœ๋ฅผ ๊ฐ๊ฐ 10๋ฒˆ์˜ ์„ฑ๊ณต ์‚ฌ๋ก€๋ฅผ ์–ป์„ ๋•Œ๊นŒ์ง€ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ด 227ํšŒ์˜ ์‹คํ—˜์„ ์ง„ํ–‰ํ–ˆ๋‹ค. ๋ชจ๋“  ์‹คํ—˜์€ ๋ฌผ๋ฆฌ ๊ตด์ ˆ ๋ฐ ๋งˆ์ฐฐ์ด ์žˆ๋Š” ์‹ค์ œ ํ™˜๊ฒฝ์—์„œ ์ด๋ฃจ์–ด์กŒ๋‹ค.

3.2 ๋‹จ์ผ ๊ฐ์ฒด ํ‘ธ์‹ฑ ๊ฒฐ๊ณผ

๋‹จ์ผ ๊ฐ์ฒด ์‹คํ—˜์—์„œ ์‹œ์Šคํ…œ์€ 99.9%์˜ ์„ฑ๊ณต๋ฅ ์„ ๋ณด์˜€๋‹ค. 25๊ฐœ ๊ฐ์ฒด๋ฅผ ๋Œ€์ƒ์œผ๋กœ 701ํšŒ ์‹คํ—˜์„ ์ง„ํ–‰ํ•˜์—ฌ 700ํšŒ ์„ฑ๊ณต(์‹คํŒจ 1ํšŒ: ํฐ ๋‹ฌ๊ฑ€ํŒ์ด ๋กœ๋ด‡ ์ž‘๋™ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ ์‚ฌ๋ก€)ํ•˜์˜€๋‹ค. ์—„๊ฒฉํ•œ ํ—ˆ์šฉ์˜ค์ฐจ(์ด๋™ โ‰ค2cm, ํšŒ์ „ โ‰ค0.1rad) ๊ธฐ์ค€์—์„œ ํ‰๊ท  ๋ชฉํ‘œ ๋„๋‹ฌ ์‹œ๊ฐ„์€ ๋Œ€๋žต ์•ฝ 31์ดˆ(0.52๋ถ„)๋กœ ๊ธฐ๋ก๋˜์—ˆ๋‹ค. ์ด๋Š” ์ข…์ „ ์—ฐ๊ตฌ[4]๋ณด๋‹ค ๋ชฉํ‘œ ์‹œ๊ฐ„(35.5์ดˆ) ๋Œ€๋น„ ์•ฝ 13% ๋‹จ์ถ•๋œ ๊ฒฐ๊ณผ์ด๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ฐ์ฒด์—์„œ ์ผ๊ด€๋˜๊ฒŒ ๋น ๋ฅธ ๋„๋‹ฌ์ด ๊ฐ€๋Šฅํ–ˆ์œผ๋ฉฐ, ์˜ˆ์™ธ์ ์œผ๋กœ ๋ฌด๊ฑฐ์šด ์ง‘๊ฒŒ(clamp)๋‚˜ ๋งˆ์ฐฐ์ด ํฐ ๋ฌผ๋ณ‘ ๊ฐ™์€ ๊ฒฝ์šฐ ์ผ๋ถ€ ๋กฑํ…Œ์ผ(outlier)์ด ๋‚˜ํƒ€๋‚˜๊ธฐ๋„ ํ–ˆ์ง€๋งŒ, ์ „๋ฐ˜์ ์œผ๋กœ ๋†’์€ ์ •๋ฐ€๋„์™€ ์‹ ๋ขฐ์„ฑ์„ ํ™•์ธํ–ˆ๋‹ค.

3.3 ๋‹ค์ค‘ ๊ฐ์ฒด ํ‘ธ์‹ฑ ๊ฒฐ๊ณผ

๋‹ค์ค‘ ๊ฐ์ฒด ์‹คํ—˜(2~4๊ฐœ ๊ฐ์ฒด)์—์„œ๋Š” ์„ฑ๊ณต๋ฅ ์ด 92.5%์˜€๋‹ค. 2๊ฐœ ๊ฐ์ฒด ์‹คํ—˜(1010), 3๊ฐœ(610), 4๊ฐœ(5*10)๋กœ ์ด 227ํšŒ์˜ ์‹คํ—˜ ์ค‘ 210ํšŒ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ๋งˆ์ณค๋‹ค. ์‹คํŒจ(17ํšŒ) ์‚ฌ๋ก€๋Š” ๋ชจ๋‘ ๊ฐ์ฒด๊ฐ€ ๋กœ๋ด‡์˜ ์ž‘๋™ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ ๊ฒฝ์šฐ์˜€๋‹ค. ๋‹ค์ค‘ ๊ฐ์ฒด ์„ค์ •์—์„œ๋Š” ๊ณ„ํš ์ˆ˜ํ‰์„ (horizon)์„ ์ค„์—ฌ(2๊ฐ์ฒด: N=15, 3๊ฐ์ฒด: N=10, 4๊ฐ์ฒด: N=5) ์—ฐ์‚ฐ ์†๋„๋ฅผ ์œ ์ง€ํ–ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ, 2๊ฐ์ฒด ์ž‘์—…์˜ ํ‰๊ท  ๋ชฉํ‘œ ์‹œ๊ฐ„์€ ์•ฝ 96.4์ดˆ, 3๊ฐ์ฒด 191.1์ดˆ, 4๊ฐ์ฒด 315.7์ดˆ๋กœ ์ธก์ •๋˜์—ˆ๋‹ค. ์ฐธ๊ณ ๋กœ ์ด๋Š” 1๊ฐœ ๊ฐ์ฒด ๋•Œ(โ‰ˆ31์ดˆ)๋ณด๋‹ค ์„ ํ˜•์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜์ง€ ์•Š์•˜๋Š”๋ฐ, ์ด๋Š” ๊ฐ ์‹คํ—˜์—์„œ ๊ฐ์ฒด๋ณ„ ๋ชฉํ‘œ ํ• ๋‹น(goal assignment)์ด ๋ฌด์ž‘์œ„๋กœ ๋‹ค๋ฅด๊ฒŒ ์„ค์ •๋˜์–ด ์ถ”๊ฐ€์ ์ธ ์žฌ๋ฐฐ์น˜ ๋™์ž‘์ด ํ•„์š”ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

ํ•˜๋“œ์›จ์–ด ์‹คํ—˜์—์„œ C3+ ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์€ ๋งค์šฐ ๊ฐ•์ธํ•œ ์„ฑ๋Šฅ์„ ๋ณด์˜€๋‹ค. ํ‰๊ท  ๋ชฉํ‘œ ์‹œ๊ฐ„์€ 1, 2, 3, 4๊ฐœ ๊ฐ์ฒด์—์„œ ๊ฐ๊ฐ 0.5๋ถ„, 1.6๋ถ„, 3.2๋ถ„, 5.3๋ถ„(โ‰ˆ30s, 96s, 192s, 318s)์ด์—ˆ๋‹ค. ํŠนํžˆ ๋„ค ๊ฐ์ฒด์—์„œ๋„ 5๋ถ„ ์ด๋‚ด์— ๋ชจ๋“  ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜์—ฌ, ์ด์ „๊นŒ์ง€ ๋ถˆ๊ฐ€๋Šฅํ–ˆ๋˜ ๋ณต์žกํ•œ ๋‹ค์ค‘ ๊ฐ์ฒด ํ™˜๊ฒฝ์—์„œ์˜ ์•ˆ์ •์ ์ธ ํ‘ธ์‹ฑ์„ ์ž…์ฆํ–ˆ๋‹ค.

3.4 C3 vs C3+ ์†๋„ ๋น„๊ต

ํ•œํŽธ CI-MPC ๋‚ด๋ถ€ ์„ฑ๋Šฅ๋„ ํ‰๊ฐ€๋˜์—ˆ๋‹ค. C3+๋Š” ๊ธฐ์กด C3์— ๋น„ํ•ด ํ•ด๊ฒฐ ์‹œ๊ฐ„ ๋ฉด์—์„œ ํš๊ธฐ์  ๊ฐœ์„ ์„ ๋ณด์˜€๋‹ค. ์‹คํ—˜์ ์œผ๋กœ 1~4๊ฐœ ๊ฐ์ฒด์˜ CI-MPC ๊ณ„ํš์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ํ’€์–ด๋ณธ ๊ฒฐ๊ณผ, C3+์˜ ์ „๋ฐ˜์ ์ธ ํผํฌ๋จผ์Šค๊ฐ€ ์šฐ์ˆ˜ํ–ˆ๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ, ADMM์˜ Quadratic Step์—์„œ๋Š” C3์— ๋น„ํ•ด ์˜คํžˆ๋ ค ์•ฝ๊ฐ„ ๋А๋ ธ์ง€๋งŒ, Projection Step ์†๋„๊ฐ€ 4~5์ž๋ฆฟ์ˆ˜(10โดโ€“10โต)๋ฐฐ ๋นจ๋ž๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 3๊ฐ์ฒด ์ƒํ™ฉ์—์„œ C3์˜ ๋‹จ์ผ ํˆฌ์˜ ์—ฐ์‚ฐ ์‹œ๊ฐ„์ด ํ‰๊ท  40ms์ธ ๋ฐ˜๋ฉด, C3+์—์„œ๋Š” 0.005ms ์ˆ˜์ค€์— ๋ถˆ๊ณผํ–ˆ๋‹ค. ์ด๋กœ์จ C3+๋Š” ํˆฌ์˜ ๋‹จ๊ณ„์—์„œ ์‹ค์ œ ๋งˆ์ดํฌ๋กœ์ดˆ๊ธ‰ ์—ฐ์‚ฐ๋งŒ์œผ๋กœ๋„ ์ ‘์ด‰ ๋ชจ๋“œ๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ, C3+ ๊ธฐ๋ฐ˜ ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์‹ค์ œ ํ•˜๋“œ์›จ์–ด ์ œ์–ด ์ฃผ๊ธฐ(20โ€“40Hz)๋ฅผ ์ถฉ๋ถ„ํžˆ ๋งŒ์กฑ์‹œ์ผœ ์‹ค์‹œ๊ฐ„ ์„ฑ๋Šฅ์„ ์œ ์ง€ํ–ˆ๋‹ค.

๊ธฐ์กด ์—ฐ๊ตฌ์™€์˜ ๋น„๊ต ๋ถ„์„

Push Anything๋Š” ์—ฌ๋Ÿฌ ์ธก๋ฉด์—์„œ ๊ธฐ์กด ์—ฐ๊ตฌ๋“ค์„ ํ™•์žฅ ๋ฐ ํ†ตํ•ฉํ•˜์˜€๋‹ค. ์ „ํ†ต์ ์ธ ์ ‘์ด‰ ๋น„์„ ์ ์  ์กฐ์ž‘ ์—ฐ๊ตฌ(์˜ˆ: Mason์˜ ๊ธฐ๊ณ„์  ํ‘ธ์‹ฑ ๋ชจ๋ธ [32], ํž˜ ๊ธฐ๋ฐ˜ ๋น„์„ ์ ์  ๊ณ„ํš ๋“ฑ)๋Š” ์ฃผ๋กœ ๋‹จ์ผ ๊ฐ์ฒด์˜ ์ •์  ํ™˜๊ฒฝ์—์„œ ์ด๋ก ์  ๋ชจ๋ธ์— ๊ทผ๊ฑฐํ•ด ์ถ”์ง„๋ ฅ์„ ๊ณ„์‚ฐํ•˜๊ฑฐ๋‚˜ ๊ทธ๋ฆฌํผ๋ฅผ ์ด์šฉํ•œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ณ„ํš์„ ๋‹ค๋ฃจ์–ด ์™”๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋“ค ๋ฐฉ๋ฒ•์€ ์กฐํ•ฉ์  ๋ณต์žก์„ฑ์œผ๋กœ ์ธํ•ด ๋‹ค์ค‘ ๊ฐ์ฒด ํ™˜๊ฒฝ์ด๋‚˜ ์ ‘์ด‰ ๋ชจ๋“œ ๋ณ€ํ™”๊ฐ€ ๋งŽ์€ ๋™์  ์ƒํ™ฉ์—์„œ ํ™•์žฅ์„ฑ์ด ๋–จ์–ด์ง„๋‹ค. ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ๋ฒ•(์˜ˆ: Push-Net, ๊ฐ•ํ™”ํ•™์Šต ๊ธฐ๋ฐ˜ ํ‘ธ์‹ฑ [38โ€“40])์€ ๋‹จ์ผ ๊ฐ์ฒด์—์„œ ๊ฒฝํ—˜์„ ์Œ“์•„ ํšŒ์ „ยท์žฌ๋ฐฐ์น˜ ๋“ฑ์— ๊ฐ•์ธํ•œ ์„ฑ๋Šฅ์„ ๋ณด์˜€์œผ๋‚˜, ๋†’์€ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋น„์šฉ๊ณผ ๋‹ค์ค‘ ๊ฐ์ฒด ์žฅ๋ฉด์˜ ํ™•์žฅ์„ฑ ๋ฌธ์ œ๋กœ ์•„์ง ์ œํ•œ์ ์ด๋‹ค.

ํ•œํŽธ Contact-Implicit MPC ๊ณ„์—ด ์—ฐ๊ตฌ๋Š” ๋ชจ๋ธ ๊ธฐ๋ฐ˜์œผ๋กœ ์ ‘์ด‰ ๊ฑฐ๋™์„ ์ œ์–ด ๊ถค์  ์ตœ์ ํ™”์— ์ง์ ‘ ํฌํ•จ์‹œํ‚จ๋‹ค. Aydinoglu ๋“ฑ[1]์˜ C3๋Š” ADMM์„ ์ด์šฉํ•ด ์ ‘์ด‰ ์ œ์•ฝ์„ ํ•ด๊ฒฐํ–ˆ์œผ๋ฉฐ, Venkatesh ๋“ฑ[4]์€ ์—”๋“œ์ดํŽ™ํ„ฐ ์ƒ˜ํ”Œ๋ง์„ ๊ฒฐํ•ฉํ•ด ์ง€์—ญ ์ตœ์ ํ™”์˜ ํ•œ๊ณ„๋ฅผ ์ผ๋ถ€ ๊ทน๋ณตํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋“ค ์ดˆ๊ธฐ ์—ฐ๊ตฌ๋“ค์€ ๋ชจ๋‘ CAD๋กœ ์ •ํ™•ํ•˜๊ฒŒ ์•Œ๋ ค์ง„ ๋‹จ์ผ ๊ฐ์ฒด๋ฅผ ์ „์ œ๋กœ ํ–ˆ์œผ๋ฉฐ, ๋Œ€์ƒ ๊ฐ์ฒด์˜ ๋ฌผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋ฉ”์‹œ๋ฅผ ๋ฏธ๋ฆฌ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ–ˆ๋‹ค. ๋˜ํ•œ ๊ณ„์‚ฐ ๋น„์šฉ์ด ์ปค์„œ ์‹ค์‹œ๊ฐ„ ์ ์šฉ์ด ์ œํ•œ์ ์ด์—ˆ๋‹ค.

๋ณธ ๋…ผ๋ฌธ์€ ์ด๋Ÿฌํ•œ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ–ˆ๋‹ค. ๋จผ์ € ๊ฐ์ฒด์˜ 3D ํ˜•ํƒœ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํš๋“ํ•˜๊ธฐ ์œ„ํ•ด ํ•™์Šต๊ธฐ๋ฐ˜ 3D ์žฌ๊ตฌ์„ฑ(BundleSDF)๊ณผ ๋น„์ „ ๊ธฐ๋ฐ˜ ์ž์„ธ ์ถ”์ •(FoundationPose) ๋ชจ๋“ˆ์„ ๋„์ž…ํ•จ์œผ๋กœ์จ, ์‚ฌ์ „ ์ •๋ณด ์—†์ด ๋‹ค์–‘ํ•œ ๋ฌผ์ฒด๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ๋‹ค. ์ด๋Š” ์ด์ „ CI-MPC ์—ฐ๊ตฌ์—์„œ๋Š” ๋‹ค๋ฃจ์ง€ ์•Š์•˜๋˜ ํ˜์‹ ์  ํ†ตํ•ฉ์ด๋‹ค. ๋˜ํ•œ C3+ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์›๋ณธ C3 ๋Œ€๋น„ ๋น„์„ ํ˜• ๋ณด์™„์„ฑ ์ œ์•ฝ์„ ํ•ด์ฒดํ•˜๊ณ  ๋ณ‘๋ ฌํ™”ํ•˜์—ฌ ๊ณ„์‚ฐ ๋ณต์žก๋„๋ฅผ ๋Œ€ํญ ์ค„์˜€๋Š”๋ฐ, ์ด๋Š” ๋„์‹์ ์œผ๋กœ๋„ ์ด ๋…ผ๋ฌธ์ด ์ œ์•ˆํ•œ ํ•ต์‹ฌ ๊ณตํ—Œ์ด๋‹ค. C3+๋Š” ์ด์ „ ๋ฐฉ๋ฒ•๋“ค์ด ์ธ์Šคํ„ดํŠธ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ–ˆ๋˜ ์ตœ๋Œ€ 19๊ฐœ ์ ‘์ด‰๊นŒ์ง€ ํšจ์œจ์ ์œผ๋กœ ๊ณ ๋ คํ•˜๋ฉด์„œ ๋‹ค์ค‘ ๊ฐ์ฒด๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ณด์˜€๋‹ค.

์‹คํ—˜์ ์œผ๋กœ๋„, Push Anything๋Š” ๊ณ ์ •๋ฐ€ ์‹ค์‹œ๊ฐ„ ํ•˜๋“œ์›จ์–ด ์ œ์–ด ์„ฑ๋Šฅ์„ ์‹ค์ฆํ–ˆ๋‹ค๋Š” ์ ์ด ๋…๋ณด์ ์ด๋‹ค. ์‹ค์ œ ๋กœ๋ด‡์œผ๋กœ 33๊ฐœ ์ž„์˜ ๊ฐ์ฒด๋ฅผ ๋Œ€์ƒ์œผ๋กœ 928ํšŒ ์‹คํ—˜์„ ์ง„ํ–‰ํ•ด 98% ์ด์ƒ์˜ ์„ฑ๊ณต๋ฅ ์„ ๋‹ฌ์„ฑํ•œ ๊ฒƒ์€ ์ด์ „ CI-MPC ๋ฌธํ—Œ์—์„œ ๋ณด๊ณ ๋œ ์ˆ˜์น˜(98โ€“99.9%)์™€ ๋น„์Šทํ•˜๊ฑฐ๋‚˜ ๋†’๋‹ค. ๋™์‹œ์—, ์ƒ๋‹น์ˆ˜ ๋‹ค์ค‘ ๊ฐ์ฒด ์žฅ๋ฉด(์ตœ๋Œ€ 4๊ฐœ)์—์„œ ์ˆ˜๋ถ„ ๋‚ด์— ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•œ ์ ์€, ๊ธฐ์กด์— ๋‹ค๋ฃจ์ง€ ๋ชปํ–ˆ๋˜ ํด๋Ÿฌํ„ฐ ์ •๋ฆฌ(cluttered scene) ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‹ค๋Š” ์ ์—์„œ ์˜๋ฏธ๊ฐ€ ํฌ๋‹ค. ์š”์•ฝํ•˜๋ฉด, Push Anything๋Š” ์‹ค์ œ ๊ฐ์ง€-์ถ”์ -์ตœ์ ํ™”-์ œ์–ด๊ฐ€ ๊ฒฐํ•ฉ๋œ ์™„์ „ ์‹œ์Šคํ…œ์œผ๋กœ์„œ, ์ด ๋ถ„์•ผ์˜ ํš๊ธฐ์  ์ง„์ „์œผ๋กœ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฒฐ๋ก  ๋ฐ ํ–ฅํ›„ ์—ฐ๊ตฌ

Push Anything ๋…ผ๋ฌธ์€ ์ ‘์ด‰ ํ’๋ถ€ํ•œ ๋น„์„ ์ ์  ์กฐ์ž‘์—์„œ ๋ชจ๋ธ ๊ธฐ๋ฐ˜ ์ตœ์ ํ™” ๋ฐฉ์‹์˜ ์ƒˆ๋กœ์šด ์ง€ํ‰์„ ์—ด์—ˆ๋‹ค. ์ €์ž๋“ค์€ C3+๋ฅผ ๋„์ž…ํ•ด ์ˆ˜๋งŽ์€ ์ ‘์ด‰ ์ƒํ™ฉ์—์„œ๋„ ์‹ค์‹œ๊ฐ„์œผ๋กœ MPC๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ , ์ด๋ฅผ ์‹ค์ œ ๋กœ๋ด‡ ํ•˜๋“œ์›จ์–ด์— ํ†ตํ•ฉํ•˜์—ฌ ๋†’์€ ์ •ํ™•๋„์™€ ์„ฑ๊ณต๋ฅ ์„ ์ž…์ฆํ–ˆ๋‹ค. ๋น„๋ก ๋™์ผํ•œ ์งˆ๋Ÿ‰ยท๊ด€์„ฑ ๊ฐ€์ •, ๋‹จ์ผ ์‹œ์  ์นด๋ฉ”๋ผ ์˜์กด, ๋‹ค์ค‘ ๋‹จ๊ณ„ ๊ณ„ํš ๋ถ€์žฌ ๋“ฑ ๋ช‡ ๊ฐ€์ง€ ํ•œ๊ณ„๋Š” ๋‚จ์•„ ์žˆ์œผ๋‚˜, ์ด๋Š” ์ถ”ํ›„ ๋ฆฌ์„œ์น˜ ๋ฐฉํ–ฅ์„ ์ œ์‹œํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์ค‘ ๋ทฐ ์ธ์‹, ์˜จ๋ผ์ธ ๋ฌผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ ํ•™์Šต, ๊ณ ์ˆ˜์ค€ ํ”Œ๋ž˜๋„ˆ์™€์˜ ํ†ตํ•ฉ ๋“ฑ์„ ํ†ตํ•ด ํ˜„ ์‹œ์Šคํ…œ์˜ ๋ฒ”์šฉ์„ฑ๊ณผ ์„ฑ๋Šฅ์„ ๋”์šฑ ๋†’์ผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ „๋ฐ˜์ ์œผ๋กœ, Push Anything์€ ์ ‘์ด‰-์•”์‹œ์  MPC์˜ ์ ์šฉ ๋ฒ”์œ„๋ฅผ ํฌ๊ฒŒ ํ™•์žฅ์‹œ์ผฐ์œผ๋ฉฐ, ๋กœ๋ด‡๊ณตํ•™ ๋ถ„์•ผ์˜ ํ‘ธ์‹ฑยท์กฐ์ž‘ ์—ฐ๊ตฌ์ž๋“ค์—๊ฒŒ ์œ ์šฉํ•œ ๊ธฐ์ˆ ์  ํ†ต์ฐฐ์„ ์ œ๊ณตํ•œ๋‹ค.

์ฐธ๊ณ ๋ฌธํ—Œ

๋…ผ๋ฌธ ๋ณธ๋ฌธ ๋‚ด์šฉ์€ ์ฃผ๋กœ Push Anything (2025) ๋…ผ๋ฌธ ์ž์ฒด์—์„œ ๋ฐœ์ทŒํ•˜์—ฌ ์ •๋ฆฌํ•˜์˜€๋‹ค. ์ถ”๊ฐ€๋กœ CI-MPC์˜ ํ˜„ํ™ฉ ๊ฐœ์š”๋Š” EmergentMind ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜์˜€๋‹ค.


์ถœ์ฒ˜:

  • Push Anything: Single- and Multi-Object Pushing From First Sight with Contact-Implicit MPC(Hien Bui et al., University of Pennsylvania, 2025)

  • Additional References:

    • Literature Review: https://www.themoonlight.io/en/review/push-anything-single-and-multi-object-pushing-from-first-sight-with-contact-implicit-mpc
    • Contact-Implicit MPC Overview: https://www.emergentmind.com/topics/contact-implicit-model-predictive-control-ci-mpc

Copyright 2024, Jung Yeon Lee