本教程展示如何使用 OpenBCI 板和 cVEP 开源应用,通过意念控制 Maqueen V2 机器人。
项目使用软硬件:
OpenBCI 板(Ganglion 板或 Cyton 板)
EEG 电极 + 电缆
cVEP 应用(由 Jason Farquhar 为 MindAffect 开发)
Maqueen V2 机器人
Micro:bit
本例中我使用了 Ganglion 板。请确保访问 OpenBCI 文档页面。所有关于设置和规格的必要信息都包含在那里。
我们正在使用 EEG 信号,所以请记住,正如 Ganglion 规格所述:

并且所有导线都应连接到顶部的引脚:

对于头带,您可以使用此 GitHub 页面提供的经济实惠的解决方案。您需要做的就是 3D 打印下面的 stl 模型:
attachment.stl (2x)
headstrap_integrated_electrodes.stl (1x)
然后组装元件并用 M3 螺丝和魔术贴连接。此外,OpenBCI 电极完美契合孔的直径。

为了获得更好的信号质量,我还建议使用额外的海绵并浸湿水,如下图:

您可以在此处下载 cVEP 开源应用。
在他们的文档网站上,您将找到关于如何设置环境的所有必要信息。如果您是编程新手,我建议安装您选择的 IDE(我使用 Intellij)。
如果安装成功,您现在可以测试该应用并执行此命令(使用 fakedata_test.json):
python -m mindaffectBCI.online_bci
如果一切正常并且应用启动,您应该看到此菜单:

您可以开始测试 cVEP 应用。尝试进行校准,然后进行提示预测。如果在预测选项期间您看不到系统用蓝色标记预测的选项,请查看日志。
如果您看到此错误:

请转到 decoder.py 文件,在第 510 行将:
np.bool改为 np.bool_
同时请确保您安装了 Java 1.8 或更低版本。Utopia 服务器应用中的某些功能在高于 1.8 的 Java 版本上将无法工作。
如果您进入主菜单中的电极质量选项,看到所有电极的信号都固定为 0.5,您会注意到有问题。
现在 cVEP 应用可以工作了,我们可以修改配置,使其能与 Maqueen V2 机器人配合工作。
在这种情况下,请访问此 GitHub 仓库并下载它。
您现在可以将文件从此仓库复制到 cVEP 应用仓库的相应路径。
请确保在 movement_output.py 中设置正确的端口。您可以在设备管理器/端口中验证端口。
现在,您可以使用 fakedata_test_maqueen.json 运行 cVEP 应用来测试方向预测。
校准应该看起来像这样:

通过 USB 端口将 Micro:bit 微控制器连接到计算机。
访问 python.microbit.org/v/3 并从 microbit_maqueen.py 复制代码,然后将其粘贴到网站上的脚本字段中:

您现在可以将其发送到 micro:bit。
如果您有一个额外的加载器,您所需要做的就是将 micro:bit 与 Maqueen 机器人连接。
我建议使用更长的 USB type B 数据线来连接 micro:bit。随微控制器附送的那根非常短,测试 Maqueen 机器人会很困难。
如果您没有加载器,那么您需要修改文件。这非常简单:
noisetag_bci_maqueen.json – 删除 calibration_symbols 字段中的数组 [“up”, “down”]
movement_output.py – 删除函数 down 和 up,并从 map objectID2Actions 中删除值 5: up, 6: down(第52行)
robot_control.txt – 删除第3行:up, down,
如果您想修改机器人运动或添加新功能,您有很多方法可以尝试。
成功设置后,我们现在可以开始测试用我们的意念控制机器人了!
使用 noisetag_bci_maqueen.json 配置运行 cVEP 应用。
如果应用启动,您现在可以运行 movement_output.py 脚本,该脚本将监听系统预测。您应该在日志中看到此信息:

您现在可以开始校准解码器。
但在那之前,请确保您的电极质量良好且稳定。
如果校准性能较低,您可以重新校准,或者增加 noisetag_bci_maqueen.json 中 presentation_args.ncal 字段的数字。
一般来说,数据越多越好。此外,电极质量对校准过程至关重要。
校准模型后,您可以进入菜单中的自由输入选项,并开始控制机器人!

我希望您觉得本教程有帮助!