๐Push Anything ๋ฆฌ๋ทฐ
- ๐ค ์ด ์ฐ๊ตฌ๋ ๋ค์ํ ํํ์ ๋จ์ผ ๋ฐ ๋ค์ค ๊ฐ์ฒด๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ฐ์ด ์กฐ์ํ๋ ํต์ฌ ๊ณผ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด โPush Anythingโ์ด๋ผ๋ ํตํฉ ํ์ดํ๋ผ์ธ์ ์๊ฐํฉ๋๋ค.
- ๐ ์ด ํ์ดํ๋ผ์ธ์ ๊ฐ์ฒด ์ค์บ ๋ฐ ๋ฉ์ ์ฌ๊ตฌ์ฑ, ๊ฒฌ๊ณ ํ ๊ฐ์ฒด ์ถ์ , ๊ทธ๋ฆฌ๊ณ ADMM ๊ธฐ๋ฐ CI-MPC์ธ C3๋ฅผ ๊ฐ์ ํ์ฌ ํฌ์ ๋จ๊ณ ์ฐ์ฐ ์๋๋ฅผ ํ๊ธฐ์ ์ผ๋ก ํฅ์์ํจ C3+ ์ปจํธ๋กค๋ฌ๋ฅผ ํตํฉํฉ๋๋ค.
- โจ ํ๋์จ์ด ์คํ์ ํตํด 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์ ๋ค์ ์ธ ๊ฐ์ง ์ ๋ฐ์ดํธ ๋จ๊ณ๋ฅผ ๋ฐ๋ณตํฉ๋๋ค:
- Quadratic Step (z-update): ๋ณผ๋ก(convex) QP๋ฅผ ํ์ด ์์คํ ๋์ญํ, ์ฌ๋ ๋ณ์ ๋ฑ ์๊ฐ์ ๊ฑธ์ณ ๊ฒฐํฉ๋ ์ ์ฝ ์กฐ๊ฑด์ ์ ๋ฐ์ดํธํฉ๋๋ค. C3+์์๋ \eta_k์ ๋ํ ์ ํ ๋ฑ์ ์ ์ฝ์ด ์ถ๊ฐ๋์ด QP ํฌ๊ธฐ๊ฐ ์ฝ๊ฐ ์ปค์ง์ง๋ง, OSQP [34]์ ๊ฐ์ ํ์ค ์๋ฒ๋ก ํจ์จ์ ์ผ๋ก ํ ์ ์์ต๋๋ค.
- 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๋ฅผ ์์ ์๊ฐ์ ๋ถ์์ ๊ณ์ฐ์ผ๋ก ๋์ฒดํ์ฌ ์๋นํ ์๋ ํฅ์์ ๊ฐ์ ธ์ต๋๋ค.
- 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)๋ฅผ ์ํํ๋ฉฐ ์ต์ ํด๋ฅผ ๊ตฌํ๋ค:
Quadratic Step (z-์ ๋ฐ์ดํธ): ์ ์ฝ์กฐ๊ฑด๊ณผ ADMM ํจ๋ํฐ ํญ์ ํฌํจํ ํ์ฅ ๋ผ๊ทธ๋์ง์ธ์ ์ด์ฐจ ๋ชฉ์ ๋ฌธ์ ๋ฅผ ํผ๋ค. ์ฆ, z ๋ณ์๋ฅผ ๊ณ ์ ํ๊ณ , \delta, \omega (๋ผ๊ทธ๋์ฃผ ์น์) ๋ฑ์ ํฌํจํ ์ฐ๊ด๋ 2์ฐจ ๊ณํ๋ฌธ์ ๋ฅผ ํ์ด z๋ฅผ ์ ๋ฐ์ดํธํ๋ค. ์ด๋ ํ๋ฆฌ๋ ๋ฌธ์ ๋ ์ ํ ์ ์ฝ๋ง์ ํฌํจํ๋ ๋ณผ๋ก ์ด์ฐจ๊ณํ(QP)์ด๋ค.
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โต๋ฐฐ ์ด์ ๊ฐ์ํ๋ค.
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: