HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
장지원 페이지/
🗑️
Trash
/
장지원, JANG JIWON
장지원, JANG JIWON
/HCI lab/시각 장애인을 위한 그래프/
#09. Tactile Brush (11.01)

#09. Tactile Brush (11.01)

 

논문 리뷰

 
dl.acm.org
https://dl.acm.org/doi/pdf/10.1145/1978942.1979235

Tactile Brush: Drawing on Skin with a Tactile Grid Display

 

주제 : Strokes를 가장 잘 표현할 수 있는 심리 물리학적 모델 연구

 
Strokes (동적인 신호)를 어떻게 하면 가장 잘 전달할 수 있을까?
기존에는 moving air- and water-jet stimuli, rolling wheels, sliding brushes and even moving probes glued to a user’s skin 등등..의 방식을 통해 신호를 전달했다.
 
이번 연구에서는 Tactile Brush 알고리즘을 통해 Strokes를 전달해 볼 것이다.
 
Tactile Brush 알고리즘은 무엇일까? Vibrotactile illusions을 이용해서 몇 개의 Brush만으로도 복잡한 촉감 경로를 구현할 수 있게 한 알고리즘이다.
 
이 모델에서는 Tactile Brush의 여러 형태 중 두 가지 형태(Apparent tactile motion, Phantom tactile sensation)를 이용할 것이다.
 
notion image
 

a) Apparent tactile motion

 
phi-phenomena (파이 현상)을 이용한 형태이다. 파이 현상은 실제론 움직이지 않았는데, 움직이는 것처럼 보이게 하는 것을 말한다. 어떻게 이런 현상을 만들 수 있을까?
 
자극 지속 시간, SOA( 두 자극의 시작 지점 간의 시간 간격)를 이용하면 이를 구현할 수 있다. 즉 두 파라미터를 이용하면 두 Actuator 사이에 움직이는 가상의 단일 Actuator를 생성 할 수 있다.
 

b) Phontom tactile sensation

 
a)와 다른 형태의 환상 자극이다. 이는 두 개의 Actuator 사이에 정적인 가상의 단일 Actuator를 생성해 준다.
 
두 개의 Actuator의 강도를 조정하므로써 이를 구현할 수 있다. 가상의 단일 Actuator의 위치 제어, 강도 제어가 이 형태의 핵심이다.
 

실험 : 어떻게 하면 두 형태를 잘 구현할 수 있을까?

 
⚠️
이 실험에서의 Actuator 간의 간격은 68mm였고, ‘등’을 기준으로 실험을 진행핬다. (등이 40mm, 손이 10mm)
 

a) Apparent tactile motion

 
SOA가 너무 커서도 안되고 작아서도 안된다 (너무 커지면 연속성이 사라지고, 작아지면 진동을 느낄 수 없게 된다). 따라서 이번 실험에서는 이러한 SOA 값의 upper와 lower를 알아볼 것이다.
 
실험 방법
 
upper
  • 피실험자가 discrete하게 actuator를 느낄 수 있을 만큼 초기 SOA 값을 크게 설정하고 실험을 진행한다.
  • 사용자가 연속적인 두 Actuator를 느낄 수 있는 시점까지 SOA 값을 감소시킨다.
  • 이 시점에서 다시 SOA 값을 늘린다. (역전) (one up one down)
  • 종료 조건까지 이를 반복한다 (밑에 기술).
 
lower
  • 사용자가 단일 진동만을 느낄 수 있을 만큼 초기 SOA 값을 작게 설정하고 실험을 진행한다.
  • 사용자가 움직임의 방향을 판단할 수 있을 때 까지 SOA 값을 증가시킨다.
  • 종료 조건까지 이를 반복한다 (밑에 기술).
 
종료 조건
 
두 번째 역전까지는 SOA의 step-size를 16-msec로 설정하고 실험을 진행한다. 두 번의 역전이 일어나고 난 이후에는 step-size를 4-msec로 감소시킨다. step-size가 4-msec로 감소되고 나서 6번의 역전을 더 수행한 후에 실험을 종료한다.
 
아마 upper 부터 시작해서 계속 역전 시키며 (upper→lower-upper-lower..) 측정한 것 같다.
 
실험 추가 조건
 
실험은 Figure 4의 오른쪽 그림과 같이 5방향에 대해서 진행되었다.
진동 주기는 150Hz, 200Hz, 270Hz로 설정해서 실험을 진행하였고,
기간 (각 자극 마다의 길이)은 40-msec, 160-msec로 설정해서 실험을 진행하였다.
마지막으로 데시벨은 20dB로 설정해서 실험을 진행하였다.
 
결과
 
결과는 밑 그림과 같다.
 
SOA = 0.32d + 47.3 방정식을 이용하면 연속적인 촉감 운동을 구현할 수 있을 것이다. (d는 duration, 모든 단위는 mm, msec)
 
notion image

b) Phantom Actuator

 
이 실험에서는 우리가 원하는 위치에 우리가 원하는 강도를 가진 가상의 Actuator를 생성하는 방법을 알아볼 것이다.
 
수식
 
Eq.1은 두 Actuator 크기에 따른 가상의 Actuator 크기를 나타낸 것이다.
notion image
[Eq.1] - energy model
C-2 tactors (공명 : 진폭 가장 큰 주기) → 지금 쓰는 것도 진폭 측정해야 한다.
 
위 수식을 바탕으로 가상의 Actuator를 제어할 수 있을 것이다.
이 때 한 가지 주의해야 할 점이 있다. 위 수식의 A1과 A2를 바꾸면 가상의 Autuator의 위치와 크기가 모두 바뀔 것이다.
만약 우리가 가상의 Actuator의 크기 만을 바꾸고 싶다면, 이 때는 실제 존재하는 두 Actuator의 크기를 동일한 비율로 바꾸면 된다. Eq.2를 참고하면 된다.
 
notion image
[Eq.2]
 
실험 방법
 
  • 실험에서 사용되는 두 Actuator는 200Hz 주기로 진동하고, 100-msec의 duration을 가지고 진동한다.
  • 피실험자는 Eq.2의 알파 값을 조정하며 두 Actuator 사이에 생기는 Virtual Actuator의 강도를 (참조 자극의 크기)22dB에 맞춘다.
  • 가상의 자극의 강도를 22dB 보다 높게 설정하여 낮추는 방향, 22dB 보다 낮게 설정하여 높이는 방향 두 방향으로 모두 실험을 진행한다.
 
실험 추가 조건
 
실험은 5개의 k값에 대하여 진행되었다 (Eq.2 참고). 이 k값은 Virtual Actuator의 위치를 바꾸어 준다.
낮추는 방향, 높이는 방향 둘의 평균을 결론으로 낸다.
 
결과
 
밑 그림은 실험 결과를 바탕으로 에너지 모델을 활용해 Virtual Actuator의 크기를 구한 것이다. 이후 참조 자극과의 비율을 구해 놓은 것이다.
 
notion image
 
평균이 0.2dB 0dB와 0.2의 오차만을 가지고 있으므로 에너지 모델이 유의미한 모델임을 확인할 수 있다. (질문 : 1dB에 가까워야 하는 것 아닌가..) → 응아니야
notion image
 
에너지 모델은 위치 또한 예측할 수 있게 돕는다. Eq.4에서 베타 값을 조정하며 답을 구할 수 있다.
 
notion image
 
[Eq.4]
 
추가로 에너지 모델은 다른 로그 모델이나 선형 모델 보다 위치를 예측하는데도 유의미함이 확인 되었다.
 
(추가 질문 : 논문에서 “실험자들은 세 개의 진동기를 모두 느꼈다”라고 되어 있다. Phantom Actuator는 가상의 진동기’도’ 생성해 주는 것인가?)
 

Tactile Brush 알고리즘

 
S(i,j) : 점의 위치 이다.
H : Stroke 이다.
P(0), P(1) : Ending Point, Starting Point 이다.
T : Stroke를 마칠 때 까지 요구되는 시간 이다.
 
우리가 알아야 하는 것은 다음과 같다.
  • Sequence of Physical actuator (감마)
  • Actuator의 강도
  • SOA
  • Actuator duration that will produce a continuous tactile stroke H
 
  1. Virtual Actuation Points
람다(i,j)는 가상의 Actuator이다. 이 때 일부 람다는 실제 Actuator와 겹칠 수 있다.
 
  1. Speed of the Stroke and Timestamps
Speed는 Stroke(H)의 길이를 duration(T)으로 나눔으로써 계산할 수 있다.
T 시간만에 stroke를 완료시키려면 모든 람다가 최소 감마(mini)만에 완료 되어야 한다.
 
notion image
 
  1. Durations and onset times for apparent motion
람다에 대한 SOA 값과 duration 계산이 필요하다. 앞서 구한 SOA 선형 식에 맞추어 SOA 값을 설정하면 된다.
 
notion image
notion image
 
  1. Mapping to physical actuator
마지막 단계는 람다를 grid에 mapping 하는 것이다. Physical actuator와 겹치는 건 그냥 Physical actuator와 mapping 시켜주면 된다. 우리가 고려해야 할 것은 Virtual actuator이다. 먼저 Closest pair of physical actuator들을 찾고 phantom actuator를 이용해서 람다 지점에 Virtual actuator를 만든다. 강도는 Eq.4를 이용하여 구한다.
 
 
 
notion image
 

해결해야 할 점

 
  • 직선만 표현 가능하다 (접선 벡터)
  • 미리 Phantom actuator, 이것의 SOA 값들을 계산하고 구현해야 하기 때문에 ‘실시간 시나리오’에 적용하기 어렵다는 단점이 있다. 이걸 실시간으로 계산하는 기술이 핵심이다.
 

실제 적용

 
notion image
notion image
 
중요 :
  • 위 논문과 조건이 조금 다르다 (Actuator 사이의 거리, 자극 부위 등). 따라서 다른 조건에서도 위에서 제안한 수식들이 유의미할지 점검해봐야 할 것이다.
  • 그래프는 개형이 매우 다양하다. 실시간으로 자극을 자동으로 전달해줄 필요가 있을텐데, 어떻게 이를 구현할지 고민해보아야 할 것이다.
 
tactile brush 인용한 논문 찾아보기
 
Test는 어떻게 할 것 인가!?
 
노트북에서 가능한 것 (윈도우로 해보기 → processing.org)