首页 / 一种基于步行比趋势变化的奖励函数建立方法

一种基于步行比趋势变化的奖励函数建立方法有效专利 发明

技术内容

一种基于步行比趋势变化的奖励函数建立方法 (一)技术领域: [0001] 本发明属于机器人相关技术领域,是一种步态康复柔性外骨骼机器人的步行比奖励函数的建立方法,能够应用于柔性外骨骼基于强化学习方法的控制参数自适应控制任务中。 (二)背景技术: [0002] 柔性外骨骼机器人可助力腿脚不方便的老年人行走,增强人体腿部力量。在康复治疗、日常出行等方面具有广泛的用途。由于人与人之间具有较大的个体差异性,目前,外骨骼机器人的控制参数大都需要根据穿戴者自身运动特征进行调节,耗时耗力且无法跟踪穿戴者的身体变化。 [0003] 强化学习可以在与环境的交互中寻找最优策略,自主学习。因此,将强化学习运用到外骨骼中来可以大大提高机器人的参数自适应性。由于强化学习的目标是最大化累计奖励,因此奖励函数扮演了非常重要的角色。在监督学习中,监督信号由训练数据提供。在强化学习中,奖励函数承担了监督信号的作用,智能体(Agent)依据奖励进行策略优化。 [0004] 奖励函数是智能体学习效率的关键,目前奖励函数大多依赖于人类专家的设计,对于一些复杂的决策问题,难以设计好的奖励函数。为此,研究人员提出元学习(Meta Learning),模仿学习(Imitation Learning)等方式,让智能体学习从好的策略中总结相应的奖励函数,用于指导强化学习过程。然而,模仿学习需要借助反向强化学习(Inverse Reinforcement Learning)和强化学习的交替迭代,过程过于复杂,而且模仿学习依赖于专家样本,对于某些缺少专家样本的场合不适用。此外,对于一些稀疏奖励的问题,强化学习的效率也非常低.研究人员为此提出一些解决方案,包括设置辅助任务、引入好奇心机制等,这些方法依然受到泛化能力的限制,需要根据具体任务由专家提供相应的先验信息,不能普遍意义上解决强化学习的稀疏奖励问题。 [0005] 如何针对柔性外骨骼参数自适应的问题,设计一种促进外骨骼参数快速收敛的奖励函数,是目前亟需解决的问题。 (三)发明内容: [0006] 本发明的目的在于提出一种基于步行比趋势变化的奖励函数的建立方法,它可以克服现有技术的不足,能够反映步行比的趋势变化,利用MEMS(Micro‑Electro‑Mechanical System,微机电系统)姿态传感器的输出数据,计算步长和步态周期,得到步行比,并确立一种基于步行比趋势变化的奖励函数,以促进柔性外骨骼参数快速收敛,增强了参数的自适应性,该方法简单、易行,且容易实现。 [0007] 本发明的技术方案:一种基于步行比趋势变化的奖励函数建立方法,其特征在于它包括以下步骤: [0008] (1)采集柔性外骨骼机器人的穿戴者的髋关节屈曲角参数信号,并找到髋关节的最大屈曲角θmax和最小屈曲角θmin,若已知柔性外骨骼机器人的穿戴者的腿长为l时,则可得到柔性外骨骼机器人的穿戴者的步长D; [0009] D=l(θmax‑θmin)                                     (1) [0010] (2)将传感器放置在柔性外骨骼机器人的穿戴者的左右大腿后部中间位置,并实时采集该穿戴者正常行走时的髋关节屈曲角参数,以获取穿戴者髋关节的屈曲角参数曲线,将波谷时刻记为t波谷,进而可以计算得到当前步态周期为: [0011] T(k)=t波谷(k)‑t波谷(k‑1)                                (2)[0012] 即:当前步态周期是由相邻的两个波谷点的值计算得到; [0013] 步骤(2)中穿戴者髋关节的屈曲角参数曲线的获取方法具体如下: [0014] (2‑1)由姿态传感器采集柔性外骨骼机器人的穿戴者的髋关节屈曲角参数信号,并将其转换成数字量信号,发送给单片机,并由其发送给PC(Personal Computer,个人计算机)端;单片机与PC端之间的数据传输是单片机通过串口通讯经蓝牙模块利用无线网络传输给PC端。 [0015] (2‑2)利用安装在PC端的MATLAB中的串口接口实现髋关节屈曲角参数信号的获取,并通过“plot”函数绘制髋关节屈曲角参数实时曲线; [0016] 髋关节屈曲角参数实时曲线也可直接使用第三方上位机软件来显示曲线,如“匿名上位机”。 [0017] 所述步骤(1)和步骤(2)中柔性外骨骼机器人的穿戴者的髋关节屈曲角参数信号的采集通过MEMS姿态传感器实现,该MEMS姿态传感器自带ADC(Analog to Digital Converter)转换模块。 [0018] (3)根据步骤(1)得到的步长D和步骤(2)得到的步态周期T(k)则可计算出一个步态周期末的真实采样步行比W,如公式(3)所示: [0019] [0020] 式中,W为步行比,D为步长,单位为m,N为步频,其单位为steps/min,T步为步态周期,单位为min; [0021] (4)建立步行比采样序列,取每隔一个周期一个采样点,根据数列收敛情况设定如式(4)所示的打分机制,对分析序列中的序列值进行打分; [0022] |W当前‑W目标|<|W上一采样点‑W目标|                   (4) [0023] 其中,W当前当前采样点的步行比值,W目标为设定好的健康老年人的步行比值,W上一采样点上一采样点的步行比值; [0024] 所述步骤(4)中的根据打分机制对分析序列中的序列值进行打分,具体是指: [0025] ①当W当前>W目标时,如果当前采样点的步行比小于上一采样点的步行比,则当前时间所对应的序列值置1,否则置0; [0026] ②当W当前<W目标时,如果当前采样点的步行比大于上一采样点的步行比,则当前时间所对应的序列值置1,否则置0; [0027] ③在该分析序列中选取包含当前时间点的m个序列值,并记录分析序列中1的个数为P,0的个数为Q,则可根据公式(5)计算出外骨骼机器人执行完前一动作后的奖励值: [0028] [0029] 其中,Maximun是人为设定的最大奖励值,P为分析序列中1的个数,Q为分析序列中 0的个数,m为分析序列中采样点的个数; 表示多个周期内步行比的趋势; [0030] (5)依次对步行比采样序列中的采样序列打分,分别得到P和Q的个数,并根据全局奖励函数公式(5)得到外骨骼机器人执行完前一动作后基于步行比的全局奖励值;当P值较高时,即P>Q,步行比按照预期趋势,即向着给定的健康老年人的步行比值收敛,则外骨骼机器人将得到正奖励;当Q值较高时,即Q>P步行比将背离预期趋势发散,则外骨骼机器人将得到负奖励; [0031] (6)将上述奖励函数模型运用到优化外骨骼参数的强化学习算法中,当如公式(6)所示的值函数最大时,则得到的策略即为最优策略,即可实现对步行比的调整,使得外骨骼机器人辅助老年人行走,起到康复的作用。 [0032] vπ(s)=Eπ(Rt+1+γRt+2+γ2Rt+3+...|St=s)               (6) [0033] 其中,vπ(s)为在策略π和状态s时,采取行动后的价值函数;R为上述奖励函数模型,Rt+1为t+1时刻的奖励;γ为奖励衰减因子,在[0,1]之间;St为t时刻环境的状态。 [0034] 本发明的工作原理:奖励函数的范围是一个重要的参数,它涉及整形的有效性,并证明它对于一个简单的强化学习算法在运行时间上具有最强的影响力。因此,设置一个最大奖励值,根据比例确定奖励的值,可以约束奖励范围。设置全局奖励函数时,,目的是约束多个周期内步行比的整体趋势。因此为步行比的趋势打分,若当前趋势为按照目标步行比收敛,则置1;若当前趋势为发散,则置0;1的个数为P,0的个数为Q, 可以表示多个周期内步行比的趋势,P>Q为收敛,给出正奖励,Q>P为发散,给出负奖励。比例的大小表示发散或收敛的程度,收敛程度越好得到的奖励值越大,整体越发散得到的奖励越小。因此确定奖励函数为公式(5)所示。 [0035] 通过全局约束奖励函数,解决多个周期中的步行比按照预期趋势收敛的问题。该奖励函数设置的目的是解决外骨骼参数自适应的问题。以步行比的值是否为健康老年人的步行比值为基准来判断外骨骼参数自适应的好坏。通过上述奖励函数,在智能体执行完上一动作后,计算当前步行比的值并根据奖励函数得到奖励。智能体即机器人的智能主体部分,是被放到环境中去探索和学习用的机器人主体。智能体为积累最大的奖励,进而调整下一步的行为,输出更适合老年人行走的参数,得到奖励最多的行为是使步行比始终保持在健康老年人步行比值的行为的参数,有助于外骨骼参数自适应优化。 [0036] 该方法主要用于外骨骼机器人的参数优化算法中。外骨骼当前参数是否合理的标准为步态信息是否和健康老年人的步态信息符合。为了实时判断步态,本项目采用步行比(walk radio)的概念来描述人体运动状态,该值被定义为步长(m)与步频(step/s)的比值。 前期研究结果表明,步行比可以用来描述步态模式,对于特定的受试者而言,它不会随受试者的体能、行走稳定性、注意力集中程度等方面显著变化。而对于不同健康个体,步行比无显著性差别,通常60岁以上老人正常步态的步行比值在0.0044‑0.0055之间。 [0037] 本发明优越性:该奖励机制的优势在于根据步行比的变化趋势来确定奖励值,在多个周期中对步行比进行全局约束,解决柔性外骨骼机器人强化学习中需要奖励函数对机器的行为进行约束打分的问题,且简单易行;在提高智能体学习效率的基础上,避免了稀疏奖励的问题,即不存在智能体学习的很长一段时间中得不到奖励的问题。可以有效避免整体算法盲目探索,提高柔性外骨骼机器人强化学习的效率,增强外骨骼机器人的鲁棒性,确保外骨骼参数按照预期趋势收敛;提高了外骨骼参数的自适应性。 (四)附图说明: [0038] 图1为本发明所涉一种基于步行比趋势变化的奖励函数的建立方法中的步行趋势化奖励机制的分析序列打分原理示意图。 [0039] 图2为本发明所涉一种基于步行比趋势变化的奖励函数的建立方法中的步态周期计算原理示意图。 [0040] 图3为本发明所涉一种基于步行比趋势变化的奖励函数的建立方法中的髋关节屈曲角随时间变化图形获取示意图。 (五)具体实施方式: [0041] 实施例:一种基于步行比趋势变化的奖励函数建立方法,其特征在于它包括以下步骤: [0042] (1)利用MEMS姿态传感器采集柔性外骨骼机器人的穿戴者的髋关节屈曲角参数信号,并找到髋关节的最大屈曲角θmax和最小屈曲角θmin,若已知柔性外骨骼机器人的穿戴者的腿长为l时,则可得到柔性外骨骼机器人的穿戴者的步长D; [0043] D=l(θmax‑θmin)                                     (1) [0044] (2)将MEMS姿态传感器放置在柔性外骨骼机器人的穿戴者的左右大腿后部中间位置,并实时采集该穿戴者正常行走时的髋关节屈曲角参数,以获取穿戴者髋关节的屈曲角参数曲线,如图2所示,将波谷时刻记为t波谷,进而可以计算得到当前步态周期为: [0045] T(k)=t波谷(k)‑t波谷(k‑1)                         (2) [0046] 即:当前步态周期是由相邻的两个波谷点的值计算得到; [0047] 其中,穿戴者髋关节的屈曲角参数曲线的获取方法具体如下: [0048] (2‑1)由柔性外骨骼机器人的穿戴者的髋关节屈曲角参数信号,并将其转换成数字量信号,发送给单片机,并由单片机通过串口通讯经蓝牙模块利用无线网络传输给PC端; [0049] (2‑2)利用安装在PC端的MATLAB中的串口接口实现髋关节屈曲角参数信号的获取,并通过“plot”函数绘制髋关节屈曲角参数实时曲线;也可直接使用第三方上位机软件来显示曲线,如“匿名上位机”。 [0050] (3)根据步骤(1)得到的步长D和步骤(2)得到的步态周期T(k)则可计算出一个步态周期末的真实采样步行比W,如公式(3)所示: [0051] [0052] 式中,W为步行比,D为步长,单位为m,N为步频,其单位为steps/min,T步为步态周期,单位为min; [0053] (4)建立步行比采样序列,取每隔一个周期一个采样点,如图1所示,根据数列收敛情况设定如式(4)所示的打分机制,对分析序列中的序列值进行打分; [0054] |W当前‑W目标|<|W上一采样点‑W目标|                    (4) [0055] 其中,W当前当前采样点的步行比值,W目标为设定好的健康老年人的步行比值,W上一采样点上一采样点的步行比值; [0056] ①当W当前>W目标时,如果当前采样点的步行比小于上一采样点的步行比,则当前时间所对应的序列值置1,否则置0; [0057] ②当W当前<W目标时,如果当前采样点的步行比大于上一采样点的步行比,则当前时间所对应的序列值置1,否则置0; [0058] ③在该分析序列中选取包含当前时间点的m个序列值,并记录分析序列中1的个数为P,0的个数为Q,具体工作模式如图1所示,则可根据公式(5)计算出外骨骼机器人执行完前一动作后的奖励值: [0059] [0060] 其中,Maximun是人为设定的最大奖励值,P为分析序列中1的个数,Q为分析序列中 0的个数,m为分析序列中采样点的个数; 表示多个周期内步行比的趋势; [0061] (5)依次对步行比采样序列中的采样序列打分,分别得到P和Q的个数,并根据全局奖励函数公式(5)得到外骨骼机器人执行完前一动作后基于步行比的全局奖励值;当P值较高时,即P>Q,步行比按照预期趋势,即向着给定的健康老年人的步行比值收敛,则外骨骼机器人将得到正奖励;当Q值较高时,即Q>P步行比将背离预期趋势发散,则外骨骼机器人将得到负奖励; [0062] (6)将上述奖励函数模型运用到优化外骨骼参数的强化学习算法中,当如公式(6)所示的值函数最大时,则得到的策略即为最优策略,即可实现对步行比的调整,使得外骨骼机器人辅助老年人行走,起到康复的作用。 [0063] vπ(s)=Eπ(Rt+1+γRt+2+γ2Rt+3+...|St=s)                  (6)[0064] 其中,vπ(s)为在策略π和状态s时,采取行动后的价值函数;R为上述奖励函数模型,Rt+1为t+1时刻的奖励;γ为奖励衰减因子,在[0,1]之间;St为t时刻环境的状态。 [0065] 下面结合具体实施例,进行比较详细的阐述。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。在阅读了本发明讲述的具体步骤和相关内容之后,相关技术人员可以对本发明作各种改动或应用,这些等价形式同样属于本申请所附权利要求书所限定的范围。 [0066] 例如,在对外骨骼助力参数进行优化的算法中,给定初始参数,执行器根据行动策略选择一个at下达给柔性外骨骼执行该at; [0067] 所述at是指在t时刻,Agent(智能体)选择的行为,通过环境执行后,环境状态由st转换为st+1;st是指在t时刻Agent接收到来自柔性外骨骼的状态;st+1是指收到来自柔性外骨骼反馈的标量化奖赏rt并处于的下一状态; [0068] rt即本发明中的奖励函数。表示为 其中,Maximum是人为 设定的最大奖励值,P为分析序列中1的个数,Q为分析序列中0的个数,m为分析序列中采样点的个数; 表示多个周期内步行比的趋势; [0069] 奖励函数中Q和P的得来如图1的打分机制所示,建立步行比采样序列,取每隔一个周期一个采样点: [0070] ①当W当前>W目标时,如果当前采样点的步行比小于上一采样点的步行比,则当前时间所对应的序列值置1,否则置0; [0071] ②当W当前<W目标时,如果当前采样点的步行比大于上一采样点的步行比,则当前时间所对应的序列值置1,否则置0; [0072] 然后选取包含当前时间点的m个序列值,记分析序列中1的个数为P,0的个数为Q。 [0073] 步行比W的计算公式为: [0074] 式中,W为步行比,D为步长,单位为m,N为步频,其单位为steps/min,T步为步态周期,单位为min; [0075] 式中,步长D的计算公式为D=l(θmax‑θmin)。 [0076] 其中,θmax为髋关节的最大屈曲角,θmin为髋关节最小屈曲角,l为柔性外骨骼机器人的穿戴者的腿长。对髋关节的最大屈曲角θmax和最小屈曲角θmin的测量通过MEMS姿态传感器实现。 [0077] 如图2所示,一个步态周期内有两个波谷和一个波峰,波谷时刻记为t波谷,则步态周期T步的计算公式为T(k)=t波谷(k)‑t波谷(k‑1)。 [0078] 柔性外骨骼执行at,返回获取柔性外骨骼试探得到的rt和st+1; [0079] 执行器将这个状态转换过程:(st,at,rt,st+1)存入经验池,再通过长短期记忆网络,得到对当前时刻状态和动作重新的观察后的参数 并将 作为训练在线网 络的数据集。同时,将试探得到的(st,at,rt,st+1)放入奖励函数,目的是进行奖励约束,提供在线策略网络、在线Q网络参考数据,促进柔性外骨骼参数快速收敛。