基于NSGA-Ⅱ算法的康复机器人减重单元的优化设计*
2022-01-18高学山吕鹏飞石永杰吕佳乐郝亮超牛军道车红娟
刘 欢,高学山,2**,吕鹏飞,石永杰,吕佳乐,郝亮超,牛军道,赵 鹏,车红娟
(1.广西科技大学机械与交通工程学院,广西柳州 545616;2.北京理工大学机电学院,北京 100081;3.广西科技大学电气与信息工程学院,广西柳州 545006)
0 引言
随着人口老龄化现象愈来愈严重,康复医疗逐渐引起社会的广泛关注。目前我国从事康复事业的人员稀缺,部分患者由于不能及时得到科学有效的康复训练导致训练效果差,致残率高。国内康复产业缺口较大,相关产业相较于国外仍存在较大差距,康复设备种类较少,功能单一。
目前国际康复领域普遍认同的针对脊椎损伤患者有效的康复训练治疗手段是减重步行训练(Body Weight Supported Training,BWST)。下肢康复机器人可以通过减重单元实现可控减重,为患者提供更为安全的减重步行训练。正常人在行走过程中,重心离地高度为变化量,为使患者拥有更好的用户体验,减重步行训练过程中的减重力应满足:大小可控且在垂直地面方向具有一定自由移动距离的力。减重力可以随设备使用者重心离地高度变化而变化,减轻使用者不适感。
现有下肢康复设备多为固定式,而移动式下肢康复机器人能为穿戴者提供更接近真实行走的感受,移动式康复机器人对减重单元也提出了更高的要求。移动式康复机器人减重单元由弹簧、力臂板、丝杆滑轨以及电机相互协作实现减重效果。通过协调内部各个部件可以使减重单元结构更加紧凑,工作效率更高。由于减重单元内部为一个多因素多目标优化问题,使用传统的方法解耦难度大,而使用带精英策略的非支配排序遗传算法(NSGA-Ⅱ)可以较快地获得优化结果。如杨筱沛等[1]、王冬良等[2]通过NSGA-Ⅱ较好地优化了机构内的多目标问题。本研究在分析减重单元结构的基础上,拟通过建立以减小减重单元体积为目标的多目标优化模型,提高机构工作效率,使减重单元在工作过程中输出的力尽可能稳定。
1 减重单元设计
移动式下肢康复机器人的核心系统之一为减重单元。由图1可知,机器人结构部分主要由龙门架框架、减重单元、悬吊臂、升降丝杆滑轨、驱动轮及避震系统以及电池组组成。其中设备使用者与悬吊臂通过穿戴减重康复训练服柔性固定,悬吊臂与减重单元内的输出力臂相连,由减重单元提供减重训练所需减重力,减重单元与升降丝杆滑轨相连,升降丝杆滑轨可以根据需求调节减重单元离地高度,以增加设备适用性。4个静音万向轮为机器人提供整体支撑力,驱动轮及避震系统为康复机器人提供整体移动所需动力,电池组提供机器人能源。
图1 移动式下肢康复机器人结构设计Fig.1 Structural design of mobile lower limb rehabilitation robot
图2为减重单元原理图。以滑轨起点O为原点,建立平面直角坐标系,OA为丝杆滑轨,L为丝杆滑轨中滑块移动的距离;α为滑轨与水平面的夹角;h为滑轨起点距离力臂旋转点O1的垂距;O1C为输出力臂,长度为L1;O1B为输入力臂,长度为L2;β为输入力臂与输出力臂之间的夹角;AB为拉簧,原长为L0,工作长度为LW;F为输出力[3]。
图2 减重单元原理图Fig.2 Schematic diagram of weight reduction unit
2 减重单元多目标优化
2.1 多目标优化模型建立
2.1.1 确定设计变量
由原理图可知,该模型内,自由变量为L、L1、L2、α、β、h、k以及LW。其中,L通过电机控制丝杆滑轨上的滑块实现可控,通过控制L的长短实现输出力臂O1C输出力F的大小。k与LW为拉力弹簧的劲度系数与工作长度,为简化模型,通过测试实验确定弹簧的劲度系数k为8 N/mm。h为丝杆滑轨起点与三角力臂板CO1B的旋转中心O1的距离,该数值受丝杆滑轨外形参数影响,取定值100 mm。
2.1.2 目标函数
在减重单元工作过程中,三角力臂板CO1B输出力臂O1C围绕O1点旋转,而输出力臂O1C与输入力臂O1B夹角β为力臂板的固有数值,在加工好后无法修改。为配合设备使用者在行走过程中重心离地的变化,输出力臂在设备工作中绕O1点旋转,C点通过转向装置连接悬吊臂,为悬吊臂提供所需输出减重力。当输出力臂O1C绕O1旋转时,输入力臂O1B从动旋转,B点与A点之间连接弹簧,由于旋转输入力臂与弹簧的夹角ε会改变弹力以及弹簧的伸长量也会改变,该角度的改变影响拉力的转化率。优化减重单元使力臂板CO1B在绕O1旋转过程中C点输出力尽可能稳定为一常量。
AB是由弹簧相连,AB的长度L0或LW决定弹簧的输出力,由胡克定律可得:
F=kΔL。
(1)
式(1)中,F为弹簧输出力;k为弹簧劲度系数;ΔL为弹簧增长量,即ΔL=LW-L0,LW为弹簧工作长度,L0为弹簧原长。
再由力矩平衡原理:
F1×L1=F2×L2。
(2)
可以求得C端点输出力F。
代入上述数据可得:
(3)
式(3)中,ε为弹簧与输入力臂之间的夹角,可由平面向量夹角公式求得:
(4)
为化简问题,在该模型中,使弹簧AB的长度变化尽可能小,可使得力臂O1C绕O1点转动过程中C点输出力F变化尽可能小,即有
f1(β,L2)=-|Δ|=-|AB1-AB2|=
(5)
W1(a,b)=hsin(a)+L2cos(b)-Lcos(b),
(6)
W2(a,b)=hcos(a)+L2sin(b)+Lsin(b)。
(7)
为提高减重单元的效率,减小减重单元整体体积为第二优化目标。计算式:
f2(α,β,L2)=
Lcosα×(Lsinα+hcosα+L2sinβ)。
(8)
图3为减重单元侧面积示意图。
图3 减重单元侧面积示意图Fig.3 Diagram of side area of weight reduction unit
2.1.3 约束条件
根据减重单元设计要求,(单边减重单元)输出的力为F,且最大值大于250 N。即
(9)
其中:
U(α,β,L2)=h×sinα+L2×cosβ-L×cosα,
(10)
V(α,β,L2)=L×sinα+h×cosα+L2×sinβ。
(11)
由于该问题具有实际意义,每个变量均有其取值范围(表1)。
表1 弹簧盒优化决策量取值范围Table 1 Value range of optimization decision quantity for spring box
2.1.4 减重单元多目标优化模型
综上所述,减重单元多目标优化模型可表示为
目标函数:
f1(β,L2)=-|Δ|=-|AB1-AB2|=
W1(a,b)=hsin(a)+L2cos(b)-Lcos(b),
W2(a,b)=hcos(a)+L2sin(b)+Lsin(b)。
为配合整体求最小值,有
(12)
减重值约束:
(13)
其中,U,V分别由式(10)和(11)求得:
2.2 基于NSGA-Ⅱ的减重单元优化设计求解
多目标优化问题(Multi-objective Optimization Problem,MOP)起源于许多实际复杂系统的设计、城市运输、资本预算等。这些现实问题在决策中都要考虑不同的约束条件,需要同时处理多个相冲突的目标,而这些多个优化目标并非独立存在,他们之间常常存在耦合关系,相互竞争,并且每个目标又具有不同的物理意义和量纲。21世纪,初遗传算法(Genetic Algorithm,GA)[4]逐渐成为多目标优化问题的研究热点,在标准遗传算法的基础上通过添加隔离小生境技术[5,6]、动态调整距离参数等方式提出新的算法,使遗传算法在局部搜索能力、收敛能力等方面有明显提升[7,8]。多目标优化算法NSGA-Ⅱ在搜索Pareto最优解集方面有良好表现[9]。多目标优化问题的Pareto最优解仅仅是一个可以接受的“不坏”的解,通常具有多个Pareto最优解。须针对问题从最优解集中挑选一部分解集作为问题的最优解[10]。
2.2.1 NSGA-Ⅱ算法改进
变异运算是指将染色体编码串中某些基因座上的基因用其他的等位基因替换,从而使种群中产生新的个体。该变异属于辅助性操作,主要作用是提高种群内多样性的功能,从而提高遗传算法的全局搜索能力。如果变异概率太大,虽然能使群体中任意产生新的个体,但不易使群体收敛,并且后期容易破坏优秀的染色体。而变异概率太小又会使群体活力不足,从而陷入局部最优。本研究使用拟退火的思路,在此处添加一个活跃因子,在进化前期使种群具有足够的活力,在进化后期逐渐减小,达到快速收敛的效果。活跃因子与迭代次数成反比。一般变异概率Pm取值0.001至0.4。
2.2.2 NSGA-Ⅱ算法仿真
基于所建立减重单元模型,使用NSGA-Ⅱ算法,算法流程如图4所示,通过经验设置算法参数(表2),可获得减重单元Pareto前沿,如图5所示。
图4 NSGA-Ⅱ流程图Fig.4 NSGA-Ⅱ flow chart
表2 NSGA-Ⅱ算法参数设定Table 2 NSGA-Ⅱ algorithm parameter setting
图5 迭代次数及函数对应关系Fig.5 Number of iterations and function correspondence
通过软件仿真获得Pareto解集,根据实际情况进行筛选,优化前后减重单元设计参数取值如表3所示。由表3可知,利用算法优化在降低输出减重力效果的前提下,减小了减重单元的体积,提高了设备的密度。
表3 减重单元设计参数Table 3 Design parameters of weight reduction unit
3 实验验证
为模拟各种减重单元的数据搭配,验证各种可能性,特设计如图6所示实验机。该实验平台使用铝型材搭建,可以模拟弹簧盒减重单元内不同数据的组合。通过调整铝型材的相对位置来实现弹簧盒内不同数据的配合。通过组合实验获得实验数据,在每个变量可行域区间长度中,选取位于其15%、50%以及75%位置的量进行测试,共计81组实验。弹簧使用弹簧盒减重单元设置的拉力弹簧。通过拉力计测量输出力的大小并做记录,将优化前与优化后的数据一同代入对比,共计83组数据(表4)。
图6 减重单元实验机Fig.6 Experimental machine of weight reduction unit
表4 减重单元实验数据Table 4 Experimental data of weight reduction unit
续表4Continued table 4
续表4Continued table 4
通过观察1-81组实验数据可以发现,在角α趋向于1.57、角β趋向于0时,减重单元的侧面积在实验组内最小,故优化的结果极大可能在该区域内。从表4也可以看出,L1与减重单元的侧面积无相关性。通过仿真及验证获得减重单元原理图(图7),即为满足多目标优化后的原理图。
图7 优化后减重单元原理图Fig.7 Optimized weight reduction unit schematic
4 结论
本研究设计了移动式下肢康复机器人结构,并且深入研究减重单元,确定了减重单元内各个变量的取值范围,为后续优化设计奠定了基础。分析了减重单元各个变量间的关系,以提高减重单元工作效率及输出效果为设计优化目标,引入输出效果力为约束条件,建立减重单元的多目标优化模型;使用带精英策略的非支配排序遗传算法(NSGA-Ⅱ)进行优化求解,获得Pareto最优解集,根据实际工况,通过筛选获得优化结果。设计实验验证该模型中获得的优化结果在最优解域内。通过优化,减小了移动式下肢康复机器人内减重单元的体积,使结构更科学合理。
本研究应用启发式算法解决在实际机械设计过程中的多目标问题,证实了算法的有效性,在算法运行后尽量提出种群中不合理解,更有效地指导算法决策者向偏好的方向搜索,提高设计效率。后续工作可以考虑对机械工作原理与实现方式进行优化。