許 鑫, 孟青云, 劉觀鑫, 孟巧玲, 喻洪流
(1 上海理工大學 健康科學與工程學院, 上海 200093; 2 上海健康醫學院 醫療器械學院, 上海 201318;3 上海理工大學 康復工程與技術研究所, 上海 200093)
腦卒中是目前世界上第二大死亡原因,也是成年人后天殘疾的主要原因[1],這可能導致患者遭受神經和肌肉損傷,嚴重的肌肉無力和運動靈活性的喪失是腦卒中后期的突出特征[2]。 對于由于神經損傷引起的運動功能障礙患者,合理地進行重復的康復訓練能夠促進患者的運動功能康復,激發患者運動可塑性[3]。 外骨骼康復訓練設備針對神經系統康復的關鍵特征是機器人的控制策略[4]。 最常見的控制外骨骼的方法是通過高增益的位置反饋控制器,外骨骼根據預定軌跡命令控制運動,此類控制器增益需要不斷調整,避免外骨骼在軌跡運動中因為肌肉收縮造成患者損傷[5]。 根據預定軌跡進行康復運動可以通過不同的方式實現,比如典型案例[6]使用比例積分反饋控制,可以調節外骨骼力跟隨指定的軌跡位置;利用閉環PD 迭代學習控制方法[7]控制上肢外骨骼訓練的精度;RAHMAN 等學者[8]采用PID 控制方法,控制上肢外骨骼機器人按照預先設計的軌跡運動,在被動運動控制方案上已經取得很大的進展。 但是,控制系統的實現方式單一,普遍存在響應性慢等問題,本控制系統采用基于直流電機和實時多線程(RT-Thread)操作系統的多電機控制系統。
六自由度上肢康復外骨骼機器人的訓練動作包括單關節動作( 如肩關節屈曲/伸展、內收/外展、肘關節屈曲/伸展、腕關節內旋/外旋、腕關節掌屈/背屈、尺偏橈偏等)和多關節動作(如吃飯等)。 設計了一種基于直流電機和實時多線程(RT-Thread)操作系統的多電機控制系統,實現上肢康復訓練外骨骼機器人運動控制的準確性及穩定性。
該系統由軟件和硬件控制系統兩部分組成,如圖1 所示,上位機通過設定的預定軌跡,將電機的運動程序發送給電機驅動器,用以控制外骨骼機器人的關節運動;下位機控制模塊通過與電機編碼器實現通信,獲取編碼器的信號,并實現電機的位置反饋控制。

圖1 控制主板結構圖Fig. 1 Control board structure diagram
硬件系統控制主板主要由電源模塊、電機驅動模塊、通訊模塊和傳感器采集模塊構成,其結構如圖2 所示。 硬件設計采用主控模塊與功能模塊分開的方法,可以有效避免芯片間的信號干擾和調試電路產生的不確定因素。 控制系統下位機主控芯片采用的STM32F767IGT6 單片機開發;傳感器采集模塊通過搭載ATK IMU 六軸姿態傳感器實時獲取運動姿態;電機驅動模塊由L298N 驅動板和CAN 驅動方案構成。

圖2 硬件控制系統Fig. 2 Hardware control system
傳感器用于通過反饋控制機器人外骨骼的狀態和物理屬性,如關節位置、速度和加速度。 ATKIMU601 六軸姿態傳感器可通過串口輸出姿態角、加速度、角速度等數據,從而實現上肢運動的精確控制,實現上肢的閉環反饋控制。 圖3 即為姿態傳感器硬件組成部分。

圖3 姿態傳感器硬件框圖Fig. 3 Hardware diagram of ATK-IMU
腕關節使用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
軟件設計是上肢康復機器人康復訓練實現安全運作的前提,這對軟件設計的合理性與安全性提出了要求,軟件控制采用RT-Thread 實時操作系統,利用操作系統多線程結構,提高控制精度,減少系統反應時間。 其中包括:傳感器數據采集線程、電機控制線程、CAN 通信驅動線程和定時器PWM 信號輸出線程,控制流程如圖6 所示。 由圖6 可見,上肢康復訓練外骨骼機器人在上電之后對傳感器數據采集、電機控制、CAN 通信驅動和定時器PWM 信號輸出燈線程進行初始化;在接收上位機信號量之前,機器人處于掛起狀態;上肢康復訓練機器人接收到信號量啟動,根據預定軌跡運動,在康復運動過程中感知運動參數并實時上傳比較,若出現異常數據,根據指令停止康復運動動作。

圖6 上肢康復訓練軟件控制流程圖Fig. 6 Flow chart of upper limb rehabilitation training software control
單片機向電調發送控制指令控制電調的電流輸出,控制電流范圍為-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
根據機械結構設計需求,腕關節由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
根據程序輸入指令,通過不同按鍵鍵值,實現上肢康復訓練外骨骼設備的運動動作,在運動過程中,通過電機編碼器和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
控制系統搭建安裝完成后,對整機進行了功能試驗和系統測試。 在實驗過程中。 上位機通過RTThread 操作系統發送消息,控制外骨骼實現肩關節屈曲/伸展、內收/外展、肘關節屈曲/伸展、腕關節內旋/外旋、腕關節掌屈/背屈、尺偏/橈偏動作。 采集電機的位置信號和姿態傳感器信號,并對比預設運動角度和實際運動角度。 研究得到的上肢各關節控制曲線如圖13 所示。 由圖13 分析可知,實際運動角度和期望運動角度的誤差較小,證明該控制方案的可行性。

圖13 上肢各關節控制曲線圖Fig. 13 Control curve of each joint of the upper limb
實驗過程中,通過發送消息隊列,多線程任務可以實現上肢康復訓練運動。 可選擇模式進行單關節訓練或多關節訓練,根據預設優先級,多線程操作可減少系統響應時間。
設計了一種基于直流電機和實時多線程(RTThread)操作系統的多電機控制系統,實現上肢康復訓練外骨骼機器人運動控制的準確性及穩定性。 完成控制系統的硬件和軟件設計,包括CAN 電機驅動系統和單片機生成PWM 信號設計等,實現了系統的CAN 通訊功能。 本研發軟件設計功能更加豐富,可移植性較強,可為更多上肢外骨骼機器人控制系統提供方案。