근전도 기반 손동작 인식을 이용한 모바일 로봇의 원격 제어
© The Korean Society for Noise and Vibration Engineering
Abstract
In the present work, a novel method to control the motion of mobile robot remotely using hand gesture recognition technique is proposed. The mobile robot moves or performs a predefined action according to the recognized user’s hand gesture. For the training and test data of machine learning algorithm, electromyogram (EMG) signals for six kinds of hand gestures were measured by using a commercial wearable EMG measurement device. After signal processing, feature vectors were obtained from the measured EMG signals for hand gestures. One hundred measurements were conducted for each hand gesture and 80 % and 20 % of obtained data were used for training and test, respectively. The artificial neural network was designed for the gesture classification and the classification accuracies were evaluated according to numbers of hidden neurons. After assembling a mobile robot by miniaturizing industrial folk lift, the performance of the proposed method was evaluated in real-time environment. It is effectively demonstrated that the proposed method has a great potential for tele-manipulation of mobile robot with high classification accuracy.
Keywords:
Surface Electromyogram, Hand Gesture Recognition, Remote Control, Machine Learning, Artificial Neural Network, Mobile Robot키워드:
표면 근전도, 손동작 인식, 원격 제어, 기계학습, 인공신경망, 이동 로봇1. 서 론
재난 현장이나 방사능 오염 지역 등 사람이 접근하기 어려운 위험한 환경에서 작업하기 위하여 상황을 인식하고, 문제를 파악하고, 스스로 문제를 해결할 수 있는 자율 로봇을 개발하기 위한 다양한 노력이 진행되고 있다(1). 그러나, 현재까지는 완전 자율 로봇을 개발하는 것은 한계가 있는 상황이다. 이러한 부분을 해결하기 위한 방법으로 원격으로 로봇의 동작을 제어하고자 하는 연구가 활발하게 진행되고 있다. 전통적인 사람과 로봇의 인터페이스(human-robot interface, HRI) 방식으로는 버튼을 누르거나, 마우스나 조이스틱을 조작하는 방식 등이 있으며, 수술 로봇인 다빈치의 마스터와 슬레이브 시스템을 대표적인 예로 볼 수 있다. 최근에는 가상 현실, 증강 현실 등의 기술이 발달함에 따라 예전보다 직관적인 HRI 기술에 대한 요구가 급격하게 증가하고 있으며, 사람의 동작을 인식하고 이를 로봇의 동작 명령어로 사용하는 동작 인식 기반 HRI에 대한 연구가 활발하게 이루어지고 있다. 사람의 동작을 인식하는 방법에는 닌텐도의 게임 리모컨으로 대표되는 가속도 센서를 이용한 동작 인식 기술, Microsoft사의 KINECT로 대표되는 카메라를 이용한 영상 정보 기반의 동작 인식 기술, 영화 및 애니메이션 제작 등에 활용되는 마커를 이용한 동작 인식 기술 등이 있다(2,3). 그러나 가속도 신호는 노이즈에 민감하고, 영상 기반 기술은 카메라가 있는 장소에서만 활용이 가능하며, 마커를 이용한 기술 또한 제한된 공간에서만 적용될 수 있고, 마커의 수가 많아지면 구분이 어려워지는 한계가 있다. 최근에는 관성측정장치(inertia measurement unit, IMU) 기반의 동작 인식에 대한 연구도 수행되고 있으나, 많은 수의 IMU를 활용하여 측정 데이터 양이 많고, 별도로 제작된 장치를 착용해야 하는 단점이 있다(4).
최근에는 사용자의 신체에서 발생하는 생체 신호의 하나인 근전도(electromyogram, EMG) 신호를 이용하여 동작을 인식하고자 하는 연구가 다양하게 진행되고 있다. 근전도는 골격근의 운동에 대하여 발생하는 근육의 활동에 대한 전기적 신호이며, 동작이 발생하기 전에 측정이 가능하여 빠른 동작 인식이 가능하므로 큰 관심을 받고 있다. Kim 등은 근전도 신호 기반 손동작 인식 기법을 이용하여 한국어 수화를 인식하고자 하는 연구를 제안하고 성능 평가를 수행하였으며(5), Francesco 등은 근전도 신호를 측정하여 개별 손가락의 동작을 인식하는 것이 가능하다는 것을 확인하였다(6). 재활 및 의수 등의 능동 보조 기구의 제어를 위하여 근전도 신호를 이용한 동작 인식 기법을 적용하고자 하는 연구도 활발히 진행되고 있다. Hong 등은 발목 관절의 근전도 신호와 보행 운동의 관계를 확인하고 재활 로봇에 활용하고자 하는 연구를 수행하였다(7). Baeg 등은 전동 의수에 활용하기 위하여 근전도 신호를 이용한 파지력 예측 방법을 제안하였고(8), Choi 등은 근전도 기반 동작 인식 기능을 갖는 로봇 의수를 설계하고 동작 구현 성능을 평가하였다(9). Sohn 등은 기계학습을 이용한 근전도 기반 손동작 인식 시스템을 제안하고, 이를 이용한 다자유도 로봇 의수에 대한 성능 평가를 수행하였다(10,11). Park 등은 동작 인식을 이용한 협동 로봇의 원격 제어 시스템을 제안하고 시스템의 기본 성능을 평가하였다(12). 그러나, 실시간 동작 인식을 주어진 업무를 수행하는 로봇을 원격으로 제어하는 시스템의 인터페이스로 활용이 가능함을 검증하는 데는 더 많은 연구가 필요한 실정이다.
이 연구에서는 사용자의 손동작을 인식하여 모바일 로봇의 이동과 동작을 실시간으로 제어하는 시스템에 대한 성능 평가를 수행한다. 사용자의 손동작 인식을 위해서 근전도 신호를 측정하고 특징을 추출한 후 인공신경망을 이용하여 분류를 수행한다. 사용자의 피부에서 근전도 신호를 측정할 수 있는 장치를 이용하여 6가지 손동작에 따른 근전도 신호를 측정하고, 측정된 신호에 대하여 특징을 추출한다. 추출된 특징들을 이용하여 인공신경망 분류기의 학습을 수행하고 분류 정확도를 확인한다. 모바일 로봇을 제작하고 인식된 손동작에 따라 미리 정해진 동작을 수행하는 데모를 통하여 손동작 인식을 이용하여 실시간으로 모바일 로봇의 이동과 동작을 제어할 수 있음을 확인한다.
2. 근전도 측정
이 연구에서는 사용자 손의 움직임에 대한 근전도를 측정하기 위하여 Fig. 1과 같이 근전도 측정이 가능한 암밴드 형태의 상용 장치 MYO를 오른팔의 하완에 착용하였다(13). 사용된 근전도 측정 장치는 8채널의 근전도 신호를 피부 표면에서 측정할 수 있으며, 측정된 데이터는 블루투스 통신을 통해 컴퓨터로 실시간으로 전송되고 저장된다. 사용된 근전도 측정 장치의 샘플링 주파수는 200 Hz로 설정되어 있으며 변경이 불가능하다. 근전도 측정 장치가 착용된 부위는 손목을 굽히고 펴는 근육들과 손목의 회전 운동과 손가락의 움직임까지 모두 측정할 수 있는 위치로 결정되었다(10). 근전도 신호를 측정하고 저장하는 과정은 MATLAB을 기반으로 프로그래밍 되었으며, github에서 다운받은 오픈소스 코드를 이 연구에 맞게 수정하여 사용하였다(14). 기본적으로 MYO는 측정된 근전도의 원 데이터를 출력하지 않고, 필터링과 증폭 과정을 수행한 후에 -128에서 128 사이의 정수값을 갖는 “activation”을 출력한다. MYO를 이용하여 10회 손의 동작에 따라 발생한 근전도 신호를 실시간으로 측정하고 그 결과를 Fig. 2(a)에 나타내었고 “activation” 값이 출력된 것을 확인할 수 있다. 이러한 형태의 가공되지 않은 신호에서는 손동작에 따른 특징을 구별하기가 어려우므로 특징 추출과정을 거치게 된다. 이 연구에서는 근전도 연구에서 시간 영역 특징으로 많이 사용되는 절대값평균(mean absolute value, MAV)을 특징값으로 하였으며, 실시간으로 출력된 결과를 Fig. 2(b)에 나타내었다. 절대값평균은 다음과 같은 식으로 표현될 수 있다.
여기서 xi는 측정된 데이터이고, N은 윈도잉 동안 측정된 데이터의 개수이다. 이 연구에서 샘플링 주파수가 200 Hz이고, 윈도잉(windowing) 시간이 0.2초이므로 N의 값은 40이다. 한 가지 손동작에 대하여 측정한 절대값평균을 Fig. 3(a)에 나타내었다. 이 연구에서 사용한 MYO에는 8개의 센서가 있으므로 하나의 손동작에 대하여 센서 위치에 따라 8개의 서로 다른 크기의 근전도 신호가 측정된 것을 확인할 수 있다. 이 연구에서는 효율적인 실시간 손동작 인식을 위하여 특징 데이터의 크기를 줄이는 것이 필요하다. 따라서, 근전도 신호가 증가하고 감소하는 전체 형태를 특징으로 사용하지 않고 각 채널의 출력에서 임계값을 기준으로 증가하는 50개의 데이터만 사용하였다. 또한, 1번 채널부터 8번 채널까지 순서대로 연결하여 하나의 손동작에 대하여 하나의 특성 벡터를 정의하였으며, 반복 측정횟수에 대하여 평균값을 계산하여 결과를 Fig. 3(b)에 나타내었다. 이러한 과정을 통하여 각 손동작에 대하여 400×1 크기의 특징 벡터가 저장된다.
이 연구에서 목표로 한 6가지 손동작을 Fig. 4에 나타내었다. 가위바위보 게임의 가위 모양 동작, 손가락 전체를 펴는 동작, 손가락을 편 상태에서 손목을 왼쪽(안쪽)으로 굽히는 동작, 손가락을 편 상태에서 손목을 오른쪽(바깥쪽)으로 굽히는 동작, 엄지와 중지를 두 번 부딪히는 더블 탭 동작, 주먹을 쥐고 손목을 오른쪽으로 회전하는 롤 동작 등 6가지 동작이다. 각 손동작에 대하여 슬레이브 모바일 로봇의 동작이 정의되며, 손동작을 인식하여 모바일 로봇을 이용한 업무를 수행하게 된다. Fig. 4의 각 손동작에 대해서 근전도 신호를 측정하고, 이로부터 각 손동작에 대한 특성 벡터 6개를 추출하였으며, 그 결과를 Fig. 5에 나타내었다. 각 손동작 형태에 따라 사용하는 근육의 위치가 다르므로, 근전도 측정 장치의 8채널의 근전도 센서에서 측정되는 신호의 크기가 각각 다르게 된다. Fig. 5(c)와 (d)를 비교해 보면, 손목을 왼쪽으로 굽히는 경우에는 6번, 7번, 8번 채널의 근전도 신호가 크게 측정되고, 손목을 오른쪽으로 굽히는 경우에는 2번, 3번, 4번 채녈의 근전도 신호가 크게 측정되는 특징이 관찰된다. 따라서, 각 손동작에 따라 명확하게 다른 형태의 특성 벡터가 추출된 것을 확인할 수 있다. 이러한 특성 벡터들을 이용하여 사용자의 손동작을 인식하고, 분류 알고리듬을 통하여 어떤 손동작이 수행되었는지 인식하게 된다.
3. 손동작 인식
근전도 신호를 이용한 손동작 인식을 위하여 한 가지 동작에 대하여 100회씩 반복하면서 근전도 신호를 측정하였다. 6가지 손동작에 대하여 총 600회의 측정을 수행하였고 학습과 평가를 위한 데이터를 확보하였다. 반복해서 측정하는 동안 근전도 센서의 전극 위치가 변경되지 않도록 주기적으로 점검을 하였으며, 근피로에 의한 데이터의 변화를 방지하기 위하여 충분한 휴식 시간을 확보하였다. 동일한 손동작에 대해서 10회 측정 후에 3분간 휴지기를 가졌으며, 100회 측정 후 다른 손동작에 대한 측정 전에는 10분의 충분한 휴식을 하도록 하였다.
측정된 근전도 신호에 대한 손동작 인식을 위해서 인공신경망 알고리듬을 이용하였으며, MATLAB의 deep learning toolbox를 이용하여 학습과 테스트를 수행하였다. 인공신경망의 분류 성능은 은닉층의 뉴런 수에 따라 달라질 수 있으므로, 하나의 은닉층을 사용하고, 은닉층 뉴런 수에 따른 분류 정확도를 확인하였다. 각 손동작에 대하여 100회씩 측정된 데이터 중에서 60개의 데이터, 6개의 손동작에 대하여 전체 360개의 데이터를 이용하여 학습을 수행하고, 학습에 사용되지 않은 데이터 중 40개, 6개의 손동작에 대하여 전체 240개의 데이터를 이용하여 테스트를 수행하였다. 학습 과정에서는 학습 데이터의 70 %를 학습에, 15 %를 검증에, 나머지 15 %를 평가에 활용하였다. 은닉층 뉴런 수에 따른 분류 정확도 변화는 Table 1에 나타내었다. 은닉층의 뉴런 수가 10개까지 증가할 경우 분류 정확도가 지속적으로 증가하지만, 10개 이후에는 다시 감소하는 것을 확인할 수 있으며, 결과를 바탕으로 이 연구에서 사용한 인공신경망 모델은 은닉층의 뉴런 수를 10개로 결정하였다.
학습 데이터 수에 따른 분류 정확도 차이를 확인하기 위하여 각 손동작에 대하여 측정된 100개의 근전도 데이터 중 10개부터 60개까지의 데이터를 이용하여 학습을 수행하고, 각 손동작에 대하여 학습에 사용하지 않은 40개의 데이터를 이용하여 평가를 수행하였다. 은닉층의 뉴런 수는 10개로 하였다. 학습 데이터 수에 따른 분류 정확도를 Table 2에 나타내었다. 각 손동작에 대하여 10개의 데이터를 이용하여 학습한 경우에는 97.9 %의 분류 정확도를 보였으나, 학습 데이터 수를 증가시킬수록 분류 정확도가 증가하여 40개 이상의 데이터를 이용하여 학습할 경우 100 %의 분류 정확도를 갖는 것을 확인할 수 있다. 각 손동작에 대하여 최대 40개의 데이터만으로 학습을 수행해도 매우 우수한 분류 정확도를 가질 수 있음을 확인할 수 있다. 각 손동작에 대하여 10개의 학습 데이터를 이용한 경우에 대한 분류 테스트 결과를 Fig. 6에 나타내었다. 손가락 전체를 펴는 동작이 가위 모양 동작, 손목을 바깥쪽으로 굽히는 동작이 손가락을 펴는 동작으로 잘못 분류된 경우가 발생하였는데, 정확한 동작이 이루어지지 않은 것이 원인인 것으로 판단된다.
4. 모바일 로봇 제어
이 연구에서 제안된 손동작 인식 시스템의 활용 가능성을 확인하기 위하여 손동작을 인식하고 실시간으로 모바일 로봇의 동작을 제어하는 데모 실험을 수행하였다. 실험을 위하여 Fig. 7에 나타난 바와 같이 소형 지게차를 LEGO MINDSTORMS EV3 모델을 이용하여 제작하였다(15). 지게차의 포크 구동부는 체인을 이용하여 단순한 형태로 제작하였다. 지게차의 전후좌우 구동을 위하여 두 개의 모터와 포크의 상하 이동을 위하여 추가적으로 두 개의 모터를 사용하였다. 손동작 인식을 이용한 모바일 로봇의 제어를 위하여 다음과 같이 실험 환경을 구축하였다. 근전도 측정 장치를 이용하여 손동작에 따른 근전도 신호를 측정하고 블루투스 통신을 통하여 노트북으로 데이터가 전송된다. 노트북에서는 MATLAB으로 구현된 인공신경망 알고리즘을 이용하여 측정된 근전도 신호에 해당하는 손동작을 실시간으로 인식한다. 노트북과 모바일 로봇은 유선 USB 통신으로 연결되어 있으며, 인식된 손동작에 대하여 미리 정의된 모바일 로봇의 동작을 구현하도록 한다. 제안된 제어 시스템의 구성도를 Fig. 8에 나타내었다. 6가지 손동작에 대하여 미리 지정된 모바일 로봇의 동작을 Table 3에 정리하였다.
손동작 인식에 따른 모터 출력 결과를 Fig. 9에 나타내었다. 각 모터에서 측정된 회전 각도를 측정하였으며, 손동작을 지속하고 있는 약 0.5초간 회전 각도가 증가하는 것을 확인할 수 있다. 1번 모터와 4번 모터는 차량의 전진과 후진을 위하여 차량의 좌우에 위치하고 있고, 2번 모터와 3번 모터는 포크의 상하운동을 구현한다. Fig. 9(a)의 가위 모양 손동작에 따라 차량이 전진하므로 회전각이 양의 방향으로 증가하고, Fig. 9(b)의 손가락 전체를 펴는 동작에 따라 차량이 후진하므로 회전각이 음의 방향으로 증가하는 것을 확인할 수 있다. 또한 Fig. 9(c)와 (d)의 손목을 왼쪽과 오른쪽으로 꺾는 손동작에 따라 차량이 왼쪽과 오른쪽으로 이동하므로 1번과 4번 모터의 회전 방향이 반대가 되는 것을 확인할 수 있다. Fig. 9(e)의 더블 탭 동작에 따라 포크가 하강하므로 2번과 3번 모터의 회전각이 양의 방향으로 증가하고, Fig. 9(f)의 롤 동작에 따라 포크가 상승하므로 2번과 3번 모터의 회전각이 모두 음의 방향(반대 방향)으로 증가하는 것을 확인할 수 있다. 손동작 인식을 이용한 실시간 모바일 로봇의 제어 결과를 Fig. 10에 나타내었다. 지게차를 이용하여 물건을 지정된 장소에 적재하는 상황을 구현하였다. Fig. 10(a) ~ (f)에 나타난 바와 같이 각 손동작 인식 전과 후의 상태에 대한 사진을 통하여 모바일 로봇이 손동작 인식 후 지정된 동작을 정확하게 수행하는 것을 확인할 수 있다.
5. 결 론
이 연구에서는 실시간으로 사용자의 근전도 신호를 측정하고, 인공신경망을 이용하여 손동작을 분류한 후 손동작에 따라 미리 정의된 작업을 모바일 로봇이 수행하는 시스템에 대한 실험 평가를 수행하였다. 암밴드 형태의 근전도 측정 장치를 이용하여 사용자의 손동작에 따른 근전도를 측정하고 특징을 추출하여 분류기의 학습을 수행하였다. 인공신경망의 은닉층 뉴런 수와 학습 데이터 수의 변화에 따른 분류 정확도를 확인하여 높은 분류 정확도를 갖는 분류기를 구성하였다. 슬레이브 모바일 로봇으로 지게차 소형 모델을 제작하여 실시간으로 손동작을 인식하고 손동작에 따라 지정된 동작을 정확하게 수행하는 것을 확인하였고, 이를 이용하여 지정된 임무를 성공적으로 수행하였다. 이 연구를 통해 근전도 신호만을 이용하여 손동작을 인식하고 이를 바탕으로 모바일 로봇의 동작을 원격으로 제어할 수 있음을 확인하였다. 근전도 신호의 단점으로는 사용자 및 센서 위치 변화에 따라 신호 차이가 발생하는 것을 고려할 수 있는데, 측정된 신호의 정규화를 통해 문제를 해결할 수 있으며, 후속 연구에서는 이러한 부분이 고려되고 반영될 예정이다. 또한 센서 위치의 최적화와 센서 수의 최소화를 위한 연구도 진행할 예정이다. 이러한 연구는 재난 현장 등 사람이 접근하기 어려운 환경에서 로봇의 업무 수행을 위한 원격 조종 등에 활용될 수 있을 것으로 기대되며, 가상 현실과 증강 현실 등을 이용한 게임의 인터페이스 등으로도 활용될 수 있을 것으로 기대된다.
Acknowledgments
이 연구는 과학기술정보통신부 및 정보통신기획평가원의 Grand ICT연구센터지원사업의 연구결과로 수행되었음 (IITP-2020-2020-0-01612). 또한 이 논문은 2020년도 정부(교육부)의 재원으로 한국연구재단의 지원을 받아 수행된 기초연구사업임(No. 2020R1I1A3074547).
References
- Defense Advanced Research Projects Agency, 2015, DARPA Robotics Challenge (DRC) (Archived), https://www.darpa.mil/program/darpa-robotics-challenge, (accessed 10.19. 2020).
- https://en.wikipedia.org/wiki/Wii, (accessed 10.19. 2020)
- https://en.wikipedia.org/wiki/Kinect, (accessed 10.19. 2020)
- Xsens, 2020, www.xsens.com, (accessed 10.19.2020).
- Kim, J. S., Jang, W. and Bien, Z., 1996, A Dynamic Gesture Recognition System for the Korean Sign Language, IEEE Transactions on Systems, Man and Cybernetics-Part B: Cybernetics, Vol. 26, No. 2, pp. 354~359. [https://doi.org/10.1109/3477.485888]
- Francesco, V. G. T., Ramos, A., Fahmy, A., Acharya, S., Etienne-cummings, R. and Thakor, N. V., 2009, Decoding of Individuated Finger Movements Using Surface Electromyography, IEEE Transactions on Biomedical Engineering, Vol. 56, No. 5, pp. 1427~1434. [https://doi.org/10.1109/TBME.2008.2005485]
- Hong, J. H., Chun, H. Y., Jeon, J. H., Jung, S. I., Kim, J. O. and Park, K. H., 2011, Experimental Study on Walking Motion by Ankle Electromyograms, Transactions of the Korean Society for Noise and Vibration Engineering, Vol. 21, No. 10, pp. 934~939. [https://doi.org/10.5050/KSNVE.2011.21.10.934]
- Kim, Y., Lee, D., Park, H., Park, J., Bae, J. and Baeg, M., 2017, Wrist and Grasping Forces Estimation using Electromyography for Robotic Prosthesis, Journal of Korea Robotics Society, Vol. 12, No. 2, pp. 206~216. [https://doi.org/10.7746/jkros.2017.12.2.206]
- Lee, S., Choi, Y., Yang, S., Hong, G. Y. and Choi, Y., 2019, Development of Multi-DOFs Prosthetic Forearm based on EMG Pattern Recognition and Classification, Journal of Korea Robotics Society, Vol. 14, No. 3, pp. 228~235. [https://doi.org/10.7746/jkros.2019.14.3.228]
- Yuk, D. G. and Sohn, J. W., 2018, Hand Gesture Recognition Using Surface Electromyogram, Transactions of the Korean Society for Noise and Vibration Engineering, Vol. 28, No. 6, pp. 670~676. [https://doi.org/10.5050/KSNVE.2018.28.6.670]
- Jang, H. M. and Sohn, J. W., 2020, Design of Prosthetic Robot Hand and Electromyography-Based Hand Motion Recognition, Journal of the Korean Society for Precision Engineering, Vol. 37, No. 5, pp. 339~345. [https://doi.org/10.7736/JKSPE.019.138]
- Jeon, S. Y. and Park, B. Y., 2020, Teleoperation Control of ROS-based Industrial Robot Using EMG Signals, Journal of Embedded Systems and Applications, Vol. 15, No. 2, pp. 87~94.
- Visconti, P., Gaetani, F., Zappatore, G. A. and Primiceri P., 2018, Technical Features and Functionalities of Myo Armband: An Overview on Related Literature and Advanced Applications of Myoelectric Armbands Mainly Focused on Arm Prostheses, International Journal on Smart Sensing and Intelligent Systems, Vol. 11, No. 2, pp. 1~25. [https://doi.org/10.21307/ijssis-2018-005]
- Github, 2020, https://github.com/Lif3line/Myo-MATLAB-Interface-EMG-GYRO-ACCEL/blob/master/getMyoDataRealTime.m, (accessed 10.19. 2020)
- Lego education, 2020, https://education.lego.com, (accessed 10.19. 2020)
Jung Woo Sohn received his Ph.D. degree in the Department of Mechanical Engineering from Inha University in 2008. He is now working as an associate professor in the Department of Mechanical Design Engineering of Kumoh National Institute of Technology. He has interests on the design and control of smart systems using smart materials, smart interaction system based on gesture recognition and haptic system and vibration-based prognostics and health management (PHM).