基于RT-Thread 操作系统的上肢康复外骨骼控制系统

2023-04-19 06:38孟青云刘观鑫孟巧玲喻洪流
智能计算机与应用 2023年3期
关键词:电调外骨骼上肢

许 鑫, 孟青云, 刘观鑫, 孟巧玲, 喻洪流

(1 上海理工大学 健康科学与工程学院, 上海 200093; 2 上海健康医学院 医疗器械学院, 上海 201318;3 上海理工大学 康复工程与技术研究所, 上海 200093)

0 引 言

脑卒中是目前世界上第二大死亡原因,也是成年人后天残疾的主要原因[1],这可能导致患者遭受神经和肌肉损伤,严重的肌肉无力和运动灵活性的丧失是脑卒中后期的突出特征[2]。 对于由于神经损伤引起的运动功能障碍患者,合理地进行重复的康复训练能够促进患者的运动功能康复,激发患者运动可塑性[3]。 外骨骼康复训练设备针对神经系统康复的关键特征是机器人的控制策略[4]。 最常见的控制外骨骼的方法是通过高增益的位置反馈控制器,外骨骼根据预定轨迹命令控制运动,此类控制器增益需要不断调整,避免外骨骼在轨迹运动中因为肌肉收缩造成患者损伤[5]。 根据预定轨迹进行康复运动可以通过不同的方式实现,比如典型案例[6]使用比例积分反馈控制,可以调节外骨骼力跟随指定的轨迹位置;利用闭环PD 迭代学习控制方法[7]控制上肢外骨骼训练的精度;RAHMAN 等学者[8]采用PID 控制方法,控制上肢外骨骼机器人按照预先设计的轨迹运动,在被动运动控制方案上已经取得很大的进展。 但是,控制系统的实现方式单一,普遍存在响应性慢等问题,本控制系统采用基于直流电机和实时多线程(RT-Thread)操作系统的多电机控制系统。

1 系统总体结构

六自由度上肢康复外骨骼机器人的训练动作包括单关节动作( 如肩关节屈曲/伸展、内收/外展、肘关节屈曲/伸展、腕关节内旋/外旋、腕关节掌屈/背屈、尺偏桡偏等)和多关节动作(如吃饭等)。 设计了一种基于直流电机和实时多线程(RT-Thread)操作系统的多电机控制系统,实现上肢康复训练外骨骼机器人运动控制的准确性及稳定性。

该系统由软件和硬件控制系统两部分组成,如图1 所示,上位机通过设定的预定轨迹,将电机的运动程序发送给电机驱动器,用以控制外骨骼机器人的关节运动;下位机控制模块通过与电机编码器实现通信,获取编码器的信号,并实现电机的位置反馈控制。

图1 控制主板结构图Fig. 1 Control board structure diagram

2 硬件设计方案

硬件系统控制主板主要由电源模块、电机驱动模块、通讯模块和传感器采集模块构成,其结构如图2 所示。 硬件设计采用主控模块与功能模块分开的方法,可以有效避免芯片间的信号干扰和调试电路产生的不确定因素。 控制系统下位机主控芯片采用的STM32F767IGT6 单片机开发;传感器采集模块通过搭载ATK IMU 六轴姿态传感器实时获取运动姿态;电机驱动模块由L298N 驱动板和CAN 驱动方案构成。

图2 硬件控制系统Fig. 2 Hardware control system

2.1 传感器采集模块

传感器用于通过反馈控制机器人外骨骼的状态和物理属性,如关节位置、速度和加速度。 ATKIMU601 六轴姿态传感器可通过串口输出姿态角、加速度、角速度等数据,从而实现上肢运动的精确控制,实现上肢的闭环反馈控制。 图3 即为姿态传感器硬件组成部分。

图3 姿态传感器硬件框图Fig. 3 Hardware diagram of ATK-IMU

2.2 电机驱动模块

腕关节使用RoboMaster M2006 动力系统,该系统由RoboMaster M2006 P36 直流无刷减速电机和RoboMaster C610 无刷电机调速器组成。 肩关节和肘关节采用直流无刷电机和L298N 电机驱动板组成动力系统的方式。 其中,M2006 直流无刷电机通过电子换向器实现换向,根据配套的电调输出电流的大小和方向并改变电机的转速和方向;电机上有电感元件,在断电的瞬间会产生3 ~5 倍的感应电压,图4 的光耦隔离电路[9]可以通过光的传递在物理上隔离电的联系,还可以防止在单片机和驱动器之间无共地问题引起的干扰。 为保护电路,由于电机输入电压为24 V,控制器与控制器输入输出间串联2 K 电阻,如图5 所示。

图4 光耦隔离电路Fig. 4 Optocoupler isolation circuit

图5 驱动器输入连接框图Fig. 5 Driver input connection block diagram

3 软件设计方案

3.1 总体程序设计

软件设计是上肢康复机器人康复训练实现安全运作的前提,这对软件设计的合理性与安全性提出了要求,软件控制采用RT-Thread 实时操作系统,利用操作系统多线程结构,提高控制精度,减少系统反应时间。 其中包括:传感器数据采集线程、电机控制线程、CAN 通信驱动线程和定时器PWM 信号输出线程,控制流程如图6 所示。 由图6 可见,上肢康复训练外骨骼机器人在上电之后对传感器数据采集、电机控制、CAN 通信驱动和定时器PWM 信号输出灯线程进行初始化;在接收上位机信号量之前,机器人处于挂起状态;上肢康复训练机器人接收到信号量启动,根据预定轨迹运动,在康复运动过程中感知运动参数并实时上传比较,若出现异常数据,根据指令停止康复运动动作。

图6 上肢康复训练软件控制流程图Fig. 6 Flow chart of upper limb rehabilitation training software control

3.2 通讯程序设计

单片机向电调发送控制指令控制电调的电流输出,控制电流范围为-16384 ~16384,对应电调输出转矩电流范围为-20 ~20 A。 CAN 通信的数据帧只有8 Byte,每台电机的电流值对应需要2 Byte,所以一个数据帧只能给4 台电机发送数据。 其中,控制4 台电机时单片机发送报文将标识符为0X200 并依次将电流数据输入数据帧中进行发送。 单片机发送、及接收报文协议分别见表1、表2。

表2 单片机接收报文协议Tab. 2 Packet acceptance protocol of MCU

为了实现闭环控制,单片机需要接收电调的反馈报文,得到电机的转速、机械转子角度、实时电流数据。 电调反馈报文ID 规定为0x200+电调ID(1-4),如0x201(电调ID 为1)。

创建CAN 通信线程,并通过串口助手打印接收数据,通信程序如图7 所示。

图7 CAN 通讯流程图Fig. 7 CAN communication flow chart

3.3 电机驱动设计

根据机械结构设计需求,腕关节由M2006电机的配置需求,采用CAN 驱动方式,在中断中实现指令的发送和接收,图8 为RT-Thread 中CAN 驱动框图。

图8 RT-Thread 中CAN 驱动框图Flag. 8 Block diagram of CAN driver in RT-Thread

针对不同的患者进行不同的频率配置,采用脉冲宽度调制(PWM) 来调节控制上肢康复训练中肩关节和肘关节的电机。 STM32F767 芯片通过定时器TM3 的CC1 和CC2 通道输出双路PWM 波信号对电路进行控制,经驱动器控制电机。 区别于传统定时器通过ARR自动重装载值、CNT计数值和CCRx比较寄存器值输出高低电平,生成PWM 波,如图9 所示。 现使用同一定时器的不同通道可输出不同占空比的PWM 波,关闭CCR 预装载,减少了硬件资源。 初始化中可以定义输出PWM 波的通道,在定时器中断服务程序中,当通道标志位为0时,判断CCR的值和预定义crr_value_l的和与ARR值的大小,超出标记标志位为1,则执行一次相位偏移并将标志位置0,未超出则CCR的值为CCR和crr_value_l的和;当通道标志位为1 时,判断CCR的值和预定义crr_value_h的和与ARR值的大小,未超出则CCR的值为CCR和crr_value_h的和。 赋值完成,反转通道标志位并清除TIM3 中断待处理位。图10 为实际PWM 信号输出波形。

图9 PWM 信号生成流程Fig. 9 Flow chart of PWM signal generation

图10 实际PWM 输出信号波形Fig. 10 Actual PWM output signal waveform

3.4 PID 位置反馈闭环控制程序设计

根据程序输入指令,通过不同按键键值,实现上肢康复训练外骨骼设备的运动动作,在运动过程中,通过电机编码器和ATK IMU 姿态传感器实时采集的角度位置信号与预定轨迹的误差值之间不断修正,控制运动更加精确,PID 控制程序流程如图11所示。

图11 PID 控制程序流程图Fig. 11 Control program flow chart of PID

由于PID 算法不需要系统建模,实现相对简单,所以采用PID 算法进行控制器设计。 控制器的实现形式为:

其中,KP为比例增益,用于位置误差;KI为积分增益,用于累积位置误差;KD为微分增益,用于速度误差;e t( ) 是实际位置和期望位置之间的误差;是关于时间的导数。 图12 为PID 控制系统框图。

图12 PID 控制系统框图Fig. 12 Block diagram of a PID controlled system

4 控制系统验证

控制系统搭建安装完成后,对整机进行了功能试验和系统测试。 在实验过程中。 上位机通过RTThread 操作系统发送消息,控制外骨骼实现肩关节屈曲/伸展、内收/外展、肘关节屈曲/伸展、腕关节内旋/外旋、腕关节掌屈/背屈、尺偏/桡偏动作。 采集电机的位置信号和姿态传感器信号,并对比预设运动角度和实际运动角度。 研究得到的上肢各关节控制曲线如图13 所示。 由图13 分析可知,实际运动角度和期望运动角度的误差较小,证明该控制方案的可行性。

图13 上肢各关节控制曲线图Fig. 13 Control curve of each joint of the upper limb

实验过程中,通过发送消息队列,多线程任务可以实现上肢康复训练运动。 可选择模式进行单关节训练或多关节训练,根据预设优先级,多线程操作可减少系统响应时间。

5 结束语

设计了一种基于直流电机和实时多线程(RTThread)操作系统的多电机控制系统,实现上肢康复训练外骨骼机器人运动控制的准确性及稳定性。 完成控制系统的硬件和软件设计,包括CAN 电机驱动系统和单片机生成PWM 信号设计等,实现了系统的CAN 通讯功能。 本研发软件设计功能更加丰富,可移植性较强,可为更多上肢外骨骼机器人控制系统提供方案。

猜你喜欢
电调外骨骼上肢
备用柴油发电机电调控制系统优化
昆虫的外骨骼
一种可穿戴式外骨骼康复机械手结构设计
基于惯性传感器的上肢位置跟踪
宽带接入网环境下区间电调分机接入方式研究
错误姿势引发的上肢问题
PARTOR 3D“猛禽”穿越机专用电调
FAIRY SERIES 穿越机专用二合一电调
侗医用木头接骨保住伤者上肢66年1例报道
机器绞轧致上肢毁损伤成功保肢1例