基于GMR传感器校正的智能轮椅控制系统设计*
2018-01-24麻文刚王小鹏
麻文刚, 王小鹏, 马 鹏
(兰州交通大学 电子与信息工程学院,甘肃 兰州 730070)
0 引 言
普通电动轮椅相比智能轮椅运行安全稳定、使用更方便、性能更优越,可以帮助残疾人或老年人提高生活自理能力和工作能力。目前,很多国家对智能轮椅进行了研究,并且针对不同残疾人群与老年人开发了多种智能轮椅人机接口[1],对于残疾程度较轻、肢体能动性较高且意识较好的人群,可以采用操纵杆控制[2]、按键控制、方向盘控制、触摸屏控制和菜单控制等方式,但这些控制方式依旧不能满足肢体能动性较低人群需要,不利于应用于智能轮椅。
本文设计了一种智能轮椅头部姿态校正控制系统,具有控制精度高、携带方便、成本低等优点。该系统采用低成本的巨磁阻(giant magnetoresistance,GMR)传感器[3~5]和无线收发模块组成姿态测量系统,以STM32为控制核心,采用四元素法描述和解算头部姿态信息,通过梯度下降法多传感器融合将解算后的姿态信息进行校正,并且实时将姿态信息传送至接收终端,终端得到控制指令信号,控制轮椅运动。
1 系统设计
系统本着操作简单方便、经济实用及软硬件可扩展设计原则,以STM32F103为控制核心,主要包括传感器、信号调理电路以及外围电路部分,设计系统框图如图1所示。通过GMR传感器、三轴陀螺仪与三轴加速度计组成的姿态解算模块实时采集头部姿态信息数据,利用无线收发模块将采集的姿态信息数据发送至STM32微处理器;微处理器对当前姿态信息进行预处理,在微处理器内进行数据融合与姿态解算,并结合不同头部姿态识别出不同控制指令;
微处理器将识别的控制指令发送给轮椅控制器,控制轮椅运动。
图1 系统整体框图
2 姿态解算
2.1 四元数姿态解算
姿态是表征载体坐标系相对地理坐标系的位置信息,四元素法[5,6]是常用描述载体姿态信息转动变化关系的方法。地理坐标系矢量a到载体坐标系矢量b之间转动变化关系可以表示为b=Ta[5],其中T为方向余弦矩阵
T=
(1)
式中Ψ,θ,γ分别为航向角、俯仰角和横滚角。
两坐标系之间转动变换关系可以用四元素表示
T=
(2)
由式(1)和式(2)可得,欧拉角与转动四元素转化关系
(3)
θ=arcsin(2(q1q3-q0q2))
(4)
(5)
2.2 梯度下降法校正姿态
由于陀螺仪存在积分漂移[7]累积误差,长时间工作将出现严重错误,影响控制精度。陀螺仪解算姿态相对于初始位置,加速度计和磁强计组合解算姿态相对于水平面和磁北极,在静态与无外磁干扰下能表现出良好性能,但在动态与磁场干扰下姿态角解算会出现严重偏差,因此,单一使用某种传感器不能解算出精确的姿态信息数据。
(6)
从点a(k)出发, 沿着负梯度方向前进,设步长为μ,可得到梯度下降法迭代公式
(7)
一定条件下该序列会收敛于使得J(a)最小的解a。由梯度下降法、四元数微分方程与三轴陀螺角速率之间的关系, 建立迭代公式
(8)
图2为基于梯度下降法与GMR传感器姿态校正流程框图,当目标函数f(q)达到最小值时,四元数解算姿态角与真实值差值最小。
图2 梯度下降法校正姿态框图
3 硬件设计
3.1 姿态解算模块
姿态解算模块需要完成姿态检测、姿态解算和姿态校正等信息,以及将解算姿态信息转换成标准控制指令输出等功能。姿态解算模块结构框图如图3所示。
图3 姿态解算框图
姿态解算模块主要由STM32微处理器、GMR传感器、三轴加速度计、三轴陀螺仪、信号调理电路与一对无线收发模块(NRF24L01)组成。STM32接收来自GMR传感器、三轴加速度计与陀螺仪检测的姿态信息,姿态信息经过STM32微处理器进行解算与校正之后,利用无线收发模块进行输出相应控制指令。
3.2 系统整体硬件设计
控制信号经过无线收发模块至控制板,控制板接收到控制信号,驱动电机模块控制电机运转,实现控制轮椅的运动。考虑到实际接口应用,选择STM32F103单片机为主控芯片,STM32F103带有6个死区可编程脉宽调制(pulse width modulation,PWM)输出通道,在异常状况出现时,强迫PWM信号输出在一个预定安全状态。本文控制系统中,设置调速PWM波占空比为25%,使轮椅达到安全运行状态。
3.3 光耦隔离
为提高系统控制精度,以及驱动电路回流影响,在单片机(MCU)输入和输出端,用光耦作介质,对信号进行隔离。该电路主要应用在“A/D转换器”数位信号输出,及MCU发出的前向通道控制信号与类比电路界面,实现在不同系统间信号通路相连,在电气通路上相互隔离,并且实现将类比电路和数位电路相互隔离,起到抑制交叉串扰作用。
4 软件设计
4.1 控制指令设定
头部中心在空间中位置决定头部姿态命令,轮椅控制命令设定为前进、后退、左转、右转和停止。5个命令区域划分如图4所示。
图4 控制区域划分
将头部姿态获取角度值平均分为9个区域。头部中心位置位于区域5,姿态解算模块解算出的“yaw”控制停止,位于区域1和2,姿态解算模块解算出的“roll”控制前进和后退,区域1表示以1m/s速度前进,区域2表示以1m/s速度后退,位于区域3和4,姿态解算模块解算出的“pitch”控制左转和右转,区域3表示以30°/s角速度右转,区域4表示以30°/s 角速度左转,其他区域保持原有状态。
4.2 主程序设计
软件系统在RealView MDK开发环境下,利用STM32官方固件库用标准C语言编写,主要包括系统初始化、姿态检测、姿态解算、姿态校正、数据发送等过程。系统主程序流程如图5所示。
图5 系统主程序流程
5 系统测试
5.1 姿态角解算测试分析
为验证系统控制精度,采用规则头部可穿戴装置进行数据测试,表1单独使用陀螺仪解算姿态角信息数据,可以看出,姿态角相对误差最大达到16.6%,与陀螺仪固有缺陷即存在漂移现象一致。表2采用提出的数据融合校正算法,利用三轴磁强计与三轴加速度计修正陀螺仪漂移,姿态角相对误差大幅度减小。
表1 陀螺解算姿态角
表2 数据融合姿态角
5.2 轮椅运行测试分析
为测试轮椅操作可靠性,对智能轮椅做运动控制指令重复性实验。即将前进、后退、左转、右转、停止5种指令作为1组,实验共进行40组,如表3和表4给出了姿态校正前后,各指令识别情况。
表3 姿态校正前轮椅运行测试
实验表明:智能轮椅在姿态校正之前运行出现很大偏差,最高识别率仅为47.5 %,平均识别为34.5 %,不能满足头部姿态智能轮椅所需控制精度;但在姿态校正之后最高识别率可达100 %,平均识别率达到97 %,能够对轮椅简单运动进行有效控制,控制精度高,响应时间较短。
6 结束语
设计了基于GMR传感器校正的头部姿态智能轮椅控制系统,对轮椅5种简单运动进行控制。系统采用低功耗GMR传感器、STM32型MCU与无线收发模块,并对传感器模块校准原理、方法及结果进行了详细讨论。该控制系统精度高、操作简便、实时性好,在助老、助残、辅助康复与信息无障碍交流等方面有着重要参考价值。实验结果表明:传感器校准过程正确有效,校正后漂移误差减小,该控制系统可精准的控制智能轮椅运动。
[1] 刘海颖,王惠南,刘新文.基于UKF的四元数载体姿态确定[J].南京航空航天大学学报,2006,38(1):35-42.
[2] 汪 芳,朱少华,雷宏杰.基于卡尔曼滤波器的数字式捷联航姿系统算法设计[J].中国惯性技术学报,2008(2):208-211.
[3] Ge Quanbo,Li Wenbin,Sun Ruoyu,et al.Centralized fusion algorithms based on EKF for non-linear systems[J].Acta Automatica Sinica,2012,39(6):816-825.
[4] Xin Qi,Shi ZhongKe.Flight attitude determination based on multiple measurements[J].Flight Dynamics,2012,30(6):527-531.
[5] 郭晓鸿,杨 忠,陈 喆,等.EKF和互补滤波器在飞行姿态确定中的应用[J].传感器与微系统,2011,30(11):149-152.
[6] 李 伟,何鹏举,高社生.多传感器加权信息融合算法研究[J].西北工业大学学报, 2010,28(5):674 -678.
[7] Li Yi.Hand gesture recognition using kinect[C]∥InternationalConference on Software Engineering and Service Science,Washington DC,USA:IEEE Computer Society,2011:196-199.