HOME > Browse Articles > Archive

Code of Ethics

Journal of the Korean Society for Precision Engineering - Vol. 37 , No. 7

[ REGULAR ]
Journal of the Korean Society for Precision Engineering - Vol. 37, No. 7, pp. 475-484
Abbreviation: J. Korean Soc. Precis. Eng.
ISSN: 1225-9071 (Print) 2287-8769 (Online)
Print publication date 01 Jul 2020
Received 20 Aug 2019 Revised 26 Mar 2020 Accepted 06 Apr 2020
DOI: https://doi.org/10.7736/JKSPE.019.115

자세 균형과 재활 훈련을 위한 운동 플랫폼 기반 운동기기 시스템 개발
박성관1 ; 김준희1 ; 서명인1 ; 김태우1 ; 김동환2, #
1서울과학기술대학교 기계설계로봇공학과
2서울과학기술대학교 기계시스템디자인공학과

Development of Motion Platform-Based Exercise Equipment for Rehabilitation Training and Posture Balance
Sung Gwan Park1 ; Joon Hee Kim1 ; Myeong In Seo1 ; Tae Woo Kim1 ; Dong Hwan Kim2, #
1Department of Mechanical Design and Robot Engineering, Seoul National University of Science and Technology
2Department of Mechanical System Design Engineering, Seoul National University of Science and Technology
Correspondence to : #E-mail: dhkim@seoultech.ac.kr, TEL: +82-2-970-6362


Copyright © The Korean Society for Precision Engineering
This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
Funding Information ▼

Abstract

In this study, a four-axis platform capable of rolling, pitch, and yaw rotation was created for rehabilitation and exercise. Based on this, a virtual coach and a virtual reality game system were developed. The virtual coach is a 3D person model created with the Unity program that allows the user to exercise in the correct posture with the virtual coach, and recognizes the correct posture with the Kinect. Additionally, a virtual reality game has been developed, and in conjunction with this, the actual platform also moves to increase the rehabilitation effect. The upper body and lower body movement and plantar pressure measurement were used to associate with the four-axis platform to maintain strength and balance the body.


Keywords: Motion platform, Foot plantar pressure, Health care, Virtual reality, Balancing, Recognition of action
키워드: 모션 플랫폼, 족저압, 헬스 케어, 가상현실, 균형, 동작 인식

1. 서론

2018년 통계청의 고령자 통계에 따르면, 대한민국의 65세 이상 인구는 738만 1천명으로 전체 인구 중 14.3%를 차지한다. 노인은 노화 과정에서 신체의 불균형을 겪을 수 있다.1 또한, 20-30대 청년들도 생활의 자동화로 인한 운동 부족 등은 하지의 약화를 초래했다. 위와 같은 불균형한 자세는 척추측만증이나 관절 및 보행계통의 기능 저하를 유발하는 등 질병의 원인이 될 수 있다.

균형은 모든 일상생활의 행동에 영향을 주며, 바른 자세로 기저면 위에서 중력 중심을 유지하는 능력을 말한다. 이러한 균형은 일반적으로 정적 균형과 동적 균형으로 나뉜다. 정적 균형은 신체가 움직이지 않는 상태에서 자세를 유지하는 능력이고, 동적 균형은 신체가 움직이는 동안 자세를 유지하는 능력이다. 이중, 적정 균형을 판단하기 위해 족저압 데이터를 이용해 인체의 압력 중심을 관찰한다. 족저압은 균형 상태를 반영하는 하나의 요인이다.2 족저압 측정은 당뇨병, 관절염 환자에서 분포 분석을 위해 연구되고 있고, 뇌성 마비, 발의 변형 등 다양한 분야에서 연구되고 있다.3 매트형 센서를 통해 족저압 분포를 실시간으로 측정한다.

신체 균형을 위해 족저압을 연구한 사례로는 경사도 오르기와 내리기 중의 압력 중심 이동 경로를 연구4나 Force Sensing Resistor (FSR)를 이용한 인체 압력 중심 분석,5 뇌졸중 환자의 족저압 연구6가 있었다.

또한 Kinect 등의 카메라 센서로 자세를 연구한 사례로는 Kinect와 AR 마커로 작업 자세를 평가한 연구7와 Kinect 센서로 고령자의 선 자세 평가 연구8가 있었다. 그리고 가상현실이나 시뮬레이터 등 체감형 운동을 연구한 사례로는 자전거 재활 시뮬레이터,9 가상현실 승마 게임,10 동계스포츠,11 그리고 보행 중 거동 분석12 등이 있었다.

본 연구는 족저압 분포와 카메라 센서를 이용해 실시간으로 자세를 측정하면서 모션 플랫폼과 가상현실을 이용해 체감적 운동을 한다는 점에서 기존 연구와 차이가 있다. 운동기기의 대상자는 고령자, 재활 치료자 및 스스로 운동을 하려는 사람 모두이다. 화면의 가상 코치를 보고 자신의 자세와 비교하며 스스로 운동할 수 있다. 자세는 카메라 센서를 통해 실시간으로 확인할 수 있으며, 바닥의 매트형 센서를 통해 신체 압력 위치도 알 수 있다. 더불어 가상현실 환경과 4 자유도 모션 플랫폼을 이용한 체감형 운동이 가능하다.

본 논문은 다음과 같이 구성된다. 2장은 운동기기 시스템의 구성, 3장에서는 실험 결과, 4장은 결론 순으로 되어있다.


2. 운동기기 시스템 구성
2.1 운동기기 전체 시스템

본 운동기기는 Fig. 1의 우측 플랫폼을 베이스로 시스템을 구성하고 있다. 이 플랫폼은 모터 3개를 사용하여 3축(Roll, Pitch, Heave) 변동을 가능하게 하였고, 1개의 모터를 하단 패널에 고정시키고 3개의 휠을 이동시키는 방식으로 Yaw축 이동을 구현했다. 플랫폼에 탑승할 대상의 하중은 200 kg로 선정하고 모터 다음 식(1)식(2)와 같이 도출하였다.

τ1=19603×1.5×0.1=98 Nm, Target rpm=15,Safety factor=1.5(1) 
τ2=1960×1.5×0.3×0.35=308.7 Nm(2) 

Fig. 1 
Schematic diagram of exercise system

식(1)은 3축 모터의 선정을 Fig. 2의 좌측 그림을 기준으로 선정한 식이고, 식(2)는 Yaw축 모터를 Fig. 2의 우측 그림을 기준으로 선정한 식이다. 식(1)에서는 rpm의 기준이 있어 토크와 각속도의 곱이 와트에 비례하는 식에 따라 160 W의 모터가 필요하게 되었고, 식(2)의 Yaw 모터는 rpm의 기준이 없기 때문에 실험적인 요소를 고려하여 200 W 모터를 사용하게 되었다.


Fig. 2 
Feature of motor selection

가능한 플랫폼을 후술할 알고리즘을 통해 구현하였다. 플랫폼 변동으로 측정할 수 있는 신체 균형의 변동과 그로 인해 일어나는 족저압 분포 사이의 관계를 측정하기 카메라 센서와 매트형 센서를 사용하여 사용자의 현재 자세, 족저압 분포도와 세기를 측정할 수 있다. 측정 결과를 토대로, 4 자유도 모션 플랫폼과 가상현실을 이용하여 적합한 운동을 제시한다. 이를 위한 운동기기 전체 시스템 구성도는 Fig. 1과 같다. 시스템 응용 소프트웨어가 출력되는 모니터가 있고, 그 위에 자세 검출을 위한 카메라 센서가 배치된다. 또한 가상현실 구성을 위한 Oculus 센서가 배치된다. 운동자는 플랫폼 위에 탑승한다. 본 연구에서 플랫폼은 4 자유도로 구성되어 Roll, Pitch, Yaw (RPY)와 Heave 동작이 가능하도록 제작되었다. 플랫폼 상단에는 족저압 측정을 위한 매트형 센서가 부착된다. 플랫폼의 사양은 Table 1과 같다.

Table 1 
Specifications of motion platform
Degree of freedom 4 DOF (Roll, Pitch, Yaw, Heave)
Allowable load [kg] 200
Maximum driving speed [mm/sec] 50
Allowable angle [o] Roll ±7
Pitch ±7
Yaw ±360

2.2 시스템 응용 소프트웨어

본 운동기기 시스템을 구동하는 시스템 응용 소프트웨어는 Fig. 3과 같다. Microsoft Visual Studio C# Window Forms (WF)로 작성하였다. Fig. 3(A)는 주변기기 활성화와 운동 시작 단추가 배치된다. Fig. 3(B)는 매트형 센서와 균형 운동의 단추가 배치된다. Fig. 3(C)에서는 실시간 족저압 데이터가 출력된다. Fig. 3(D)에는 카메라 센서를 통해 얻은 화면과 자세 정보가 실시간으로 출력된다.


Fig. 3 
Section of exercise software

Fig. 3(E)에는 가상 코치, 또는 가상현실 게임이 출력되어 운동자가 가상 코치 화면을 보고 운동을 따라하거나 가상현실 화면을 모니터링할 수 있다. Fig. 3(F)는 스크린샷을 촬영할 수 있는 버튼으로, 촬영 후 Fig. 3(A)의 데이터 버튼으로 운동 전 후를 비교할 수 있다. 다음으로 각 부분별 상세한 내용을 기술한다.

2.3 족저압 매트형 센서 시스템 구성

족저압 분포도와 세기 측정을 위한 매트형 센서와 제어기로는 Kitronyx사의 MS9705와 MC1509를 사용하였다. 8 × 8 mm의 감지 노드를 2,304개 측정할 수 있고, 감지 범위는 384 × 384 mm이다. 센서는 921,600의 Baud Rate로 50 ms 주기마다 2,304개의 Raw Data를 송신한다. 센서 데이터의 처리는 Fig. 4와 같이 구현했다.


Fig. 4 
Data conversion process of sensor data

소프트웨어는 데이터 수신 후 48 × 48 Array에 삽입한다. 이후 데이터는 Bicubic 보간법을 사용하여 원본 데이터 4개에서 3개씩 144 × 144 Array로 확장한다. Bicubic 보간법은 행 방향으로 Cubic 보간법을 진행하고, 열 방향으로 이를 확장하는 방법으로 구현하였다. 식(3)과 같이 16개의 원본을 통해 x축 방향으로 4개의 데이터를 보간한 후, 생성된 데이터를 이용해 y축 방향으로 Cubic 보간법을 진행한다.13 보간을 완료한 Pixel 값을 I(x, y)라 할 때, 다음 식(3)과 같다. 세로축에서

Ix,y=p0+p1x+p2x2+p3x3(3) 

로 계산하고, 여기서, p0, p1, p2, p3식(4)부터 식(7)과 같다.

p0=1.05Ix1,y(4) 
p1=-Ix0,y+Ix2,y(5) 
p2=2Ix0,y-2Ix1,y+ Ix2,y-Ix3,y(6) 
p3=-Ix0,y+Ix1,y- Ix2,y+Ix3,y(7) 

보간 후의 데이터들을 Jet Colormap으로 변환하여 Fig. 3(c)와 같이 표현한다. 이 보간법으로 일반적인 Bilinear 보간법 Intensity가 8.718에서 10.040으로 더 증가하여 압력을 많이 받는 부분을 더 선명히 시현할 수 있게 되었다.

2.4 카메라 센서 시스템 구성

사람의 자세와 관절 지점의 검출을 위해 카메라 센서는 Microsoft사의 Kinect를 사용하였다. Kinect는 RGB (Red, Green, Blue) 카메라와 Depth 카메라를 동시에 사용하는 센서로, 이 2개의 센서와 Microsoft사의 알고리즘을 사용하여 사용자의 모습과 관절의 좌표를 출력할 수 있다. 센서는 640 × 480 크기의 화면에 30 FPS (Frame per Second)로 소프트웨어에 전송하며, Kinect 화면을 표시할 준비가 되었을 때 지속적으로 수신한다.

수신한 센서 데이터는 Fig. 5의 좌측과 같이 수평계 0o를 기준으로 가운데 플로우 차트를 사용하여 정보를 구현하였다. 소프트웨어는 Kinect에서 RGB 데이터와 Depth 데이터를 수신한 후 Kinect의 dll 파일을 사용하여 관절의 위치를 Array 형식으로 수신한다. 수신한 Array 관절 데이터를 수집하고, 데이터의 순서에 따라 머리와 목을 잇는 선을 그리는 등 화면에 그림을 그리는 것으로 사람의 형상에 Skeleton을 삽입하여 인체의 각도를 시각화한다.


Fig. 5 
Data conversion process of kinect sensor

이 데이터를 기반으로 사람의 자세를 측정할 수 있다. Fig. 5의 우측에서 양 어깨의 관절을 분홍색 실선으로 이어놓았는데, 이 실선을 사용하여 사람의 어깨가 틀어진 각도를 나타내고, 우측 상단의 각도 데이터로써 모니터링할 수 있다. 또한 Fig. 3(F)의 버튼으로 Before와 After 화면을 촬영한 후, Fig. 3(A)의 데이터 버튼을 클릭 시 Fig. 6과 같이 Before 상태와 After 상태를 출력하여 운동 전후의 차이를 인지할 수 있게 하였다. Fig. 6에서는 상단에는 위에서 언급한 사용자의 어깨 각도를, 하단에는 족압의 분포도와 무게 중심을 표시했다.


Fig. 6 
Kinect and foot pressure data variation

2.5 가상현실 환경

트레이너나 의사 및 보조자 없이 홀로 재활 치료 또는 운동을 할 수 있게 하기 위하여 본 연구의 운동기기에서는 Unity 소프트웨어를 기반으로 한 가상현실 환경을 사용한다. 이 환경은 가상 코치와 가상현실 게임 두 가지로 나누어 구성했다. 그러나 단일 프로그램으로서의 편의성, 가상 코치의 움직임 애니메이션이나 가상현실 게임상에서 사용자를 모니터링할 수 있게 하기 위하여 WF 화면과 Unity 기반의 가상현실 환경 소프트웨어를 단일 개체로 실행시킬 필요가 있다. 이를 위해 Fig. 7처럼 C# WF에서 Unity 기반의 가상현실 환경을 삽입하였고, Windows의 ‘User32.dll’ 파일을 사용하여 Unity를 C# 패널 내에서 실행할 수 있게 하는 라이브러리를 제작하고, WF 내부에 Unity 프로그램을 삽입할 수 있게 하였다.


Fig. 7 
Inner map for playing 2 processes in one program

따라서 Fig. 3(E)와 같이 통합 프로그램 내부에 가상현실 환경을 삽입할 수 있고, 각각 다른 프로그램인 가상현실 환경과 통합 프로그램의 통신은 WF나 Unity와 같이 C# 언어 기반을 가진 프로그램만 사용이 가능한 프로그램 내부 통신 프로토콜인 ‘NamedPipe’ 통신을 사용하여 프로그램간 필요한 데이터를 송수신하였다.

2.5.1 가상 코치

트레이너나 가상 코치는 운동 시 실제 코치가 지도하는 것을 대신하는 목적으로 하는 프로그램이다. 사용자는 운동을 시작할 때 움직이는 코치의 동작을 따라하면 되므로 코치가 세심히 사용자를 지켜보지 않더라도 스스로 바른 자세와 횟수를 지켜가며 운동을 할 수 있게 된다. Kinect와 매트형 센서를 통해 관절의 위치와 족저압 데이터를 수신하고, 수신하는 프로그램에서 소프트웨어 내부 알고리즘에 따라 지속적으로 현재 자세를 인식한다. 프로그램의 진행 방식을 정리하면 다음과 같다.

(1) 가상 코치 모드 버튼을 눌러 장치가 초기화된 후 상체나 체조 운동 버튼을 누르면 버튼에 따라 Fig. 8의 좌, 우측 운동이 시작된다.


Fig. 8 
Exercise map of virtual coach

(2) Fig. 8의 코치가 운동 모드에 따라 사용자가 취할 올바른 자세를 취한다.

(3) 사용자가 코치의 동작을 따라하면 Kinect 센서의 데이터를 기반으로 한 알고리즘을 사용하여 사용자의 동작을 인식하고, 코치는 다음 운동을 한다.

(4) 사용자가 운동을 택할 시 앞의 로직을 따라 Fig. 8의 푸른색 화살표 동작을 정해진 숫자만큼 반복해야 한다. 체조 운동은 3개의 운동을 위에서부터 연속으로 행한다.

(5) 일련의 동작을 반복하여 횟수를 채우면 운동이 종료되며 처음 Standing 자세로 돌아온다.

이 프로그램에서는 C# WF에서 Kinect 데이터를 사용하여 운동 동작마다 동작을 인식하는 별개의 알고리즘을 선택하여 해석한 후, 조건에 따라 Unity 코치 소프트웨어에 데이터를 송신하여 프로그램에서 애니메이션을 재생시키는 것을 반복하게 개발되었다. Fig. 9는 코치가 취하는 애니메이션과 사람이 취해야 하는 행동을 모은 것이다.


Fig. 9 
Exercise map of virtual coach and user’s postures

사람의 특정 동작을 인식하는 알고리즘을 실행하기 위해서는 먼저 Kinect 센서로 받은 데이터를 사용하여 몸통 라인의 특정 각도와 특정 관절의 현재 각도를 인식하는 것이 필요하다. 각 동작 인식 알고리즘을 구현하기 위해 필요한 몸통 라인의 각도는 θe이고 관절의 각도는 Δθb1, Δθc1, Δθb2, Δθc1로 총 5개다. 이 값들은 인접한 2개 관절의 위치 데이터로부터 산출한다. 예를 들어 Fig. 10에서 관절의 위치를 a1, b1, c1라 하고 화면 밑면을 기준으로 한 선 a1b1와 선 b1c1의 각도를 θa1b1, θb1c1이라 칭할 때 식(8)식(9)에서 각각의 각도를 계산하며, 또한 e1, e2에 연결된 θe도 다음 식(10)으로 설명된다.

θa1b1=tan-1a1y-b1ya1x-b1x(8) 
θb1c1=tan-1b1y-c1yb1x-c1x(9) 
θe=tan-1e2y-e1ye2x-e1x(10) 

Fig. 10 
The skeleton points and joint angles

목표 관절의 각도 Δθb1의 수식은 식(11)과 같다.

Δθb1=θa1b1-θb1c1(11) 

Fig. 10에서 해당되는 각도를 계산한 집합을 Θ = {Δθb1, Δθc1, Δθb2, Δθc2, Δθe}이라 할 때, 표시 지점의 흰색 부분의 각도가 집합의 실제 각도를 의미한다. 또한 위 각도 계산식에 이어 Fig. 10에서 d의 높이 dy와 운동 회수 C도 알고리즘에 사용한다. 사용자의 행동을 감지하는 알고리즘은 다음과 같다.



알고리즘1 Pull down and up
입력: Θ, C
출력: 운동 동작의 판단
Up 실행
C > 0일 때 반복
Δθc > 15oθb > -110o일 때
  C = C-1
  Pull down 카운트
  또는 Δθc < 5oθb < -110o일 때
  Up 카운트
반복 종료
Standing 실행
알고리즘 2 Sit down
입력: C, dy
출력: 운동 동작의 판단
C > 0일 때 반복
 시작 dy 수집
dy > 250일 때
 C = C-1
 Sit down 카운트
dy < 시작 dy+30일 때
 Standing 카운트
반복 종료
알고리즘 3 Yoga
입력: Θ, C
출력: 운동 동작의 판단
C > 0일 때 반복
 |Δθc| < 20o&|Δθb| < 20o&θe > 105o일 때
  C = C-1
  Yoga 카운트
 또는 Δθc > 30o andθe-90o| <10o일 때
 Standing 카운트
반복 종료
알고리즘 4 Deep breath
입력: Θ, C
출력: 운동 동작의 판단
C > 0일 때 반복
 Δθc < -30o일 때
  C = C-1
 Deep breath 카운트
  또는 Δθc < 30o일 때
 Standing 카운트
반복 종료

위 알고리즘을 사용하면 Kinect를 통해 입력되는 관절의 위치를 사용하여 사용자가 수행한 각 동작별 운동 횟수를 얻을 수 있다.

2.5.2 가상현실 게임

가상현실 게임은 신체 균형 유지 능력의 배양을 위하고 또한 장시간 사용 시 사용자의 지루함을 극복하기 위하여 개발하였다. 소프트웨어의 실행은 스키 운동, 운석 피하기, 보트 항해 등 세 종류를 VR 장비를 착용하고 소프트웨어와 연동된 플랫폼에 탑승 후 Fig. 3(a)에서 선택하면 실행할 수 있다.

일반적인 VR 게임에는 사용자의 플랫폼을 고려하지 않는 반면 본 시스템에서는 Fig. 11처럼 소프트웨어에서 사용자가 탑승할 가상 플랫폼을 제공하고, VR 카메라 객체와 사용자의 위치를 플랫폼과 같이 움직이도록 했다. 이와 동시에 물리적인 충돌을 통해 각 게임마다 그에 맞는 운동을 구현하였다. 사용자의 플랫폼은 Fig. 12의 좌측 상단으로부터 스키, 우주선, 배가 있다.


Fig. 11 
System structure interconnecting VR motions and platform motions


Fig. 12 
Skiing, space travel, voyage VR modes interlocking platform

이어 Fig. 11에서 Unity 프로그램을 실행하는 소프트웨어는 Unity 가상현실 게임으로부터 100 ms 주기로 가상환경에서의 사용자의 플랫폼 데이터를 수신한다. 이 가상 플랫폼의 데이터와 실제 플랫폼을 연동하기 위해 수신한 Roll, Pitch 데이터를 Fig. 13에 보여주는 플랫폼의 역기구학에 적용시킨다.


Fig. 13 
Simplified modeling of motion platform, and coordinates and vectors for kinematics

먼저 기준 좌표계와 이동 좌표계에서 바라본 모터와 조인트 모두 같은 각도로 위치하고 있어서 식(12)와 같이 정의하였다.

φi=ψi=2π3i-1+π3, i=1,2,3(12) 

Fig. 14에서 기준 좌표계와 이동 좌표계로부터 식(13)식(14)와 같이 각각 모터와 조인트로부터 벡터를 표시할 수 있다. 기준 좌표계(B0)에서 바라본 qi식(14)와 같이 표현할 수 있다.

Pi=rpcosψirpsinψi0,i=1,2,3(13) 
Mi=rbcosϕirbsinϕi0,i=1,2,3(14) 
qi=h+RP0B0Pi=Mi+Ui, i=1,2,3(15) 

Fig. 14 
Arrangement of motors and joints of base and upper plates (Top view)

상판이 Roll, Pitch 방향으로 각각 α, β만큼 회전하였다면 U1, U2, U3식(16)과 같이 나타낼 수 있다.14

Ui=rpcosψicosβ-rpcosψicosαrpsinφicosα+rpcosφisinαsinβ-rbsinφih-rpcosψisinα-rpcosψicosαsinβ, i=1,2,3(16) 

플랫폼의 UI(i = 1, 2, 3)는 모터 좌표계(Bi)에서 상판 링크 연결 부까지의 벡터를 의미하고, 이를 부분 좌표계(Mi)로 가져가고 이를 Ti로 표시한다면 식(17)이 된다.

Ti=RBiMiUi(17) 

Fig. 15에서 θi는 실제로 모터의 축이 회전하는 각 각도이며 γiTiRi의 사이각이다. 먼저 γi식(18)식(19)로 제2코사인 법칙을 사용하여 구하고(Li는 강체의 벡터표현) 식(20)으로 θi를 구할 수 있다.

Li2=Ti2+Ri2-2TiRicosγi, i=1,2,3(18) 
γi=cos-1Ti,x2+Ti,y2+Ri2-Li22TiRi, i=1,2,3(19) 
θi=cos-1Ti,xTi-γi, i=1,2,3(20) 

Fig. 15 
Sub-Frame coordinates of driving motor14 (Adapted from Ref. 14 on the basis of OA)

이를 사용하여 Roll, Pitch와 고정된 Heave의 각도로 UI(i = 1, 2, 3)를 구한 후 연산하여 각 모터 각도 θI(i = 1, 2, 3)를 산출했다. 남은 Yaw 각도는 가운데 플랫폼의 모터 각도를 그대로 사용했다. 이 각도들을 Unity에서 수신한 값으로 갱신하며 지속적으로 가상 플랫폼과 실제 플랫폼을 갱신할 수 있다.

2.6 족저압 모니터링

데이터와 플랫폼의 연동 후 사용자의 자세 안정성을 파악하기 위해 족저압 데이터를 이용한 질량 중심, 즉 Center of Mass (COM)을 사용한다.15 이 식을 이용하여 각 축의 Pixel당 부과된 압력의 분포도를 사용하여 평균 위치를 구한다. 그러나 압력의 중심으로는 사용자의 자세에 따라 상하 좌우로 Offset이 발생할 수 있으므로 이를 보정하기 위해 Center of Pixel (COP)를 추가로 사용한다. COP는 사용자의 현재 위치의 중심이 어디인지 알기 위해 사용하는 알고리즘이다. COP는 COM과 유사하나 식(21)pi와 같은 경우는 0에서 255 사이의 압력 값을 의미하지만 식(22)bi의 경우는 식(23)의 조건문을 사용하여 0과 1의 이진화 값을 가진다. 식(21)식(22)는 각각 x축에 COM과 COP를 적용한 식이다.

COMx=i=1npixii=1npi(21) 
COPx=i=1nbixii=1nbi(22) 
if pi>threshold, bi=1 else if bi=0(23) 
RCOMx=COMx-COPx(24) 

측정된 값 COMx와 COPx에서 식(24)과 같이 차이값을 계산하는 Revised Center of Mass (RCOM)로 정의하면, 양의 값은 우측 편심, 음의 값은 좌측 편심을 의미한다. Fig. 16에서 그 값은 -8.428이 되어 왼쪽으로 편심되었음을 알게 된다. 따라서 사용자의 측정 위치가 변해도 편심량의 측정이 가능하게 된다. 족저압을 활용하는 게임 모드 중 Fig. 3(b)의 균형 운동 동작이 이 수치를 사용하게 된다. 사용자가 서 있을 때 자세의 불안정성으로 인해 균형의 편심이 생기고, 플랫폼을 해당 방향으로 기울이는 것으로 사용자는 반대쪽 다리에 힘을 주며 전신 운동을 하게 된다. 이러한 운동의 반복으로 사용자는 자세 유지를 하기 위해 코어 근육을 포함한 전신 운동을 하기 때문에 사용자의 편심 정도를 감소시키는 것은 재활 운동에 유효하다.16


Fig. 16 
One of the line of COPx and COMx


3. 실험 결과
3.1 가상 코치의 오차율

가상 코치 시스템의 신뢰성을 검증하기 위해 실행 중 인식을 하지 못하거나, 중복 인식하는 등의 오차 여부를 검증할 필요가 있다. Table 2는 기구를 처음 탑승하는 8명이 상체 운동과 체조 운동을 10번씩 반복하여 오차율을 측정한 표이다. 일부 동작 오차율 측정에서 횟수가 1 또는 2회 감소한 것을 볼 수 있는데, 이는 Kinect 센서가 사용자의 몸이 가려진 부분을 인식할 때 관절의 각도가 흔들려 일어나는 오류이고, 이로 인해 연속으로 Count된 경우가 있어 실험 횟수가 줄어들게 되었다. 이 실험에서 오차율은 최대 1.28%로 동작 인식 알고리즘의 높은 신뢰도를 보여준다.

Table 2 
Error rate for identifying pose
Number of count Number of error Percentage [%]
Pull 80 0 0
Up 80 0 0
Sit down 79 1 1.26
Yoga 78 1 1.28
Deep breath 80 0 0

3.2 가상현실 게임의 실제 동작 검증

가상현실 게임에서 지정된 명령과 플랫폼의 실제 연동 사이의 관계를 검증하기 위해 게임을 실행하면서 Unity에서 플랫폼에 지정된 명령과 실제 플랫폼 각도를 측정하였다. 이를 위해 가상 현실 게임 중 스키 모드에서 모션플랫폼의 반응 주파수를 고려하여 명령 각도를 100 ms 주기에 맞추어 보내면서 76초 동안 측정하였다. 실제 측정은 MPU-9250과 Arduino Pro Micro로 플랫폼의 Roll과 Pitch 각도를 측정하였다. 컴퓨터의 명령과 실제 측정한 플랫폼의 각도 데이터는 Fig. 17의 그래프에 표시했다. 이 그래프에서 프로그램이 명령을 실행한 후 플랫폼이 동작하여 특정 위치에 도달하기까지 약 150 ms가 지연되는 것을 알 수 있다. 이 지연은 여러 사용자가 직접 가상환경에서 사용해 본 결과 동작의 차이를 느끼지 못하기에 시간 지연은 큰 문제가 되지 않았다.


Fig. 17 
Plot of roll, pitch data between VR command and platform moving data of motion platform while virtual ski

다음으로 가상 프로그램을 구동하며 매트형 센서 데이터를 통해 RCOMx를 통하여 플랫폼의 변화에 의해 사용자가 어떤 반응을 하는지를 판단했다. 데이터는 30 FPS 단위로 측정하여 도출하였고, 이를 실제 IMU로 측정한 플랫폼의 Roll 데이터와 비교하였다. Fig. 18의 데이터로부터 사람이 플랫폼의 기울기에 따라 발 한쪽으로 힘을 주면서 밸런스를 맞추어감을 알 수 있다. 즉 VR 영상에 의하여 몸이 옆으로 기울어질 때 기울어지는 속도나 기울기가 클수록 기울어지는 방향으로 발에 힘을 더 주게 되는 것을 알 수 있다.


Fig. 18 
RCOMx from Exercise of Balance and roll data of platform from VR ski mode


4. 결론

본 논문에서는 고령자의 재활 치료, 근력 증진과 정적 자세 균형 고정을 위한 체감형 운동기기 시스템을 제안하였다. 본 연구에서는 4축 플랫폼을 제작하였고, 가상 코치의 움직임에 따른 Kinect의 동작 인식 알고리즘을 이용하여 사용자가 트레이너나 의사의 도움 없이 재활 치료를 할 수 있게 하였다. 또한 가상현실 게임을 사용하여 가상 플랫폼과 실제 플랫폼을 연동시켜 게임의 각 축별 회전각도의 변동을 체험할 수 있도록 하여 이 시스템을 사용하는 사람이 재활 치료 시 지루함을 없애고 흥미를 느낄 수 있도록 구성하였다. 그리고 이 일련의 동작을 족저압 센서와 결합하여 사용자 동작에 따른 족저압 데이터를 모니터링하여 사용자의 밸런싱을 유지할 수 있게 하였다.

본 연구를 통해서 플랫폼의 움직임과 가상환경과의 효율적인 연계를 기반으로 사용자의 운동상태 분석, 족저압 변화에 대응하는 플랫폼의 운동에 의한 재활 운동 효과를 확인할 수 있었다. 추후 본 시스템을 통한 다양한 측정 데이터에 기반한 재활 운동의 엄정한 효과 분석과 보다 다양한 운동의 재현이나 컨텐츠의 개발이 이루어져야 한다.


NOMENCLATURE
I(x,y) : Position of pixel interpolated
P(x,y) : Position of pixel
Δθ : Degree of joint
COM : Center of mass
COP : Center of pixel
RPY : Roll, Pitch, Yaw

Acknowledgments

본 연구는 중소기업청에서 지원하는 2017년도 산학연협력기술개발사업(No. C0504513) 일환으로 수행하였음. 또한 산업통상자원부 ‘산업전문인력역량강화사업’의 재원으로 한국산업기술진흥원(KIAT)의 지원을 받아 수행된 연구임(로봇 기반 혁신선도 전문인력양성사업, No. P0008473).


References
1. Jeon, M. Y., Jeong, H. C., and Choe, M., “A Study on the Elderly Patients Hospitalized by the Fracture from the Fall,” Journal of Korean Academy of Nursing, Vol. 31, No. 3, pp. 443-453, 2001.
2. Lim, J. H. and Ko, H. E., “The Correlation of Foot Pressure with Spinal Alignment in Static Standing,” PNF and Movement, Vol. 12, No. 1, pp. 13-17, 2014.
3. Lee, G. H., “Stance Phase by Measurement of Foot Pressure,” Korean Academy of Rehabilitation Medicine, Vol. 20, No. 2, pp. 523-531, 1996.
4. Han, J. T., “Comparison of Pathway of COP and Plantar Foot Pressures while Ascending and descending a Slope,” The Journal of Korean Physical Therapy, Vol. 22, No. 5, pp. 77-82, 2010.
5. Park, C., Park, S. S., and Kim, C. H., “Center of Pressure of a Human Body Using Force Sensing Resistor,” Transactions of the Korean Institute of Electrical Engineers, Vol. 63, No. 12, pp. 1722-1725, 2014.
6. Yang, D. J., Park, S. K., Kang, J. I., and Park, S. B., “Effects of Changes in Postural Alignment on Foot Pressure and Balance of Patients with Stroke,” Journal of Korean Physical Therapy, Vol. 26, No. 4, pp. 226-233, 2014.
7. Kim, J. and Park, H., “Working Posture Analysis for Preventing Musculoskeletal Disorders Using Kinect and AR Markers,” Korean Journal of Computational Design and Engineering, Vol. 23, No. 1, pp. 19-28, 2018.
8. Yang, S. T., Kang, D. W., Seo, J. W., Kim, D. H., Kim, T. H., et al., “Evaluation of Balance Ability of the Elderly Using Kinect Sensor,” The Transactions of the Korean Institute of Electrical Engineers, Vol. 66, No. 2, pp. 439-446, 2017.
9. Jeong, S. H., Piao, Y. J., Kwon, T. K., and Kim, N. G., “Development of a Virtual Bicycle Simulator for the Rehabilitation Training of Postural Balance,” Journal of the Korean Society for Precision Engineering, Vol. 24, No. 10, pp. 137-145, 2007.
10. Park, H., Kim, H., and Seo, S., “3D Content Design & Implementation of VR Horseback Riding Game,” Journal of the Korea Society of Computer and Information, Vol. 24, No. 4, pp. 73-81, 2019.
11. Chong, W., Kim, K., Kim, J., Kim, J., and Kwon, T., “Development of the Tangible Simulator in the Winter Sports,” The Rehabilitation Engineering and Assistive Technology Society of Korea, Conference Paper, pp. 42-43, 2014.
12. Cheong, Y. J., Chang, J. H., Lee, C. H., Lee, S. G., and Lee, W. G., “Analysis of Out-Toeing Gait Pattern Using Foot Pressure,” Institute of Control, Robotics and Systems, Domestic Conference Paper, pp. 244-245, 2013.
13. Kim, J. H., Son, S. J., and Kim, D. H., “Comparison of Data Interpolation Techniques for Resolution Correction of Static Foot-Pressure Sensor,” Proc. of the Spring Conference on the Korean Society of Mechanical Engineers, pp. 107-109, 2018.
14. Kim, J. H., Son, S., and Kim, D. H., “Development of Motion-Platform Based Exercise Equipment for Rehabilitation Treatment and Posture Measurement,” Transactions of the Korean Society of Mechanical Engineers. A, Vol. 42, No. 12, pp. 1101-1109, 2018.
15. Moon, J., Kim, C., and Jeon, D., “The Evaluation of Human Gait Stability Using In-Shoe Plantar Pressure Measurement System,” Proc. of the Spring Conference on Korean Society for Precision Engineering, pp. 907-908, 2011.
16. Kim, J. Y., “The Effects of Corrective Spinal Exercises on Cobb’s Angle, Posture, and Core Muscle Strength according to Surface Type for Female College Students,” M.Sc. Thesis, Ewha Womans University, 2013.

Sung Gwan Park

M.Sc. candidate in the Department of Mechanical Design and Robot Engineering, Seoul National University of Science and Technology. His research interest is software development, control and artificial intelligence.

E-mail: qkrtjdrhks21@gmail.com

Joon Hee Kim

M.Sc. candidate in the Department of Mechanical Design and Robot Engineering, Seoul National University of Science and Technology. His research interest is software development, control.

E-mail: brasco@seoultech.ac.kr

Myeong In Seo

M.Sc. candidate in the Department of Mechanical Design and Robot Engineering, Seoul National University of Science and Technology. His research interest is electric circuit design, and control.

E-mail: ferglie@naver.com

Tae Woo Kim

Researcher, M.Sc. in the Department of Mechanical Design and Robot Engineering, Seoul National University of Science and Technology. He works at Tecxper. His research interest is mechanical design and analysis.

E-mail: rlaxodn26@gmail.com

Dong Hwan Kim

Professor, Department of Mechanical System Design Engineering, Seoul National University of Science and Technology. His research interest is robotics, control and artificial intelligence.

E-mail: dhkim@seoultech.ac.kr