近年来,人机交互系统出现了大量发展前景。本文概述了一种新型机器人设备与开源软件的集成,该集成可快速实现一系列交互功能。随后,我们介绍了一种神经康复应用的临床应用。
近年来,人机交互系统出现了大量发展前景。本文概述了一种新型机器人设备与开源软件的集成,该集成可快速实现一系列交互功能。随后,我们介绍了一种神经康复应用的临床应用。
近期针对交互式设备在长期治疗训练中应用的研究,揭示了机器人技术结合图形化及其他形式生物反馈的新前景。以往的人机交互系统需要为每种机器人分别编写不同的软件指令,导致每次有新系统出现时都会产生不必要的开发开销。例如,当为某一特定机器人编写了触觉/图形虚拟现实环境以提供触觉反馈后,若要更换为另一种机器人,则必须重新编写程序。然而,开源社区近期提出了一种类封装(wrapper class)方法,能够使不同机器人产生几乎相同的响应。这一方法可使全球研究人员利用共享代码开展相似实验,从而在模块化地“替换”一种机器人为另一种时,不会影响开发时间。本文阐述了成功创建并实现一种机器人封装类,并将其集成到开源的 H3DAPI 中,该 API 整合了各类机器人最常用的软件指令。
引言
在所有人机交互(HMI)领域中,对直观且高效交互环境的需求日益增长。众多行业对人机交互的依赖程度持续加深,例如:康复机器人、汽车工业、金属制造、包装机械、制药、食品、饮料和公用事业。这些行业中采用的技术包括:显示终端、个人计算机以及人机交互软件。这些技术可组合使用,以实现无限多样的功能。
机器人可用于促进与用户的直接互动,例如担任音乐教师。例如,早稻田大学的研究人员开发了一款能够演奏萨克斯管的机器人,用以教授人们演奏技巧,并理解师生之间的互动过程1。其他机器人研究者则研制了一种基于视觉的飞行机器人,以探索人工智能如何发展出与环境之间的智能交互能力2。本文的重点则集中在康复机器人领域。
在研究与工业领域,新产品和用户需求的变化速度持续加快。这些需求对可扩展性提出了更高的挑战。因此,代码设计已成为及时满足这些需求的关键环节。一个优秀的架构方案应具备易于互换的图形-机器人系统,并包含驱动支持。H3DAPI 架构正是为满足这些需求而设计,因此已开发出相应的封装类。此外,H3D 专为虚拟现实环境设计,适用于康复机器人等应用场景。
神经康复机器人旨在利用机器人辅助康复专业人员。这些机器人提供的辅助以力场的形式实现。诸如 Shadmehr 和 Mussa-Ivaldi 等运动指令研究者曾使用力场来促进运动适应,并发现:1)针对外加力场的适应可在多种类型的运动中发生,包括但不限于伸手运动;2)适应效应可泛化至经过外部力场相同区域的不同运动3。来自生物力学工程师在基于表现的渐进式机器人辅助治疗方面的研究表明,重复性、任务特异性、目标导向的机器人辅助治疗在减轻中风后患侧上肢运动功能障碍方面是有效的4,但其确切的治疗效应和参数仍处于研究之中。
感觉反馈会影响学习与适应过程。因此,下一个合乎逻辑的问题是:人为增强此类反馈的强度是否能够促进更快或更彻底的学习/适应?一些研究发现,施加更强的感觉反馈力或视觉提示以放大错误,可提供足够的神经刺激,从而促进更高水平的适应/学习5,6。这种现象被称为“误差增强”(error augmentation)。该现象可能源于以下机制:当运动控制行为的结果偏离理想状态时,我们的内部模型会根据误差的大小进行自我调整。因此,随着内部模型逐渐接近外部环境的真实状态,执行任务时的误差也随之减小。
研究持续支持通过长期练习功能相关的活动来恢复功能,尽管当前许多医疗政策限制了患者与治疗师相处的时间。一个引人关注的问题是,这些新技术的应用是否能够超越简单地增加现有治疗模式的剂量。人机交互研究在运动学习领域揭示了新的前景,在某些情况下可为治疗过程带来额外价值。结合计算机显示的专用机器人设备可以增强错误反馈,从而加速、加强或触发运动再学习。本文将介绍一种利用已开发系统进行临床干预的方法学,作为此类技术应用的一个实例。
1. 为机器人建立 HAPI 包装类
extern "C" {
#include
}
#include
注意:由于所包含的库是用 C 语言编写的,而 H3DAPI 是用 C++ 编写的,因此需要使用 extern "C" 来解决编译器的名称修饰问题。
bool initHapticsDevice(int);
bool releaseHapticsDevice();
void updateDeviceValues(DeviceValues &dv, HAPITime dt);
void sendOutput(HAPIHapticsDevice::DeviceOutput &d, HAPITime t);
2. HAPI 文库构建
cmake .
sudo make
sudo make install
3. H3D 包装类
cmake .
sudo make
sudo make install
4. 有限状态机
5. 应用:脑卒中患者的康复
6. 代表性结果:
当正确执行该方案后,一旦将 节点加载到 H3DViewer 或 H3DLoad 中,WAM 设备应被识别并初始化。如果将 WAM 替换为另一台机器人,则代码本身无需更改。

图1. 受试者坐在触觉/图形装置前。

图 2. 受试者与物理治疗师共同坐在触觉/图形装置前。

图3. 脑卒中患者康复训练的配置。A) 患者与治疗师共同工作,坐姿状态下使用大工作空间的触觉/图形显示设备进行运动训练。治疗师为患者提供提示,并可根据患者的具体需求调整训练方案。机器人施加使肢体偏离目标的力,视觉反馈系统则放大光标误差。B) 典型慢性脑卒中患者逐日功能改善情况。每个圆点代表一个持续2分钟的典型功能性运动区块所测得的中位误差。尽管该患者在为期两周的训练期间总体表现出进步和获益,但并非每天都持续改善。
这种包装类实现方法使得在使用 H3DAPI 时,无需更改源代码即可使用不同的机器人。具体而言,那些已在 H3D 中编写了触觉/图形环境并使用 Phantom 机器人测试其实验的研究人员,将能够使用 Barrett WAM 机器人开展相同或类似的实验,反之亦然。此类设备无关的交叉通信对国际康复机器人研究具有重要意义,有助于加快触觉/图形环境的开发,促进国际科研合作以及不同研究实验室之间的交流。
康复机器人领域尚未揭示运动学习中涉及的众多参数。在触觉/图形开发过程中,耗时的步骤之一是编译时间。由于康复参数众多,加之每个程序都需要编译时间,导致测试所有可能分组组合的开发周期迅速增加。H3D无需编译,能够快速开发大量虚拟现实场景,这对于希望深入探究各种训练方案效果的研究人员而言具有显著优势。
这种“硬编码”包装类集成方法的局限性在于,每次发布新的 H3DAPI 版本时,都必须重复此过程。将包装类集成到最新 H3DAPI 版本中的可能改进方法是:将包装类独立于 H3DAPI 单独创建,然后将其编译为 *.so 库文件。这样可使您的类与原始 H3DAPI 发行版本相互隔离。
本教程中的包装类由 Ian Sharp 版权所有。
感谢 Brian Zenowich、Daniel Evestedt 和 Winsean Lin 提供的技术支持。
| 姓名 | 公司 | 目录编号 | 评论 |
|---|---|---|---|
|