技术文章及通讯

使用MATLAB、虚拟现实和跑步机来研究人类如何使用视觉输入来控制他们的步态

肖恩·奥康纳,西蒙弗雷泽大学


除非赶时间,人们很少会想到自己走得有多快。相反,他们会选择一种感觉自然的步态。研究人员发现这种步态是大力优化它能使步行者在行进一定距离时消耗最少的能量。虽然科学家们已经知道人们以最小的能量消耗的速度行走,但他们还没有确定关键的感官输入,如代谢率和视觉,如何影响自然的步态选择。

在西蒙弗雷泽大学,我的同事和我使用MATLAB®和仿真软金宝app件®测量视觉对行走速度调整的影响。除了增加科学家对人们为什么这样走路的理解,这种类型的研究还提供了如何选择步态的具体知识,对设计鼓励努力和患者参与的康复疗法具有意义。

实验装置

我们的实验依赖于改变测试对象对他们行走速度的视觉感知的能力。实验装置包括一台装有特殊仪器的分带跑步机;弧形投影屏幕;Vicon动作捕捉系统;以及基于Si金宝appmulink的控制器(图1)。

simonfraser_fig1_w.jpg
图1。实验装置。

我们将跑步机直接放置在屏幕的正前方(图2),在屏幕上投影一个移动的虚拟走廊(图3)。动作捕捉系统检测到受试者在跑步机上的位置。控制器使用这些信息来管理跑步机的速度:当受试者向前移动时,控制器增加跑步机的速度,让他回到中心。当受试者向后移动时,控制器通过减慢跑步机的速度使他重新集中。控制器还根据跑步机的速度和受试者的位置管理投影屏幕上显示的图像。最重要的是,该控制器使研究团队能够根据受试者的行走速度来改变虚拟走廊的投影速度。然后,我们可以量化受试者对感知变化的动态反应。

实验装置打开灯显示跑步机和投影屏幕(左),关闭灯显示虚拟走廊(右)。
图2。实验装置打开灯显示跑步机和投影屏幕(左),关闭灯显示虚拟走廊(右)。
虚拟的走廊
图3。两个版本的虚拟走廊。

对于控制器,我们有两种实现选择:我们可以自己构建它,或者购买第三方定制解决方案。我们评估的自定义解决方案的估计成本为数十万美元,并且它没有为我们提供在实验研究中不可避免的软件更改的方法。

在MATLAB中开发控制系统,并将其与5000美元的虚拟现实系统集成,使我们能够在预算范围内,并使我们完全控制软件。这种控制被证明是至关重要的,因为我们最初的实验揭示了我们在创建系统时没有考虑到的一些小设计挑战。

开发控制器

Simu金宝applink控制系统模型包含一个比例-积分-导数(PID)控制器(图4),并使用Simulink Desktop real - time在标准PC上实时运行.它从动作捕捉系统接收受试者的位置数据,并发出命令来控制跑步机的速度和虚拟现实系统呈现的走廊图像的速度。

simonfraser_fig4_w.jpg
图4。金宝appSimulink PID控制器用于计算跑步机和走廊图像速度。

除了PID控制器,完整的Simulink控制器模型还包括几个安全功能,包括限速器和紧急停止(图5金宝app)。一个关键组件是speed Multiplier块,它使我们能够改变虚拟走廊速度和跑步机速度之间的关系。默认情况下,控制器会管理走廊的速度,这样走廊看起来就会以与受试者的行走速度相对应的速度从他身边经过。使用时变速比块,我们可以添加一个台阶功能,突然增加或减少走廊相对于跑步机的速度。我们还可以添加更复杂的正弦波函数,逐渐增加和减少相对走廊速度。

simonfraser_fig5_w.jpg
图5。完整的Simulink控制金宝app器模型。

运动控制系统与控制器模型的集成

在我们测试Simulink控制器模型之前,我们必须金宝app将其链接到我们的运动控制系统,该系统使用传输控制协议(TCP)传输位置数据。金宝appSimulink Desktop real支金宝app持使用用户数据报协议(UDP)的标准网络连接,这意味着我们需要将TCP段数据转换为UDP包。

使用MATLAB和通信工具箱,我们写了一个简单的程序,读取TCP数据,并使用UDP在网络上中继它。然后,我们使用MATLAB编译器创建了该程序的独立版本.该程序包括一个接口,可用于配置必要的IP地址和端口。我们直接在没有安装MATLAB的动作捕捉PC上运行这个独立的程序。

调整设计以提高有效性

在使用实际测试对象进行实验时,我们发现了初始设置中的几个缺陷。而不是等待其他公司实施修复数周,我们可以自己快速实施它们——通常在一天之内——因为我们在Simulink中自己构建了控制器,而不是购买定制的解决方案。金宝app因为这个实验非常依赖人类的感知,所以能够自己测试设置,快速对控制器进行微小调整,然后重新测试是非常宝贵的。

我们实验结果的有效性取决于我们能否让实验对象感觉他们好像走在一个真实的走廊上。我们很快发现了两个问题,这两个问题影响了我们让受试者沉浸在虚拟走廊体验中的能力,并且需要对控制器设计进行更改。首先,我们最初的设计实际上太敏感了,因为跑步机在受试者离开中心点时就开始移动。结果,受试者经常感觉到跑步机的速度在变化。为了减轻这种影响,我们改变了Simulink模型来实现金宝app死区-在跑步机中心的一个区域,受试者可以在不使跑步机加速或减速的情况下移动。

不久之后,我们确定,当实验对象靠近投影屏幕时,走廊似乎移动得更快了,尽管我们没有改变它的速度。这就需要对模型进行另一次更改,以根据受试者与屏幕的接近程度调整走廊的速度。综上所述,这些微小的变化使受试者的体验更真实、更流畅,增加了我们结果的有效性。

人类知觉动力学建模

一旦我们完善了实验设置,我们使用MATLAB和统计学和机器学习工具箱对多个主题进行了大量试验分析结果并进行假设检验。我们测量了受试者平均需要多长时间来对感知走廊速度的阶跃函数扰动做出反应。对于正弦波扰动,我们测量了正弦波输出上的检测增益。

从本质上讲,我们采用了系统动力学方法,向系统提供已知的输入——阶跃函数或正弦波——并测量响应输出。然后我们用系统识别工具箱处理这些输入输出数据构建一个数学模型,将人作为一个动态系统,利用视觉信息来调整行走速度。该模型使我们能够量化工作过程的动态,并更好地理解所涉及的时间常数。

我们目前正在使用类似的实验装置来测量血气水平对步态选择的影响。在这个实验中,我们使用Simulink模型和Simuli金宝appnk Desktop Real-Time来控制我们在跑步机上行走的受试者可获得的氧气和二氧化碳的量,这反过来又会影响他们血液中这些气体的水平。我们将通过控制氧和二氧化碳水平作为测量步态参数(如速度和步频)的函数来测试血气水平是否是一个关键的代谢指标,并测试受试者是否改变他们的首选步态以最大化血氧和最小化二氧化碳。这个实验将更好地理解人们用来选择步态的感官输入,帮助治疗师在康复过程中最大限度地发挥患者的努力。

发布2012 - 91986v00