flowchart LR
A[4x RealSense<br/>Depth Cameras] --> B[Hand Segmentation<br/>plane removal]
B --> C[PointNet++ Stage 1<br/>coarse hand pose]
C --> D[PointNet++ Stage 2<br/>refined pose]
D --> E[DART Model-based<br/>Tracker]
E --> F{Hand Joints<br/>23 keypoints}
F --> G[Kinematic Retargeting<br/>SLSQP nonlinear opt.]
F --> H[Palm Pose<br/>6-DoF]
G --> I[Allegro 16 joint angles]
H --> J[RMPs<br/>Arm Motion Policy]
J --> K[KUKA LBR4+<br/>7-DoF arm]
I --> L[Allegro Hand<br/>torque controller]
K --> M[Robot World]
L --> M
๐DexPilot ๋ฆฌ๋ทฐ
- DexPilot์ ์ ๋น์ฉ ๋น์ ๊ธฐ๋ฐ ์๊ฒฉ ์กฐ์ ์์คํ ์ผ๋ก, ์ฅ๊ฐ์ด๋ ๋ง์ปค ์์ด ๋งจ์ ์์ง์์ ์ฌ์ฉํ์ฌ 23 DoA์ ๋ก๋ด ํ/์ ์์คํ ์ ์๋ฒฝํ๊ฒ ์ ์ดํฉ๋๋ค.
- ์์คํ ์ ๋ฅ๋ฌ๋๊ณผ ๋ชจ๋ธ ๊ธฐ๋ฐ ์ถ์ (DART)์ ๊ฒฐํฉํ์ฌ ์ธ๊ฐ ์์ ํฌ์ฆ์ ๊ด์ ๊ฐ๋๋ฅผ ์ถ์ ํ๊ณ , ๋น์ ํ ์ต์ ํ ๊ธฐ๋ฐ์ ํค๋ค๋งํฑ ๋ฆฌํ๊ฒํ ์ ํตํด Allegro hand์ ๋์์ผ๋ก ๋ณํํฉ๋๋ค.
- DexPilot์ ๋ค์ํ ๋ณต์กํ ์กฐ์ ์์ ์์ ์ธ๊ฐ ์์ฐ์๋ฅผ ํตํด ๋์ ์ฑ๊ณต๋ฅ ์ ๋ฌ์ฑํ๋ฉฐ, ์ด๋ฅผ ํตํด ์๋ จ๋ ๋์ ๋ฐ์ดํฐ ์์ง ๋ฐ ๋ฏธ๋์ ์์จ ์ ์ฑ ํ์ต ๊ฐ๋ฅ์ฑ์ ๋ณด์ฌ์ค๋๋ค.
Brief Review
๋ณธ ๋ ผ๋ฌธ์ ๊ณ ์์ ๋(high degree-of-actuation, DoA) ๋ก๋ด ์-ํ ์์คํ (Allegro Hand๊ฐ ์ฅ์ฐฉ๋ KUKA LBR iiwa)์ ์ํ ์ ๋น์ฉ, Vision Based Teleoperation ์์คํ ์ธ DexPilot์ ์๊ฐํ๋ค. DexPilot์ ํน๋ณํ ์ฅ๋น(markerless, glove-free) ์์ด ๋งจ์(bare human hand)์ ์์ง์์ ๊ด์ฐฐํ์ฌ ๋ก๋ด์ ์ง์ ๋ชจ๋ฐฉ ์ ์ด(direct imitation)ํ๋ค. ์ด ์์คํ ์ ์ ๊ตํ ํ์ง(precision grasp), ๋ค์ง ์กฐ์(multi-fingered manipulation), ์ธ-ํธ๋ ์กฐ์(in-hand manipulation) ๋ฑ ๋ค์ํ ๋ณต์กํ Task๋ฅผ ์ํํ ์ ์๊ฒ ํ๋ฉฐ, ์ด๋ฅผ ํตํด ํ์ต์ ์ํ ๊ณ ์ฐจ์ ์ผ์ ๋ฐ์ดํฐ ๋ฐ ํ๋ ๋ฐ์ดํฐ(sensorimotor state-action data)๋ฅผ ์์งํ๋ ๋ฐ ํ์ฉ๋ ์ ์๋ค.
์์คํ ์ํคํ ์ฒ ๋ฐ ํ๋์จ์ด: ์์คํ ์ KUKA LBR iiwa7 R800 ๋ก๋ด ํ๊ณผ Wonik Robotics Allegro Hand๋ก ๊ตฌ์ฑ๋ ๋ก๋ด ์์คํ ๊ณผ, ์กฐ์์์ ์์ ๊ด์ฐฐํ๋ 4๋์ Intel RealSense D415 RGB-D ์นด๋ฉ๋ผ๋ก ๊ตฌ์ฑ๋ ์ธ๊ฐ ์กฐ์์ ์์ญ์ผ๋ก ๋๋๋ค. Allegro Hand์๋ SynTouch BioTac ์ด๊ฐ ์ผ์์ 3M TB641 ๊ทธ๋ฆฝ ํ ์ดํ๊ฐ ์ฅ์ฐฉ๋์ด ์ด๊ฐ ํผ๋๋ฐฑ ์ ํธ(92๊ฐ)์ ๋ง์ฐฐ๋ ฅ์ ์ ๊ณตํ๋ค. ์์คํ ์ Vision Based Perception, Optimization, Motion Generation, Control ๋ชจ๋๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์ฝ 1์ด์ Latency๋ฅผ ๊ฐ์ง๋ค.
ํต์ฌ ๋ฐฉ๋ฒ๋ก :
- ํธ๋ ํธ๋ํน (Hand Tracking): ์กฐ์์์ ์ ์ถ์ ์ DART ์ Deep Neural Networks์ ์กฐํฉ์ผ๋ก ์ด๋ฃจ์ด์ง๋ค.
- DART: articulated human hand model ([28, 29] ๊ธฐ๋ฐ)์ ์ ๋ ฅ Point Cloud์ ๋งค์นญํ์ฌ ์์ Pose์ 20๊ฐ Joint Angle์ ์ฐ์์ ์ผ๋ก ์ถ์ ํ๋ ๋ชจ๋ธ ๊ธฐ๋ฐ(model-based) ์ถ์ ๊ธฐ์ด๋ค. Nonlinear Optimization ๊ธฐ๋ฐ์ด๋ฏ๋ก ์ ํํ ์ด๊ธฐํ๊ฐ ํ์์ ์ด๋ฉฐ, Spurious Local Minima์ ๋น ์ง๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด Neural Network๋ก๋ถํฐ Hand Pose Prior์ Hand Segmentation ์ ๋ณด๋ฅผ ํ์ฉํ๋ค.
- Neural Networks: DART์ ์ด๊ธฐํ ๋ฐ ๊ฐ๊ฑด์ฑ(robustness) ํ๋ณด๋ฅผ ์ํด ๋ ๋จ๊ณ๋ก ํ์ต๋ Neural Network๊ฐ ์ฌ์ฉ๋๋ค.
- First Phase (with Glove for Annotation): ๋ฐ์ดํฐ ์์ง ์ด๊ธฐ์๋ ์์ ๋ธ๋กญ(coloured blobs)์ด ๋ถ์ฐฉ๋ ์ฅ๊ฐ์ ์ฐฉ์ฉํ๊ณ ResNet-50 with spatial-softmax ๊ธฐ๋ฐ์ GloveNet์ ํ๋ จ์์ผ RGB ์ด๋ฏธ์ง์์ ๋ธ๋กญ์ 2D ์์น๋ฅผ ์์ธกํ๋ค. ํนํ ์๋ฐ๋ฅ ๋ท๋ฉด์ 3๊ฐ ๋ธ๋กญ์ ์ฌ์ฉํ์ฌ Hand Pose๋ฅผ ์ถ์ ํ๋ค. 4๋ ์นด๋ฉ๋ผ์ ์์ธก ๋ฐ Depth ๊ฐ์ ์ด์ฉํ์ฌ 3D Hand Pose๋ฅผ ์ป๊ณ Hand Segmentation์ ์ํํ๋ค. DART๋ ์ด Segmentation๋ Point Cloud์ ๋ํด์๋ง ์ต์ ํํ์ฌ Annotation ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ค.
- Second Phase (Bare Hand Tracking): First Phase์์ ์์ฑ๋ Annotation์ ์ฌ์ฉํ์ฌ ๋งจ์(bare hand)์ Fused Point Cloud๋ฅผ ์ง์ ์ฒ๋ฆฌํ๋ค. PointNet++ ๊ธฐ๋ฐ ์ํคํ ์ฒ๊ฐ ์ฌ์ฉ๋๋ฉฐ, ํ ์ด๋ธ Point ์ ๊ฑฐ ํ Arm๊ณผ Body๋ฅผ ํฌํจํ Point Cloud๋ฅผ ์ ๋ ฅ๋ฐ์ Hand๋ฅผ Localizeํ๊ณ Hand Pose ๋ฐ Hand Segmentation(Auxiliary Segmentation Loss ์ฌ์ฉ)์ ์ถ์ ํ๋ค. ์ด ๋คํธ์ํฌ๋ ์์ 23๊ฐ Keypoint(์๊ฐ๋ฝ๋ณ 4๊ฐ ๊ด์ + ์๋ฐ๋ฅ ๋ท๋ฉด 3๊ฐ)์ 3D ์ขํ๋ฅผ ์์ธกํ๋๋ก ํ๋ จ๋๋ค. Uniform Sub-sampling์ผ๋ก ์ธํ ์๊ฐ๋ฝ Keypoint ์์ธก ์ ํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, ์ฒซ ๋จ๊ณ์ Pose์ Segmentation์ ๊ธฐ๋ฐ์ผ๋ก ์ ์์ ํฌ์ธํธ๋ฅผ ๋ค์ ์ํ๋งํ์ฌ ๋ ๋ฒ์งธ ๋จ๊ณ(second stage)์์ Keypoint ์์ธก์ ์ ๋ฐํํ๋ค.
- JointNet: ์์ธก๋ 23๊ฐ Keypoint ์์น(23x3 ๋ฒกํฐ)๋ฅผ 20๊ฐ Joint Angle(์๊ฐ๋ฝ ๊ด์ )๋ก ๋งคํํ๋ 2-layer fully connected network์ธ JointNet์ ์ฌ์ฉํ์ฌ DART์ Joint Prior๋ฅผ ์ ๊ณตํ๋ค.
- ์ด๋ํ์ ๋ฆฌํ๊ฒํ
(Kinematic Retargeting): ์ธ๊ฐ ์์ ๊ด์ ์์ง์์ Allegro Hand์ ๊ด์ ์์ง์์ผ๋ก ๋งคํํ๋ ๊ณผ์ ์ด๋ค. ์ธ๊ฐ ์๊ณผ Allegro Hand๋ ์ด๋ํ์ ์ผ๋ก ๋ค๋ฅด๋ฏ๋ก, Grasping๊ณผ Manipulation์ ์ค์ํ Fingertip Task-Space Metrics์ ์ฐ์ ์์๋ฅผ ๋๋ค.
- ๋น์ฉ ํจ์(Cost Function)๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋๋ค: C(q_h, q_a) = \frac{1}{2N}\sum_{i=0} s(d_i)||r_i(q_a) - f(d_i)\hat{r}_i(q_h)||^2 + \gamma||q_a||^2 ์ฌ๊ธฐ์ q_h, q_a๋ ๊ฐ๊ฐ ์ธ๊ฐ ์๊ณผ Allegro Hand์ ๊ด์ ๊ฐ๋์ด๋ฉฐ, r_i๋ ํ ์ขํ๊ณ(์: ์๋ฐ๋ฅ)์์ ๋ค๋ฅธ ์ขํ๊ณ(์: ์๊ฐ๋ฝ ๋)๊น์ง์ ๋ฒกํฐ์ด๋ค. d_i = ||r_i(q_h)||, \hat{r}_i(q_h) = \frac{r_i(q_h)}{||r_i(q_h)||}์ด๋ค.
- s(d_i)๋ ์ค์์นญ ๊ฐ์ค์น ํจ์(switching weight function)๋ก, ์ถ์ ์ค๋ฅ๊ฐ ์์ ๋ ์ ๋ฐ ํ์ง(precision grasp) ์ ์๊ฐ๋ฝ ์ถฉ๋์ ๋ฐฉ์งํ๊ณ Thumb์์ ์ ์ด์ ๊ฐ๊น๊ฒ ํ๋ Projection Scheme์ ์ฌ์ฉ๋๋ค. d_i๊ฐ ์๊ณ๊ฐ \epsilon๋ณด๋ค ์์ ๊ฒฝ์ฐ, Primary Finger-Thumb ๋ฒกํฐ์๋ 0, Primary Finger-Primary Finger ๋ฒกํฐ์๋ 400์ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ๋ค (Table I).
- f(d_i)๋ ๊ฑฐ๋ฆฌ ํจ์(distancing function)๋ก, d_i๊ฐ \epsilon๋ณด๋ค ํด ๊ฒฝ์ฐ \beta d_i (\beta=1.6)๋ก ๋น๋ก ์ค์ผ์ผ๋งํ๊ณ , ์์ ๊ฒฝ์ฐ Primary Finger-Thumb ๊ฐ์ ๊ฑฐ๋ฆฌ๋ \eta_1 (10^{-4}m), Primary Finger ๊ฐ์ ๊ฑฐ๋ฆฌ๋ \eta_2 (3 \times 10^{-2}m)๋ก ๊ฐ์ ํ์ฌ ์ต์/์ต๋ ๊ฑฐ๋ฆฌ๋ฅผ ์ ์งํ๋ค.
- \gamma||q_a||^2๋ ์ ๊ทํ ํญ(regularization term)์ผ๋ก, \gamma=2.5 \times 10^{-3}์ด๋ฉฐ Allegro ๊ด์ ๊ฐ๋๋ฅผ 0(์์ ํ ์ด๋ฆฐ ์)์ผ๋ก ์ ๊ทํํ์ฌ ํด์ ์ค๋ณต์ ์ค์ด๊ณ ๋น์ ์์ ์ธ ์์ธ๋ฅผ ๋ฐฉ์งํ๋ค.
- ๋ฒกํฐ r_i๋ ๊ฑฐ๋ฆฌ์ ๋ฐฉํฅ๋ฟ๋ง ์๋๋ผ ์ขํ๊ณ์ Orientation ์ ๋ณด๋ ํฌํจํ๋ค. Allegro Hand์ Primary Finger distal ๊ด์ ์ medial ๊ด์ ๊ณผ ๋์ผํ๊ฒ ์ ์ฝ๋๋ค.
- ์ด ๋น์ฉ ํจ์๋ NLopt ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ Sequential Least-Squares Quadratic Programming (SLSQP) ์๊ณ ๋ฆฌ์ฆ [35, 36, 37]์ ์ฌ์ฉํ์ฌ ์ค์๊ฐ์ผ๋ก ์ต์ํ๋๋ค. Forward Kinematic ๊ณ์ฐ์ Orocos Kinematics and Dynamics library ๋ฅผ ์ฌ์ฉํ๋ค. ๊ฒฐ๊ณผ๋ First-Order Low-Pass Filter๋ฅผ ๊ฑฐ์น๋ค.
- ๋ชจ์
์์ฑ ๋ฐ ์ ์ด (Motion Generation and Control):
- Allegro Palm์ Cartesian Pose๋ Riemannian Motion Policies (RMPs)๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ด๋๋ค. RMPs๋ Arm์ Torque-Level Impedance Controller์ ๋ชฉํ Joint Trajectory๋ฅผ 200Hz๋ก ๋ณด๋ธ๋ค.
- Kinematically Retargeting๋ Allegro Angles๋ Allegro Hand์ Torque-Level Joint Controller์ 30Hz๋ก ๋ณด๋ธ๋ค.
- ๋ก๋ด๊ณผ ์นด๋ฉ๋ผ ์์คํ ๊ฐ์ ๊ณต๊ฐ ์ ๋ ฌ์ ์ด๊ธฐ ์ ์์ธ(ํ ์ด๋ธ๊ณผ ํํํ ์์ ํ ์ด๋ฆฐ ์)๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ณด์ ํ์ฌ ์กฐ์์๊ฐ ์ง๊ด์ ์ผ๋ก ๋ก๋ด์ ์ ์ดํ ์ ์๊ฒ ํ๋ค.
์คํ ๋ฐ ๊ฒฐ๊ณผ: DexPilot ์์คํ ์ Pringles ์บ ์ ๋ ฌ, ์ปต ์ฝ์ , ๋ ๊ฐ ํ๋ธ ํ์ง, ์ง๊ฐ์์ ๋ ๊บผ๋ด๊ธฐ ๋ฑ 15๊ฐ์ง ๋ค์ํ Task (Table II, Fig. 1)์ ๋ํด ๋ ๋ช ์ ์กฐ์์๋ฅผ ๋์์ผ๋ก ํ ์คํธ๋์๋ค. ์ฑ๋ฅ์ ํ๊ท ์๋ฃ ์๊ฐ(Mean Completion Time, CT)๊ณผ ์ฑ๊ณต๋ฅ (Success Rate)๋ก ์ธก์ ๋์๋ค (Fig. 14, 15). ๊ฒฐ๊ณผ๋ ์ด๊ฐ ํผ๋๋ฐฑ ๋ถ์ฌ์๋ ๋ถ๊ตฌํ๊ณ ๋ค์ํ Task์์ ๋์ ์ฑ๊ณต๋ฅ ์ ๋ฌ์ฑํ์์ ๋ณด์ฌ์ค๋ค. ๋ณต์กํ Task ์ํ์ Bare Hand ๊ด์ฐฐ๋ง์ผ๋ก๋ ์ ๊ตํ Skill ์ ๋ฌ์ด ๊ฐ๋ฅํจ์ ์ ์ฆํ๋ค. Task ์ํ ์ค ์์ง๋ ํ๋ถํ Sensorimotor ๋ฐ์ดํฐ(BioTac ์ ํธ ๋ฑ)๋ ํฅํ ๋ก๋ด ํ์ต์ ํ์ฉ๋ ์ ์๋ค.
๋ ผ์ ๋ฐ ํ๊ณ: DexPilot์ ๋ณต์กํ Manipulation Task ํด๊ฒฐ์ ์ํ ์คํ ๊ฐ๋ฅํ๊ณ ์ ๋ ดํ Teleoperation ์๋ฃจ์ ์ ์ ๊ณตํ๋ฉฐ, ํ์ต์ ์ํ ๊ณ ํ์ง ๋ฐ์ดํฐ ์์ง์ ๊ฐ๋ฅํ๊ฒ ํ๋ค. ํฅํ ๊ฐ์ ๋ฐฉํฅ์ผ๋ก๋ Deep Learning ๋ฐ์ ์ ํตํ Hand Tracking ์ ํ๋ ํฅ์, RGB ๋ฐ์ดํฐ ํ์ฉ, ์์จ์ ์ธ ํ ์กฐ์ ์ ์ด ๊ธฐ๋ฅ ํตํฉ, ์๋ ์ธ์ ๋ฑ์ด ์ ์๋๋ค. ํ๊ณ์ ์ผ๋ก๋ ์ ํ์ ์ธ ์์ ๊ณต๊ฐ, Projection Scheme์ด Finger Gaiting์ด๋ ์์ ๋ฌผ์ฒด ๋๊ธฐ๋ฅผ ๋ฐฉํดํ๋ ๋ฌธ์ , ์ด๊ฐ ํผ๋๋ฐฑ ๋ถ์ฌ๋ก ์ธํ ์ ๋ฐ Task(์: NIST Peg-in-hole insertion)์ ์ด๋ ค์, ์์คํ Latency, ์กฐ์์ ์ ํฌ๊ธฐ/๋ชจ์์ ๋ํ ๊ฐ๊ฑด์ฑ ๋ฑ์ด ์ธ๊ธ๋๋ค. ํนํ Peg-in-hole Insertion๊ณผ ๊ฐ์ ๊ณ ์ ๋ฐ Task๋ ํ์ฌ ์์คํ ์ผ๋ก๋ ์๋๋ ๊ฐ๋ฅํ๋ ์ฑ๊ณต๋ฅ ์ด ๋งค์ฐ ๋ฎ์ ์ถ๊ฐ์ ์ธ ๊ฐ์ ์ด ํ์ํ๋ค.
์ฃผ์ Contribution:
- Markerless, glove-free, ์ ์ ์ผ๋ก Vision-based์ธ Teleoperation ์์คํ ์ผ๋ก ๊ณ ์์ ๋ ๋ก๋ด ์-ํ ์์คํ ์ ์ง์ ๋ชจ๋ฐฉ ์ ์ดํ๋ค.
- Hand Joint ์ถ์ ์ค๋ฅ ์กด์ฌ ์์๋ ์ ๊ธฐ๊ต์ Precision Grasp์ ์คํ ๊ฐ๋ฅ์ฑ์ ๋ณด์กดํ๋ Novel Cost Function ๋ฐ Projection Scheme for Kinematically Retargeting Human Hand Joints to Allegro Hand Joints.
- Fine Manipulation๊ณผ Dexterity๋ฅผ ํฌํจํ๋ ๋ค์ํ Task์์์ Teleoperation ์์คํ ์์ฐ ๋ฐ ํ๊ฐ.
- ์ด๊ฐ ํผ๋๋ฐฑ ๋ถ์ฌ์๋ ๋์ Task ์ฑ๊ณต๋ฅ ๋ฌ์ฑ.
Detail Review
1. ์ฐ๊ตฌ ๊ฐ์ ๋ฐ ๊ธฐ์ฌ
DexPilot์ ๊ณ ์์ ๋(23 DoF)์ ๋ค์ง๋ฅ ๋ก๋ด ์โํ ์์คํ ์ ์ ๋น์ฉยท์๊ฐ ๊ธฐ๋ฐ์ผ๋ก ์๊ฒฉ ์กฐ์ํ๊ธฐ ์ํ ์์คํ ์ด๋ค. ์ ํต์ ์ธ ํ ๋ ์คํผ๋ ์ด์ ์์คํ ์ ๊ณ ์์ ๋ ๋ก๋ด ์ ์ด์ ๊ณ ๊ฐ์ ์ผ์(๊ธ๋ฌ๋ธ, ๋ง์ปค, ๋ชจ์ ์บก์ฒ ๋ฑ)๋ฅผ ์๊ตฌํ์ง๋ง, DexPilot์ ์ค์ ์ธ๊ฐ์ ๋งจ์ ์์ง์๋ง์ผ๋ก 23์์ ๋์ Allegro ๋ก๋ด ์๊ณผ ๋ก๋ด ํ์ ์ง์ ๋ชจ์ฌยท์ ์ดํ๋ค.
์ฃผ์ ๊ธฐ์ฌ๋ก๋
- ๋ง์ปค๋ ์ฅ๊ฐ ์์ด ์์ RGB-D ์นด๋ฉ๋ผ๋ก ์ธ๊ฐ ์์ ์ถ์ ํ์ฌ ๋ก๋ด ์์ ์ ์ฌํ๋ ์๊ฐ ๊ธฐ๋ฐ ๊ธ๋ฌ๋ธ-ํ๋ฆฌ ํ ๋ ์คํผ๋ ์ด์ ๊ตฌํ,
- ์ ๋(fingertip) ์์น ๋ฐ ๋ฐฉํฅ์ ๋ณด์กดํ๋ฉด์ ์ธ๊ฐ ์ ๊ด์ ์ํ๋ฅผ Allegro ์ ๊ด์ ๋ก ๋งคํํ๋ ์๋ก์ด ๋น์ฉ ํจ์ ๋ฐ ํฌ์(projection) ๊ธฐ๋ฒ ์ ์,
- ์ ๋ฐํ ์ง๊ธฐ(pinching)์ ๋ค์ค ๋จ๊ณ ์กฐ์์ ํฌํจํ ๋ค์ํ ๊ณผ์ (์งํ ์ถ์ถ, ์๋ ์ด๊ธฐ, ์ฝ๋ณ ๊ฐ๋ด ๋ฑ)์์ 23DoF ์์คํ ์กฐ์์ ์์ฐ,
- ๋ ๋ช ์ ํ์ผ๋ฟ์ผ๋ก ์งํํ ์คํ์์ ์๋ ๋ฐ ์ฑ๊ณต๋ฅ ์งํ๋ก ์์คํ ์ฑ๋ฅ์ ํ๊ฐ์ด๋ค.
์ด ๊ฒฐ๊ณผ ๊ณ ์์ ๋ ๋ก๋ด ์กฐ์์ฉ ๋์ฉ๋ ์ํยทํ๋(์ํ/์ก์ ) ๋ฐ์ดํฐ ์์ง์ด ๊ฐ๋ฅํ๋ฉฐ, ํฅํ ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฐ ์กฐ์ ์ ์ฑ ํ์ต์ ์ ์ฉํ ๋ฐ์ดํฐ์ ์ ์ ๊ณตํ ์ ์๋ค.
2. ์์คํ ๊ตฌ์ฑ ๋ฐ ์ ์ถ์ ๋ฐฉ๋ฒ
DexPilot์ ํ๋์จ์ด๋ KUKA LBR iiwa7 ํ๋๋ก๋ด ํ๊ณผ Wonik Allegro ์์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, Allegro ์ ๋์๋ Biotac ์ด๊ฐ ์ผ์๋ฅผ ์ฅ์ฐฉํ์๋ค. ์ฌ๋ ํ์ผ๋ฟ ์์ญ์๋ ๊ฒ์์ ์ฒ์ผ๋ก ๋ฎ์ธ ํ ์ด๋ธ ์์ 4๋์ Intel RealSense D415 RGB-D ์นด๋ฉ๋ผ๊ฐ ๋ฐฐ์น๋์ด, ์ธ๊ฐ ์์ ์ฌ๋ฌ ์์ ์์ ๊ด์ฐฐํ๋ค.
์์คํ ์ ์ธ ๊ฐ์ ์ฒ๋ฆฌ ์ค๋ ๋๋ก ๋ณ๋ ฌ ์คํ๋๋ค.
- ํ์ต ์ค๋ ๋๋ 4๊ฐ ์นด๋ฉ๋ผ์ ์ตํฉ๋ ํฌ์ธํธ ํด๋ผ์ฐ๋๋ก๋ถํฐ ์์ ์์ธ ๋ฐ ๊ด์ ๊ฐ์ ์ถ์ ํ๋ ์ ๊ฒฝ๋ง์ ์คํํ๋ฉฐ, ์ด๋ฅผ ํตํด ์ป์ ์ด๊ธฐ ์ถ์ ๊ฐ์ ํ์ ๋ชจ๋์ ์ ๊ณตํ๋ค.
- ์ถ์ ์ค๋ ๋๋ DART(Differentiable Articulated Rigid-body Tracker)๋ฅผ ์ฌ์ฉํ์ฌ ์ธ๊ฐ ์ ๋ชจ๋ธ์ 6์์ ๋ ์์น ๋ฐ 20๊ฐ ๊ด์ (๊ฐ ์๊ฐ๋ฝ๋น 4๊ฐ: 1 abduction, 3 flexion)์ ์์ธ๋ฅผ ์ง์์ ์ผ๋ก ์ต์ ํ ์ถ์ ํ๋ค. ์ด๋, ์ ๊ฒฝ๋ง์ด ์ ๊ณตํ ์ ์์น/๊ด์ ๊ฐ ์์ธก์ด ์ด๊ธฐ๊ฐ(prior)์ผ๋ก ์ฌ์ฉ๋์ด ๋ก์ปฌ ๋ฏธ๋๋ง๋ก ๋น ์ง๋ ๊ฒ์ ๋ฐฉ์งํ๋ค.
- ์ ์ด ์ค๋ ๋๋ Riemannian Motion Policy(RMP) ๊ธฐ๋ฐ์ ์ ์ด ๋ฐฉ์ ์์ ๊ณ์ฐํ์ฌ Allegro ์๋ฐ๋ฅ์ ๋ชฉํ ์์นยท์์ธ์ ํ ๋์์ ์์ฑํ๋ค. ์ ์ฒด ์์คํ ์ ์๋-ํฌ-์๋ ์ง์ฐ(latency)์ ์ฝ 1์ด ์ ๋๋ก ๋ณด๊ณ ๋์๋ค.
์๊ฐ ๊ธฐ๋ฐ ์ ์ถ์ ์ ์ํด DexPilot์ ๋ ๋จ๊ณ์ ๋ฅ๋ฌ๋ ๋ชจ๋ธ๊ณผ DART ์ต์ ํ๋ฅผ ๊ฒฐํฉํ์๋ค.
- ์ฒซ ๋ฒ์งธ ๋จ๊ณ์์๋ ํ์ผ๋ฟ์ด ์ฐฉ์ฉํ ์ปฌ๋ฌ ์ฅ๊ฐ(glove)์ ํ์ฉํ์ฌ ํ์ต ๋ฐ์ดํฐ๋ฅผ ์ป๋๋ค. ์ฅ๊ฐ์ ์๊ฐ๋ฝ ๋๊ณผ ์๋ฐ๋ฅ์ ์๋ก ๋ค๋ฅธ ์์ ์ ์ ๋ถ์ฐฉํ๊ณ , 4๋์ RGB ์นด๋ฉ๋ผ๋ก ๊ด์ฐฐํ RGB ์์์ ResNet-50 ๊ธฐ๋ฐ์ ํ๊ท ๋คํธ์ํฌ(GloveNet)๋ฅผ ํตํด ์์ ์ 2D ์์น๋ฅผ ์ถ์ ํ๋ค. ์ด๋ ๊ฒ ์ป์ 2D ์ขํ์ ๊น์ด(depth)๋ฅผ ๊ฒฐํฉํด 3D ์์น๋ฅผ ๊ณ์ฐํ๊ณ , ๊ทธ๋ก๋ถํฐ ์์ ํฌ์ฆ(์ธ ์ ์ ์์น)์ ๋ถํ (segmentation)์ ๊ตฌํ๋ค. ์ด ์ ๋ณด๋ฅผ ์ด์ฉํด DART๊ฐ ์ ๋ชจ๋ธ์ ์ธ๋ถํ(segmented point cloud)์ ๋ง์ถ์ด ์ต์ ํํ๋๋ก ํจ์ผ๋ก์จ, ์ด๊ธฐ์๋ ์ฅ๊ฐ์ ์ด ์ํ์์ ์ ํํ ์ ๊ด์ ๊ฐ ์ด๋ ธํ ์ด์ ์ ์์ฑํ๋ค.
- ๋ ๋ฒ์งธ ๋จ๊ณ์์๋ ์ฅ๊ฐ ์์ด ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ค. 4๊ฐ ์นด๋ฉ๋ผ์ ๊น์ด ์์์ ์ตํฉํ์ฌ ํ ์ด๋ธ ํ๋ฉด์ ์ ๊ฑฐํ ํ, ๋จ์ ์ยทํ ํฌ์ธํธํด๋ผ์ฐ๋๋ฅผ PointNet++ ๊ธฐ๋ฐ ๋คํธ์ํฌ์ ์ ๋ ฅํ๋ค. ์ด ๋คํธ์ํฌ๋ ์ ๋ถ๋ถ์ ๋ถ๋ฆฌํ๊ณ (์๋ถํ ), ์๋ผ์ 23๊ฐ ์ฃผ์ ๊ด์ ์ (keypoints; ์๊ฐ๋ฝ๋น 4๊ฐ, ์๋ฐ๋ฅ ํ๋ฉด 3๊ฐ)๋ฅผ 3D ์ขํ๋ก ํ๊ทํ๋ค. ์ฒซ ๋จ๊ณ์ ์๋ฐ๋ฅ ์ปฌ๋ฌ ์ฅ๊ฐ ๋ฐฉ์์ผ๋ก ์์ฑ๋ ์ด๋ ธํ ์ด์ ์ ํ์ต์ ์ฌ์ฉํ์ฌ, ์ค์ ๋งจ์ ๋ฐ์ดํฐ์์๋ ์ ๊ด์ ํฌ์ฆ๋ฅผ ์์ธกํ๋ค. ๋ํ, 23๊ฐ ํคํฌ์ธํธ๋ฅผ 20์ฐจ์ ๊ด์ ๊ฐ์ผ๋ก ๋ณํํ๊ธฐ ์ํ JointNet(2์ธต ์์ ์ฐ๊ฒฐ๋ง)๋ ํจ๊ป ํ์ต์์ผฐ๋ค. ์ด ๋ฅ ๋คํธ์ํฌ๋ค ๋๋ถ์ DART ์ถ์ ์ด ์ฅ๊ธฐ๊ฐ ์์ ์ ์ผ๋ก ์ํ๋๋ฉฐ, ๊ฒ์ฆ ์ ์์ ํ๊ท ํคํฌ์ธํธ ์ค์ฐจ๋ ์ฝ 9.7mm, ๊ด์ ๊ฐ ์ค์ฐจ๋ ์ฝ 1.33ยฐ๋ก ๋ณด๊ณ ๋์๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก, DexPilot์ ์นด๋ฉ๋ผ ํฌ์ธํธํด๋ผ์ฐ๋โํคํฌ์ธํธโ๊ด์ ๊ฐ ์ถ์ โDART ๋ฏธ์ธ์กฐ์ ์ ํ์ดํ๋ผ์ธ์ ํตํด ์ธ๊ฐ ์์ ํฌ์ฆ์ ๊ด์ ์ํ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ป์ด๋ธ๋ค.
3. ์ธ๊ฐ-๋ก๋ด ์ ๋งคํ ์ ๋ต ๋ฐ ์ํ์ ๋ชจ๋ธ๋ง
์ธ๊ฐ ์๊ณผ Allegro ๋ก๋ด ์์ ๊ด์ ์, ๊ด์ ์ถ ๋ฐฐ์น, ์๊ฐ๋ฝ ๊ธธ์ด ๋ฑ์ด ํฌ๊ฒ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋จ์ํ ๋์(mapping)์ด ๋ถ๊ฐ๋ฅํ๋ค. DexPilot์ ์ ๋ฐ ์กฐ์ ๊ด์ ์์ ์๋(fingertip) ์์ ๊ณต๊ฐ(task-space) ์ ์ต์ฐ์ ์ํ์ฌ ๋ ์์ ๋์์ ์ฐ๊ฒฐํ๋ค.
์๋์ ์๋ ์์น์ ๋ฐฉํฅ ์ ๋ณด๊ฐ ์ธ๊ฐยท๋ก๋ด ์์ ์ฃผ์ ์กฐ์์ ๊ฒฐ์ ํ๋ค๊ณ ๋ณด๊ณ , ์ด๋ค ์ฌ์ด ๊ฑฐ๋ฆฌ๋ฅผ ์ต์ํํ๋ ์ต์ ํ ๊ธฐ๋ฐ ๋งคํ(cost function)์ ์ค๊ณํ์๋ค. ๊ตฌ์ฒด์ ์ผ๋ก, ์ธ๊ฐ ์ ์์ธ q_h์ Allegro ์ ๊ด์ q_a์ ๋ํด ๋ค์๊ณผ ๊ฐ์ ๋น์ฉ ํจ์๋ฅผ ์ ์:
C(q_h, q_a) = \frac{1}{2}\sum_{i=1}^N s(d_i)\,|r_i(q_a) - f(d_i)\,\hat{r}_i(q_h)|^2 \;+\; \gamma|q_a|^2,
- ์ฌ๊ธฐ์ r_i(q)๋ ์๋ฐ๋ฅ(origin)์ผ๋ก๋ถํฐ i๋ฒ์งธ ์๋๊น์ง์ ๋ฒกํฐ(๋๋ ์๊ฐ๋ฝ ๊ฐ ๋ฒกํฐ)๋ก, ๊ฐ๊ฐ Allegro ์(r_i(q_a))๊ณผ ์ธ๊ฐ ์ ๋ชจ๋ธ(\hat{r}_i(q_h))์ ์์ ๊ณต๊ฐ์์ ๊ณ์ฐ๋๋ค.
- \hat{r}_i(q_h)=r_i(q_h)/d_i๋ ์ ๊ทํ๋ ์ธ๊ฐ ์ ๋ฒกํฐ์ด๋ฉฐ, d_i=|r_i(q_h)|
- s(d_i)๋ ๊ฐ์ค์น ํจ์๋ก์ ์ธ๊ฐ ์์ ์์ง๊ฐ i๋ฒ์งธ ๋ฒกํฐ(r_i(q_h))์ ๊ฐ๊น๊ฒ ์ ์ดํ ๋ ์๋ ๊ฐ ๊ฑฐ๋ฆฌ์ ๋ ํฐ ์ค์๋๋ฅผ ๋ถ์ฌํ๋ค. ์๋ฅผ ๋ค์ด, ์๊ณ๊ฑฐ๋ฆฌ \epsilon ์ดํ๋ก ๊ฐ๊น์์ง๋ฉด ์์ง์ ์๋์ด ๋์๋๋ ๋ฒกํฐ ์งํฉ S1์ผ ๋ s(d_i)=200, ์๋ ์(S2)์ ๋ํด์๋ s(d_i)=400 ๋ฑ์ผ๋ก ๊ธ๊ฒฉํ ์ฆ๊ฐ์ํจ๋ค. ๋ฐ๋ฉด ๊ฑฐ๋ฆฌ๊ฐ \epsilon ์ด์์ด๋ฉด s(d_i)=1์ผ๋ก ์๊ฒ ์ค๋ค.
- f(d_i)๋ ๊ฑฐ๋ฆฌ ์กฐ์ ํจ์๋ก์, ๋ณดํต f(d_i)=\beta d_i (์ฆํญ๊ณ์ \beta=1.6)๋ก ์๋ ๊ฐ ๊ฑฐ๋ฆฌ๋ฅผ ๊ทธ๋๋ก ๋ณต์ฌํ์ง๋ง, ์๊ณ๊ฑฐ๋ฆฌ ์ดํ์ผ ๋ ์๊ฐ๋ฝ๋ผ๋ฆฌ ๊ฒน์น์ง ์๋๋ก ์ผ์ ๊ฑฐ๋ฆฌ(\eta_1,\eta_2)๋ฅผ ๊ฐ์ ํ๋ค. ์๋ฅผ ๋ค์ด ์์ง-์ฃผ์ ์๊ฐ๋ฝ ์ฌ์ด๊ฐ ๋๋ฌด ๊ฐ๊น์์ง๋ฉด \eta_1=0.1\;\mathrm{mm}๋ก ์ ์ด ๊ฑฐ๋ฆฌ๋ฅผ ์ ์ง์์ผ ํ์น ์ง๊ธฐ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ฉฐ, ์ฃผ์ ์๊ฐ๋ฝ ๊ฐ์๋ \eta_2=30\;\mathrm{mm}๋ก ์ผ์ ๊ฑฐ๋ฆฌ๋ฅผ ํ๋ณดํ๋ค.
- ๋ง์ง๋ง์ผ๋ก \gamma|q_a|^2 ํญ(์ ๊ทํ ํญ)์ Allegro ์์ ์์ ํ ํผ์น ์ํ(q_a=0)๋ก ์ ๋ํ์ฌ ์ค๋ณต์ฑ(redundancy)์ ์ํํ๊ณ ๊ธฐ๊ดดํ ์ต์ํด(์: ์๊ฐ๋ฝ์ด ์๋ฐ๋ฅ์ ํ๊ณ ๋๋ ํ์)๋ฅผ ๋ฐฉ์งํ๋ค. ์ด๋ ์ฌ์ฉํ๋ ๋ฒกํฐ ์งํฉ S1, S2๋ ํ I์ ์ ์๋ ๊ฒ์ฒ๋ผ โ์์ง์ ์ฃผ์ ์๊ฐ๋ฝ(๊ฒ์งยท์ค์งยท์ฝ์ง) ์ฌ์ด ๋ฒกํฐโ์ โ์์ง์ ๊ฐ๊ฐ ๋งคํ๋ ๋ ์ฃผ์ ์๊ฐ๋ฝ ์ฌ์ด ๋ฒกํฐโ๋ก ๊ตฌ์ฑํ๋ค. ๋ํ, ํด ๊ณต๊ฐ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ธฐ ์ํด Allegro ์์ ๊ฒ์งยท์ค์งยท์ฝ์ง ๊ฐ๊ฐ์ ๋ํด ์์๊ด์ (distal joint)์ ๊ฐ๋๋ฅผ ์ค๊ฐ๊ด์ (medial joint)๊ณผ ๊ฐ๊ฒ ๊ณ ์ ํ๋ ์ ์ฝ์ ๋์๋ค. ์ด์ ๊ฐ์ด ์ค๊ณ๋ ๋น์ฉ ํจ์๋ฅผ ๋งค ํ๋ ์๋ง๋ค ์ต์ํํ๋ฉด ์ธ๊ฐ ์์ ์๋ ๋ฐฐ์น์ ์ ์ฌํ Allegro ์ ๊ตฌ์ฑ์ด ์์ฑ๋๋ค.
์ต์ ํ๋ NLopt ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ SLSQP(์์ฐจ์ ์ด์ฐจ๊ณํ๋ฒ) ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ค์๊ฐ ์ํ๋๋ค. ์ด๊ธฐ ํ๋ ์์๋ Allegro ๊ฐ๋๋ฅผ ๋ชจ๋ 0(์์ ํผ์นจ)์ผ๋ก ์์ํ๊ณ , ์ดํ ๋งค ํ๋ ์์ ์ด์ ํ๋ ์ ํด๋ฅผ ์ด๊ธฐ๊ฐ์ผ๋ก ์ฌ์ฉํ์ฌ ์ฐ์์ฑ์ ์ ์งํ๋ค. ์ธ๊ฐ ์ ๋ชจ๋ธ๊ณผ Allegro ์์ ์๋ฐฉํฅ ๊ธฐ๊ตฌํ ๊ณ์ฐ์๋ Orocos KDL ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์๋ค. ์ต์ ํ ๊ฒฐ๊ณผ๋ก ์ป์ Allegro ๊ด์ ๊ฐ์ ๊ณ ์ฃผํ ๋ ธ์ด์ฆ๋ฅผ ์ต์ ํ๊ธฐ ์ํด 1์ฐจ ์ ์ญ ํต๊ณผ ํํฐ๋ฅผ ๊ฑฐ์ณ ์ถ๋ ฅํ๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด ๋ฆฌํ๊ฒํ ๋ชจ๋์ ์ธ๊ฐ ํ์ผ๋ฟ์ด ์์ ๊ตฌ๋ถ๋ฆฌ๊ฑฐ๋ ์์ง์ ์๊ฐ๋ฝ ์ฌ์ด ๊ฑฐ๋ฆฌ๋ฅผ ์กฐ์ ํ ๋, ๊ทธ ์๋ ๋์์ด ๋ก๋ด ์์์๋ ์์ฐ์ค๋ฝ๊ฒ ์ฌํ๋๋๋ก ๋์ํ๋ค.
4. ์ ๋ฆฌํ๊ฒํ ๋ชจ๋ ๋์ ์๋ฆฌ์ ์ ์ฝ์กฐ๊ฑด
DexPilot์ ๋ฆฌํ๊ฒํ ๋ชจ๋์ ์ถ์ ์ค๋ ๋ ๋ด๋ถ์์ ์๋ํ๋ฉฐ, ์ธ๊ฐ ์ ์ถ์ ๊ฒฐ๊ณผ๋ฅผ Allegro ์ ์ ์ด ๋ช ๋ น์ผ๋ก ๋ณํํ๋ ์ค์๊ฐ ์ต์ ํ ์์ง์ด๋ค. ๋งค ์ฃผ๊ธฐ๋ง๋ค ์์ ๊ณ์ฐ๋ ์ธ๊ฐ ์ ๊ด์ ๊ฐ์ ์ ๋ ฅ์ผ๋ก ํ์ฌ ์์ ๋น์ฉ ํจ์๋ฅผ ์ต์ํํ๋ฉฐ, ์ด๋ s(d_i)๋ f(d_i) ๋ฑ์ ๊ธฐ๋ฒ์ผ๋ก ์์ง-๊ฒ์ง ๊ฐ ํฝ์ค์ณ ๋์์ ๊ฐ์ ํ๋ค. ์๋ฅผ ๋ค์ด, ์งํ๋ฅผ ํ์นํ ๋์ ๊ฐ์ด ์์ง์ ๊ฒ์ง ์ฌ์ด ๊ฑฐ๋ฆฌ๊ฐ ์์์ ธ d_i<\epsilon์ด ๋๋ฉด ์๋ ๊ฐ ๊ฑฐ๋ฆฌ๋ฅผ ์ ์งํ๋๋ก f(d_i)๊ฐ ์์์ง๋ฉฐ, ๋์์ ๊ฐ์ค์น s(d_i)๊ฐ ์ปค์ ธ ํด๋น ์๋ ๋ฒกํฐ ํญ์ด ๋น์ฉ์ ํฌ๊ฒ ๋ฐ์๋๋ค. ์ด๋ฌํ ํฌ์(projection) ๊ธฐ๋ฒ์ ์นด๋ฉ๋ผ ๊ธฐ๋ฐ ์ถ์ ์ ์ค์ฐจ์๋ ๋ถ๊ตฌํ๊ณ ์ ํํ ํ์น ์์ธ๋ฅผ ์ ๋ํ ์ ์๊ฒ ํด์ฃผ์ง๋ง, ํ์ ํ ์์ ๋ฌผ์ฒด ๋๊ธฐ ๋ฑ์ ์ํฉ์์๋ ์๊ฐ๋ฝ์ ๋๋ฌด ์ค๋ ์ ์งํ๊ฒ ๋ง๋๋ ๋ถ์์ฉ๋ ๋ฐ์ํ ์ ์๋ค.
๋ฆฌํ๊ฒํ ์ต์ ํ๋ ์ค์๊ฐ์ผ๋ก ์คํ๋์ด์ผ ํ๋ฏ๋ก, ๊ณ์ฐ ๋ณต์ก๋๋ฅผ ์ค์ด๊ณ ์๋ฃจ์ ์ ์ฐ์์ฑ์ ๋ณด์ฅํ๋ ์ฌ๋ฌ ์ ์ฝ์กฐ๊ฑด๋ ์ ์ฉ๋๋ค. ๋จผ์ \gamma|q_a|^2 ์ ๊ทํ ํญ์ ํตํด ํด ๊ณต๊ฐ์ ์ค๋ณต์ฑ์ ์ต์ ํ๋ฉฐ, ๋์ผํ ํจ๊ณผ๋ก ์์ ์ธ๊ธํ ๊ฒ์งยท์ค์งยท์ฝ์ง์ distal=medial ๊ณ ์ ์ ์ฝ๋ ๋์ ํ๋ค. ์ด์ ํจ๊ป, ์ต์ ํ ์ด๊ธฐ๊ฐ์ ์ด์ ๊ฒฐ๊ณผ๋ก ์ค์ ํ์ฌ ์ฐ์ฐ ๋น์ฉ๊ณผ ์ง๋์ ์ํํ๋ค. ๋ง์ง๋ง์ผ๋ก ๋ก๋ด๊ณผ ์นด๋ฉ๋ผ ์ขํ๊ณ ์ ํฉ(calibration)์ ํตํด ์ํ๋ ์ด๊ธฐ ์ ์์ธ(ํผ์น ์, ์๋ฐ๋ฅ ํํ)๋ฅผ ์์คํ ์ ๋ง์ถ์ด ํ์ผ๋ฟ์ ์๊ณผ ๋ก๋ด ์์ด ์ผ์นํ๋๋ก ์ค์ ํ๋ค. ์ข ํฉํ๋ฉด, DexPilot์ ๋ฆฌํ๊ฒํ ๋ชจ๋์ ๋น์ ํ ์ต์ ํ ๊ธฐ๋ฐ์ด๋ฉฐ, ์๋ ์์นยท๋ฐฉํฅ ์์ ๊ณต๊ฐ์ ๋ณด์กดํ๊ธฐ ์ํ ๋น์ฉ ํจ์์ ์ํด ์ธ๊ฐ ์๋์์ Allegro ๊ด์ ๊ฐ์ผ๋ก ๋ณํํ๋ค. ์ถ๊ฐ์ ์ธ ํํฐ๋ง๊ณผ ์ ์ฝ์ ํตํด ๋ถ๋๋ฝ๊ณ ๋ฌผ๋ฆฌ์ ์ผ๋ก ํ๋นํ ์์ง์์ ๋ณด์ฅํ๋ฉฐ, ์ด๋ฅผ ํตํด ์ธ๊ฐ ํ์ผ๋ฟ์ ์ ์ ์ค์ฒ๋ ์ ๊ตํ๊ฒ ๋ก๋ด ์์ผ๋ก ๋ณต์ ๋๋ค.
5. ์คํ ์ค์ ๋ฐ ์ฑ๋ฅ ํ๊ฐ
DexPilot ์์คํ ์ ์ฑ๋ฅ์ ๋ค์ํ ์กฐ์ ๊ณผ์ (task)์์ ์ธก์ ๋์๋ค. ์ฌ์ฉ๋ ์คํ ์ฅ๋น๋ ์์ ์ค๋ช ํ KUKA iiwa7+Allegro ์, 4๋์ Intel RealSense D415 ์นด๋ฉ๋ผ์ด๋ค[9]. ์คํ์์ ํ์ผ๋ฟ(์กฐ์ข ์ฌ)์ ํ ์ด๋ธ ์์์ ์ ํด์ง ๋ฌผ์ฒด๋ฅผ ์กฐ์ํด์ผ ํ์ผ๋ฉฐ, ์คํ ๊ณผ์ ๋ ์ด 15๊ฐ์ง๊ฐ ์ ์๋์๋ค(ํ II ์ฐธ์กฐ). ์ฌ๊ธฐ์๋ ๋จ์ ๋ฌผ์ฒด ์ฎ๊ธฐ๊ธฐ(pick-and-place)๋ถํฐ, ๋์ ๋ด์ง ์งํ๋ฅผ ์ง๊ฐ์์ ๊บผ๋ด๊ธฐ(๊ทธ๋ฆผ 11), ์๋ ์ด๊ธฐ ๋ฐ ํฐ๋ฐฑ ๊บผ๋ด๊ธฐ(๊ทธ๋ฆผ 12), ๋ ์ฝฉํต ๋๊ป ํ๊ธฐ(๊ทธ๋ฆผ 13) ๊ฐ์ ๋ค๋จ๊ณ ์์ ๋ค์ด ํฌํจ.
๊ฐ ๊ณผ์ ๋ง๋ค ํ์ผ๋ฟ 2๋ช ์ด 5ํ ์ฐ์ ์๋ํ๋ฉฐ ์ฑ๊ณต๋ฅ ์ ์ธก์ ํ๊ณ , ์๋ฃ ์๊ฐ(mean completion time)๋ ๊ธฐ๋กํ๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก, DexPilot์ ๋๋ถ๋ถ ๊ณผ์ ์์ ๋์ ์ฑ๊ณต๋ฅ ์ ๋ณด์๋ค(Fig. 15). ํนํ ๋จ์ ํผํน/ํ๋ ์ด์ค ์์ ์ด๋ ๋น๊ต์ ํฐ ๋ฌผ์ฒด ์กฐ์ ์์ ๋ค์ ๋๋ถ๋ถ ์ฑ๊ณต๋ฅ 90โ100%์ ๋ฌํ๋ค. ํ๊ท ์๋ฃ ์๊ฐ์ ๊ณผ์ ๋์ด๋์ ๋ณต์ก๋์ ๋ฐ๋ผ ๋ค์ํ๋๋ฐ, ๋ฉํฐ์คํ ์์ (์: ์๋ ์ ๋ฌผ๊ฑด ๊บผ๋ด๊ธฐ)์ผ์๋ก ์ ๋ถ์ด ์์๋์๋ค. ์ ๋ฐ์ ์ผ๋ก ์์คํ ์ ์ ๋ฐ ์ง๊ธฐยทํ์ง, ๋ค์ง ๊ฐ ์กฐ์, ๋นํ์ง(non-prehensile) ๋์ ๋ฑ์ ๋ชจ๋ ์ํํ ์ ์๋ ์ถฉ๋ถํ ์ ์ฐ์ฑ๊ณผ ์์ ์ฑ์ ๋ณด์๋ค. ์ ์ฑ์ ํ๊ฐ์์๋ DexPilot์ ์ฑ๋ฅ์ ํ์ธํ ์ ์๋ค. ์๋ฅผ ๋ค์ด ๊ทธ๋ฆผ 11์ ์ง๊ฐ ๊ณผ์ ์์ ํ์ผ๋ฟ์ ์งํ๋ฅผ ์๊ฐ๋ฝ ์ฌ์ด์ ํ์นํ ์ฑ๋ก ์ฑ๊ณต์ ์ผ๋ก ์ง๊ฐ ๋ฐ๊นฅ์ผ๋ก ๋์ง์ด๋์ผ๋ฉฐ, ์ด๋ ๋ก๋ด ์๋ ์งํ๋ฅผ ๋์น์ง ์๊ณ ์ ์งํ๋ค. ๊ทธ๋ฆผ 12์์๋ ์๋์ ์ด๊ณ ํฐ๋ฐฑ์ ์ก์ ๋น๊ธฐ๊ธฐ ์ํ ์๊ฐ๋ฝ์ ํ์ ๋ฐ ์ ์ด ๋์์ด ๋ช ํํ ๊ตฌํ๋์์ผ๋ฉฐ, ๊ทธ๋ฆผ 13์ ๋ ์ฝฉํต ๋๊ป ๊ณผ์ ์์๋ ๋๊ป์ ๋ฐ๋ณต ํ์ ์ํค๋ ๋์์ด ๋ก๋ด์๋ ๊ทธ๋๋ก ์ ๋ฌ๋์๋ค. ์ด์ฒ๋ผ ์์ ๋ฌผ์ฒด๋ฅผ ์ง๊ฑฐ๋ ๋๋ฆฌ๋ ์ ๋ฐ ๋์ ๋ฟ ์๋๋ผ, ๋ ์๊ฐ๋ฝ์ผ๋ก ๋ฌผ์ฒด๋ฅผ ์ก์ ์ํ์์ ๋จ์ ์๊ฐ๋ฝ์ ์ด์ฉํด ์ถ๊ฐ ์กฐ์์ ์ํํ๋ ๋ณตํฉ ์กฐ์(compound manipulation)๋ ๋ชจ๋ ์ฌ๋์ด ํํ๋ฏ ์ํ ๊ฐ๋ฅํจ์ ๋ณด์๋ค.
๊ทธ๋ฌ๋ ์์ ๋ฌผ์ฒด๋ฅผ ๋ค๋ฃจ๋ ์์ ์์๋ ํ๊ณ๋ ๊ด์ฐฐ๋์๋ค. ์๋ฅผ ๋ค์ด ํฌ๊ธฐ๊ฐ ์์ ๋ธ๋ก(pick blocks small)์ด๋ ์ปจํ ์ด๋ ์ ๋ฌผ์ฒด ๋ฝ๊ธฐ(Container) ๋ฑ์ ์์ ์ ์๋ฃ ์๊ฐ์ด ๊ธธ๊ฑฐ๋ ์ฑ๊ณต๋ฅ ์ด ๋ฎ์๋ค. ํนํ ์์ ๋ธ๋ก์ ์ฅ์๋ค๊ฐ ๋๋ ๊ณผ์ ์์, ์์ ์ค๋ช ํ ํฌ์ ๊ธฐ๋ฒ์ด ์๊ฐ๋ฝ ๊ฐ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐํ๊ฒ ์กฐ์ ํ์ฌ ๋ฌผ์ฒด๋ฅผ ๋ฆ๊ฒ ๋๊ฒ ๋ง๋ค๊ฑฐ๋ ์๊ฐ๋ฝ์ด ๊ฐ์ญํ๋ ํ์์ด ๋ฐ์ํ๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์์ ๋ธ๋ก ์ฎ๊ธฐ๊ธฐ ๊ณผ์ ์ ๊ฒฝ์ฐ ์ฑ๊ณต๋ฅ ์ด ์๋์ ์ผ๋ก ํ์ ํ ๋ฎ์๊ณ , ์๋ฃ ์๊ฐ์ด ๋งค์ฐ ๊ธธ์ด์ก๋ค. ์ด๋ฌํ ํ์์ ์ฅ๊ฐ ๊ธฐ๋ฐ ์ถ์ ๋ฐ์ดํฐ์ ๋ถ์ ํ์ฑ์ด๋ ํฌ์ ํ๋ผ๋ฏธํฐ ์กฐ์ ์ ๊ธฐ์ธํ ๊ฒ์ผ๋ก ๋ถ์๋๋ค.
6. ๊ธฐ์กด ๋ฐฉ๋ฒ๊ณผ ๋น๊ต ๋ฐ ๊ธฐ์ ์ ํ๊ณ
DexPilot์ ๊ธ๋ฌ๋ธยท๋ง์ปค๋ฅผ ์ฌ์ฉํ์ง ์๋ ์์ ์๊ฐ ๊ธฐ๋ฐ ์์คํ ์ด๋ผ๋ ์ ์์ ๋ ์ฐฝ์ ์ด๋ค. ๊ธฐ์กด ์์ฉ ์์คํ ๋ค(์: CyberGlove, HaptX)์ ๋์ ์ ํ๋์ ๊ด์ ์ถ์ ๊ณผ ์ด๊ฐ ํผ๋๋ฐฑ์ ์ ๊ณตํ์ง๋ง, ์ฅ๋น ๋น์ฉ๊ณผ ๋ถํผ๊ฐ ํฌ๊ณ ์ฌ์ฉ์์ ์์ ๋ก์ด ์์ง์์ ์ ํํ๋ค. ๋ฐ๋ฉด DexPilot์ ์ ๋ ดํ RGB-D ์นด๋ฉ๋ผ ๋คํธ์ํฌ๋ง์ผ๋ก 23DoF ์ ์ด๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ์๊ณ , ์ด๋ ์ข ๋์ ๊ธ๋ฌ๋ธ๋ ๋ชจ์ ์บก์ฒ ์์ด ๋ณต์ก ์กฐ์์ ์ํํ ์ฌ๋ก๋ก๋ ๋๋ฌผ๋ค. ๊ธฐ์กด ํ์ ์ฐ๊ตฌ์ ๋น๊ตํด ๋ณด๋ฉด, Li ๋ฑ์ ๋ฅ๋ฌ๋์ผ๋ก ์๋์ฐ ํธ๋(Shadow Hand) ๊ด์ ๊ฐ์ ์ถ์ ํ์์ผ๋ ์์คํ ์ ์ฒด ์ ์ฉ๊ณผ ์ ๋ฐ ์ง๊ธฐ์๋ ํ๊ณ๊ฐ ์์๋ค. Antotsiou ๋ฑ์ ์๋ฎฌ๋ ์ด์ ์์ ๊ฐ๋จํ ์กฐ์ ์์ ๋ง ๋ณด์๋ ๋ฐ๋ฉด, DexPilot์ ์ค์ ๋ฌผ๋ฆฌ์ ํ๊ฒฝ์์ ์๋ ์ ์ด๊ณผ ์ฐ๊ด๋ ๋ณต์ก ์์ ์ ์ํํ๋ค. ์ด์ฒ๋ผ DexPilot์ ์๊ฐ-๋ชจ๋ธ ์ถ์ , ์ต์ ํ ๊ธฐ๋ฐ ๋ฆฌํ๊ฒํ , ์ํผ๋์ค ์ ์ด๋ฅผ ๊ฒฐํฉํ์ฌ ํ์ฅ์์ ์ ํ์ํ ์์ค์ ์กฐ์ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ์๋ค๋ ์ ์์ ์๋ก์ด ํจ๋ฌ๋ค์์ ์ ์ํ๋ค.
๊ทธ๋ผ์๋ ๋ช ๊ฐ์ง ๊ธฐ์ ์ ํ๊ณ๊ฐ ๋ณด๊ณ ๋์๋ค.
- ์ฒซ์งธ, ๊ด์ฐฐ ์์ญ(workspace)์ด ์นด๋ฉ๋ผ ๋ฒ์๋ก ์ ํ๋์ด ์์ด ๋์ ๊ณต๊ฐ์์์ ์กฐ์์๋ ๋ถ์ ํฉํ๋ค. ์คํ์์๋ ์นด๋ฉ๋ผ๊ฐ ๊ด์ ๊ฑฐ๋ฆฌ 1m ์ด๋ด์์ ์ข์ ํ์ง์ ๋ณด์์ผ๋, ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ฉด ๊น์ด ์ผ์ฑ ์ ํ๋๊ฐ ๊ธ๊ฒฉํ ๋จ์ด์ง๋ค.
- ๋์งธ, ์์ ์ธ๊ธํ ๋ฆฌํ๊ฒํ ํฌ์ ๊ธฐ๋ฒ์ ๋ถ์์ฉ์ด๋ค. ์์ง-๊ฒ์ง ํ์น ์ ์ง ์ ์ก์ ๋ฌผ์ฒด๋ฅผ ๋ฆ๊ฒ ๋๊ฑฐ๋ ์๊ฐ๋ฝ๋ผ๋ฆฌ ๊ฐ์ญ์ด ๋ฐ์ํ ์ ์์ผ๋ฉฐ, ์ด๋ ์์ ๋ฌผ์ฒด ์์ ์์ ํจ์จ์ ๋จ์ด๋จ๋ฆฐ๋ค. ํ์ฌ๋ ์ด ๊ธฐ๋ฅ์ ์ต์ ์ผ๋ก ๋ ์ ์๋๋ก ํ์์ผ๋, ๊ถ๊ทน์ ์ผ๋ก๋ ์ ์ถ์ ์ ํ๋๋ฅผ ๋์ฌ ์ด๋ฌํ ๋ณด์ ์ด ํ์ ์๋๋ก ํด์ผ ํ๋ค.
- ์ ์งธ, ์ด๊ฐ ํผ๋๋ฐฑ ๋ถ์ฌ๋ก ์ธํด ๋ฏธ์ธ ์กฐ์์ด ์ด๋ ต๋ค. DexPilot์๋ ์ด๊ฐ ์ผ์๊ฐ ์์ด ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋กํ ์ ์์ผ๋, ํ์ผ๋ฟ์๊ฒ๋ ํ/์ด๊ฐ ์ ๋ณด๊ฐ ๋์๊ฐ์ง ์๋๋ค. ์ด๋ก ์ธํด ๋ฌผ์ฒด๊ฐ ๋ฏธ๋๋ฌ์ง ๋ ์ง๊ด์ ์ผ๋ก ๊ฐ์งํ๊ธฐ ์ด๋ ค์ ์กฐ์ ์คํจ์จ์ด ๋์์ง ์ ์๋ค. ํฅํ ์ด๊ฐ ํผ๋๋ฐฑ ์ ๋ฌ์ด๋ ๋ฐ์๋ ํ ์ ์ด(์ก๊ธฐ ๊ฐ๋ ์๋ ์กฐ์ ) ๊ธฐ์ ์ ๊ฒฐํฉํ๋ค๋ฉด ์ด ๋ถ๋ด์ ์ค์ผ ์ ์์ ๊ฒ์ด๋ค.
- ๋ท์งธ, ์ถ์ ๋ฐ ์ ์ด ์ง์ฐ์ด๋ค. ์ ์ฒด ์์คํ ์ ์๋ต ์ง์ฐ์ ์ฝ 1์ด์ด๋ฉฐ, RMP ์ ์ด์ ํ๋ผ๋ฏธํฐ ํ๋๊ณผ ๋คํธ์ํฌ ์ธํผ๋ฐ์ค ์ง์ฐ์ ์ต์ ํํ ์ ์๋ค. ๋ง์ง๋ง์ผ๋ก ๊ณ ์ ๋ฐ ์ฝ์ ์์ (์: ํ๊ทธ-์ธ-ํ)์ ์์ง ์๋ฒฝํ ์ํ๋์ง ๋ชปํ๋ค. ์ค์ ๋ก NIST ์ฝ์ ๊ณผ์ ๋ฅผ ์๋ํ์ง๋ง, ๋งค์ฐ ํ์ํ ๊ฐ๊ฒฉ(0.1mm)์์๋ ์ฑ๊ณต๋ฅ ์ด 10% ์ดํ๋ก ์ ์กฐํ๋ค. ์ด๋ ์นด๋ฉ๋ผ ํด์๋, ์ ์ถ์ ์ ๋ฐ๋, ์ ์ด ์๋ต ์๋ ๋ฑ ๋ค์ํ ์์ธ์ด ๋ณตํฉ์ ์ผ๋ก ์์ฉํ ๊ฒฐ๊ณผ๋ก, ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด ๋ ์ ๋ฐํ ์ถ์ ๊ณผ ์๋ ์ ์ด ๋ณด์กฐ ๊ธฐ๋ฅ์ด ํ์ํ๋ค.
์ข ํฉํ๋ฉด, DexPilot์ ์ ๋น์ฉ ์๊ฐ ๊ธฐ๋ฐ ๋ฐฉ์์ผ๋ก ๊ณ ์์ ๋ ๋ก๋ด ์์ ์กฐ์ ๊ฐ๋ฅํ๊ฒ ํ ํ๊ธฐ์ ์ธ ์์คํ ์ด์ง๋ง, ์นด๋ฉ๋ผ ๊ด์ธก ๋ฒ์, ์ ์ถ์ ์ ํ๋, ์ด๊ฐ ๋ถ์ฌ ๋ฑ ์ค์ ํ์ฉ ์ ๊ณ ๋ คํด์ผ ํ ํ๊ณ์ ๋ค๋ ๋์์ ์ง๋๊ณ ์๋ค. ์ด๋ฌํ ํ๊ณ๋ค์ ๊ฐ์ ํ๋ฉด ์์ผ๋ก ๋ณด๋ค ์ ๊ตํ ํ ๋ ์คํผ๋ ์ด์ ๊ณผ ๋ก๋ด ํ์ต ์์ฉ์ ํฐ ๊ธฐ์ฌ๋ฅผ ํ ์ ์์ ๊ฒ์ด๋ค.
Additional Review
์์ํ๋ฉฐ: โ์ฅ๊ฐ ์์ด๋ ์์ ๋น๋ ค์ค ์ ์์๊น?โ
๋ก๋ด ์์ ์ฌ๋ ์์ฒ๋ผ ์กฐ์ข ํ๋ ๊ฐ์ฅ ์์งํ ๋ฐฉ๋ฒ์ ๋ฌด์์ผ๊น. ๋ฐ์ดํฐ ๊ธ๋ฌ๋ธ๋ฅผ ๋ผ๊ณ , ์์ ํธ๋์ปค๋ฅผ ์๋ฑ์ ๋ถ์ด๊ณ , ์๊ฐ๋ฝ ๋ง๋๋ง๋ค IMU๋ฅผ ๋งค๋ค๋ ๊ฒ์ด๋ค. ์ ์๋ํ์ง๋ง ๋น์ธ๊ณ ๊ฑฐ์ถ์ฅ์ค๋ฝ๋ค. ํ ์๊ฐ๋ง ๋ผ๊ณ ์์ด๋ ์์ด ๋์ ์ ๊ณ ์บ๋ฆฌ๋ธ๋ ์ด์ ์ ์ด๊ธ๋๋ค. ๊ทธ๋์ ์ฌ๋๋ค์ด ์์ฐ์ค๋ฝ๊ฒ ๋๋ฌํ๋ ์ง๋ฌธ์ด ์๋ค โ ์นด๋ฉ๋ผ๋ง์ผ๋ก๋ ์ ๋ง ์ ๋๋ ๊ฑธ๊น?
DexPilot์ ๋ต์ โ๋๋ค, ๊ทธ๊ฒ๋ 23 ์์ ๋(degree of actuation, DoA) ์ ๋ถ๋ฅผ ๋ค.โ ์ด๋ค. ์ฌ๋์ ๋งจ์์ 4๋์ RealSense ๊น์ด ์นด๋ฉ๋ผ๋ก ๊ด์ฐฐํ๊ณ , GPU ๋ ์ฅ์ผ๋ก ์์ธ๋ฅผ ์ถ์ ํ๊ณ , ์ต์ ํ ํ ๋ฒ์ผ๋ก Allegro ์๊ณผ 7-DoF ํ์ ๋์์ ๋ช ๋ น์ ๋ด๋ฆฐ๋ค. ์ง๊ฐ์์ ์งํ๋ฅผ ๋นผ๊ณ , ์๋์ ์ด๊ณ ํฐ๋ฐฑ์ ๊บผ๋ด๊ณ , ๋ค ์๊ฐ๋ฝ ์ฌ์ด์ ํ๋ธ ๋ ๊ฐ๋ฅผ ๋ผ์ฐ๋ ๋ฌ๊ธฐ๊น์ง. ์ด๊ฐ ํผ๋๋ฐฑ ์์ด.
์ด ๋ฆฌ๋ทฐ๋ ๊ทธ ์์คํ ์ด ์ด๋ป๊ฒ ๊ทธ๋ฆฌ๊ณ ์ ์๋ํ๋์ง๋ฅผ, ์์๊ณผ ์๊ณ ๋ฆฌ์ฆ๊ณผ ํจ๊ป ์ง๊ด์ ์ผ๋ก ํ์ด๋ณธ๋ค. ํนํ ์ด๋ํ์ ๋ฆฌํ๊ฒํ (kinematic retargeting)์ ๋น์ฉ ํจ์ ์ค๊ณ โ ์ด ๋ ผ๋ฌธ์ด ํ์ ์ฐ๊ตฌ(AnyTeleop, GELLO, Bunny-VisionPro ๋ฑ)์ ๋จ๊ธด ์ง์ง ์ ์ฐ โ ๋ ํ ์ค ํ ์ค ๋ฏ์ด๋ณผ ๊ฐ์น๊ฐ ์๋ค.
๋ฌธ์ ์ ๋ณธ์ง: ์ ์ ํ ๋ ์คํผ๋ ์ด์ ์ ์ด๋ ค์ด๊ฐ
์์ ์ฎ๊ธฐ๋ ๊ฒ๊ณผ ์๊ฐ๋ฝ์ ์์ง์ด๋ ๊ฒ์ ๋ค๋ฅธ ๋ฌธ์ ๋ค. ํ์ 6-DoF, ์ ํ๋ฆฐ IK๊ฐ ์์ผ๋ฉด ๋์ด๋ค. ์์ ๋ค๋ฅด๋ค.
์ฒซ์งธ, ์์ ๋ ๋ถ์ผ์น
์ฌ๋ ์์ ๋๋ต 27 DoF, Allegro ์์ 16 DoF๋ค. ์์ ๋๊ฐ ๋ค๋ฅธ ๋ ๋ฉ์ปค๋์ฆ ์ฌ์ด์ ์ผ๋์ผ ๋์์ ๋ง๋ค ์ ์๋ ์์ฐ์ค๋ฌ์ด ๋ฐฉ๋ฒ์ ์กด์ฌํ์ง ์๋๋ค. ๊ด์ ๊ฐ๋๋ฅผ ์ง์ ๋ณต์ฌํ๋ ๋ฐฉ์(joint-space copy)์ ์๊ฐ๋ฝ ๊ธธ์ด๊ฐ ๋ค๋ฅด๊ณ ๋ฒ ์ด์ค ์์น๊ฐ ๋ค๋ฅธ ์๊ฐ ๋ฌด๋์ง๋ค. ์๋ฅผ ๋ค์ด ์ฌ๋์ด ์์ง์ ๊ฒ์ง๋ก ๋์ ์ ์ง๋ ์์ธ๋ฅผ Allegro์ ๊ทธ๋๋ก ๋ณต์ฌํ๋ฉด, ์๋์ด ๋ง๋์ผ ํ ๊ณณ์์ 5 cm์ฉ ๋น๋๊ฐ๋ค.
์ด๊ฑธ ํด๊ฒฐํ๋ ค๋ฉด ๋ฌด์์ ๋ณด์กดํ ์ง ๊ฒฐ์ ํด์ผ ํ๋ค. ์๋ ์์น? ์๊ฐ๋ฝ ๋ฐฉํฅ? ์๋ฐ๋ฅ ๋๋น ์๋ ์ขํ? ์ ๋ต์ โ์ ํํ ๊ทธ๋ฆฝ์ ์ํด ํ์ํ ๊ฒโ์ด๋ค. DexPilot์ ๋ต์ ์๊ฐ๋ฝ ๋๊ณผ ์๋ฐ๋ฅ ์ฌ์ด, ๊ทธ๋ฆฌ๊ณ ์๊ฐ๋ฝ ๋๋ผ๋ฆฌ์ ๋ฒกํฐ๋ค. ์ด ์ ํ์ด ์ ์์ฐ์ค๋ฌ์ด์ง๋ ์ ์ ํ์ ๋ณธ๋ค.
๋์งธ, ์๊ฐ๋ง์ผ๋ก ์์ ์ถ์ ํ๋ ์ผ
์์ ๊ฐ๋ ธ๋ค, ๋ ๊ฐ๋ ธ๋ค, ์๊ธฐ ์์ ์ ๊ฐ๋ฆฐ๋ค. ์๋ผ์๊ฐ๋ฝ์ ๊ตฝํ๋ฉด ์ฝ์ง๊ฐ ๊ฐ๋ฆฌ๊ณ , ์ฝ์ง๋ฅผ ๊ตฝํ๋ฉด ์ค์ง๊ฐ ๊ฐ๋ฆฐ๋ค. ํ ๋์ ์นด๋ฉ๋ผ๋ก๋ ๊ฑฐ์ ํญ์ ์ด๋ค ์๊ฐ๋ฝ์ ๋ณด์ด์ง ์๋๋ค.
DexPilot์ ์นด๋ฉ๋ผ๋ฅผ ๋ค ๋ โ ์ฌ์ฉ์ ์์ ์์ ์ ๋ฉด 1๋, ์ข์ฐ 2๋, ์๋ 1๋ โ ๋ฐฐ์นํด์ ์์ด ์ด๋ ๋ฐฉํฅ์ผ๋ก ํ์ ํด๋ ์ ์ด๋ ํ ์์ ์ ์ด์๋จ๋๋ก ๋ง๋ ๋ค. ๊ทธ๋ฆฌ๊ณ ํ ๊ฐ์ง ๋: ๋ชจ๋ธ ํ๋ฆฌ ์ถ์ ๊ธฐ์ ๋ชจ๋ธ ๊ธฐ๋ฐ ํธ๋์ปค๋ฅผ ๊ฐ์ด ์ด๋ค. ์ ๊ฒฝ๋ง์ ๋น ๋ฅด๊ณ ๊ฐ๊ฑดํ์ง๋ง ๋จ๋ฆฐ๋ค. ๋ชจ๋ธ ๊ธฐ๋ฐ ์ถ์ (DART)์ ๋งค๋๋ฝ์ง๋ง ํ ๋ฒ ๋์น๋ฉด ์์ํ ๋ชป ๋ฐ๋ผ๊ฐ๋ค. ๋์ ๊ฒฐํฉํ๋ฉด โ์ด๊ธฐ๊ฐ์ ์ ๊ฒฝ๋ง, ์ ๋ฐํ๋ ์ต์ ํโ๋ผ๋ ๊ณ ์ ์ ์ปดํจํฐ๋น์ ๋ ์ํผ๊ฐ ๋๋ค.
์ ์งธ, ์ ๋ฐ ๊ทธ๋ฆฝ์ ๋น๋์นญ์ฑ
์๋๊ณผ ์๋์ด ๋ฟ์์ผ ํ๋ ๊ทธ๋ฆฝ(precision grasp)์ ์คํจ์ ๋งค์ฐ ๋ฏผ๊ฐํ๋ค. 9 mm ์ถ์ ์ค์ฐจ๋ ์๋ฐ๋ฅ ์ ์์ธ์์๋ ๋ฌด์ํ ๋งํ์ง๋ง, โ์์ง์ ๊ฒ์ง๋ก ์ข ์ด ํ ์ฅ ์ง๊ธฐโ์์๋ ์น๋ช ์ ์ด๋ค. 9 mm ์ค์ฐจ๋ก ์๊ฐ๋ฝ์ด 1 mm ๋จ์ด์ง๋ฉด ์ข ์ด๋ ๋จ์ด์ง๋ค.
์ด ๋น๋์นญ์ ๋ค๋ฃจ๋ ๊ฒ DexPilot์ ์๋ฆฌํ ๋ถ๋ถ์ด๊ณ , ๋ค์์ projection scheme์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ฑ์ฅํ๋ค.
์์คํ ํ๋์ ๋ณด๊ธฐ
์ ์ฒด ํ์ดํ๋ผ์ธ์ ๋ค์๊ณผ ๊ฐ๋ค:
ํต์ฌ ์ซ์๋ง ์ ๋ฆฌํ๋ฉด:
| ๊ตฌ์ฑ์์ | ์ฌ์ |
|---|---|
| ๊น์ด ์นด๋ฉ๋ผ | Intel RealSense D415 x 4 |
| GPU | NVIDIA GPU x 2 (PointNet++ + DART) |
| ์ | Allegro Hand V4, 16 DoF |
| ํ | KUKA LBR4+, 7 DoF |
| ์ด ์์ ๋ | 23 DoA |
| ์ ์ด ์ฃผ๊ธฐ | 30 Hz |
| ํ๊ท keypoint ์ค์ฐจ | 9.7 mm |
| ๋น์ฉ ํจ์ ์ต์ ํ | SLSQP (NLopt) |
| ํ ์ ์ด๊ธฐ | Riemannian Motion Policies |
| ์ ์์ธ ์ถ์ ๋ชจ๋ธ | PointNet++ 2-stage + DART |
| ์๋ 2D ๊ฒ์ถ ๋ณด์กฐ | GloveNet (ResNet-50 + spatial-softmax) |
๋น์ฉ์ด ์ ๋ฎ์์ง๋ ํ ์์ ๋ค ์๋ค. ์นด๋ฉ๋ผ ํ ๋๊ฐ ์ฝ 150๋ฌ๋ฌ, GPU์ ์ํฌ์คํ ์ด์ ์ ๋ํด๋ ๊ธ๋ฌ๋ธ ๊ธฐ๋ฐ ์๋ฃจ์ (์์ฒ๋ง ์)์ ์ผ๋ถ์ ๋ถ๊ณผํ๋ค.
์๊ฐ ํ์ดํ๋ผ์ธ: ๋ชจ๋ธ ํ๋ฆฌ์ ๋ชจ๋ธ ๊ธฐ๋ฐ์ ๊ฒฐํผ
1๋จ๊ณ: PointNet++๋ก ๊ฑฐ์น ์์ธ ์ก๊ธฐ
๋ค ๋์ ์นด๋ฉ๋ผ์์ ๋ค์ด์จ ๊น์ด ์์์ ํฉ์ณ์ ธ ํ๋์ ํฌ์ธํธ ํด๋ผ์ฐ๋๊ฐ ๋๋ค. ์ฑ ์์ ํ๋ฉด ํผํ (RANSAC)์ผ๋ก ์ ๊ฑฐํ๋ค. ๋จ์ ์ ๋ค์๋ ์, ํ, ๊ทธ๋ฆฌ๊ณ ์ฌ๋์ ๋ชธํต ์ผ๋ถ๊ฐ ๋ค์ด ์๋ค.
์ฌ๊ธฐ์ PointNet++๊ฐ ๋ฑ์ฅํ๋ค. PointNet++์ ๋๋๋ฌ์ง ํน์ง์ ์ ์งํฉ์ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ์์์ ๋ถ๋ณ(permutation invariant)ํ๋ฉด์๋ ์ง์ญ์ ๊ตฌ์กฐ๋ฅผ ๋ณธ๋ค๋ ๊ฒ์ด๋ค. ์๋ฐ๋ฅ ํ ์ ์ ์ฒ๋ฆฌํ ๋, ๊ทธ ์ ์ฃผ๋ณ์ ์ด์ ์ ๋ค์ด ์ด๋ฃจ๋ ์์ ํจ์น๋ฅผ ํจ๊ป ๋ณธ๋ค. ์ด ์ง์ญ ํจ์น๋ค์ด ๊ณ์ธต์ ์ผ๋ก ๋ชจ์ฌ ๊ฒฐ๊ตญ ์ ์ ์ฒด์ ์์ธ๋ฅผ ๊ฒฐ์ ํ๋ค.
DexPilot์ ๋คํธ์ํฌ๋ ๋ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋๋ค:
- Stage 1: ์ ๋ ฅ ํฌ์ธํธ ํด๋ผ์ฐ๋ ์ ์ฒด์์ ์์ ๊ฑฐ์น ์์ธ(global rotation + translation + 23๊ฐ keypoint์ ๋๋ต์ ์์น)๋ฅผ ์ถ์ ํ๋ค. ์ฑ ์์ ๋น ์ก์ง๋ง ํ๊ณผ ๋ชธํต์ด ๋จ์ ์์ด ๋ ธ์ด์ฆ๊ฐ ํฌ๋ค.
- Stage 2: Stage 1์ ์ถ๋ ฅ์ ๋ฐํ์ผ๋ก ์ ์์ญ์ ์๋ผ๋ด๊ณ , ๊ทธ ์์์ ์ ๋ฐํ keypoint ์์น๋ฅผ ๋ค์ ์ถ์ ํ๋ค. ๊ฐ์ PointNet++ ๋ฐฑ๋ณธ์ MLP ํค๋๋ฅผ ๋ถ์ธ ๊ตฌ์กฐ.
7,000์ฅ์ ๊ฒ์ฆ ์์์์ ํ๊ท 9.7 mm ์ค์ฐจ. ์ด๊ฑด ์๋ชฉ ๋๋น์ 1/3 ์์ค์ด๊ณ , ์๊ฐ๋ฝ ๋ง๋ ๊ธธ์ด์ 1/5 ์์ค์ด๋ค. ์ ๋ฐ ๊ทธ๋ฆฝ์๋ ๋ถ์กฑํ์ง๋ง ์์์ ์ผ๋ก๋ ์ถฉ๋ถํ๋ค.
2๋จ๊ณ: DART๋ก ์ ๋ฐ ์ถ์
DART(Dense Articulated Real-time Tracking)๋ GPU ๊ธฐ๋ฐ ๋ชจ๋ธ ๊ธฐ๋ฐ ์ถ์ ๊ธฐ๋ค. ํต์ฌ ์์ด๋์ด๋ ๋ค์๊ณผ ๊ฐ๋ค:
- ์์ ์ฐ๊ฒฐ๋ ๊ฐ์ฒด ๋ชจ๋ธ(kinematic tree)์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋๋ค.
- ๊ฐ ๊ฐ์ฒด์ ๋ํด signed distance function (SDF) โ โ์ด ์ ์์ ํ๋ฉด๊น์ง์ ๋ถํธ ์๋ ๊ฑฐ๋ฆฌโ โ ์ ์ ์ํ๋ค.
- ๊ด์ธก๋ ํฌ์ธํธ ํด๋ผ์ฐ๋์ ๊ฐ ์ ์ ๋ํด, ๊ฐ๊น์ด ๊ฐ์ฒด์ SDF ๊ฐ์ ๊ณ์ฐํ๋ค.
- ๋ชจ๋ ์ ์ SDF ํฉ์ ์ต์ํํ๋ ๊ด์ ๊ฐ๋๋ฅผ ๋น์ ํ ์ต์ ํ๋ก ๊ตฌํ๋ค.
PointNet++๊ฐ โ์ด๋์ฏคโ์ด๋ผ๊ณ ์ธ์น๋ฉด DART๊ฐ โ์ ํํ ์ฌ๊ธฐโ๋ผ๊ณ ๋ค๋ฌ๋ ๊ตฌ์กฐ๋ค. ๋ ๊ฐ์ง๊ฐ ๊ฒฐํฉ๋๋ ๋ฐฉ์์ด ์ค์ํ๋ค:
- PointNet++์ keypoint ์์ธก์ DART์ ์ด๊ธฐํ ๋ฐ ์ ํ์ ์ ์ฝ์ผ๋ก ๋ค์ด๊ฐ๋ค.
- ๋งค ํ๋ ์ DART๋ ์ด์ ํ๋ ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ผ๊ฐ์ง๋ง, ํฐ ์ฐจ์ด๊ฐ ๋๋ฉด PointNet++ ์์ธก์ผ๋ก ๋ฆฌ์ ํ๋ค.
์ด ํ์ด๋ธ๋ฆฌ๋ ๋๋ถ์ DexPilot์ ์์ด ๋น ๋ฅด๊ฒ ์์ง์ฌ๋(jerk) ์ ์์ด๋ฒ๋ฆฌ๊ณ , ์๊ฐ๋ฝ์ด ๊ผฌ์ฌ๋ ํ ์๊ฐ๋ฝ์ด ๋ค๋ฅธ ์๊ฐ๋ฝ์ผ๋ก โํ๋โ ํ์์ด ์ ๋ค. ์ด ๊ตฌ์กฐ๋ ์ดํ ๋ง์ ํ ๋ ์คํผ๋ ์ด์ ์์คํ ์ ํ์ค์ด ๋๋ค.
flowchart TB
PC[Point Cloud<br/>~30K points] --> PN[PointNet++<br/>Stage 1+2]
PN -->|23 keypoints<br/>coarse pose| INIT[DART Init/<br/>Re-init check]
PN -.->|fallback if<br/>DART loses track| INIT
INIT --> DART[DART SDF<br/>Optimization]
DART -->|refined joints| OUT[Final Hand Pose]
OUT -.->|prev frame| DART
๋ณด์กฐ: GloveNet์ผ๋ก ์๋ 2D ์์น ๋ณด๊ฐ
์๋ ์ถ์ ์ด ํนํ ์ด๋ ค์ฐ๋ ๋ณ๋ ๋ชจ๋ธ์ ๋๋ค. GloveNet์ RGB ์ด๋ฏธ์ง์์ ResNet-50 ๋ฐฑ๋ณธ ์์ spatial-softmax ํค๋๋ฅผ ์น์ด ์๋์ 2D ์์น๋ฅผ ํ๊ทํ๋ค. ๊น์ด ๋งต์ ์๋์ ์ข ์ข ๋ ธ์ด์ฆ์ ๋ฌปํ ์ฌ๋ผ์ง๋ฏ๋ก, ์ด RGB ๊ธฐ๋ฐ ๋จ์๊ฐ ๊น์ด ์ ํธ์ ๋น ๊ณณ์ ๋ฉ์ด๋ค.
์ด๋ํ์ ๋ฆฌํ๊ฒํ : ์ด ๋ ผ๋ฌธ์ ์ง์ง ํต์ฌ
์ฌ๊ธฐ์๋ถํฐ๊ฐ DexPilot์ ์ง์ง ๊ธฐ์ฌ๋ค. ์ ์์ธ๋ฅผ ์์๋ค๊ณ ์น์ โ 23๊ฐ keypoint์ 3D ์ขํ๊ฐ ๋งค ํ๋ ์ ๋ค์ด์จ๋ค. ์ด๊ฑธ Allegro์ 16๊ฐ ๊ด์ ๊ฐ๋๋ก ์ด๋ป๊ฒ ๋ฐ๊พธ๋?
์๋ชป๋ ๋ฐฉ๋ฒ๋ค
๋จผ์ ์ ๋๋ ๋ฐฉ๋ฒ๋ถํฐ ๋ณด์. ์ง๊ด๊ณผ ์ด๊ธ๋๋ ๊ฒ ์ด๋์ธ์ง๊ฐ ๋ ๊ตํ์ ์ด๋ค.
- ๊ด์ ๊ฐ๋ ๋ณต์ฌ: ์ฌ๋์ ๊ฒ์ง PIP ๊ด์ ์ด 30ยฐ๋ฉด Allegro ๊ฒ์ง PIP๋ 30ยฐ. ๊ธธ์ด๋ ๋ฒ ์ด์ค ์์น๋ ๋ค๋ฅด๋ ์๋์ด ๋ง๋์ผ ํ ๊ณณ์์ ๋น๋๊ฐ๋ค.
- ์๋ ์์น ๋ณต์ฌ: ์ฌ๋ ์๋ฐ๋ฅ ์ขํ๊ณ์์ ์๋ ์์น๋ฅผ ์ธก์ ํ๊ณ Allegro ์๋ฐ๋ฅ ์ขํ๊ณ์ ๊ทธ๋๋ก ์ ๋ ฅ. ์๊ฐ๋ฝ ๊ธธ์ด๊ฐ ์งง์ Allegro๋ ๋๋ฌ ๋ถ๊ฐ๋ฅํ ์ ์ด ๋ง๊ณ , ๋๋ฌํ๋๋ผ๋ ์๊ฐ๋ฝ์ด ์ด์ํ๊ฒ ํ๋ค.
- ๋จ์ BioIK ํ์ด: ์๋ฐ๋ฅ์์ ์๋๊น์ง์ ๋ฒกํฐ๋ฅผ ๋งค์นญ. ์๋๋ผ๋ฆฌ์ ์๋ ์์น๋ ๋ณด์กด๋์ง ์์ผ๋ ์ ๋ฐ ๊ทธ๋ฆฝ์ด ๋ง๊ฐ์ง๋ค.
์ณ์ ์ง๋ฌธ: โ๊ทธ๋ฆฝ์ ๊ธฐํํ์์ ๋ฌด์์ด ์ค์ํ๊ฐ?โ
์ง๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ ๊ฑด ์๋๊ณผ ์๋ ์ฌ์ด์ ์๋ ๋ฒกํฐ๋ค. ์์ง๊ฐ ๊ฒ์ง์ ๋ฟ๋ ํ์น ๊ทธ๋ฆฝ์ด๋ผ๋ฉด โ์์ง ๋๊ณผ ๊ฒ์ง ๋ ์ฌ์ด์ ๋ฒกํฐโ๊ฐ ์๋ฒกํฐ๊ฐ ๋์ด์ผ ํ๋ค. ์๋ฐ๋ฅ์์ ์๋๊น์ง์ ๋ฒกํฐ๋ ์ค์ํ๋ฐ, ๊ทธ๊ฑด ๊ทธ๋ฆฝ์ ๊น์ด์ ๋ฐฉํฅ์ ๊ฒฐ์ ํ๋ค.
DexPilot์ ๊ทธ๋์ task-space ๋ฒกํฐ์ ๋ชจ์์ ์ ์ํ๋ค (Fig. 8 ์ฐธ์กฐ):
- ์๋ฐ๋ฅ-์์ง๋ ๋ฒกํฐ
- ์๋ฐ๋ฅ-๊ฒ์ง๋ ๋ฒกํฐ
- ์๋ฐ๋ฅ-์ค์ง๋ ๋ฒกํฐ
- ์๋ฐ๋ฅ-์ฝ์ง๋ ๋ฒกํฐ
- ์์ง๋-๊ฒ์ง๋ ๋ฒกํฐ
- ์์ง๋-์ค์ง๋ ๋ฒกํฐ
- ์์ง๋-์ฝ์ง๋ ๋ฒกํฐ
๊ฐ ๋ฒกํฐ๋ฅผ ์ฌ๋ ์์์ ์ธก์ ํ ๊ฐ๊ณผ Allegro์์ ๊ณ์ฐํ ๊ฐ(๊ด์ ๊ฐ๋์ ํจ์)์ด ์ผ์นํ๋๋ก ์ต์ ํํ๋ค.
๋น์ฉ ํจ์ ๋ค์ฌ๋ค๋ณด๊ธฐ
์ ์ฒด ๋น์ฉ ํจ์๋ ์ง๊ด์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด ์ธ ์ ์๋ค (๋ ผ๋ฌธ ํ๊ธฐ๋ฅผ ์ด์ง ์ ๋ฆฌ):
J(q) \;=\; \sum_{i=1}^{N} w_i \,\bigl\| f_i(q) - s\cdot r_i^{h} \bigr\|^2 \;+\; \gamma \,\| q \|^2
์ฌ๊ธฐ์:
- q \in \mathbb{R}^{16}: Allegro ๊ด์ ๊ฐ๋.
- r_i^{h} \in \mathbb{R}^3: ์ฌ๋ ์์์ ์ธก์ ํ i๋ฒ์งธ task-space ๋ฒกํฐ.
- f_i(q): ๊ฐ์ ์ ์๋ก Allegro์์ ๊ณ์ฐํ ๋ฒกํฐ (์๋ฐฉํฅ ์ด๋ํ์ผ๋ก ์ป์).
- s: ์ฌ๋ ์๊ณผ Allegro ์ฌ์ด์ ์ค์ผ์ผ ์ธ์ (์ ํฌ๊ธฐ ๋ณด์ ).
- w_i: ๋ฒกํฐ๋ณ ๊ฐ์ค์น.
- \gamma = 2.5 \times 10^{-3}: Allegro ๊ฐ๋๋ฅผ 0(์์ ํ ํด์ง ์)์ ๊ฐ๊น๊ฒ ๋๋ ์ ์นํ.
์ ์นํ ํญ \gamma \|q\|^2์ด ์ ์๋์ง๊ฐ ํฅ๋ฏธ๋กญ๋ค. ๋น์ฉ ํจ์๊ฐ ๋น๋ณผ๋ก(non-convex)์ด๊ณ , ๊ฐ์ task-space ๋ฒกํฐ๋ฅผ ๋ง๋๋ ๊ด์ ์กฐํฉ์ด ์ฌ๋ฌ ๊ฐ ์กด์ฌํ๋ค. ์ ์นํ๋ฅผ ๋นผ๋ฉด ์ต์ ํ๊ธฐ๊ฐ ์๊ฐ๋ฝ์ ์๋ฐ๋ฅ ์์ชฝ์ผ๋ก ๋ง์ ๋ฃ๋ ํฌํํ ์ง์ญ ์ต์์ ์ ๋น ์ง๋ ๊ฒฝ์ฐ๊ฐ ์์ฃผ ์๊ธด๋ค. ํ ๋ฒ ๊ทธ๋ฐ ์์ธ์ ๋ค์ด๊ฐ๋ฉด ๋ค์ ํ๋ ์์์ ๋น ์ ธ๋์ค๊ธฐ ์ด๋ ต๋ค. \gamma๋ ๊ทธ ํจ์ ์ ๋น ์ง์ง ์๋๋ก ์ด์ง โํด์ง ์์ธ ์ชฝ์ผ๋ก ๋ฐ์ด์ฃผ๋โ ์คํ๋ง ์ญํ ์ด๋ค.
๋ ํ๋์ ํธ๋ฆญ: distal ๊ด์ ์ medial ๊ด์ ๊ณผ ๋ฌถ๋๋ค. ์ฌ๋ ๊ฒ์ง์ DIP๋ PIP์ ๊ฐํ ์๊ด์ด ์๋ค(์์ฐ์ค๋ฝ๊ฒ ๊ฐ์ด ๊ตฝํ์ง๋ค). Allegro์ ๊ฒ์ง/์ค์ง/์ฝ์ง์์๋ distal = medial๋ก ์ ์ฝ์ ๊ฑธ์ด ํ์ ๊ณต๊ฐ์ ์ค์ธ๋ค. 16 DoF๊ฐ ์ฌ์ค์ 13 DoF์ฒ๋ผ ๋์ํ์ง๋ง ์์ฐ์ค๋ฌ์์ ์์ง ์๋๋ค.
Projection Scheme: ์ ๋ฐ ๊ทธ๋ฆฝ์ ๋น๋์นญ์ ๊ฐ๋นํ๋ ๋ฒ
์ด๊ฒ ์ง์ง ์๋ฆฌํ ๋ถ๋ถ์ด๋ค. ์ฌ๋ ์์์ ์์ง์ ๊ฒ์ง ๋ ์ฌ์ด์ ๋ฒกํฐ๊ฐ ์์์ง์๋ก(์ฆ ํ์น ๊ทธ๋ฆฝ์ ๊ฐ๊น์์ง์๋ก), 9 mm ์ถ์ ์ค์ฐจ๊ฐ ์๋์ ์ผ๋ก ์ปค์ง๋ค. ์ฌ๋์ด ์๋ํ ๊ฒ์ โ๋ฟ์โ์ธ๋ฐ, ์ถ์ ๊ฒฐ๊ณผ๋ โ8 mm ๋จ์ด์งโ์ด ๋์ด Allegro๋ 8 mm ๋จ์ด์ง๋ค. ์ข ์ด๋ ๋จ์ด์ง๋ค.
DexPilot์ ํด๊ฒฐ์ฑ ์ ์๊ณ๊ฐ ๊ธฐ๋ฐ ํฌ์์ด๋ค. ๋ฒกํฐ์ ํฌ๊ธฐ๊ฐ ์ด๋ค ๊ฑฐ๋ฆฌ d_{\text{thresh}} ์ดํ๋ก ์ค์ด๋ค๋ฉด, ๋น์ฉ ํจ์์ ๊ทธ ํญ์ ๋ชฉํ = 0 (์์ ์ ์ด)์ผ๋ก ๋ฐ๊ฟ์น๊ธฐํ๋ค. ์ฆ:
\tilde r_i^{h} \;=\; \begin{cases} r_i^{h}, & \|r_i^{h}\| \geq d_{\text{thresh}} \\ \mathbf{0}, & \|r_i^{h}\| < d_{\text{thresh}} \end{cases}
๋ํ ์ด ๋ชจ๋์์๋ ํด๋น ๋ฒกํฐ์ ๊ฐ์ค์น w_i๋ฅผ ๋ํญ ์ฌ๋ ค์ ์ต์ ํ๊ธฐ๊ฐ โ์ด๋ป๊ฒ ํด์๋ ์๋์ ๋ถ์ฌ๋ผโ๋ผ๊ณ ๋ช ๋ น๋ฐ๊ฒ ํ๋ค.
์ง๊ด์ ์ผ๋ก ํํํ๋ฉด: ์ฌ๋์ด โ๊ฑฐ์โ ์๊ฐ๋ฝ์ ๋ถ์๋ค ์ถ์ผ๋ฉด ์์คํ ์ โ๋ถ์ด๋ ค ํ๊ตฌ๋โ๋ก ํด์ํ๋ค. ์ด๊ฒ ๋๋ฌด ๊ณต๊ฒฉ์ ์ด๋ฉด ์ฌ์ฉ์๊ฐ ์๊ฐ๋ฝ์ ์ด์ง ๋ฒ๋ฆฌ๋ ค๋ ๋ฏธ์ธ ์กฐ์ ์ ์์คํ ์ด ์๋ตํ์ง ์๋๋ค โ ์ด ๋ถ์์ฉ์ ๋ ผ๋ฌธ๋ ์ธ์ ํ๋ค. ๊ทธ๋์ ์ฌ์ฉ์๊ฐ projection์ ๋ ์ ์๋ ํ ๊ธ์ด ์๋ค.
์์ฌ์ฝ๋๋ก ์ ๋ฆฌํ๋ฉด
# Per-frame retargeting (called at 30 Hz)
def retarget(human_keypoints_3d, q_prev):
# 1) Build task-space vectors from human hand
r_h = compute_task_vectors(human_keypoints_3d) # 7 vectors
# 2) Apply projection for precision grasps
for i in range(len(r_h)):
if norm(r_h[i]) < d_thresh:
r_h_tilde[i] = zeros(3)
w[i] = w_high # snap together
else:
r_h_tilde[i] = r_h[i]
w[i] = w_nominal
# 3) Solve nonlinear least-squares with SLSQP
def cost(q):
r_a = forward_kinematics_vectors(q) # Allegro vectors
err = 0
for i in range(len(r_h_tilde)):
err += w[i] * norm(r_a[i] - s * r_h_tilde[i])**2
err += gamma * norm(q)**2
return err
q_star = slsqp_minimize(
cost,
x0=q_prev, # warm-start from previous solution
constraints=joint_limits,
equality=[q.distal == q.medial for primary fingers]
)
# 4) Low-pass filter to smooth jitter and projection switches
q_out = lowpass(q_star, q_prev_out)
return q_out์ธ ๊ฐ์ง ๋ํ ์ผ์ ์ฃผ๋ชฉํ ๋งํ๋ค:
- Warm start: ์ด์ ํ๋ ์ ํด๋ฅผ ์ด๊ธฐ๊ฐ์ผ๋ก ์ฐ๋ฉด SLSQP๊ฐ ๋ณดํต 5-10 iteration ๋ง์ ์๋ ดํ๋ค. 30 Hz ์ค์๊ฐ ์ ์ด๊ฐ ๊ฐ๋ฅํด์ง๋ ํต์ฌ์ด๋ค.
- ์ ์ญ ํต๊ณผ ํํฐ: ์ถ์ ๋ ธ์ด์ฆ์ projection switch๊ฐ ๋ง๋๋ ๊ณ ์ฃผํ ์ ํ๋ฅผ ๋ถ๋๋ฝ๊ฒ ๋ง๋ ๋ค. 1์ฐจ ํํฐ ํ ์ค๋ก ์์ด ๋จ๋ฆฌ์ง ์๊ฒ ๋๋ค.
- SLSQP๋ KKT ๋ง์กฑํ๋ SQP: ๊ด์ ํ๊ณ, distal=medial ๊ฐ์ ๋ฑ์/๋ถ๋ฑ์ ์ ์ฝ์ ์์ฐ์ค๋ฝ๊ฒ ๋ค๋ฃฌ๋ค.
ํ ์ ์ด: Riemannian Motion Policies
์ ๊ด์ ์ retargeting์ผ๋ก ํ๋ ธ๋ค. ๊ทธ๋ผ ํ์? ์ฌ๋ ์๋ฐ๋ฅ์ 6-DoF ์์ธ๋ฅผ ๋ฐ์ KUKA LBR4+ 7-DoF ํ์ด ๋ฐ๋ผ๊ฐ์ผ ํ๋ค. ๊ทธ๋ฅ IK๋ฅผ ํ๋ฉด ๋ ๊ฒ ๊ฐ์ง๋ง โ ๊ทธ๋ฌ๋ฉด ์ถฉ๋๊ณผ ํน์ด์ ์ด ๋ฌธ์ ๋ค.
DexPilot์ RMPflow ๊ณ์ด์ Riemannian Motion Policies (RMPs)๋ฅผ ์ด๋ค. ์ง๊ด์ ์ด๋ ๋ค:
- ๊ฐ ์๋ธํ์คํฌ(์: โ์๋ ์ดํํฐ๋ฅผ ๋ชฉํ ์์ธ๋กโ, โ์ฅ์ ๋ฌผ ํผํ๊ธฐโ, โ๊ด์ ํ๊ณ ๋ฉ๋ฆฌํ๊ธฐโ)์ ๋ํด ๊ฐ์๋ ํ๋์ ๊ทธ ์ ๋ขฐ๋๋ฅผ ํํํ๋ ๋ฉํธ๋ฆญ์ ์ ์ํ๋ค.
- ๋ชจ๋ ์๋ธํ์คํฌ์ ๊ฐ์๋๋ฅผ ๋ฉํธ๋ฆญ์ผ๋ก ๊ฐ์ค ํ๊ท ํด์ ํฉ์ฑ ๊ฐ์๋๋ฅผ ๋ง๋ ๋ค.
- ํฉ์ฑ ๊ฐ์๋๋ฅผ ๊ด์ ๊ณต๊ฐ์ผ๋ก ํ๋ฐฑ(pullback)ํด์ ํ ํฌ ๋ช ๋ น์ผ๋ก ๋ณํํ๋ค.
์์์ ๋น๋ฆฌ๋ฉด, i๋ฒ์งธ ์ ์ฑ ์ด ๊ฐ์๋ \ddot x_i์ ๋ฉํธ๋ฆญ M_i๋ฅผ ๋ด๋์ ๋ ํฉ์ฑ ์ ์ฑ ์:
\ddot x^* \;=\; \Bigl(\sum_i M_i\Bigr)^{-1} \sum_i M_i \, \ddot x_i
๋ฌผ๋ฆฌ์ ์ผ๋ก๋ โ์ ๋ขฐ๋ ๊ฐ์ค ํฉ์(consensus by precision-weighted averaging)โ๋ค. ๊ฐ๊น์ด ์ฅ์ ๋ฌผ์ ๋ฉํธ๋ฆญ์ด ์ปค์ง๊ณ , ๋ฐ๋ผ์ ํํผ ๊ฐ์๋๊ฐ ๋ค๋ฅธ ๋ชจ๋ ์ ์ฑ ์ ์๋ํ๋ค. ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ์ด์ง๋ฉด ๋ฉํธ๋ฆญ์ด ์์์ ธ ์ฌ์ค์ ๋ฌด์๋๋ค.
DexPilot ๋งฅ๋ฝ์์ ์ค์ํ ๊ฒ์ RMP๊ฐ ๋ซํ ํํ๋ก ์ถฉ๋ ํํผ์ ์ถ์ข ์ ๋์์ ์ฒ๋ฆฌํ๋ค๋ ์ ์ด๋ค. ์ฌ์ฉ์๊ฐ ์์ ๋น ๋ฅด๊ฒ ํ๋๋ฌ๋ Allegro ์๋ฐ๋ฅ์ด ํ๊ณผ ์๊ธฐ ์์ ์ ๋ค์ด๋ฐ์ง ์๋๋ค.
์คํ: 15๊ฐ ๊ณผ์ , ๋ ๋ช ์ ํ์ผ๋ฟ, ๋ค์ฏ ๋ฒ์ฉ
ํ๊ฐ ์ค๊ณ
๋ ผ๋ฌธ์ ์ ๋ฐ ๊ทธ๋ฆฝ, ํ์ ๊ทธ๋ฆฝ, prehensile/non-prehensile ์กฐ์, ์๊ฐ๋ฝ ๋ณดํ(finger gaiting)์ ๋๋ฃจ ํฌํจํ๋ 15๊ฐ ๊ณผ์ ๋ฅผ ์ ์ํ๋ค. ๊ฐ ๊ณผ์ ๋ ๋ ๋ช ์ ํ๋ จ๋ โํ์ผ๋ฟโ์ด ๋ค์ฏ ๋ฒ์ฉ ์ํํ๋ค. ์ธก์ ์งํ:
- ์๋ฃ ์๊ฐ (mean completion time): ์๊ฐ์ด ์งง์์๋ก ์์คํ ์ด ์ง๊ด์ ์ด๊ณ ์ ํํ๋ค.
- ์ฑ๊ณต๋ฅ (success rate): 5ํ ์ค ์ฑ๊ณตํ ํ์.
๋ํ ๊ณผ์ ์ ๊ฒฐ๊ณผ
๋ ผ๋ฌธ์ ๋์ค๋ ์ธ์์ ์ธ ๊ณผ์ ๋ค:
- ์ง๊ฐ์์ ์งํ ๋นผ๊ธฐ: ํ ์์ผ๋ก ์ง๊ฐ์ ์ก๊ณ , ๋ค๋ฅธ ์๊ฐ๋ฝ ์กฐํฉ์ผ๋ก ์ข ์ด๋ฅผ ํ์นํด ๋นผ๋ธ๋ค. ๋ ์๊ฐ๋ฝ ๋ ์ฌ์ด ์๋ ฅ์ ์ ์งํด์ผ ํ๋ฏ๋ก projection scheme์ด ๊ฒฐ์ ์ ์ด๋ค.
- ํฐ ์๋ ์ด๊ธฐ, ํฐ๋ฐฑ ๊บผ๋ด๊ธฐ, ๋ค์ ๋ซ๊ธฐ: ๊ธด ์๊ณ์ด์ multi-step ๊ณผ์ . ๋์ ์ค์ฐจ์ ๊ฐ๊ฑดํด์ผ ํ๋ค.
- Pringles ํต ์ธ์ฐ๊ธฐ, ๋นจ๊ฐ ํต ์์ ๋ฃ๊ธฐ: ๋ํ ๋ฌผ์ฒด์ ๋นํ์ง(non-prehensile) ์กฐ์ + ํ์ง ์ ํ.
- ๋ ํ๋ธ๋ฅผ ๋ค ์๊ฐ๋ฝ ์ฌ์ด์ ๋ผ์ฐ๊ธฐ: ์๊ฐ๋ฝ ์ฌ์ด ์๋ ฅ์ ๋ถ์ฐํด์ ์ ์งํด์ผ ํ๋ ์ด๋ ค์ด multi-finger grasp.
ํ๊ท ์ ์ผ๋ก ๋ ํ์ผ๋ฟ ๋ชจ๋ ๋๋ถ๋ถ ๊ณผ์ ์์ 80% ์ด์์ ์ฑ๊ณต๋ฅ ์ ๊ธฐ๋กํ๊ณ , ์๋ฃ ์๊ฐ์ ๊ณผ์ ๋ณ๋ก 5-30์ด ๋ฒ์์๋ค. ์ ๋ฐ ๊ทธ๋ฆฝ ๊ณผ์ ๋ ํ๋ จ ์๊ฐ์ด ๊ธธ์๋ค๋ ์ ์ด ๋ณด๊ณ ๋๋ค โ ํ์ผ๋ฟ์ด ์์คํ ์ ์๋ต ํน์ฑ์ ์ ์ํ๋ ์๊ฐ์ด ํ์ํ๋ค. ํ ๋ ์คํผ๋ ์ด์ ์ โ์ ๋ฅํจโ์ด ์์คํ ๋ฟ ์๋๋ผ ์ฌ๋-์์คํ ๊ฒฐํฉ์ ํจ์์์ ๋ณด์ฌ์ฃผ๋ ๋๋ชฉ์ด๋ค.
๊ฒฐ๊ณผ์ ์ง์ง ์๋ฏธ
์ด ์คํ์ด ๋ณด์ฌ์ฃผ๋ ๊ฒ์ ๋จ์ง โDexPilot์ด ์๋ํ๋คโ๊ฐ ์๋๋ค. ๋ ๊น์ ๋ฉ์์ง๋ ๋ ๊ฐ์ง๋ค:
- ์ด๊ฐ ์์ด๋ ์๊ฐ๋ง์ผ๋ก ์ ๋ฐ ์กฐ์์ด ๊ฐ๋ฅํ๋ค. ์ธ๊ฐ ์-๋ ํ์์ ์์ธก ๋ชจ๋ธ(์ฌ๋์ด ์๊ฐ์ผ๋ก ์ ์ด์ ์์ธกํ๋ค๋ ์ธ์ง์ฌ๋ฆฌ ์ฐ๊ตฌ [12])์ด ํ ๋ ์คํผ๋ ์ด์ ํ๋ก ์์์๋ ํ์ฉ๋๋ค.
- ๊ณ ํ์ง ์์ฐ ๋ฐ์ดํฐ์ ์์ง ํต๋ก๊ฐ ์ด๋ฆฐ๋ค. 23 DoA ์ํ-ํ๋ ์ํ์ค, ๊น์ด ์์, RGB ์์์ด ๋๊ธฐํ๋์ด ์์ธ๋ค. ์ด ๋ฐ์ดํฐ๊ฐ ์ดํ imitation learning, dexterous RL, VLA ํ์ต์ ์ฐ๋ฃ๊ฐ ๋๋ค. DexPilot์ ์ง์ ํ ์ํฅ์ ์์คํ ๊ทธ ์์ฒด๊ฐ ์๋๋ผ ๊ทธ๊ฒ์ด ๋ง๋ค์ด ๋ผ ๋ฐ์ดํฐ์ ์ด๋ค.
๋นํ์ ๊ณ ์ฐฐ
์ ๋ ๊ฒ
- ์ ๋น์ฉ์ผ๋ก 23 DoA ์ ์ฒด ์ ์ด: ๊ธ๋ฌ๋ธ ์๋ฃจ์ ๋๋น ํ ์๋ฆฟ์ ์ด์ ์ ๋ ด.
- ๋ชจ๋ธ ๊ธฐ๋ฐ + ๋ชจ๋ธ ํ๋ฆฌ ์ถ์ ์ ๋ชจ๋ฒ ์ฌ๋ก: ์ดํ ๊ฑฐ์ ๋ชจ๋ vision-based teleop์ด ์ด ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ผ๊ฐ๋ค.
- Task-space ๋ฒกํฐ + projection์ retargeting ๊ณต์: ๋จ์ํ๋ฉด์๋ ์ ๋ฐ ๊ทธ๋ฆฝ์ ๊ฐ๋ฅ์ผ ํ ๊ฒฐ์ ์ ์ค๊ณ.
- ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๋ ์ ์ฐ:
dex-retargeting๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ์ โDexPilot retargetingโ ๋ชจ๋๋ก ๊ทธ๋๋ก ์ด์ ์๋ค.
ํ๊ณ์ ๋นํ์
๋ ผ๋ฌธ์ด ์ค์ค๋ก ์ธ์ ํ๋ ํ๊ณ์ ํ์๊ฐ ๋ณดํ๋ ๋นํ์ ๊ฐ์ด ์ ๋ฆฌํ๋ค.
1. ์ํฌ ๋ณผ๋ฅจ์ด ์๋ค
๊ฐ RealSense ์นด๋ฉ๋ผ๋ 1 m ์์์๋ง ๊น์ด ํ์ง์ด ์ด์ ์๋ค. ๋ฐ๋ผ์ ์ฌ์ฉ์์ ์์ด ์์ง์ผ ์ ์๋ ์คํจ ์์ ๊ณต๊ฐ์ด ์ข๋ค. ์นด๋ฉ๋ผ๋ฅผ ๋ ์ข์ ๊ฒ์ผ๋ก ๋ฐ๊พธ๋ฉด ๋์ด๋์ง๋ง, ๊ทธ๋ฌ๋ฉด โ์ ๋น์ฉโ์ด๋ผ๋ ์ ์ฒด์ฑ์ด ํ๋ค๋ฆฐ๋ค. ํ์ ์ฐ๊ตฌ(AnyTeleop ๋ฑ)๋ VR ํค๋์ ๊ณผ ์ ์ ๋ง์ดํธ๋ก ์ด ํ๊ณ๋ฅผ ๋น๊ปด๊ฐ๋ค.
2. Projection scheme์ ๋ถ์์ฉ
ํ์น ๋ชจ๋๋ก ์ผ๋จ snap๋๋ฉด, ์ฌ์ฉ์๊ฐ ์๊ฐ๋ฝ์ ์ฒ์ฒํ ๋ผ๋ ค ํ ๋ ์์คํ ์ด ๊ทธ ์๋๋ฅผ ๋ชป ์์์ฑ๋ค. ์์ ๋ฌผ์ฒด๋ฅผ ๋๋ ์๊ฐ ์์ด ๊ตณ์ด ์๋ ์ ์ด๋ค. Finger gaiting(๊ณต์ ์๊ฐ๋ฝ ์ฌ์ด๋ก ๊ตด๋ฆฌ๊ธฐ) ๊ณผ์ ๋ ๊ฐ์ ์ด์ ๋ก ์ด๋ ต๋ค. ๋ ผ๋ฌธ์ ํ ๊ธ ์ต์ ์ ์ ๊ณตํ์ง๋ง ์ด์์ ์ธ ํด๋ฒ์ โ๋ ์ ํํ ์ถ์ ์ผ๋ก projection ์์ฒด๊ฐ ํ์ ์๊ฒ ๋ง๋ค๊ธฐโ๋ผ๊ณ ๋งํ๋ค.
3. ์ด๊ฐ์ด ์๋ค
์ด๊ฐ์ด ์์ผ๋ฉด ์ ์ด ์ง์ ๊ณผ ์งํ๋ฅผ ๊ตฌ๋ณ ๋ชป ํ๋ค. ์ฌ๋์ ์๊ฐ์ผ๋ก ๊ทธ ๊ฐญ์ ๋ฉ์ฐ์ง๋ง, ํ์ต๋ ์ ์ฑ ์ ๋ชป ํ ์ ์๋ค. DexPilot์ผ๋ก ์์งํ ๋ฐ์ดํฐ๋ ์ํ = ์๊ฐ + ๊ด์ ์ด์ง ์ํ = ์๊ฐ + ๊ด์ + ์ด๊ฐ์ด ์๋๋ผ๋ ํ๊ณ๊ฐ ์๋ค. ์ดํ NeuralFeels, TacSL, AnyRotate ๊ฐ์ ์ฐ๊ตฌ๊ฐ ์ด๊ฐ ํตํฉ ๋ฐฉํฅ์ผ๋ก ๊ฐ๋ค.
4. ์๋ชฉ/ํ๋ ๋นํ๋ฆผ์ ํ๊ณ
์ฌ๋ ์๋ชฉ์ ์ฝ 180ยฐ ํ์ ํ์ง๋ง, ์๊ฐ ๊ธฐ๋ฐ ์ถ์ ์ ์๊ธฐ ๊ฐ๋ฆผ(self-occlusion) ๋๋ฌธ์ ๊ทน๋จ ์์ธ์์ ์ ๋ขฐ๋๊ฐ ๋จ์ด์ง๋ค. ๋ํ KUKA ํ์ ์ด๋ํ์ ํน์ด์ ํํผ ๋๋ฌธ์ ์ผ๋ถ ํ์ ์ ํํ์ด ์ด๋ ต๋ค.
5. ์ฌ๋ ์ ๋ชจ๋ธ์ด universalํ์ง ์๋ค
DART์ ์ ๋ชจ๋ธ์ ํ์ค ํฌ๊ธฐ์ ์บ๋ฆฌ๋ธ๋ ์ด์ ๋๋ค. ์์ด ๋งค์ฐ ํฌ๊ฑฐ๋ ์์ ์ฌ์ฉ์๋ ์ค์ผ์ผ ์ธ์ s๋ก ๋ณด์ ํ์ง๋ง, ์๊ฐ๋ฝ ๋น์จ์ด ๋ค๋ฅด๋ฉด retargeting ํ์ง์ด ๋จ์ด์ง๋ค. ํ์ ์ฐ๊ตฌ์์ MANO ๊ฐ์ ํ๋ผ๋ฏธํฐ ๋ชจ๋ธ์ด ๋ณดํธํ๋ ์ด์ ๋ค.
6. ํ์ต ๊ฐ๋ฅํ retargeting์ ๋ถ์ฌ
DexPilot์ retargeting์ ์ต์ ํ ๊ธฐ๋ฐ์ด๊ณ , ๋น์ฉ ํจ์์ ๊ฐ์ค์น w_i, \gamma, d_{\text{thresh}}๋ ์์ผ๋ก ํ๋๋๋ค. ๋ ์ผ๋ฐ์ ์ธ ์/๋ก๋ด ์กฐํฉ์ผ๋ก ํ์ฅํ๋ ค๋ฉด ์ด ํ๋์ ์๋ํํ๊ฑฐ๋ ์ ๊ฒฝ๋ง์ผ๋ก ๋์ฒดํด์ผ ํ๋ค. ์ด๊ฒ ์ต๊ทผ์ learned retargeting ํ๋ฆ์ด๋ค.
๊ด๋ จ ์ฐ๊ตฌ ์งํ ์์์
์ง์ ์ฐ๊ตฌ์์ ์ฐจ๋ณ์
- ๊ธ๋ฌ๋ธ ๊ธฐ๋ฐ: CyberGlove + Polhemus. ์ ํํ์ง๋ง ๋น์ธ๊ณ ์๋ฅ์ฑ ๋ฌธ์ .
- ๋ง์ปค ๊ธฐ๋ฐ ๋ชจ์ ์บก์ณ: OptiTrack + ์๊ฐ๋ฝ ๋ง์ปค. ์ ํํ์ง๋ง ๋ง์ปค ์ถ์ ์ด ์๊ฐ๋ฝ ๊ฐ๋ฆผ์ ์ฝํ๋ค.
- ๋จ์ผ ์นด๋ฉ๋ผ RGB ๊ธฐ๋ฐ: MediaPipe ๋ฅ. ๋น ๋ฅด์ง๋ง ๊น์ด๊ฐ ์ฝํด 3D ์์ธ ์ถ์ ์ด ํ๋ค๋ฆฐ๋ค.
DexPilot์ ๋ฉํฐ๋ทฐ ๊น์ด + ํ์ด๋ธ๋ฆฌ๋ ์ถ์ + task-space ๋ฆฌํ๊ฒํ ์ ์กฐํฉ์ผ๋ก ์ด ์ ์ ๋จ์ ์ ๋์์ ํผํ๋ค.
DexPilot ์ดํ์ ํ๋ฆ
DexPilot์ retargeting ๊ณต์์ ํ์ ์ฐ๊ตฌ์ ๊น๊ฒ ์ค๋ฉฐ๋ค์๋ค.
- AnyTeleop (Qin et al., 2023): ๋ค์ํ ๋ก๋ด ์/ํ ์กฐํฉ์ ์ง์ํ๋ ์ผ๋ฐํ๋ ์์คํ . DexPilot์ retargeting์ genericํ๊ฒ ์ฌํฌ์ฅ.
- GELLO (Wu et al., 2024): VR ์ปจํธ๋กค๋ฌ ๋๋น ๋ ์ง๊ด์ ์ธ ์ ๋น์ฉ ํ๋์จ์ด ํ ๋ ์คํผ๋ ์ด์ .
- Bunny-VisionPro (2024): Vision Pro ํค๋์ ์ ์ด์ฉํ ์์ ์ ๋ฐ ํ ๋ ์คํผ๋ ์ด์ .
- TeleOpBench: ํ ๋ ์คํผ๋ ์ด์ ๋ฒค์น๋งํฌ โ DexPilot์ด baseline ์ค ํ๋๋ก ๋ค์ด๊ฐ๋ค.
- dex-retargeting ๋ผ์ด๋ธ๋ฌ๋ฆฌ: ์คํ์์ค์์ โDexPilot retargetingโ์ด ํ์ค ์ต์ ์ค ํ๋.
๋ฐ์ดํฐ ์์ง ์ธก๋ฉด์์๋ DexPilot์ ์ดํ RoboTurk, DexCap, OpenTeach ๊ฐ์ ์์ฐ ์์ง ํ์ดํ๋ผ์ธ์ ์ง์ ์กฐ์ ์ญํ ์ ํ๋ค.
๋ค์ ์ดํด๋ณด๋ ํต์ฌ ํต์ฐฐ
์ด ๋ ผ๋ฌธ์์ ์ป์ ์ ์๋ ์ผ๋ฐ์ ๊ตํ์ ์ธ ๊ฐ์ง๋ก ์์ถํ๋ฉด:
1. ๋น์ฉ ํจ์ ์ค๊ณ๊ฐ ๊ณง ๋ฌธ์ ์ ์๋ค
DexPilot์ retargeting์ โ๊ด์ ์ ์ด๋ป๊ฒ ๋งคํํ ๊ฒ์ธ๊ฐโ๊ฐ ์๋๋ผ โ์ด๋ค ๊ธฐํํ์ ๋ณด์กดํ ๊ฒ์ธ๊ฐโ๋ฅผ ๋น์ฉ ํจ์๋ก ์ ์ธํ๋ค. Task-space ๋ฒกํฐ์ ์ ํ, ์ ์นํ์ ๋ฐฉํฅ, projection์ ์๊ณ๊ฐ โ ๋ชจ๋ ๊ทธ ์ ์ธ์ ์ผ๋ถ๋ค. ๋น์ฉ ํจ์๋ฅผ ํ ์ค ๋ฐ๊พธ๋ฉด retargeting์ ์ฑ๊ฒฉ์ด ๋ฐ๋๋ค. ์ด๊ฑด ๊ฑฐ์ ๋ชจ๋ manipulation ๋ฌธ์ ์ ๋๊ฐ์ด ์ ์ฉ๋๋ค.
2. ๋ชจ๋ธ ํ๋ฆฌ์ ๋ชจ๋ธ ๊ธฐ๋ฐ์ ์ ์ด ์๋๋ค
์ ๊ฒฝ๋ง์ ๊ฐ๊ฑดํจ๊ณผ ์ต์ ํ์ ์ ๋ฐํจ์ ์ง๋ ฌ๋ก ์ฐ๊ฒฐํ ๊ตฌ์กฐ๋ ๋จ์ํ์ง๋ง ๊ฐ๋ ฅํ๋ค. Stage 1์์ ์ธ์ณ์ฃผ๊ณ Stage 2์์ ๋ค๋ฌ๋ ํจํด์ hand pose estimation, object pose tracking, articulated tracking ์ด๋์๋ ์ ์ฉ๋๋ค. โ๋ ์ค ๋ญ ์ฐ์งโ๋ผ๋ ์ง๋ฌธ์ ๋ณดํต ์๋ชป๋ ์ง๋ฌธ์ด๋ค.
3. ์์ฐ ์์ง์ ์ถ์ ๋ณด๋ค ๋น์ผ ์์์ด๋ค
์๊ณ ๋ฆฌ์ฆ์ ๋ ผ๋ฌธ ํ ํธ์ด์ง๋ง, 23 DoA ร 30 Hz ร ์์ญ ์๊ฐ์ ๋๊ธฐํ๋ ์์ฐ ๋ฐ์ดํฐ๋ ํ์ ์ฐ๊ตฌ์ ๋ชจ๋ imitation learning ์ ์ฑ ์ ๋ง๋ค ์ ์๋ ์ธํ๋ผ๋ค. ํ ๋ ์คํผ๋ ์ด์ ์์คํ ์ ๊ฐ์น๋ ๊ทธ ์์คํ ์ ์ฐ์ํจ์ด ์๋๋ผ ๊ทธ๊ฒ์ด ๋ง๋ค์ด ๋ผ ๋ฐ์ดํฐ์ ํฌ๊ธฐ์ ํ์ง๋ก ํ๊ฐํด์ผ ํ๋ค.
๊ฒฐ๋ก
DexPilot์ ์นด๋ฉ๋ผ ๋ค ๋์ GPU ๋ ์ฅ์ผ๋ก 23 DoA ์-ํ ์์คํ ์ ์ง๊ด์ ์ผ๋ก ์กฐ์ข ํ ์ ์๋ค๋ ๊ฒ์ ๋ณด์ฌ์คฌ๋ค. ๊ทธ ๊ธธ์ ๋์ธ ๊ธฐ์ ์ ๋ํ ์ผ โ ๋ฉํฐ๋ทฐ ๊น์ด ํตํฉ, PointNet++/DART ํ์ด๋ธ๋ฆฌ๋ ์ถ์ , task-space ๋ฒกํฐ ๊ธฐ๋ฐ retargeting, projection scheme, RMP ํ ์ ์ด โ ์ ๊ฐ๊ฐ ๋ณ๊ฐ์ ์ฐ๊ตฌ ์ฃผ์ ๋ก ๋ฐ์ ํ ๊ฐ์น๊ฐ ์๋ค.
์ด ๋ ผ๋ฌธ์ด ์ง๊ธ๋ ์ธ์ฉ๋๋ ์ด์ ๋ ์ด๋ค trick ๋๋ฌธ์ด ์๋๋ผ ์ด๋ค ์ฌ๊ณ ๋ฐฉ์ ๋๋ฌธ์ด๋ค: ๋ฌธ์ ๋ฅผ ํ ๋ ๋ฌด์์ ๋ณด์กดํด์ผ ํ๋์ง๋ฅผ ๋จผ์ ๋ฌป๊ณ , ๊ทธ๊ฒ์ ๋น์ฉ ํจ์๋ก ์ฎ๊ธฐ๊ณ , ์ ๋ฐ๋๊ฐ ๋น๋์นญ์ ์ผ๋ก ์ค์ํ ์์ญ(์ ๋ฐ ๊ทธ๋ฆฝ)์๋ ๋น๋์นญ์ ์ฒ๋ฆฌ๋ฅผ ๋ช ์์ ์ผ๋ก ๋ฃ๋๋ค. Robotics ์ฐ๊ตฌ์์ ์ด ์ฌ๊ณ ๋ฐฉ์์ ์๋ฎฌ๋ ์ด์ -์ค์ธ๊ณ ๊ฐญ, sim2real, ๋๋ฉ์ธ ์ ์ ์ด๋์์๋ ๊ฐ์ ๋ชจ์์ผ๋ก ๋ํ๋๋ค.
Allegro ์์ผ๋ก dexterous manipulation์ ์ฐ๊ตฌํ๋ค๋ฉด, DexPilot์ ๋ฐ๋์ ์ฝ๊ณ ๋ฐ๋์ ํ ๋ฒ ๊ตฌํํด ๋ด์ผ ํ๋ ๋ ผ๋ฌธ์ด๋ค. ๋น์ฉ ํจ์์ ๊ฐ์ค์น๋ฅผ ์ง์ ๋ง์ ธ ๋ณด๊ณ , projection ์๊ณ๊ฐ์ ๋ฐ๊ฟ ๋ณด๊ณ , distal=medial ์ ์ฝ์ ํ์ด ๋ณด๋ฉด, ํ ๋ ์คํผ๋ ์ด์ ์ ์ด๋๊ฐ ๋ถ๋๋ฝ๊ณ ์ด๋๊ฐ ๋นก๋นกํ์ง๊ฐ ์๋์ผ๋ก ๋๊ปด์ง๋ค. ๊ทธ ๊ฐ๊ฐ์ด ๋ค์ ์์คํ ์ ์ค๊ณํ ๋์ ์ถ๋ฐ์ ์ด ๋๋ค.
์ฐธ๊ณ
- Handa, A., Van Wyk, K., Yang, W., Liang, J., Chao, Y.-W., Wan, Q., Birchfield, S., Ratliff, N. D., Fox, D. DexPilot: Vision-Based Teleoperation of Dexterous Robotic Hand-Arm System. ICRA 2020. arXiv:1910.03135
- ํ๋ก์ ํธ ์์: sites.google.com/view/dex-pilot
- ๊ด๋ จ ์ฝ๋: dexsuite/dex-retargeting
- ํ์ ์ฐ๊ตฌ ํ๋ฆ: AnyTeleop, GELLO, Bunny-VisionPro, TeleOpBench