基于STM32的下肢外骨骼机器人安全测试系统设计
Design of a Safety Test System for Lower Limb Exoskeleton Robots Based on STM32
DOI: 10.12677/SEA.2022.116158, PDF, HTML, XML, 下载: 207  浏览: 462  科研立项经费支持
作者: 李紫璇, 王多琎*, 喻洪流:上海理工大学康复工程与技术研究所,上海;上海康复器械工程技术研究中心,上海
关键词: STM32多传感器下肢外骨骼安全指标安全检测STM32 Multi-Sensor Lower Limb Exoskeleton Safety Indicators Safety Testing
摘要: 下肢康复外骨骼机器人具有医疗器械属性,对安全性要求极高,因此下肢康复外骨骼机器人安全性研究备受关注。本文设计了一款下肢外骨骼机器人安全测试系统,整个系统包括上位机与以STM32高性能芯片为主控模块的控制系统。采用STM32内置AD转换器采集角度、压力和位移等传感信息,通过USART将传感信息传输至上位机,从而判断穿戴式下肢外骨骼康复机器人关节运动参数是否在安全范围内以及判断运动平稳性。此外控制系统通过控制电磁阀检测外骨骼的痉挛保护能力,通过PWM调频检测力交互能力。系统上位机基于PyQt5搭建,通过串口与主控板进行通讯。实验表明,该检测系统能实时准确检测穿戴式下肢外骨骼的安全性能。
Abstract: Since they are medical devices and demand a high level of safety, the safety of lower limb rehabilitation exoskeleton robots is of major interest. In this study, we propose a control system with an STM32 high-performance chip as the main control module for a safety testing system for lower limb rehabilitation exoskeleton robots. To determine whether the joint motion parameters of the wearable lower limb exoskeleton rehabilitation robot are within the safe range and to assess the smoothness of the motion, the system uses the built-in AD converter on the STM32 to collect sensing information such as angle, pressure, and displacement and transmits the sensing information via USART to the host computer. The control system also recognizes the spasticity protection capabilities. The control system also recognizes the exoskeleton’s ability to defend against spasticity through the control solenoid valve and the ability to interact with forces through PWM frequency modulation. A serial port is used by the PyQt5-based system higher computer to connect to the main control board. Experiments demonstrate that the testing method can precisely identify the wearable lower limb exoskeleton’s safety performance in real time.
文章引用:李紫璇, 王多琎, 喻洪流. 基于STM32的下肢外骨骼机器人安全测试系统设计[J]. 软件工程与应用, 2022, 11(6): 1534-1544. https://doi.org/10.12677/SEA.2022.116158

1. 引言

随着社会老年人口与各种意外事故导致的下肢运动障碍的患者数量日趋增长,穿戴式下肢外骨骼机器人作为一种为不同损伤情况、不同康复时期的帮助患者站立及行走的康复设备 [1],解决了康复医师人手不够以及传统治疗方法的不足等问题,受到了人们的广泛关注。由于穿戴过程中人与外骨骼的交互空间高度重合 [2],可能由于穿戴者因操作不当或者决策失误等原因造成二次伤害 [3],因此其使用过程中最重要的因素就是安全。目前针对穿戴式下肢外骨骼机器人的多数测试是为了验证外骨骼的驱动、控制或算法的功能性与有效性 [4]。仅有少数研究 [5] [6] 涉及到设备在使用时的安全性,且大多通过对健康受试者进行临床试验以验证设备的安全性,这种方法存在一定的局限性:重复性低 [7]、定性评估 [8]、合适受试者招募困难 [9]。

因此本文针对目前穿戴式下肢外骨骼研究和实验中存在的问题:1) 在外骨骼前期研究中无法保证受试者的安全;2) 下肢外骨骼性能评估中缺少下肢行动障碍者且实验周期较长;3) 受试者无法系统获得定量和可重复的运动参数。设计一款基于STM32控制的模拟真实人体下肢工况的安全测试系统,测试平台具备运动参数采集、运动平稳性检测、力交互能力检测与痉挛模拟等功能,利用内置多种传感器与电机的测试用假人代替患者进行试验,测试结果与电脑端预先保留的安全参数进行对比,从而判断穿戴式下肢外骨骼康复机器人是否达到标准中的安全要求。

2. 安全检测内容及方法

穿戴式下肢外骨骼机器人可能会存在一些物理相关风险及电气相关风险,患者在穿戴下肢外骨骼机器人进行运动的过程中,外骨骼的一些特性如机器人表面的形状与材料、各部件的运动、稳定性、接触力、声音与振动、温度、电磁辐射等因素都会影响人机交互过程中的安全性。因此其使用安全性是设计过程中首要考虑的问题,也是决定其能否产品化的关键因素。现已经有通用医疗/非医疗设备的安全标准,如IEC 60601-1医疗电气设备基本安全通用要求 [10],GB/T 36530-2018个人助理机器人安全要求 [11],GB 9706.1-2007医疗电气设备安全通用/要求 [12] 等,但针对可穿戴式下肢外骨骼机器人的特定安全标准还有待完善。

目前穿戴式下肢外骨骼机器人的部分安全要求以及针对部分安全内容的测试方法已经在现有的国家标准或国际标准中提及。表1总结了安全内容的对应测试指标,以及是否存在现有的测试标准。

Table 1. Safety-related information and test indicators

表1. 安全内容及其对应测试指标

对于尚不完善的测试方法,本文将确定相应的测试方法与测试平台对其进行检测。穿戴式下肢外骨骼机器人安全测试平台是设计为通过模拟人体生理构造从而取代受试者进行测试实验。下肢外骨骼测试平台为通过测试假人的传感器模块对外骨骼运动过程中运动参数与运动平稳性的实时变化进行检测;通过关节处的驱动模块模拟偏瘫患者残余肌力以测试力交互性能,通过模拟突发痉挛状态以测试痉挛保护能力。

3. 总体方案设计

整个控制系统设计包括硬件系统和上位机系统两大部分,穿戴式下肢外骨骼安全测试平台的控制框架如图1所示。其中硬件系统基于STM32F103C8T6主控芯片进行设计,硬件部分采用模块化设计,包括由传感器阵列、痉挛模拟、力交互测试、假人位置调节等模块。首先供电模块将220 V家用电源分别转换成3.3 V对主控芯片STM32F103C8T6供电,转换成24 V对步进电机以及气动模块供电。然后通过STM32F103C8T6主控芯片的ADC转换功能对传感器阵列(角度传感器、薄膜压力传感器和位移传感器等)进行数据采集,再通过串口通信电路将采集的数据传输到上位机进行控制处理。

上位机根据获取的传感数据集,与主控模块通过串口进行通讯,使用类MODBUS通信协议 [14]。通过将测试结果与电脑端预先保留的安全参数进行对比分析,从而测试外骨骼安全性。

穿戴式外骨骼安全测试平台总体结构如图2所示,其主要由三部分构成,包括测试用假人、支撑架、传感器系统。其中,测试用假人作为测试平台的主体部分,其主要模拟人体下肢生理结构;传感器系统集成在假人的各个关节及躯干处,以采集穿戴式下肢外骨骼机器人驱动假人运动时的各项运动参数;支撑架可支撑并悬挂测试用假人,支撑架通过安装的步进电机实现在竖直上调节假人的位置。

4. 系统硬件设计

4.1. 传感器阵列

其中传感器阵列由13个角度传感器,1个位移传感器以及2个8通道薄膜压力传感器等30个传感器组成,其分布情况详见图3。其中利用角度传感器对下肢外骨骼机器人在运行时的髋、膝、踝关节各活动自由度方向上的运动角度进行数据采集。通过位移传感器与压力传感器所采集数据结合进行平稳性分析。

Figure 1. The framework for security tested control

图1. 安全测试平台控制框架

Figure 2. The structure of the safety test platform

图2. 安全测试平台整体结构图

Figure 3. Distribution of sensors on the test platform

图3. 测试平台传感器分布图

传感器系统选用2个16路多通道模拟开关CD74HC4067来对传感数据进行ADC选用采集,切换时间为100 ns。本设计的采集速率为50 Hz,一周期30个采样点,每两个采样点间隔为0.6 ms,采样点间隔远大于切换时间,因此对数据完整性不会造成影响。另外CD74HC4067的内阻为100R,远远小于传感单元有效测量范围内的阻值,也不会对输出结果造成较大的偏差。通过采用行列扫描 [15] 的方式被选用的传感单元经过分压处理后接入到芯片内部的ADC中,经过模数转换处理后得到相对应的运动参数数据。如图4为一组多路模拟开关的原理图。

Figure 4. Diagram of a multiplexed analog switch

图4. 多路模拟开关电路图

4.2. 痉挛模拟模块

一些研究中涉及到对脑卒中患者患侧下肢膝关节的屈肌与伸肌峰值力矩进行测定,通常选择等速肌力测试方法对患者屈伸肌肌力进行测定。本设计选用DBC型空压碟式制动器中所示的空压碟式制动器,型号为DBC-102。制动器的气压与产生的制动力矩正相关,当摩擦制动圆盘的直径为150 mm时,制动器可提供0~74 Nm的制动力矩。该空压碟式制动器产生的最大制动力矩完全满足测试用假人模拟患者突发痉挛的状态。通过自复位式按钮开关控制电磁阀,然后通过电磁阀控制气泵开闭与制动器的进气量。

4.3. 力交互测试模块

力交互能力测试则是利用安装在右腿髋关节的电机提供驱动力,模拟偏瘫患者的残余肌力。本研究中选择用伺服驱动器与一个STM32进行CAN通信,从而实现对电机的控制。通过伺服电机为髋关节矢状面上的运动提供驱动力,力矩控制通过对电机的速度输入实现(并进行速度反馈,进行OLED输出,从而进行电机的PID调节)。将电机的编码器信号线CN2与电机相连,同时将电机三根动力线与电机相连,然后将CAN端口连出通过上位机进指令控制。

4.4. 假人位置调整模块

为实现测试假人垂直方向的移动,并对其速度和方向进行控制,需要设计步进电机的驱动电路。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。本设计选用的是86系列步进电机86HB68,转矩为12N∙m,由于需要电机的转动实现垂直位移变化,采用了电机结合丝杠的办法,丝杆直径为20 mm,导程5 mm。86步进电机步距角为1.8˚,即电机转动一圈需要360/1.8 = 200个脉冲信号。在设计步进电机驱动电路时,考虑到方便操作,增加了两个按键KEY0、KEY1来实现方向和角度的控制。具体步进电机驱动原理图如图5所示:步进电机驱动板接入5 v,通过芯片ULN2803ADW实现IO口3.3 v信号转化为适用于驱动器的5 v信号,然后通过接入芯片STM32模拟IO来实现对于步进电机方向和速度的控制。

Figure 5. Diagram of the stepper motor drive circuit

图5. 步进电机驱动电路图

4.5. 主控模块

根据设计的功能要求,实现对各功能模块之间的通讯采集以及处理各传感器信号,因此需要对主控电路进行设计以及对主控芯片进行选择。考虑到资源利用率、成本以及功耗等,主控芯片选择的是STM32F1103C8T6,此芯片具有丰富的外设资源,具备2组16通道12位模数转换器(Analog to Digital Converter, ADC),三个通用同步/异步收发传输器(Universal Synchronous/Asynchronous Receiver/Transmitter, USART),另外具备3个通用定时器和一个高级定时器,工作电压在2.0~3.6 V之间,具有丰富的片上资源,可以同时满足定时和实时采样等功能。最小系统电路原理图如图4图5所示,主控模块的最小系统电路主要是包括主芯片硬件,上电复位电路,晶振电路组成,同时一个基本完整的单片机系统电路还应包括程序下载调试电路和LED指示电路。首先是复位电路,主控芯片的复位为低电平,复位电路RESET端与主控芯片的7号复位端口相连。当复位键按时100 nF电容相当于通路接地,此时芯片自动复位。之后芯片VDD稳定,电容相当于断路,RESET复位端口始终为高电平。STM32单片机及其外设电路框图如图6所示。

Figure 6. The microcontroller’s and its supporting circuits’ block diagram

图6. 单片机及其外设电路框图

5. 系统软件设计

本设计的下位机软件开发使用的是Keil MDK-ARM (版本为MDK5)软件作为开发环境,采用C语言进行编程。主要涉及模块为各传感数据的采集以及传输,电机控制等。如图7所示,ADC初始化完成,接下来根据上述的行列扫描的方式将数据存储在数组中,然后再根据上位机的指令依次将数据打包发送。主控板通过串口通信的方式将数据传输到上位机。

5.1. 传感数据采集程序

传感数据的采集程序涉及ADC和串口通信模块,在采集传感数据时由于采用了2个16路模拟开关,且采集数据一次多达31个。在设计数据采集程序时定义了一个16 × 4数组,通过for循环来实现依次打开片选。ADC初始化完成,接下来根据上述的行列扫描的方式将数据存储在数组中,然后再根据上位机的指令依次将数据打包发送。主控板通过串口通信的方式将数据传输到上位机,本设计选取的是串口USART2,初始化串口以及GPIO;打开APB1时钟使能;设置USART_TX为推挽复用模式,USART_RX为浮空输入模式。

5.2. 电机控制程序设计

电机控制程序涉及时钟、按键以及端口等模块。本设计是通过按键来调节步进电机的方向DIR以及角度等,定义按键扫描函数来检测是否有按键按下。电机的转速与脉冲频率成正比,电机转过的角度与脉冲数成正比。所以控制脉冲数和脉冲频率就可以精确调速。首先引脚初始化,开启电机相关的GPIO外设时钟,设计选取控制方向和控制脉冲按键,通过PWM来实现电机转动。

5.3. 通信与数据封装程序设计

下位机与上位机的通信使用STM32自带的串口模块,通过自定义的类MODBUS通讯协议实现。在下位机系统上电初始化完成后,程序进入主循环,等待上位机的命令。上位机检测并打开设备串口,向下位机发送功能:0 × 03表示数据采集、0 × 06表示控制电机、0 × 13表示模拟痉挛。当下位机收到指令之后判断指令类型,例如收到指令为0 × 03系统开始读取各传感器数据,并打包成该格式发送给上位机。上下位机通信协议如表2所示。

Table 2. System communication protocol

表2. 系统通信协议

其中开始间隔TS和结束间隔TE代表下位机每次询问或者应答信息的结束是以未再接到下一个字符间隔时间来判断的,间隔规定为3.5个字符的通信时间。设备地址和功能码都是照原值8位传送,当功能码为03时,传输数据的报文开头为0 × AD,报尾为0 × BD,通信双方以此来确定报文的开始和结束。采集到的数据均以16 bit的形式储存,共有30项传感器数据,所以共480 bit的数据位。

Figure 7. Software system flow chart

图7. 软件系统流程图

5.4. 上位机软件设计

上位机包括登录界面、串口通信模块、运动参数安全性分析、压力中心可视化、测试结果汇总。上位机通过PYQT5进行编写,登录界面通过继承QDialog类设置登录条件,输入正确指令跳转到主页面。上位机与硬件系统通过类MODBUS协议进行通信,数据以16 bit大小进行传输。上位机串口模块通过pyserial相关库实现,本设计的串口波特率设置为9600。在打开串口之后,运动参数通过串口传输到上位机进行可视化展现。在平稳性测试时检测假人整个周期的压力中心信息进行分析,在上位机生成压力中心(COP)轨迹图。最后在测试结果显示页面总结所有的功能测试结果。测试平台上位机流程图如图8所示。

Figure 8. Flow chart of the test platform upper computer

图8. 测试平台上位机流程图

6. 实验与结果分析

为了更好的验证穿戴式下肢外骨骼机器人测试平台的有效性,穿戴式下肢外骨骼机器人可以帮助截瘫/偏瘫患者进行下肢运动康复训练并辅助患者日常活动,通常患者在下肢外骨骼的帮助下在平地行走,因此实验将对穿戴式下肢外骨骼康复机器人测试平台的基本功能进行行走测试实验。

实验需要借助跑步机以模拟测试假人在平地行走的状态。首先,调节测试假人与穿戴式下肢外骨骼机器人大小腿杆件长度,使二者的各关节转动中心对齐,然后将外骨骼通过绑带固定在测试假人腿部的外侧,外骨骼的背包通过绑带固定在测试假人躯干模块上。通过支撑架的驱动电机调节测试假人的垂直高度,使得测试假人站立时足底刚好接触跑步机,将此时各关节的角度记作零位置。启动跑步机的同时控制外骨骼驱动测试假人步行,通过各关节处传感器采集并传输运动数据至上位机。图9为穿戴式下肢外骨骼机器人驱动测试假人在跑步机上行走过程图。

Figure 9. The wearable lower limb exoskeleton robot’s driving dummy’s gait

图9. 穿戴式下肢外骨骼机器人驱动测试假人行走过程

图10所示,穿戴式下肢外骨骼机器人驱动测试假人行走过程中通过上位机界面记录的髋、膝、踝关节的实时运动角度和运动角加速度,并通过醒目颜色标识显示外骨骼运动参数是否在人体关节的安全变化范围内。此外,测试平台通过检测测试假人足底压力的变化判断其运动平稳性,上位机界面显示人体压力中心轨迹较为对称,验证了测试假人在步态周期中运动平稳。同时在实验过程中,利用电磁阀控制气泵的充气使制动器抱死,检测到外骨骼启动了急停状态,因此可判断所测外骨骼具有痉挛保护功能。最后在外骨骼运动过程中,上位机给髋关节电机下发指令使其提供一定力矩,模拟偏瘫患者残存肌力,结果表明外骨骼具有较好的力交互性能。基于以上结果表明,穿戴式下肢外骨骼测试平台达到了设计要求,能够安全可靠的模拟患者进行检测。

Figure 10. Diagram showing the upper unit’s results

图10. 上位机结果展示图

7. 结语

本文基于STM32设计出一款穿戴式下肢外骨骼安全测试平台,与以往的研究相比,该测试平台解决了可重复性低、定性评估、合适受试者招募困难等的问题。该测试平台具备各关节运动参数检测、运动平稳性测试、痉挛保护能力与力交互能力检测的功能,可以模拟真实人体下肢工况来测试下肢外骨骼的安全性,并在此基础基于PyQt5实现了测试平台上位机,能够利用串口通讯将测试结果进行可视化展示。实验结果证明了用测试系统代替下肢行动障碍人群检测下肢外骨骼的可行性,实现了量化分析下肢外骨骼安全性的目标。且该测试平台安全性要求低,可重复性高,有效的推动了穿戴式下肢外骨骼机器人的安全性测试方法的进步。

基金项目

上海市“科技创新行动计划”技术标准项目(19DZ2203600)。

NOTES

*通讯作者。

参考文献

[1] 丁逸苇, 涂利娟, 刘怡希. 可穿戴式下肢外骨骼康复机器人研究进展[J]. 机器人, 2022, 44(5): 522-532.
[2] 康乾. 下肢外骨骼机器人的综合性能评价[D]: [硕士学位论文]. 大连: 大连交通大学, 2018.
[3] 薛强, 周金满, 杨硕. 应用于下肢功能障碍者的康复机器人: 综述[J]. 制造业自动化, 2022, 44(7): 50-55.
[4] 王辉. 多自由度下肢外骨骼康复机器人结构设计与控制策略的研究[D]: [硕士学位论文]. 青岛: 青岛科技大学, 2022.
[5] 李琴. 可穿戴外骨骼机器人的人机协作安全性评价研究[D]: [硕士学位论文]. 杭州: 杭州电子科技大学, 2022.
[6] 徐发树. 截瘫助行外骨骼机器人安全性研究[D]: [硕士学位论文]. 成都: 电子科技大学, 2022.
[7] Mehr, J.K., Sharifi, M., Mushahwar, V.K., et al. (2021) Intelligent Locomotion Planning with Enhanced Postural Stability for Lower-Limb Exoskeletons. IEEE Robotics and Automation Letters, 6, 7588-7595.
https://doi.org/10.1109/LRA.2021.3098915
[8] 郑书剑. 面向外骨骼机器人的安全监控系统设计及实现[D]: [硕士学位论文]. 成都: 电子科技大学, 2020.
[9] 徐国鑫, 贾丙琪, 魏笑, 毕文龙, 张华强, 赵彦峻. 一种新型多体位康复训练下肢外骨骼的设计及实验[J]. 机械传动, 2021, 45(8): 139-143+164.
[10] Medical Electrical Equipment-Part 1: General Requirements for Basic Safety and Essential Performance: IEC 60601-1. 2012.
[11] 中国机械工业联合会. GB/T 36530-2018机器人与机器人装备-个人助力机器人的安全要求[S]. 北京: 标准出版社, 2018.
[12] 国家食品药品监督管理局. GB 9706. 1-2007医疗电气设备-第1部分: 安全通用要求[S]. 北京: 标准出版社, 2007.
[13] 全国电磁兼容标准化技术委员会. GB/T 17799. 1-2017电磁兼容通用标准: 居住、商业和轻工业环境中的抗扰度[S]. 北京: 中国质检出版社, 2017.
[14] 陈俊炜, 周政, 李宇翔, 缪文南. 基于Modbus通信控制器的设计与实现[J]. 电子测试, 2022(3): 50-52.
[15] 龚靖傑, 邓哲, 王家乐, 张永亮, 张梦妍. 基于开关矩阵的多通道信号切换设备研制[J]. 计算机测量与控制, 2021, 29(7): 264-268.