안녕하세요. 이번에 읽은 논문은 촉각 센서와 관련된 논문입니다. 이번에 진행하는 휴머노이드 실증 과제에 촉각 센서가 사용될 예정인데.. 이전부터 관련해서 관심은 많았지만 실제로 학습에 사용해본 적은 없기 때문에 이번 기회에 차근차근 읽어보려고 합니다. 이 논문은 sharpa에서 작성한 논문입니다. 살짝 사담이긴 한데 그 이전에 Genesis AI에서 작성한 촉각 센서가 dexterous manipulation에 미치는 영향을 분석한 논문도 있습니다. Genesis AI 측은 In-hand manipulation, screw를 돌리는 task를 진행하였고, tactile의 종류나 해상도 보다 손 어디다 배치할 것인지가 더 중요하며, tactile sensor 보다 F/T sensor가 더욱 task-agnostic한 성능을 보여줬다고 합니다.

리뷰하는 논문에서 주장하는 핵심적인 내용은 dexterous manipulation에 있어서 tactile sensor를 통한 geometry reasoning 은 매우 중요하다입니다. 좀 더 풀어서 설명하면 기존 방식들은 tactile signal을 단순히 contact 정보로만 사용했습니다. 이러한 방법은 pink & place, object grasp 등등의 manipulation task에는 적합할 수 있어도 우리가 생각하는 dexterous manipulation에는 부족한 것이 사실입니다. 따라서 논문에서는 tactile feature와 kinematic frame align을 통한 policy의 contact information, spatial information 의 이해가 dexterous manipulation에서 중요한 역할을 한다고 주장합니다.
논문의 주장을 뒷받침 하는 예시는 Fig. 1.에서 볼 수 있습니다. USB를 꽂는 task는 미세한 오차가 실패를 유발할 수 있는 정교한 작업입니다. 그림에서는 contact에 대한 정보만 줄 때와 공간 정보를 함께 줄 때의 차이점을 보여줍니다. 같은 tactile signal을 사용했음에도 불구하고 전자는 틀어진 USB를 감지하지 못해 정확한 위치에 도달하지 못하는 모습을 보이며, 후자는 공간적인 정보를 통해 정확하게 USB를 꽂는 모습을 보여줍니다.
논문이 주장하는 3가지 contribution은 다음과 같습니다.
- Spatially-anchored tactile representation: kinematic frame과 tactile information의 alignment를 맞춤으로서 공간적인 정보와 접촉 정보를 동시에 representation 으로 활용할 수 있다는 점
- End-to-end manipulation policy framework SaTA: 위와 같은 정보를 end-to-end로 학습할 수 있는 framework인 SaTA를 제안
- Challenging task validation: 기존에 어렵던 작업들(카드 뽑기, 전구 끼우기, USB 꽂기)을 수행하여 저자들이 제안한 방법론의 효용성을 입증
METHOD

Model 구조는 간단합니다. 흔히 사용되는 visuomotor policy 구조에 tactile encoder를 추가한 구조입니다. Model input으로는 joint angle과 ee-pose가 들어가며 RGB-D feature와 공간 정보를 지니고 있는 tactile 정보가 들어간다고 합니다.
공간적인 정보를 얻기 위해서 URDF 기준으로 wrist를 reference frame으로 지정하고 FK를 통해 fingertip의 pose를 사용한다고 합니다. 논문에서는 이것을 공간적인 정보라고 언급을 하는데 맞는 표현인지는 잘 모르겠습니다..
Spatial Anchored Tactile Encoder
논문의 핵심 부분인 Spatial Anchored Tactile Encoder에 대해서 설명해보겠습니다. 밀리미터 단위의 작은 오차도 task를 실패할 수 있는 manipulation에서는 policy 또한 이러한 변화에 매우 민감하게 반응해야 합니다. 따라서 policy는 fingertip의 position과 orientation 을 동시에 세밀하게 관측해야하며 표현할 수 있어야 합니다. 따라서 논문에서는 Fourier positional encoding을 사용하여 저주파 성분은 대략적인 정렬같이 큰 의미의 자세를 다루며, 고주파 성분은 1mm의 오차 2도 정도의 오차 등 세밀한 수준의 자세를 다룬다고 합니다. 따라서 Fourier positional encoding을 사용함으로써 policy는 큰 의미의 오차와 세밀한 수준의 오차를 동시에 다룰 수 있다고 합니다.
Spatially-Aware Feature Fusion
이 부분에서는 contact에 대한 정보와 spatial 정보를 어떻게 잘 fusion 하는데 있어서 FiLM network를 사용했다입니다. 하지만 단순한 concat 대신 FiLM 구조를 선택한 저자들의 이유가 살짝 납득되지 않는 부분이 있습니다. 저자들은 각 손가락의 tactile 정보가 동일하여도 서로 다른 행동이 필요하다고 주장하며 엄지 손가락에서 모서리 부분이 감지 될 때와 검지 손가락의 모서리 부분이 감지될 때 서로 다른 행동이 필요할 수 있다고 합니다. 이를 잘표현하기 위해 FiLM 네트워크를 사용했다고 주장하는데 이러한 정보는 단순 concat으로도 표현할 수 있지 않나 생각합니다. 따라서 이를 표현하기 위해 무조건 FiLM을 사용해야 된다는 주장은 설득력이 부족해보였습니다.
EXPERIMENTS
experiments를 진행할 때 논문에서는 다음 3가지를 중점으로 확인하고자 했습니다.
- SaTA가 다른 baseline method에 비해서 manipulation task에서 더 좋은 성능이 나오는지
- 저자들이 제안한 spatial anchoring mechanism이 얼마나 성능 향상에 기여하는지
- spatial anchoring mechanism이 없을 때 어떤 실패가 발생하며 SaTA는 어떻게 해결하는지
논문에서는 3가지의 Task를 선정했습니다.

첫번째는 USB 꽂기 입니다. 양팔 로봇이 거치대에 있는 USB와 핸드폰을 들고 USB를 핸드폰에 정확히 꽂아야 되는 어려운 task인 것 같습니다. 파지를 수행할 때마다 물체의 파지 방식이 바뀌고, 밀리미터의 오차에 따라서 실패하며, USB가 접근하는 동안 포트를 완전히 가리기 때문에 tactile 정보에 의존하게 되는 task입니다.

두번째 task는 카드 펼쳐서 뽑기입니다. 이 때 카드에 가하는 힘이 수직 방향이면 카드가 휘어져 뽑기 힘드니, 카드 표면 기준 일정 각도로 미끄러지도록 제어해야 합니다.

세번째 task는 전구 돌리기 입니다. 이 task는 전구의 각도나 위치가 조금만 틀어져도 정확히 장착이 되지 않는 task입니다. 소개드린 3개의 task 모두 물체와 상호작용 시 vision 정보의 품질이 매우 저하된다는 점과 작은 오차가 생기더라도 task를 실패할 수 있다는 점이 있습니다. 기존 방법론들은 이를 힘제어를 통해 해결하는 모습을 보이지만 저자들은 tactile 정보와 공간적인 정보를 통해서 이에 상응하는 수준의 정밀도를 달성할 수 있다고 합니다.
하드웨어는 real man 7자유도 로봇 팔 2개와 sharpa hand가 사용되었으며, 각 손가락에는 320×240 해상도의 tactile sensor가 head에는 스테레오 카메라, 손목에는 어안 카메라가 장착되어있다고 합니다. 주파수는 30Hz로 동기화 되어 있다고 합니다.
평가지표는 제한 시간 내의 성공률, 최초 접촉 성공률, task 완료 시간으로 평가한다 합니다. 논문에서는 최초 접촉 성공률이 중요하다고 언급하며 policy가 시행 착오 없이 처음부터 공간 정렬을 달성할 수 있는 지표로 사용될 수 있다고 하는데.. 이 부분에서 동의가 안되는 것은 물체를 잡고 고쳐 잡는 것이 중요한 것 아닌가?라는 생각이 들었습니다.

첫번째 결과입니다. vision only는 tactile 정보 없이 ACT 구조 그대로 사용했을 때, Tactile Flat은 공간적 정보 없이 tactile 정보만 사용했을 때, Tactile Global은 fingertip pose 정보를 proprioceptive data에 추가하고 각각의 tactile 정보와 서로 anchoring하지 않았을 때를 의미합니다. 문득 궁금한점은 FC의 평가 기준이 어떻게 되는지 궁금해졌습니다. 어느 정도로 처음 정렬이 정확해야 성공하는 건지 설명은 되어있지 않네요…

Ablation study입니다. 단순 concat을 사용한 것보다 FiLM을 사용하는 것이 SR 차이가 20% 정도 나는 것을 확인할 수 있었습니다. 그리고 World Frame이란 reference frame을 wrist로 잡지 않고, world frame으로 잡았을 때의 결과입니다. dexterous manipulation 작업을 수행할 때 로봇 팔의 configuration과 state도 중요하지만 실제 manipulation이 일어나는 곳은 wrist 기준 In-hand이기 때문이기도 하며 tactile 정보와 공간적 정보를 학습시키기 위해 로봇 팔의 joint state까지 고려해서 FK를 계산한다면 미세한 작업을 수행하는데 있어서 wrist 기준 좌표계에 비해서 더욱 복잡할 것이기 때문에 성능이 저하되는 모습을 보입니다.

위의 그림은 spatial anchoring mechanism을 사용하지 않았을 때 발생하는 실패 양상을 분석한 사진입니다. 그림에서 빨간색 방향은 policy가 학습한 잘못된 방향을 의미하며, 초록색 화살표는 올바른 방향을 의미합니다. 파란색 화살표는 표현되지 않은 핵심 표현이나 의도하지 않은 변형을 의미한다고 합니다.
전구 끼우기 task의 경우 잘못 된 방향으로 끼우는 모습을 보이며, 카드 빼기 경우에는 수직 방향으로의 힘이 작용되어 카드가 파란색 화살표 방향으로 휜다고 합니다.
USB 꽂기 task의 경우 엄지와 검지의 정밀한 협응이 필요하지만 (파란색 화살표 방향) 이러한 동작을 학습하지 못한다고 합니다. 이러한 결과로 인해서 공간적 정보가 policy에게 미세한 보정과 행동에 대한 정보를 줄 수 있다고 하네요.
결론적으로 이 논문은 tactile sensor의 풍부한 contact에 대한 정보와 기하학적 정보가 dexterous manipulation에 있어서 중요한 정보가 될 수 있다는 점입니다. 감사합니다.
안녕하세요 인하님 좋은 리뷰 감사합니다.
방법론을 봤을 때에 기존 비전 인코더에 tactile 정보를 추가로 입력하는것 같은데 밀리미터 단위의 작은 오차도 task를 실패할 수 있는 manipulation에서는 policy 또한 이러한 변화에 매우 민감하게 반응하고, policy는 fingertip의 position과 orientation 을 동시에 세밀하게 관측해야하며 표현해야한다고 언급해주셨습니다. 혹시 그 policy에 대해 조금 더 자세하게 설명해주실 수 있나요? task에 익숙치 않다보니 본문의 내용만으로는 이해가 조금 어려운 것 같습니다.
감사합니다.
안녕하세요 성준님 좋은 질문 감사합니다.
제가 이해하는 policy는 어떤 state가 주어졌을 때 (여기서 state란 쉽게 말하면 어떠한 정보라고 보시면 될 것 같습니다. 예를 들면 시각 정보(vision), 촉각 정보(tactile), 관절 정보(joint angle) 등등이 있겠네요) 로봇이 취해야할 다음 행동을 예측하는 함수라고 생각하시면 될 것 같습니다.
따라서 질문에 답변을 하자면 결국 로봇의 행동을 선택하는 것은 policy이기 때문에 작은 오차에도 민감한 task를 수행할 때는 policy 또한 작은 오차에 민감하게 행동을 취해야 한다는 뜻이었습니다. 더욱 쉽게 예시를 들면 저희가 물이 꽉찬 찻잔을 들고 갈 때 조심히 걸어가는 것처럼요!
감사합니다.
안녕하세요 인하님 좋은 리뷰 감사합니다.
서두에 언급하신 Genesis AI 논문에서는 F/T sensor가 더 task-agnostic하게 잘 작동한다고 했고, 본 논문에서는 tactile과 kinematic frame을 정교하게 정렬시키는 방법론을 제안한 것으로 보아 두 논문에 관점 차이가 있는 것 같습니다. 이 차이가 단순 in-hand task와 고정밀한 dexterous task의 차이에서 오는 것인지, 아니라면 어떤 차이인지 궁금합니다.
감사합니다!
안녕하세요 예은님 좋은 질문 감사합니다.
제가 리뷰에 언급을 안한 것 같은데 이 논문 또한 F/T sensor 에 대해서 매우 중요하게 생각하고 있었습니다. 위처럼 정밀한 task를 수행할 때에 F/T sensor의 유무는 매우 중요하다고 언급하며 추후 연구에서 다룬다고도 언급하였습니다!
따라서 task에 관계 없이 F/T sensor는 manipulation task 전반적으로 중요한 역할을 하는 것으로 생각됩니다. 감사합니다!
안녕하세요 인하님 좋은 리뷰 감사합니다
궁금한 것 몇가지가 있어 질문 남깁니다
RGB-D feature와 공간 정보를 지니고 있는 tactile 정보가 어떤건가요 ? ( Tactile이 가지고있는 정보가 어떤 거길래 RGB-D라는 표현공간을 사용하는건가요 ? )
Joint랑 같이 들어가면 저자들이 원하는게 뭔가요 ?
감사합니다
안녕하세요 우진님 좋은 질문 감사합니다.
이 부분은 제가 말을 모호하게 한 것 같습니다!
RGB-D 는 visual 정보에 관한 내용입니다. RGB-D vision 정보와 tactile 정보가 model의 Input으로 사용된다고 생각하시면 될 것 같습니다!
저도 공간 정보를 지니고 있다는 말이 처음에는 이해가 잘 안갔던 것 같습니다. (저자들이 참 모호하게 표현한 것 같습니다)
조금 더 풀어서 설명해보면 저자들이 말하는 공간정보란 tactile 접촉 정보와 그 접촉하는 순간의 fingertip의 pose 값입니다. 이를 통해서 저자들은 model이 tactile signal과 그 순간의 손가락의 pose를 알 수 있을 것이라고 생각한 것 같습니다.
즉 접촉 정보와 그 때의 손가락의 기하학적인 정보를 모두 이해하는 model은 섬세한 manipulation에서 더 좋은 성능을 보일 것이다가 저자들의 생각이었던 것 같고 실제로 그렇게 동작한 것이 핵심인 것 같습니다.