徐健 曹军 张怡卓
(东北林业大学,哈尔滨,150040)
松果是我国生产的主要干果之一,其中松子具有很高的营养价值,并且松皮也是复合材料的重要原料之一。目前,松果采摘的主要收获方式仍为人工作业方式,但人工采摘方式缺点为工作危险、效率低下和工作环境恶劣。为实现高效、危险系数低的采摘目的,使用采摘装置代替人工采摘方式。
松果采摘装置中,因为各个关节的联动及击打机械臂过长的问题,采摘装置会产生不可控的残余振动[1]。由于残余振动的存在,一方面会使设备不能准确定位到松果的位置,另一方面对于整个设备的健康情况及使用寿命产生严重的影响,故需要采用振动抑制算法对采摘装置进行振动抑制[2-4]。现如今的振动抑制算法可主要分为开环和闭环两类控制方法。闭环控制方法加入反馈环设计,对系统参数的变化及外界干扰鲁棒性较好;缺点是实现实时反馈与调节,闭环控制需要引入更多传感器和计算工作量[5-6],实现起来更为复杂且成本较高。而开环控制方法只需在原有控制系统中引入前馈环节,并且通过模型计算后,只需要经过短暂的时间间隔就可以达到稳定,因此在实际应用中更加简单,能耗低[7]。输入整形器为满足不同的工程需求,主要分为如下几类:①零振动(ZV)输入整形器,特点是适合系统参数已知且唯一的情况,在系统参数点处可以完全的消除振动[8];②零振动和微分(ZVD)输入整形器,特点是适合系统参数已知且唯一的情况,在系统参数点附近可以完全的消除振动[9];③SI输入整形器,特点是适合系统参数不确定但知道系统参数范围的情况,可以在任意范围内,通过加入采样点的方式,有效抑制该范围内的系统参数产生的振动。
以上输入整形器必须知道系统参数在特定范围内,而实际应用中采摘装置的系统参数有不确定性,于是引入强化学习对输入整形器进行设计。强化学习主要是通过代理体与环境的交互方式使奖励函数最大,令代理体得到最优控制策略的机器学习方法[10]。本研究针对采摘装置系统参数不确定的情况,提出了一种基于强化学习优化SI输入整形参数的方法,通过将输入整形的时间间隔和脉冲幅值分别离散化,将其输入至代理体中。并在机械臂运动过程中用高速摄像头对每个过程的速度进行监测,给予代理体奖励函数,寻找生成的一系列参数的最大奖励函数即为所得的最优参数。使用该算法可以实现摄像头快速识别松果位置与对松果临近枝干精准打击,可以提高采摘设备的效率[11-12]。首先搭建双摆模型对强化学习优化后的SI输入整形器进行试验,观察有参数模型消除振动的效果;然后测试强化学习优化后的SI输入整形器在松果采摘装置模型的振动消除情况;最后对比机器学习优化后的SI输入整形器和传统的SI输入整形器[13]在松果采摘装置模型中的振动抑制效果。可知,强化学习优化后的SI输入整形器具有更快的调节时间、更低的振幅的特点,可以提高采摘设备松果识别时间和击打过程中的效率。
采用的击打式松果采摘装置是由多关节机械臂和控制器组成,其中多关节机械臂由连杆、行星减速器、联轴器、步进电机和基座组成[14-15];控制器由STM32控制器和步进驱动器两部分组成。选用型号为PLF-20,减速比为1∶20的行星减速器和型号为DM860H的86型步进电机,并且机械臂还安装有型号为JA-C8C-U的双目摄像头。击打式松果采摘装置的结构示意如图1所示。步进电机1通过行星减速机驱动连杆可以完成竖直方向运动[16],步进电机2完成上扬角度的运动,步进电机3完成水平方向运动,步进电机4完成松果击打,移动机械臂上安装的摄像头确定松果的实际位置和成熟程度。击打式松果采摘装置控制策略如图2所示。
输入整形是最常见的信号整形技术。输入整形器的本质是一组脉冲序列,目的是将零点放置到柔性系统的极点处或其附近区域。输入整形器的实现方法是将这组脉冲序列与用户期望的任何输入信号进行卷积运算,使之变成一系列有时间间隔的脉冲序列。将处理后的脉冲序列输入控制装置,可达到抑制振动的效果。
振动的衡量标准为残余振动百分比,即n个脉冲序列在欠阻尼二阶系统产生的振动幅度除以初始信号产生的振动幅度。用其反映输入整形前后的振动抑制情况:
(1)
(2)
(3)
式中:ω为系统的自然频率;ωd为系统的阻尼频率;ξ为阻尼比;VPR为系统的残余振动百分比;Ai和ti分别是输入整形脉冲序列的幅度和时间。
输入整形主要有ZV、ZVD、EI、SI4种典型输入整形器。其中SI输入整形器因其鲁棒性好、可在特定范围对振动有较好抑制效果等特点,有十分广泛的实际应用。
适用于不确定系统参数,但可以确定系统参数所在范围的情况。在设计输入整形器中加入采样点的方式,可在特定范围内对运动过程中产生的振动有很好的抑制效果。
设计方法为指定所需的振动容许值Vtol和设计出输入整形器振动抑制的具体频率范围[17]。因此,公式(1)被修改为公式(4):
(4)
本研究采用的松果采摘装置具有多节联动的控制方式,令该装置的系统参数具有不确定性,使SI输入整形器也不能很好地抑制击打机械臂的振动效果。基于以上原因,设计了强化学习优化SI输入整形器参数的方法来解决装置产生振动的问题。
图3所示强化学习方法是一种典型的离散型强化学习控制算法,在没有任何预先存在的知识的条件下,通过代理体与动态环境多次的交互式学习,选择不同策略,根据不同的状态选择合适的动作得到不同的奖励,最终得到最优解[19-22]。
首先,根据SI整形器的设计方法作为参考,设计出一个具有综合奖励功能的动态环境,结合了输入整形器设计需满足的所有约束条件。然后,对传统的强化学习方法进行一些新的改进,使得代理体可以更有效地解决设备的振动问题。
2.3.1 具有综合奖励功能的动态环境设计
SI整形器的设计是满足公式(4)约束下的多脉冲序列,需要解决多目标强化学习问题。但因为所有目标问题都是非冲突和不相关的,因此可以首先建立单一策略强化学习的代理体来学习最佳行为。在其他大多数研究中,多目标强化学习解决方案专注于设计多目标学习代理体。通常需要查多个表,且每个表只适合单独的目标。然后分别进行强化学习以分时方式驱动代理体的行为,运行过程如图4所示。随着每个时间步来更新多个表,但这个算法对维数有局限性,不适合处理高维运算。
因此,本研究通过修改环境的方法解决了多目标强化学习的计算问题。由于所有目标在实现控制要求中同样重要,因此设计一个奖励函数,这个奖励函数通过对各个目标赋予权重的方式来描述所有目标量对该控制的重要程度。该奖励函数被称为合成奖励函数,并且作为单目标强化学习代理体的奖励。在每个时间步更新一个表,使用修改环境的方法可以明显减少计算维度、问题的求解难度和实现所需的费用,运行过程如图5所示。
2.3.2 强化学习的代理体设计
系统的残余振动取决于代理体的全部动作而不是只与前一动作有关,因此为非马尔科夫(MDP)环境,所以将使用非自举强化学习方法。RL算法的主要目的是探索环境与代理体之间的平衡。现提出了许多不同的探索方法,通常可以分为两类:无向勘探方法和定向勘探方法。在简单离散MDP模型下,定向探测技术在训练时间和政策最优性方面均优于无向探索技术。但是因为其复杂性使得定向探索技术难以向多维扩展。因此,对于跨越不同领域的多维空间不存在独特的解决方案,调整无向探索技术的探索率仍然是当今最流行的实践方法。RL算法中的另一个问题是策略偏差问题,如果值函数十分明显地偏离真实值,则得到最佳行为的概率可能会降低。并且类似于间接探索的传统方法则是减少代理体的时间函数,但这往往需要设计者进行额外的调节。
为了解决上述问题,提出了一种简单、直观的算法。该算法如表1所示。
其中一种有效的探索技术,称为基于计数器的探索技术,该技术的实现方法是通过计算每个状态与动作对的访问次数,并时刻观察产生当前最佳性能的状态与动作对来更为有效地探索环境。受这个想法的启发,本研究引入了一种密集搜索的简单搜索算法。通过设置一个接近最优奖励的阈值来实现,该阈值在刚开始的小范围内进行手动调整设置初值。当代理体的所得奖励值超过奖励阈值时,代理体将遵循当前状态下的最优策略,并在这些执行动作下探索不同的动作,时刻观察当前最佳性能状态与动作对,且同时在本地搜索更好的结果。这个强化探索技术平衡了探索环境与代理体的平衡,其优点是无需记住每个状态与动作对的访问次数,就可以实现强化探索功能。
表1 可更新的零奖励阈值代理体设计
2.3.3Q表学习优化SI输入整形器
设计的松果采摘装置在多节机械臂的运动过程中会产生振动,并且振动的系统参数具有不确定性[23]。在相同的控制状态下,得到的振动幅值与稳定时间都不相同,直接用某一时刻的状态计算系统参数会导致装置的振动抑制效果不佳。初始状态下,建立5个Q表,每张表以机械臂击打处坐标为横坐标,步进电机速度为纵坐标,通过Boltzmann选取动作[24],将计算的Q值存入表格。然后,在奖励函数中加入衰减系数,令选取的动作序列跳出局部最优。最后,经过多次训练后得到优化后的SI输入整形器参数。具体的设计流程如图6所示。
其中:r为奖励函数;ArgQ(s,a,θ)max为输入最大状态-动作对;θ为衰减函数;s′为下一状态的动作预测值。回放记忆序列的目的是为了弱化数据关联性,增加数据的随机性。
为了验证松果采摘机械臂的振动抑制效果,共搭建两个实验平台分析本研究设计的振动抑制系统有效性。首先在双摆试验中,采用传统的SI输入整形器和强化学习优化后的SI输入整形器进行了实验仿真。分析在已知系统参数范围的条件下,对比强化学习优化后SI输入整形器的参数和经过公式计算的传统SI输入整形器的参数对双摆模型的振动抑制效果。然后分别将传统SI输入整形器和强化学习优化后SI输入整形器加入到松果采摘设备中,分析在不确定系统参数范围的情况下,传统的SI输入整形器和设计的强化学习优化后SI输入整形器对该设备的振动抑制效果。
3.1.1 双摆模型建立
采用SI输入整形器对该双摆模型进行控制,最终达到抑制振动的目的。双摆模型示意图如图7所示,小车与其中重物mh通过长度为L1的绳子连接,重物mh与重物mp通过长度为L2的绳子相连。设在运动过程中绳子的长度没有变化,则满足的方程为
(5)
(6)
式中:θ1和θ2分别为两个重物的摆角;R为重物mp与重物mh的比值;g为重力加速度。
双摆系统有两套系统参数,由经验法可知,两个自然频率分别为ω1∈(1,3)、ω2∈(5,8),则在这两个范围内选取采样点,可以有效地消除振动。
3.1.2 双摆模型实验验证
因为已知振动只与阻尼比和自然频率有关,双摆模型有两套阻尼比和系统参数。在已知系统参数范围的情况下,将强化学习优化后的输入整形、传统SI输入整形器和未加入算法对比,分别得到这3种控制算法的最大振幅与调节时间,衡量强化学习优化后是否比传统算法更加高效、快速。
图8显示的是3种控制方法下双摆模型的位置坐标随时间变化的曲线。其中蓝线表示原始控制信号输出,黑线表示传统的SI输入整形器输出,红线表示强化学习优化后的SI输入整形器输出。可以看出原始控制信号的输出的最大振幅偏差约为50%,并且在0.3 s后的偏差仍会达到20%,这对设备的控制精度和使用寿命有很大影响。传统的SI输入整形器输出的最大振幅偏差约为15%,强化学习优化后的SI输入整形器输出的最大振幅偏差约为3%;相比之下,强化学习优化后SI输入整形器的最大幅值更小,对设备的控制精度更好。
表2显示的是3种控制方式下双摆模型振动消除所需的调节时间,共测试10组数据,取其平均值作为衡量标准。其中,蓝色条形图表示原始控制信号消除振动所需时间,消除振动所需时间约为1.2 s;红色条形图表示传统SI输入整形器消除振动所需时间,消除振动所需时间约为0.4 s;黄色条形图表示强化学习优化后的SI输入整形器消除振动所需时间,消除振动所需时间约为0.02 s。可以看出,经过强化学习优化后的SI输入整形器的最大幅值与消除振动所需的时间远小于其他两种控制方式。
表2 双摆模型3种算法下的消振时间
由于双摆系统为复杂系统,产生的振动不容易完全消除,使用传统SI整形器后抑制振动所需的时间过长。但在采用强化学习的方法后,调节时间相对较快,可以达到各方面的要求。
多关节机械臂的运动灵活性高,并且在运动过程中,多节机械臂的各关节的运动方式也会影响击打机械臂的振动规律,采用传统的SI输入整形器不能完全消除击打机械臂的振动。采用强化学习的方法对传统的SI输入整形器的参数进行优化,观察是否可以迅速抑制多节机械臂的振动。
在实际环境中,有风阻等实际因素来影响整个装置的振动规律。本实验平台通过加入扰动信号的方式模拟各种实际环境的干扰。该扰动信号的实现方式为在装置的控制信号端加入一连串的随机函数,模拟3种控制方法在实际环境且系统参数不定的情况下的最大幅值与振动消除所需的调节时间。
图9显示的是3种控制方法下机械臂模型的正弦坐标随时间变化的曲线。其中黑线表示原始控制信号输出,蓝线表示传统的SI输入整形器输出,红线表示强化学习优化后的SI输入整形器输出。可以看出原始控制信号输出的最大振幅偏差约为32%。传统的SI输入整形器输出的最大振幅偏差约为10%,强化学习优化后的SI输入整形器输出的最大振幅偏差约为1%;相比之下,强化学习优化后SI输入整形器的最大幅值更小,对设备的控制精度更好。
在参数不确定的情况下,更能体现出强化学习的方法对SI输入整形的优势,使用该算法将SI输入整形器的幅值与脉冲分别离散化,并根据多节机械臂的最终振动作为观测指标进行训练,得到最优的幅值和脉冲数量。随着最终观测指标的时刻改变,参数优化后的SI输入整形器的控制信号的幅值和脉冲数量也随之变化。参数优化后的SI输入整形器算法可以很快地消除振动,并且振动的残余量很低。
表3显示的是3种控制方式下机械臂模型振动消除所需的调节时间,共测试10组数据,取其平均值作为衡量标准。其中蓝色条形图表示原始控制信号消除振动所需时间,消除振动所需时间约为1.4 s;红色条形图表示传统SI输入整形器消除振动所需时间,消除振动所需时间约为0.6 s;黄色条形图表示强化学习优化后的SI输入整形器消除振动所需时间,消除振动所需时间约为0.02 s。可以看出,强化学习优化后的SI输入整形器在系统参数不确定的情况下,也有很好的振动抑制效果。
表3 采摘装置3种算法下的消振时间
本研究针对松果采摘装置在运动过程中存在的振动问题,从输入整形器的基本理论出发,先分析了各种输入整形器的设计方法与优缺点,得出SI输入整形器可以更好地达到目的要求;然后用强化学习的方法对传统的SI输入整形器进行了改进,提出了一种基于强化学习的方法对SI输入整形器进行训练;最后通过大量训练得出最优化的SI输入整形器参数。结果表明,通过对比传统SI输入整形器和强化学习优化后的SI输入整形器的振动抑制情况和时滞时间可以得出,本研究设计的强化学习优化后的SI输入整形器与传统的SI输入整形器相比,具有较强的鲁棒性,并且在实际应用中振动抑制效果更为优秀,可以快速、准确地实现松果的识别与松果临近枝干的精确打击。