Gorio Tech Blog search

Brain-Computer-Interface controlled robot via RaspberryPi and PiEEG 요약 설명

Read in English

|
목차

이번 글에서는 Brain-Computer-Interface controlled robot via RaspberryPi and PiEEG 논문의 핵심 포인트만 간단히 정리한다.

  • 2022년 2월 4일(Arxiv)
  • Rakhmatulin, Ildar, Volkl, Sebastian.
  • 논문 링크

영문판 보기


요약

  • 이 논문은 두피의 전기 신호를 측정하는 저가의 뇌전도(EEG) 장비로 외부 물체를 제어하는 방법을 살펴본다. 눈 깜빡임으로 제어하는 시연에서 장치는 주파수 범위 2개 각각에서 10건 중 8건을 올바르게 작동했으며, 다른 시스템과 비교하지 않았다.
  • PiEEG는 Raspberry Pi 실드와 신호를 필터링하고 Fast Fourier Transform으로 신호를 주파수 성분으로 분해하는 오픈소스 소프트웨어를 결합한다. 저자들은 이렇게 얻은 신호로 발광 다이오드(LED)와 무선 조종 장난감을 제어했으며, 소프트웨어 지연은 1초라고 보고했다. Fast Fourier Transform에 대해서는 고속 푸리에 변환 설명을 참조하라.
  • 이 시연은 눈 깜빡임으로 발생하는 신호 왜곡인 blink artifact를 이용하며, 사용자마다 주파수와 진폭을 설정해야 한다. 논문은 참가자 수와 상세한 실험 절차를 보고하지 않아 제시된 성공률을 해석하는 데 한계가 있다.

Introduction

저자들은 측정한 신호로 외부 장치를 제어하는 뇌-컴퓨터 인터페이스(BCI)를 실험할 때 드는 기술적 부담과 비용을 낮추고자 한다. 일반적으로 EEG에서 원치 않는 artifact로 여겨지는 눈 깜빡임을 의도적인 제어 신호로 사용하며, 낮은 효율과 제한된 동작 자유도를 한계로 인정한다.

1. Technical details

PiEEG 실드는 전극 채널 8개와 기준 및 바이어스 연결부를 제공하며, 24-bit 해상도와 250 samples per second (SPS)부터 16 kSPS까지의 Serial Peripheral Interface (SPI) 데이터 전송을 지원한다. 저자들은 건식 전극을 사용하고 두피 전극 배치 방식인 International 10-20 system에 따른 위치를 그림으로 제시한다.

이 사양은 전극 채널 8개, 24-bit 해상도, 명시된 250 SPS부터 16 kSPS까지의 전송 범위 등 시연에 사용한 신호 취득 하드웨어를 보여 준다.

PiEEG 특성
PiEEG 특성

왼쪽은 신호 취득 과정과 제어 가능한 장치를 개략적으로 보여 주고, 오른쪽은 International 10-20 system의 두피 위치 8곳을 보여 준다.

PiEEG 사용과 전극 8개 배치
PiEEG 사용과 전극 8개 배치

2. Software

C 정적 라이브러리는 Raspberry Pi를 전극 신호를 디지털화하는 analog-digital converter (ADC)에 연결하고 샘플링 속도와 레지스터를 설정한다. 이후 신호 처리는 Python이 담당한다. 저자들은 모든 채널에서 눈 깜빡임 반응이 나타났다고 보고했으며, 시연에는 10-20 system의 두피 위치인 Fz에 전극 1개를 선택했다.

표시된 채널에서 동시에 나타나는 신호 변화는 저자들이 눈 깜빡임을 탐지하기 위해 Fz 전극 1개를 선택한 근거가 된다.

PiEEG에서 눈 깜빡임 중 측정한 실시간 EEG 신호
PiEEG에서 눈 깜빡임 중 측정한 실시간 EEG 신호

3.1 Device setup

이 장치 구성은 PiEEG를 5 V 배터리로 구동하는 Raspberry Pi 3 또는 4에 연결하며, 논문은 전력망을 사용하지 말라고 명시한다. 1–30 Hz 대역 통과 필터로 선택한 주파수의 신호를 남기고, Fast Fourier Transform으로 얻은 주파수 성분을 임계값 기반 탐지에 사용한다.

LED 시연 2개는 각각 3–7 Hz와 1–3 Hz를 감시하며, GPIO.BOARD 모드에서 general-purpose input/output (GPIO) 핀 31과 35를 각각 사용한다. 저자들은 범위 2개 모두에서 10건 중 8건이 올바르게 작동했고, 장난감의 무선 리모컨 버튼에 연결해 장난감을 움직이는 데 성공했다고 보고했다. 참가자 수와 별도로 수치화한 장난감 제어 결과는 제시하지 않았다.

신호 그래프, 주파수 스펙트럼, 임계값과 켜진 보드 LED는 출력 31을 사용하는 3–7 Hz 제어 조건을 보여 준다.

3–7 Hz 조건의 신호와 주파수 스펙트럼 출력 31의 LED가 켜진 PiEEG 보드
3–7 Hz 주파수 범위를 이용한 LED 제어

두 번째 스펙트럼과 켜진 LED는 출력 35를 사용하는 1–3 Hz 조건을 보여 준다.

1–3 Hz 주파수 범위를 이용한 LED 제어
1–3 Hz 주파수 범위를 이용한 LED 제어

전선이 PiEEG 장치와 장난감 무선 리모컨에 표시된 버튼 2개를 연결하며, 탐지한 신호를 외부 제어기로 전달하는 방식을 보여 준다.

무선 조종 장난감의 리모컨 버튼 연결
무선 조종 장난감의 리모컨 버튼 연결

Conclusion

저자들은 눈 깜빡임 제어를 쉽게 접근할 수 있는 시연으로 설명하며, 로봇 제어에 가장 좋은 방법이라고 주장하지 않는다. 실시간 지연은 1초라고 보고했으며, SPI로 직접 전송하면 별도의 무선 또는 직렬 송신기가 필요하지 않다고 설명한다. OrangePi와 BananaPi 보드에 연결할 가능성도 제시한다.

부록

  • 소스 코드는 https://github.com/Ildaron/EEGwithRaspberryPI/tree/master/Robot_control 에서 확인할 수 있다. 논문에는 GNU General Public License v3.0이 명시되어 있다.

짧은 생각

하드웨어와 신호 처리에 관한 설명은 시연을 구체적으로 보여 주지만, 보고된 실험 횟수가 적고 참가자와 절차에 관한 정보가 없어 여러 사용자에게 적용했을 때의 신뢰성을 확인하기 어렵다. 사람마다 주파수와 진폭을 조정해야 한다는 점과 보고된 1초 지연은 실제 사용에서 고려할 사항이다.