一种上肢助力外骨骼机器人的运动状态识别方法
技术领域
本发明属于机器人
技术领域
,具体涉及一种机器人运动状态识别方法。背景技术
上肢助力外骨骼机器人在机械结构和运动控制算法方面已经有了一定的进展,但是如何有效地布置外骨骼机器人的传感器网络,如何实时地采集外骨骼的运动信息,对外骨骼的运动状态进行实时准确的判断,保障助力过程顺畅、稳定、安全地进行,仍是上肢助力外骨骼机器人设计过程中的重点和难点。
目前,在外骨骼运动状态识别方法方面浙江大学陶俊对此有一定的研究(陶俊.气动助力外骨骼机器人人机协同运动控制研究[D].浙江大学,2018.),其助力外骨骼上肢部分采用肌电信号和支持向量机来进行运动状态识别判断,但人体肌电信号较弱,且肌电信号传感器易受到外界因素的干扰,信号精度不高;此外,支持向量机的关键参数为提前设定,无法根据助力过程中的各种动作来选择最佳参数,自适应性较低。发明专利CN112336340A公开了“一种腰部助力外骨骼机器人的人体运动意图识别方法”可以准确分出弯腰、直立、迈左腿行走和迈右腿行走四种运动状态,但未考虑运动状态间的转换是否存在安全问题。
发明内容
为了克服现有技术的不足,本发明提供了一种上肢助力外骨骼机器人的运动状态识别方法,将和声搜索(HS)优化的一对一支持向量机(ovo-SVM)与有限状态机(FSM)相结合,首先根据有限状态机FSM将机器人外骨骼有限运动状态进行分类,并制定有限运动状态转换关系;接下来通过传感器采集机器人数据并对机器人状态进行分类,沿时间轴对滑动窗口内的数据状态利用多数表决器机理,取最多的作为当前系统状态估计值;然后判断系统前后状态的可达性,采用HSVM算法对当前滑动窗口中数量最多的同一数据状态重新进行类别判断,确定最终机器人运动状态。本发明方法不仅可以提高分类准确率,而且能够根据情况的变化改变参数取值,对于系统的不确定性因素具有较强的鲁棒性,自适应性好。
本发明解决其技术问题所采用的技术方案包括如下步骤:
步骤1:根据有限状态机FSM将机器人外骨骼有限运动状态进行分类,并制定有限运动状态转换关系;
所述机器人外骨骼有限运动状态分为三类:转动助力状态——帮助操作者肩臂转动发力;保持助力状态——帮助操作者肩臂固定动作保持发力;放松状态——对应操作者不进行任何重体力工作的放松状态;
机器人外骨骼在任一时刻都只能处于一个状态,且转动助力状态与保持助力状态可互达、转动助力状态与放松状态可互达,但是保持助力状态和放松状态不可互达;
步骤2:在机器人上安装多个传感器,采集角速度信号、角加速度信号和交互力信号;
对各传感器采集的数据信号进行预处理,得到数据状态wj,i为传感器序号,j为时刻;根据数据状态wj采用HSVM算法对j时刻机器人外骨骼有限运动状态进行分类;
步骤3:沿传感器采集机器人数据的时间轴对大小为l的滑动窗口内的数据状态利用多数表决器机理,在一个滑动窗口内取其中数量最多的同一数据状态对应的类别作为当前系统状态估计值km,km取值为三类机器人外骨骼有限运动状态之一,m为时间窗口序号;
步骤4:判断系统前后状态是否可达,若系统前一状态km-1到当前状态估计值km为可达状态,则此时的系统状态ssm由km-1转变为km,并返回步骤2,否则执行步骤5;
步骤5:采用HSVM算法对当前滑动窗口中数量最多的同一数据状态重新进行类别判断,产生新的系统状态估计值k′m,并再次检查k′m是否为km-1的可达状态,若是,则返回步骤2,否则此次系统状态汇报为异常值ssm=warning,重复步骤5,并统计异常状态出现的次数;当异常状态出现次数超过设定阈值,则停止机器人工作。
进一步地,所述在机器人上安装的传感器包括惯性测量单元和薄膜压力传感器。
进一步地,所述惯性测量单元安装在左、右大臂肱二头肌位置,大臂相对于竖直方向的夹角为大臂转动角度,当大臂位于垂直轴身体前侧,则角度为正值,反之为负值。
进一步地,所述薄膜压力传感器安装在左、右大臂肱二头肌和肱三头肌长头位置。
进一步地,所述惯性测量单元型号为MPU6050。
进一步地,所述对传感器采集的数据信号进行预处理包括:
对于交互力信号,采用基于阈值的小波变换方法进行降噪;
对于角速度信号和角加速度信号进行卡尔曼滤波去噪并对数据进行融合解算出大臂转动角度值;并采用基于小波包变换和基于统计量的组合特征提取方法进行特征提取。
进一步地,所述HSVM算法为对和声搜索算法HS进行优化后的一对一支持向量机ovo-SVM,具体步骤为:
步骤2-1:初始化和声搜索算法HS的主要控制参数:
和声记忆库HM的容量,即初始和声的数量HMS,其取值关系到算法的搜索能力和优化性能;
和声记忆库保留概率HMCR,即产生新解时从和声记忆库中选取解分量的概率大小,其取值关系到和声的多样性和最优解的获取;
记忆库扰动概率PAR,即每次对部分解分量进行微调扰动的概率大小;
局部扰动宽带u,其取值影响到算法性能和求解精度;
步骤2-2:设置目标函数,选取训练模型时的分类正确率作为目标函数:
f(x)=Vacc (1)
其中,Vacc为分类正确率;
步骤2-3:设置待优化关键参数及搜索范围,即和声搜索算法HS优化的一对一支持向量机的ovo-SVM惩罚因子C与核函数参数σ;
步骤2-4:将传感器采集的机器人数据输入到ovo-SVM算法中,利用HS算法对其迭代循环进行参数的优化。
本发明的有益效果如下:
(1)本发明方法不仅可以提高分类准确率,而且能够根据情况的变化改变参数取值,对于系统的不确定性因素具有较强的鲁棒性,自适应性好。
(2)本发明将有限状态机(FSM)概念引入上肢助力外骨骼机器人,提出将和声搜索(HS)优化的一对一支持向量机(ovo-SVM)与有限状态机(FSM)相结合所提出的运动状态识别方法(F-HSVM)。有限状态机可以优化基本分类器的分类效果,将外骨骼的运动状态分为有限个,在任一时刻系统都只能处于某一个状态。当特定的事件或条件触发后,在可互达的状态间进行状态转换;不在有限状态内的状态变换,视为异常状态,将不会进行状态转换,而是直接进入停止状态以保护操作者,提高了外骨骼助力的安全性。
附图说明
图1为本发明F-HSVM方法的流程图。
图2为本发明上肢助力外骨骼机器人有限状态机转移图。
图3为本发明F-HSVM方法分类准确度示意图。
图4为本发明ovo-SVM算法分类准确度对比示意图。
图5为本发明F-HSVM异常值检测示意图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
本发明的目的是克服上述现有技术中的缺点,提供一种人机交互水平高、运动状态识别效果精确、安全系数高的上肢助力外骨骼机器人运动状态识别方法。
如图1所示,一种上肢助力外骨骼机器人的运动状态识别方法(F-HSVM),包括如下步骤:
步骤1:根据有限状态机FSM将机器人外骨骼有限运动状态进行分类,并制定有限运动状态转换关系;
如图2所示,所述机器人外骨骼有限运动状态分为三类:转动助力状态——帮助操作者肩臂转动发力;保持助力状态——帮助操作者肩臂固定动作保持发力;放松状态——对应操作者不进行任何重体力工作的放松状态;
机器人外骨骼在任一时刻都只能处于一个状态,且转动助力状态与保持助力状态可互达、转动助力状态与放松状态可互达,但是保持助力状态和放松状态不可互达;
步骤2:在机器人上安装多个传感器,采集角速度信号、角加速度信号和交互力信号;
对各传感器采集的数据信号进行预处理,得到数据状态wj,i为传感器序号,j为时刻;根据数据状态wj采用HSVM算法对j时刻机器人外骨骼有限运动状态进行分类;
步骤3:沿传感器采集机器人数据的时间轴对大小为l的滑动窗口内的数据状态利用多数表决器机理,在一个滑动窗口内取其中数量最多的同一数据状态对应的类别作为当前系统状态估计值km,km取值为三类机器人外骨骼有限运动状态之一,m为时间窗口序号;
步骤4:判断系统前后状态是否可达,若系统前一状态km-1到当前状态估计值km为可达状态,则此时的系统状态ssm由km-1转变为km,并返回步骤2,否则执行步骤5;
步骤5:采用HSVM算法对当前滑动窗口中数量最多的同一数据状态重新进行类别判断,产生新的系统状态估计值k′m,并再次检查k′m是否为km-1的可达状态,若是,则返回步骤2,否则此次系统状态汇报为异常值ssm=warning,重复步骤5,并统计异常状态出现的次数;当异常状态出现次数超过设定阈值,则停止机器人工作。
进一步地,所述在机器人上安装的传感器包括惯性测量单元和薄膜压力传感器。
进一步地,所述惯性测量单元安装在左、右大臂肱二头肌位置,大臂相对于竖直方向的夹角为大臂转动角度,当大臂位于垂直轴身体前侧,则角度为正值,反之为负值。
进一步地,所述薄膜压力传感器安装在左、右大臂肱二头肌和肱三头肌长头位置。
进一步地,所述惯性测量单元型号为MPU6050。
进一步地,所述对传感器采集的数据信号进行预处理包括:
对于交互力信号,采用基于阈值的小波变换方法进行降噪;
对于角速度信号和角加速度信号进行卡尔曼滤波去噪并对数据进行融合解算出大臂转动角度值;并采用基于小波包变换和基于统计量的组合特征提取方法进行特征提取。
进一步地,所述HSVM算法为对和声搜索算法HS进行优化后的一对一支持向量机ovo-SVM,具体步骤为:
步骤2-1:初始化和声搜索算法HS的主要控制参数:
和声记忆库HM的容量,即初始和声的数量HMS,其取值关系到算法的搜索能力和优化性能;
和声记忆库保留概率HMCR,即产生新解时从和声记忆库中选取解分量的概率大小,其取值关系到和声的多样性和最优解的获取;
记忆库扰动概率PAR,即每次对部分解分量进行微调扰动的概率大小;
局部扰动宽带u,其取值影响到算法性能和求解精度;
步骤2-2:设置目标函数,选取训练模型时的分类正确率作为目标函数:
f(x)=Vacc (1)
其中,Vacc为分类正确率;
步骤2-3:设置待优化关键参数及搜索范围,即和声搜索算法HS优化的一对一支持向量机的ovo-SVM惩罚因子C与核函数参数σ;
步骤2-4:将传感器采集的机器人数据输入到ovo-SVM算法中,利用HS算法对其迭代循环进行参数的优化。
具体实施例:
实施例1:
如图3,利用MATLAB/Simulink对F-HSVM方法进行分类准确度的实验仿真分析,为了进行有效对比,使用ovo-SVM算法进行对照实验。
该例中数据为连贯运动数据,运动状态分布序列为0→1→2→1→2→1→0(0代表放松状态,1代表转动助力状态,2代表保持助力状态)。在图4和图5中,横坐标代表采样点,纵坐标代表分类标签,“·”表示各采样点及其对应的实际状态值,“○”代表各采样点及其对应的预测状态值。通过对比可得,ovo-SVM算法对于放松状态和转动助力状态的识别率不高,在实际应用中易产生转动助力时有时无的现象,F-HSVM方法可以对绝大多数运动状态进行准确分类,分类准确度更高,识别效果更加稳定。经验证,F-HSVM分类准确度为99.212%,ovo-SVM替换后的分类准确度为85.531%。
实施例2
利用MATLAB/Simulink检验F-HSVM方法对于异常值的处理能力,对加入异常状态转换的数据集进行仿真实验。
该例中数据为加入异常状态转换的运动数据,即让放松状态和保持助力状态的数据互通。状态分布序列为0→1→2→0→2→1→0,其中0(放松状态)和2(保持助力状态)在有限状态机中是禁止互达的,这种情况下算法应将系统状态调为3(警告状态warning),并在连续警告状态的数量达到阈值(实验中设置为20)时系统紧急停止。
由图5可以得到,对于0~150左右的采样点,算法能够较准确地对运动状态进行预测。提供的样本点的状态由2变为0时,该转变是禁止的,所以算法将其分类为3,即警告状态。在图5中,当警告状态达到连续20次时系统自动进入停止状态,程序停止运作。所以,该算法可以在保证分类准确度的情况下,有效识别不可达运动状态的情况,提升了系统的安全性。