OpenBCI + OpenViBE + Python: 实时运动想象小球控制系统
本项目实现了一个基于运动想象 (Motor Imagery, MI) 的脑机接口闭环系统。通过 OpenBCI 采集脑电信号,利用 OpenViBE 进行实时 CSP+LDA 处理,并通过 LSL 协议将控制信号传输给 Python (PyGame),实现受试者通过想象左手/右手运动来实时控制屏幕上小球的左右移动。
硬件需求
- OpenBCI Cyton Board (8 通道) + USB Dongle(淘宝 DeepBCI + USB Dongle 作为平替)
- UltaCortex 电极帽
软件环境
本项目涉及两个独立的 Python 环境,请严格区分配置:
1. OpenViBE 环境 (后端处理)
- OpenViBE: v3.7.0 (64-bit)
- Internal Python: Python 3.10.x (64-bit)
- 依赖库:
numpy<2.0(必须低于 2.0),pylsl - *注意:必须在
openvibe.conf中正确配置 Python 3.10 的 DLL 路径。
- 依赖库:
2. Python 游戏环境 (前端显示)
- External Python: Python 3.13 (或任意 3.x 版本)
依赖库:
pip install pygame pylsl numpy
numpy 1.26.4
pylsl 1.16.2
电极布局与连接
为了获得最佳的 CSP 空间滤波效果,建议使用以下 8 通道布局(覆盖感觉运动皮层):
| OpenBCI 引脚 | 电极位置 | 作用 |
|---|---|---|
| N1P | C3 | 左侧运动区核心 |
| N2P | C4 | 右侧运动区核心 |
| N3P | Cz | 中线参考 |
| N4P | FC1 | 前邻居 (辅助 C3) |
| N5P | FC1 | 前邻居 (辅助 C4) |
| N6P | CP1 | 后邻居 (辅助 C3) |
| N7P | CP2 | 后邻居 (辅助 C4) |
| N8P | Pz | 顶叶辅助 |
⚠️ 关键提示: 参考电极 (SRB2) 接左耳垂,地线 (BIAS) 接右耳垂。也可以对调


