研究案例

CASES

基于 EEG 的实时机械臂控制

发布时间:2026-07-03作者:TobiasBN1005来源:OpenBCI Community

本教程演示如何仅使用 OpenBCI Cyton 板采集的 Alpha 波活动,对一台 6 自由度(6-DOF)机械臂(或任意执行器)进行实时控制。

项目动机与总体目标

本项目旨在探索如何通过脑活动的实时解码来控制外部系统,作为面向运动功能障碍人群(更具体地,帕金森病患者)的辅助神经技术的一步。

本教程展示的是一个简化版概念验证:利用 Alpha 波 EEG 信号实时控制机械臂。需要说明的是,Alpha 波调制并不等同于真正的运动意图解码,但它能提供稳定、可复现的神经信号,足以用来验证完整的实时流水线:

EEG 信号 → 信号处理 → 执行器控制

本项目的更远目标是开发一个能够检测真实运动意图、并通过肌肉电刺激将其转化为辅助运动的系统。长期动机有一点个人色彩:希望未来能做出一个系统,帮助我已经患帕金森超过 10 年的父亲。

所需材料

  • OpenBCI Cyton 生物传感板(8 通道)

  • Ultracortex "Mark IV" EEG 头戴设备

  • USB Dongle(无线收发器)

  • 6 自由度机械臂(请与我们销售工程师联系

  • Teensy 4.1 微控制器(修改 Arduino 代码后也可用其他 MCU)

  • 杜邦线

  • 6V 电源(给舵机供电)

  • 面包板

  • 红色 LED

  • 面包板跳线

  • Arduino IDE

  • Python(配齐 EEG 处理所需的库)

第一步:硬件搭建

自行组装机械臂或其他执行器。我将它固定在一块木板上,以模拟人臂的解剖学姿态并防止倾倒。所有舵机由 6V 电源供电,且与 Teensy 4.1 共地。舵机连接至 Teensy 4.1 的引脚,同时并联了一只 LED(作用是作为诊断工具,用来观察数据流是否在运行)。

下图是我的搭建,供参考:

image-1-1024x700.png

将 USB Dongle 插入电脑,戴上头盔并将 Cyton 板调至舒适的头部位置后开机(别忘了夹上耳夹,分别作为参考电极和偏置电极)。

非常重要的一点:Fp1 电极必须稳定且紧贴额头,因为我们将通过该通道测量 Alpha 波活动。

下图是戴在我头上的 EEG 头盔:

image-2-1024x688.png

第二步:必要代码与原理

Arduino 端

先用 Arduino IDE 将以下 Arduino 代码烧录到 Teensy 4.1。

Teensy 监听来自 Python 端的串口输入:

  • 收到 '1'→ LED 亮起,舵机在最小与最大角度之间往复摆动

  • 收到 '0'→ LED 熄灭,舵机停止运动


由此构成一个简单但稳健的执行器控制系统。

Python 端

接着运行以下 Python 代码,实时读取 Cyton 板的 EEG 信号:先依次施加低通、高通、Welch 法 PSD(功率谱密度)滤波,以平滑信号并提取 Alpha 波活动。程序中预设了一个 Alpha 阈值——当 Alpha 能量超过阈值时,向 Teensy 4.1 串口发送 '0'低于阈值时发送 '1'(原文此处 'G1'疑为笔误,按上下文应为 '1')。

原理说明

关键在于:你可以实时调控自己的 Alpha 波活动——要么通过保持平静 vs. 紧张的情绪切换,要么像我这样做:闭眼 / 睁眼(分别对应 Alpha 活动增强与减弱)。这是因为大脑枕叶的视觉皮层在闭眼时不再处理外部视觉刺激,回归"空闲态"(这一现象也称空闲节律 / idle rhythms),此时 Alpha 活动会稳定在较高的恒定水平。

第三步:演示

文内附有一段视频演示,展示仅通过 EEG Alpha 调制对机械臂实现的实时控制。

第四步:联系我 

如果对搭建、代码或信号处理有疑问,欢迎随时联系:

  • Email:tobiasbn05@gmail.com

  • WhatsApp:+45 30 14 43 13

  • https://www.linkedin.com/in/tobias-bendix-nielsen-5b424228a/

×
添加微信好友,获取产品报价

点击复制微信号

微信号:openbci-cn

复制成功
微信号:
添加微信好友,了解更多产品
去微信添加好友吧
扫码获取报价

电话

189-1845-2050
工作时间:09:00~22:00

微信

二维码扫码获取报价
TOP