안녕하세요 최인하입니다. Non-prehensile manipulation은 기존의 pick-and-place methods의 robust alternative가 될 수 있지만, multi-finger manipulation 분야에서 large-scale data의 부재 그리고 wrist-finger control polices의 부재로 인하여 연구가 진행되지 않았습니다. 이번에 리뷰하는 논문은 위와 같은 문제를 해결하기 위하여 physically plausible한 wirst-finger trajectory를 생성하는 pipeline과 vision-based tactile sensor를 활용하여 human demo로 부터 multi-finger contact data를 수집하는 웨어러블 장치를 결합합니다. 이로인하여 multi finger gripper의 dexterity를 향상시키고, 안정적인 manipulation을 가능하게 했다고 하는데요. 어떻게 가능했는지 리뷰 시작해보겠습니다.
Introduction
우선 non-prehensile manipulation은 기존 grasp task와 다르게 물체를 lifting하지 않고 옮기는 manipulation task입니다. 따라서 기존 grasp 방식과 비교하여 object를 놓치는 일이 없으므로 어떻게 보면 더 stable 하다고 할 수 있겠죠. 이러한 관점에서 저자는 non-prehensile manipulation이 다양한 task에서 dexterity를 증가시키고, 적응력을 높인다고 합니다. 또한 multi-finger hand는 two-finger gripper보다 multi-contact 하기 때문에 더욱 안정적이라고 합니다. 하지만 multi-finger hand를 non-prehensile manipulation task에 사용하기 위해서는 어려움이 있었는데요. 저자는 크게 두가지 어려움이 있다고 합니다.
- 일반화를 위해서는 object geometry, mass distribution, surface properties 를 포함하는 large physically plausible dataset이 필요합니다.
- multi-contact manipulation 에서는 손과 물체의 dynamics 때문에 손가락간의 충돌이 발생할 수 있습니다.
위와 같은 문제를 해결하기 위해서 저자들은 dexterous non-prehensile manipulation을 위한 프레임워크인 DexMove를 제안합니다. 저자들은 첫번째로 multi-contact interaction data의 scaling 문제를 해결하기 위해서 서로 다른 geometry, friction, mass distribution을 가진 물체에 대해 힘을 고려한 wrist – finger trajectories를 만들 수 있는 sim pipeline을 구축합니다. 두번째로 tactile 정보를 활용하기 위해서 vision-based tactile sensor를 개발하여 human demo로 부터 fingertip force를 얻는다고 합니다. 이러한 tactile 정보는 TaFo-Net에게 전달되어, TaFo-Net은 human demo로부터 spatiotemporal inter-finger force representation을 학습한다고 합니다. 세번째로 simulation에서 생성된 trajectories와 real에서 얻은 tatile data를 자연스럽게 연결하기 위해서 flow-matching network인 DexMove-Policy를 사용했다고 합니다. 저자들이 말하는 논문의 3가지 contribution은 다음과 같습니다.
- tactile dexterous hand에 기반한 non-prehensile policy를 처음 제시했다는 점
- large scale sim data와 limited human tactile demo를 결합하는 novel data synthesis paradigm을 제시하여 domain gap을 최소화 하면서 데이터를 통합했다는 점
- 새로운 vision – based tatile sensor wearable device를 제시했다는 점
Data Acquisition for Non-Prehensile Manipulation
이 부분에서는 저자들은 tactile 정보를 manipulation process에 통합하는 과정을 설명합니다.
Trajectory synthesis
- Hand-object contact establishment

non-prehensile manipulation은 initial hand-object contact를 형성하는 것 부터 시작합니다. 그 후 그림 (a)에서 보이는 것과 같이 다양한 contact poses를 생성하기 위해서 각각의 rotation과 translation으로 구성된 candidate wrist pose를 샘플링합니다. 그 후 fingertip과 nearest surface point까지의 displacement vector d를 계산하고 fingertip이 접촉할 때 까지 d 방향으로 이동시킵니다. 이 때 다양성을 증가시키기 위해서 d에다가 가우시안 노이즈를 섞는다고 합니다. 손가락 관절의 rotation + translation matrix 3 x 4가 주어졌을 때 손가락 관절의 joint 각은 다음과 같이 구해집니다.

여기서 L은 contact가 tactile sensor의 effective region 내에서 이루어지도록 합니다. d(TIP)은 손가락 관절의 DIP에서 TIP으로 향하는 방향 벡터를 나타냅니다. 이렇게 다양한 initial-object contact를 형성하기 위해서 YCB 데이터셋을 사용하여 object의 무작위 스케일 조정과 회전을 적용하였다고 합니다. 그 후 각각의 instance 마다 1024~2048개의 candidate pose를 만든 후 self-collisions나 관통이 발생하는 pose들은 제거한 후 412k개의 데이터를 만들었다고 하네요.
- Synthesize Force-Conditioned Trajectories
initial-object contact가 형성된 이후에는 finger와 wrist로 인해서 object는 조작되겠죠. 이 때 object는 x/y 방향의 translation, yaw 회전을 하므로 3 DoF의 움직임을 보이게 됩니다. 그 후 MuJoCo simulation을 이용하여 translation 으로 50cm 정도 물체를 이동시키고 그 때도 fingertip이 안정적인 접촉을 유지하고 있으면 그 방향은 feasible한 방향으로 정해진다고 합니다. 이렇게 얻어진 경로 집합에서 object의 target pose를 구한다고 하네요.
non-slip이라는 가정아래에서 각각의 fingertip trajectory는 다음과 같이 계산될 수 있습니다.

T는 manipulation sequence, w는 sequence에 따른 object의 interpolated yaw angle을 의미합니다. 따라서 Rz는 object의 rotation matrix가 되겠죠. 이러한 trajectory에 따른 contact force를 모델링하기 위해서 논문에서는 vision based tactile sensor가 측정하는 indentation depth를 사용하여 fingertip-object 사이의 normal force G를 다음과 같은 식으로 근사한다고 합니다.


여기서 r은 fingertip 반지름이고, distance는 fingertip joint position과 object간의 유클리드 거리를 나타낸다고 합니다. D는 tactile sensor의 indentation depth입니다. 또한 논문에서는 fingertip contact normal vector를 추가로 샘플링하여, fingertip trajectories를 다양한 힘의 크기로 증강한다고 하네요. 이렇게 구해진 증강된 fingertip 위치로 최적화 기반 IK를 풀어 손목의 움직임을 구한다고 합니다. 식은 다음과 같습니다.

논문에서는 finger driven manipulation 쪽으로 bias를 유도하기 위해서 손목의 움직임에 대해서 패널티 L을 추가하였다고 합니다. 논문을 읽으면서 마지막 L(wrist) 식이 결국 손목의 움직임에 대한 식이어야 할 것 같은데 첫 항 R에 대한 식은 이해하겠는데 뒤에는 T가 맞는 것 같은데 L로 되어있네요.. 오타인 것 같긴 합니다.
- Tactile Force From Human Demonstration

simulation에서는 high-fidelity object dynamics를 정확하게 측정하거나, soft-body contact modeling이 힘들기 때문에 tactile sensor의 출력을 생성하기 어렵습니다. 따라서 논문에서는 demonstration based로 contact force를 추론하는 전략을 사용했다고 합니다. R-tac tactile sensor를 사용했다고 하며, object의 target pose와 real-time pose도 함께 기록했다고 합니다. tactile data는 indentation depth로부터 계산된 normal force G, surface marker로 계산한 2차원 방향과 크기를 가진 shear force로 표현됩니다. 데이터는 30FPS로 수집되었다고 하네요.
Policies for Non-Prehensile Dexterous Manipulation
이 부분은 human demo로 학습된 contact force planning과 kinematics trajectories를 통합하는 방법을 제시합니다.
- Establish contact

Initial contact hand pose를 추론하기 위해서 Flow Matching을 사용한다고 합니다. FM의 목표는 object point cloud 와 object의 target pose를 condition으로 하여 initial contact hand pose를 생성하는 것 입니다. target pose가 조건으로 들어가서 object를 원하는 목표로 이동시킬 수 있는 hand pose를 생성할 수 있다고 하네요. point cloud에서 condition features를 얻을 수 있도록 PointNet++이 사용된다고 합니다.
- Trajectory Learning: Dexmove-Polciy
initial contact가 형성된 뒤 repositioning process는 goal conditioned flow-matching model인 DexMove-Policy에 의해서 제어 된다고 합니다. 요약해서 설명하면 observed state history, target object pose, disired force schedule을 조건으로 하여 미래 hand states의 rollout을 생성합니다.

여기서 P는 각 finger의 관절 위치, C는 contact position, G는 indentation depth로부터 추론된 각 finger의 pressing force를 의미합니다. 그리 -Tp:0은 현재 시점까지의 과거 Tp 스텝을 의미합니다. 과거 관측값과 위의 그림에서 보이는 것과 같이 desired finger forces도 입력으로 받습니다. 1:Tf로 표현되는데 Tf는 에측할 미래 프레임 수입니다. 그림에서 보는 것과 같이 historical states와 target object pose는 cross-attention을 통해 합쳐지고, 합쳐진 데이터와 force commands는 FM velocity field를 예측하는 Transformer decoder로 전달됩니다. 예측 X1은 다음과 같이 미래 Tf 프레임의 hand state로 구성됩니다.

- Force Planning: TaFo-Net
여기서는 G(1:Tf) 즉 desired forces를 추론하는 네트워크인 Tafo-net에 대해서 소개합니다. tafo-net은 target object pose와 과거 Tp 프레임의 object pose 그리고 각 손가락별 tactile vector fields가 주어졌을 때 다음 Tf 프레임에 대한 tactile vector fields를 예측합니다.


여기서 v는 손가락당 marker 수이고, F는 손가락 수이며, C는 marker당 채널 수입니다. 예측된 tactile vector fields는 각각의 손가락의 pressing force G를 추출하는데 사용되며, trajectrory policy의 target으로 사용됩니다.
또한 Tafo-net은 spatial-temporal inter-finger interactions를 만족하기 위해 즉 finger간 collision을 예방하고 각 손가락들이 잘 interaction 하게 하기 위해서 3단계로 구성된다고 합니다.
- per-finger spatial encoding: 시간 t와 손가락 f에 대해 tactile vector field V(t,f)는 transformer를 통해 finger token U(t,f)로 인코딩 되며 이때 학습 가능하며 기하 정보가 반영된 positional 임베딩으로 보강된다고 합니다. 따라서 tactile marker의 위치를 알 수 있습니다.
- cross-finger attention: 각각의 프레임 i에서 집합 {U(i,1)…U(i,F)}를 구성하고, 각 손가락별 임베딩 벡터를 더해줘서 손가락을 구별 한다음 self-attention을 수행합니다. 즉 여기서 손가락 간 interaction을 배우는 것 같습니다.
- Finger-wise causal temporal attention: 이 부분은 finger-wise casual mask를 적용하여 각 시점의 손가락 tactile 정보가 미래 정보는 못 보고 현재까지의 모든 손가락 정보만 볼 수 있도록 합니다.

tafonet loss식은 위와 같습니다.
Experiment
논문에서는 다음과 같은 평가를 진행하였는데요.
- Success rate: target pose에 대한 최종 상태의 yaw와 position의 오차가 10% 이내이고, self-collision이 발생하지 않으면 성공으로 간주한다고 합니다.
- Efficiency: 최종 상태에 도달하는 데 걸린 시간도 측정한다고 합니다.

Open-loop 방식은 피드백이 없기 때문에 manipulation 중 발생하는 오차를 처리할 수 없기 때문에 처참한 성능을 보이는 것을 볼 수 있습니다. DyWA와 CORN 등은 이지 그리퍼를 사용하여 manipulation을 수행하는데 확실히 다지 그리퍼에 비해서 접촉면이 적어서 회전에 취약한 모습을 보이기 때문에 성공률이 낮은 것을 볼 수 있습니다. 또한 논문에서는 friction이 있는 상황에서도 TaFo-Net이 tactile vector field로부터 표면 마찰이나 접촉 상태 같은 특성을 암묵적으로 읽어내기 때문에 성공률이 높다고 합니다.

또한 task 수행 시간도 다른 모델에 비해서 매우 짧은데 이 또한 다지 핸드의 안정성 덕분이라고 논문에서 언급합니다.

어떻게 보면 grasp 방식보다 더 어려운 non-prehensile task를 tactile sensor와 simulation을 통한 trajectory 생성으로 해결한 논문인 것 같습니다. ground의 friction과 물체를 lift 하지 않기 때문에 각각의 finger의 상호 협력이 매우 중요한 task인 것 같아서 tactile sensor의 역할과 각각 손가락의 cross-finger attention이 매우 중요한 부분인 것 같습니다. 특히 friction으로 인해 shear force가 매우 중요하게 작용하지 않았나 생각합니다.
감사합니다.
안녕하세요 인하님, 리뷰 감사합니다.
non-prehensile 연구가 흥미로워 보여서 읽게 됐습니다. 저는 non-prehensile로 가는순간 손바닥이나 손등도 굉장히 중요해보이는데, 손가락에 부착된 tactile 센서가 축이 되면 좀 손해볼 수 있다는 생각이 들기도 하네요. FM을 통한 hand pose가 무조건 손가락 접촉을 가지고 정의되는 것이 맞나요?