CN112021001A - 一种基于ql-si算法的松果采摘装置振动抑制方法 - Google Patents

一种基于ql-si算法的松果采摘装置振动抑制方法 Download PDF

Info

Publication number
CN112021001A
CN112021001A CN202010912473.4A CN202010912473A CN112021001A CN 112021001 A CN112021001 A CN 112021001A CN 202010912473 A CN202010912473 A CN 202010912473A CN 112021001 A CN112021001 A CN 112021001A
Authority
CN
China
Prior art keywords
algorithm
reward function
picking
vibration
mechanical arm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010912473.4A
Other languages
English (en)
Other versions
CN112021001B (zh
Inventor
张怡卓
徐健
于慧伶
陈金浩
蒋大鹏
曹军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeast Forestry University
Original Assignee
Northeast Forestry University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northeast Forestry University filed Critical Northeast Forestry University
Priority to CN202010912473.4A priority Critical patent/CN112021001B/zh
Publication of CN112021001A publication Critical patent/CN112021001A/zh
Application granted granted Critical
Publication of CN112021001B publication Critical patent/CN112021001B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01DHARVESTING; MOWING
    • A01D46/00Picking of fruits, vegetables, hops, or the like; Devices for shaking trees or shrubs
    • A01D46/26Devices for shaking trees or shrubs; Fruit catching devices to be used therewith
    • A01D46/264Devices for beating or vibrating the foliage; Fruit catching devices to be used therewith
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/0091Shock absorbers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Environmental Sciences (AREA)
  • Feedback Control In General (AREA)

Abstract

一种基于QL‑SI算法的松果采摘装置振动抑制方法,属于采摘机械控制技术领域,为了解决采用击打式松果采摘等装置在采摘结实位置高的松果时因产生振动导致设备定位不准确和运行不稳定,致使无法对松果枝干进行的精准击打。技术要点:以机械臂击打处坐标为Q表横坐标,运动时间即为QL‑SI算法的时间间隔,步进电机速度离散值为Q表纵坐标建立表格,选取动作并将计算的Q值存入表格;通过机械臂上姿态传感器测量的振动设计奖励函数和其运动过程中的幅值变化设计奖励函数权重表;多次训练得到QL‑SI算法参数并通过时间最小化和合成奖励最优原则得到最优Q表并通过计算得到QL‑SI算法的最优参数表。该方法能够在参数不定环境下有效抑制采摘机械臂的振动且鲁棒性较好,用于松果采摘装置的振动抑制。

Description

一种基于QL-SI算法的松果采摘装置振动抑制方法
技术领域
本发明具体涉及一种松果采摘装置振动抑制方法,属于采摘机械控制技术领域。
背景技术
松果不仅具有很高的营养价值、而且松皮也是复合材料的重要原料。目前,松果采摘大多数情况下仍为人工作业方式,存在工作环境恶劣、工作危险、效率低下的缺点。
公开日为2017-05-10、文献号为CN106612956A的现有技术也公开了一种松果采摘机,其包括拖拉机,以及设置于拖拉机上的采摘装置;所述采摘装置包括动力部、举升部、振动部、以及夹持部;动力部包括与拖拉机的动力输出轴后端连接的一液压泵、液压油箱、以及一多路控制阀阀组;举升部包括固定于拖拉机车架中部的第一举升臂,第二举升臂,第二举升臂前端有举升吊链;振动部包括振动箱,固定于振动箱上的液压马达,与液压马达输出轴端连接的转轴,以及固定于转轴上的偏心轮,夹持部包括第一夹持油缸、第二夹持油缸、以及与夹持油缸连接的第一夹持爪、第二夹持爪,所述第一夹持爪。该现有技术在一定程度上解决了现有的松果采摘使用传统的人工采摘,效率低、劳动强度大,同时,人工采摘易发生摔落意外的问题。但针对采摘运动过程中采摘装置会产生振动的问题现有技术没有回应。
为实现高效、安全采摘,现有技术还搭建了如图1所示的击打式松果采摘臂,但在采摘运动过程中,由于机械臂长度变化、且各关节存在耦合作用,采摘装置会产生振动,导致设备定位不准确和运行不稳定。
目前,振动抑制算法分为开环和闭环两类。闭环控制方法由于加入反馈环节,对系统参数变化以及外界干扰的鲁棒性较好,但方法需要引入更多传感器和计算工作量[1-2],实现复杂、成本高。开环控制方法只需在系统中加入前馈环节,应用输入整形器对动作进行短暂的间隔分解,在实际应用中简单且能耗低[3]。目前,输入整形有ZV、ZVD、EI、SI,4种典型输入整形器,其中SI输入整形因其鲁棒性好、可在特定范围对振动有较好抑制效果,应用广泛[4]。应用SI输入整形器需要确定系统参数,但在采摘过程,采摘位置不同,手臂长度、装置转角不同,手臂状态参数难以准确定义,因此,整形器参数难以设计。
强化学习算法具备解决复杂问题的通用智能,算法通过描述和解决代理体(agent)与环境的交互过程,达成回报最大化或实现特定目标[5-6]。由此看来针对采摘装置系统参数不确定,无法对松果枝干进行精准击打的情况,采用强化学习算法来实现采摘臂运动中的消振,进而对松果枝干进行的精准击打势在必行。现有技术中并没有人提出这样的解决方案。
发明内容
本发明要解决的技术问题是:
本发明为了解决采用击打式松果采摘等设备在采摘结实位置高的松果时因产生振动导致设备定位不准确和运行不稳定,致使无法对松果枝干进行的精准击打,影响松果采摘作业效率的问题,进而提供了一种基于QL-SI算法的松果采摘装置振动抑制方法。
本发明为解决上述技术问题所采用的技术方案为:
一种基于QL-SI算法的松果采摘装置振动抑制方法,所述方法的实现过程为:
首先,将姿态传感器安装到松果采摘装置的采摘机械臂击打杆末端对其振动进行测量,并建立Q表将步进电机的角速度离散化,随机选取动作;由于采摘机械臂在采摘过程中会产生耦合作用,通过设计合成奖励函数消除耦合作用;
然后,通过采摘机械臂上姿态传感器测量的振动信号设计当前动作奖励函数,并通过计算机械臂运动过程中的振动幅值设计合成奖励函数的权重表;
最后,通过Q表计算公式得出Q值存入Q表对应位置,并比较带权重的奖励函数值和奖励函数阈值来判断是否继续下一动作,如果前者大于等于后者则继续下一动作,否则采摘机械臂回到初始状态;多次训练得到QL-SI算法参数并通过时间最小化和合成奖励最优原则得到最优Q表并通过计算得到QL-SI算法的最优参数表;
将QL-SI算法的最优参数表写入单片机中,用于控制采摘机械臂的各个步进电机的驱动器,从而控制各个步进电机的转速及该转速下的持续时间,最终实现采摘机械臂振动的抑制。
进一步地,建立Q表将步进电机的角速度离散化,随机选取动作,具体实现过程为:权衡计算量和消振效果采用5个Q表,以机械臂击打处坐标为Q表横坐标,运动时间即为QL-SI算法的时间间隔,步进电机速度离散值为Q表纵坐标(即为QL-SI算法的幅值)建立表格,通过Boltzmann选取动作并将计算的Q值存入表格。
进一步地,合成奖励函数如公式(7)所示,
r=β1r12r2+…+βnrn (7)
其中,βi为合成奖励函数第i个目标量的权重,ri第i个目标量的奖励函数,i∈(1,n),rt为合成奖励函数。
进一步地,奖励函数阈值设计过程:
设定奖励函数阈值,如果当前奖励函数值大于等于奖励函数阈值,将当前奖励函数值设定为奖励阈值,如果当前奖励函数值小于奖励函数阈值,奖励函数阈值不变。
进一步地,QL-SI算法的系统结构设计过程为:所述QL-SI算法是将SI算法的整体结构与Q表进入融合,即通过Q表优化SI输入整形器(SI算法)中的参数;
采摘机械臂的振动信号和带权重的奖励函数βi ri输入给基于QL-SI算法的控制器,控制器输出采摘机械臂的转速和持续时间,若带权重的奖励函数值大于奖励函数阈值
Figure BDA0002663822420000031
则新增的状态-动作对和连接关系,否则,不增加新的状态-动作对和连接关系;对于状态xt,其输出向量yt的形式如式(8)所示:
yt=[Q(xt,a1),…,Q(xt,am)]T (8)
其中,
Figure BDA0002663822420000032
表示采摘机械臂第t步对应状态x在第i种动作策略a下的奖励函数值;
采用Boltzmann探索机制产生交互动作以确保机械臂学习到最优策略,采用指数化的Q值来表述策略,机械臂Q学习问题中的Δy如式(9)所示:
Figure BDA0002663822420000033
其中,aj∈Β,[Δy]j为输出误差向量的第j个元素,Δy表示模型预测值yt与期望值
Figure BDA0002663822420000034
的差值,Qd(xt,at)如式(5)所示:
Figure BDA0002663822420000035
Qd(xt,at)中的at可看成t时刻的最优动作;a表示采摘机械臂的一个动作;
进一步地,所述QL-SI算法离线更新步骤如下:
由于采摘机械臂击打杆末端(击打式采摘装置击打杆末端)的残余振动是时变的,测量击打杆末端的振动幅值,通过离线更新的方式获得QL-SI算法最优参数,具体步骤如下:
Step 1:参数初始化,包括强化学习因子α、合成奖励函数r、状态xt、动作空间at、初始化Q表,将离散幅值和间隔时间存入Q表、初始化奖励函数和奖励阈值;
Step 2:设计最优奖励阈值;
Step 3:重复执行Step 4-Step 9的循环过程,直到满足停止条件;
Step 4:将击打式采摘机械臂重置到初始状态空间x0
Step 5:第t步交互数据Tt=<xt,at,xt+1trt>,βt为本步奖励函数的权重;
Step 6:通过公式(6)计算当前状态的Q值,并将βtrt与rth进行比较,
Figure BDA0002663822420000036
Step 7:若βtrt大于奖励阈值且xt+1不是终止状态,则继续执行Step 8,否则,则机器完成本轮的强化学习任务,返回执行Step 3;
Step 8:基于Boltzmann分布选择下一步执行的动作at+1,按式(10)计算的概率选择动作;
Figure BDA0002663822420000041
其中,T为温度系数,决定动作选择的随机性,应随着学习次数的增加逐步减小,以使算法收敛于最优行为选择策略;
Step 9:递增运行步数t=t+1。
本发明具有以下有益技术效果:
本发明针对采摘装置系统参数不确定的情况,无法对松果枝干进行精准击打,提出了一种基于Q表强化学习(QL)优化SI输入整形参数(QL-SI)的方法,实现采摘臂运动中的消振,进而对松果枝干进行的精准击打。
输入整形技术是抑制机械臂残余振动的有效控制策略,然而传统SI输入整形算法在设计时需依赖系统精准数学模型。本发明针对松果结实位置高,击打机械臂长度变化和采摘装置关节耦合运动产生振动没有精准数学模型来控制的问题,提出一种基于Q学习的SI输入整形(QL-SI)学习策略。首先,权衡计算量和消振效果采用5个Q表,以机械臂击打处坐标为Q表横坐标,运动时间即为QL-SI算法的时间间隔,步进电机速度离散值为Q表纵坐标(即为QL-SI算法的幅值)建立表格,通过Boltzmann选取动作并将计算的Q值存入表格。然后,通过机械臂上姿态传感器测量的振动和其运动过程中的幅值变化分别设计奖励函数设计奖励函数权重表。最后,比较各状态的奖励值与奖励阈值令机械臂不断优化行为策略,多次训练得到QL-SI算法参数并通过时间最小化和合成奖励最优原则得到最优Q表并通过计算得到QL-SI算法的最优参数表。采用双摆模型和击打式松果采摘装置分别对QL-SI算法的有效性和可行性进行实验验证。先将QL-SI算法应用于双摆模型,QL-SI算法与SI输入整形算法相比稳定时间约为2.3ms,稳定时间降低90%,振动幅度降低60%。实验结果表明,QL-SI算法能够在参数不定情况下抑制复杂运动的振动。之后将QL-SI算法移植到击打式松果采摘装置,QL-SI算法与SI输入整形算法相比稳定时间约为2.1ms,稳定时间降低87%,振动幅度降低41%。实验结果表明,该算法能够在参数不定环境下有效抑制采摘机械臂的振动且鲁棒性较好。
附图说明
图1为击打式松果采摘装置的结构示意图,图2为QL-SI算法系统结构图,图3为QL-SI算法学习模型图,图4为QL-SI算法设计流程框图,图5为双摆模型示意图,图6为双摆振动规律曲线图,图7为双摆模型的运动特性曲线图,图8为双摆模型的消振时间条形图,图9为采摘装置振动规律图,图10为采摘装置三种算法下的振动情况曲线图,图11为采摘装置三种算法下的消振时间条形图。
具体实施方式
结合附图1至11,对本发明所述的一种基于QL-SI算法的松果采摘装置振动抑制方法的实现进行如下阐述:
1击打式采摘装置的系统结构
图1所示击打式松果采摘臂,它由多关节机械臂和控制器组成,其中,多关节机械臂由连杆、行星减速器、联轴器、步进电机和基座组成,其中控制器由STM32控制器和步进驱动器两部分组成,组成部件的型号与功能如表1所示。为实现击打实时控制,采样周期设置为1ms。
表1组成部件表
Figure BDA0002663822420000051
步进电机1通过液压杆完成竖直方向运动,步进电机2通过行星减速机驱动连杆完成360度的横向旋转运动,步进电机3完成上扬角度的运动,步进电机4完成水平方向运动,步进电机5完成松果击打,移动机械臂上安装的双目摄像头采集松果的位置。
手臂运动可拆分为水平运动和姿态的旋转运动,实验中发现当机械臂的臂长过长时,击打杆在运动的惯性作用下产生振动会影响采摘装置定位准确度,其振动方程可表示为:
Figure BDA0002663822420000052
其中,u为质点的位移,M为质量矩阵,C为阻尼矩阵,K为刚度矩阵,F(t)为外部激励下击打杆末端的运动,其与击打杆自身重力有关。
2 QL-SI振动抑制算法
2.1 SI输入整形基本原理
输入整形是最常见的消除振动方式,方法将初始信号与特定的脉冲序列进行卷积运算,变成一系列有时间间隔的脉冲序列[7]。将处理后的脉冲序列输入控制装置,可达到抑制振动的效果。输入整形器需要满足的基本条件,如公式(2)所示:
Figure BDA0002663822420000061
其中,Ai为输入整形器幅值,ti为输入整形器时间间隔。
在欠阻尼二阶系统中,将输入整形处理后产生的振动幅度除以初始信号产生的振动幅度,定义为残余振动百分比(PRV),用其反映输入整形前后的振动抑制情况,其公式如(3)所示:
Figure BDA0002663822420000062
Figure BDA0002663822420000063
Figure BDA0002663822420000064
其中,ω是系统的自然频率,ωd是系统的阻尼频率,ξ是阻尼比;
SI输入整形器适用于频率范围已知的情况,输入整形器的设计方法,如公式(4)所示:
Figure BDA0002663822420000065
其中,ω1和ω2表示振动抑制的频率范围。
公式(2)、公式(4)为约束条件,通过联立求解的方法求得具有指定不敏感性的输入整形器[8]。其中,公式(4)在连续空间上需要无限的约束条件ω1≤ω≤ω2。应用数值优化时,可以通过采集有限数量的频率来近似表示该区间。
2.2 QL算法的基本原理
QL算法是在没有任何预先存在的知识的条件下,通过agent与动态环境多次交互式学习并选择控制策略,得到最大的奖励函数的方法[9],利用有限马尔科夫(MDP)决策问题模型,直接对Q值函数进行迭代优化,找到一个行为策略使得奖励函数之和最大。Q学习通用模型可表示为Tt=<xt,at,xt+1,rt>,即代理体在状态xt时执行动作at后到达下一状态xt+1,并获得奖励函数值rt。Q值函数可形式化为Q(xt,at),表示代理体在xt状态下执行动作at的价值函数。Q学习条件下,代理体行动空间一般是离散的,表示为Β={a1,…,am},m为动作的个数。Q学习利用式(5)作为Q(xt,at)的期望值Qd(xt,at),Qd表示期望的Q值;
Figure BDA0002663822420000066
其中,0≤γ<1为折扣因子;xt、at表示第t时刻采摘机械臂末端的最优状态、最优动作;a表示Β中一个动作;
根据公式(6)调整当前Q值。
Figure BDA0002663822420000071
其中,α为学习因子,Q(xt-1,at-1)表示上一动作和状态对应的Q值。
Q学习算法利用式(5)计算期望Q值来迭代逼近实际的Q函数。强化学习初期,估计的Q(xt,at)不一定能准确地反映交互数据隐含的策略,但是通过不断的学习会使Q函数隐含的策略趋近最优行为策略。
2.3 QL-SI算法的振动抑制模型设计
本发明提出一种不依赖精确数学模型的振动抑制算法,通过使用QL-SI算法抑制松果采摘装置运动过程的振动。首先,将姿态传感器安装到击打杆末端对其振动进行测量,并建立Q表将步进电机的角速度离散化,随机选取动作。由于采摘机械臂的当前动作不只与上一动作有关,所以该问题为多目标强化学习(MORL)问题,设计合成奖励函数解决该问题。然后,在动作完成后通过公式计算得出每一动作的奖励函数值,并通过计算机械臂运动过程中的振动幅值设计合成奖励函数的权重表。之后,通过Q表计算公式得出Q值存入Q表对应位置,并比较带权重的奖励函数值和奖励阈值,判断是否继续下一动作。最后,将所得参数通过比较合成奖励函数值和时间最小化原则,选取最优参数。
2.3.1合成奖励函数设计
在采摘机械臂振动抑制要求中,多脉冲序列的各个脉冲幅值和时间间隔对振动抑制效果不尽相同,因此需设计一个合成奖励函数表征采摘机械臂振动抑制的最优控制策略,合成奖励函数的权重表通过运动过程中振动幅值的大小进行设计,并通过公式(7)得到合成奖励函数输入至agent中。
r=β1r12r2+…+βnrn (7)
其中,βi为合成奖励函数第i个目标量的权重,ri第i个目标量的奖励函数,r为合成奖励函数。
2.3.2奖励函数阈值设计
由于采摘机械臂为非MDP环境,则需设计奖励函数阈值,通过比较奖励函数阈值和每一步动作的奖励函数值,来判断是否该动作能达到较优的振动抑制效果。奖励函数阈值(rth)的具体设计方法如表2所示:
Figure BDA0002663822420000072
Figure BDA0002663822420000081
表2奖励阈值设计
2.3.3 QL-SI算法系统结构设计
图2显示了QL-SI算法的系统结构图。采摘机械臂与环境交互产生用于强化学习的交互数据,虚线框代表算法的学习过程。图3为QL-SI算法模型示意图,图中加粗线条部分表示Q表新增的状态-动作对和连接关系,其中,若
Figure BDA0002663822420000082
则新增的状态-动作对和连接关系,否则,不增加新的状态-动作对和连接关系。对于状态xt,其输出向量yt的形式如式(8)所示:
yt=[Q(xt,a1),…,Q(xt,am)]T (8)
其中,
Figure BDA0002663822420000083
表示采摘机械臂第t步的第i种动作策略下的奖励函数值。
为确保机械臂学习到最优策略,采用Boltzmann探索机制产生交互动作,可解决动作无法跳出局部最优解的问题,具体实现方法为采用指数化的Q值来表述策略,这时策略与Q值正相关,可更好解决多峰值问题。机械臂Q学习问题中的Δy如式(9)所示:
Figure BDA0002663822420000084
其中,aj∈Β,[Δy]j为输出误差向量的第j个元素,Δy表示模型预测值yt与期望值
Figure BDA0002663822420000085
的差值,Qd(xt,at)如式(5)所示。
2.3.4 QL-SI算法的设计流程
击打式采摘机械臂与环境交互产生用于学习的交互数据,通过在击打杆末端的姿态传感器测量出运动过程中的摆动角度,并根据公式(8)和奖励函数权重表构建合成奖励函数,agent对参数离线更新,最后通过SI整形器约束条件得到最优的抑制参数表,设计流程如图4所示。
2.3.5 QL-SI算法离线更新步骤
由于击打式采摘装置击打杆末端的残余振动是时变的,通过离线更新的方式,可获得QL-SI算法最优参数的方法,该方法只需测量击打杆末端的振动幅值。
QL-SI算法的具体步骤如下:
Step 1:参数初始化,包括强化学习因子α、合成奖励函数r、状态xt、动作空间at、初始化Q表,将离散幅值和间隔时间存入Q表、初始化奖励函数和奖励阈值。
Step 2:设计最优奖励阈值,设计过程如表2所示。
Step 3:重复执行Step 4-Step 9的循环过程,直到满足停止条件。
Step 4:将击打式采摘机械臂重置到初始状态空间x0
Step 5:第t步交互数据Tt=<xt,at,xt+1trt>,βt为本步奖励函数的权重。
Step 6:通过公式(6)计算当前状态的Q值,并将βtrt与rth进行比较。
Step 7:若βtrt大于奖励阈值且xt+1不是终止状态,则继续执行Step 8,否则,则机器完成本轮的强化学习任务,返回执行Step 3。
Step 8:基于Boltzmann分布选择下一步执行的动作at+1。按式(10)计算的概率选择动作。
Figure BDA0002663822420000091
其中,T为温度系数,决定动作选择的随机性,应随着学习次数的增加逐步减小,以使算法收敛于最优行为选择策略[10]
Step 9:递增运行步数t=t+1。
3实验验证
为验证设计QL-SI算法的可行性和有效性。首先,搭建了双摆平台以验证QL-SI算法的可行性,然后击打式松果采摘设备中观察振动抑制的有效性。
3.1双摆试验
由于双摆的参数范围已知,应用传统的SI输入整形可以有效抑制双摆振动。为了验证QL-SI算法在参数未知条件下的有效性,故在算法设计中忽略参数范围已知的条件。
3.1.1双摆试验模型
双摆试验模型示意图如图5所示,小车与其中重物mh通过长度为L1的绳子连接,重物mh与重物mp通过长度为L2的绳子相连。设在运动过程中绳子的长度没有变化,则满足的方程为公式(11)和公式(12)所示:
Figure BDA0002663822420000092
Figure BDA0002663822420000093
其中,
Figure BDA0002663822420000101
Figure BDA0002663822420000102
分别为两个重物的摆角加速度,θ1和θ2分别为两个重物的摆角,R为重物mp与重物mh的比值,g为重力加速度。
3.1.2双摆实验配置
使用QL-SI算法训练双摆前,构造双摆的状态x、动作空间A、奖励函数r,并确定QL-SI算法的参数。
图5中的l表示滑台的长度,重物mh和重物mp上安装姿态传感器JY901测量摆动角度,θ1、θ2的角度区间都为0°±45°,可定义双摆的状态x如公式(13):
Figure BDA0002663822420000103
其中当θ1、θ2角度区间为±5°时,可作为振动消除。
3.1.3双摆动作空间配置
双摆的动作离散化得到离散动作空间A={a1,a2},每个动作由滑台运动速度确定,滑台速度范围为:0-1m/s,将滑台速度离散化为十组数据,则双摆的各个可选动作如表3所示。
表3双摆可选动作
Figure BDA0002663822420000104
强化学习奖励函数如公式(14)所示:
Figure BDA0002663822420000105
其中,
Figure BDA0002663822420000106
表示状态xi中振动最大值,rki表示第i个奖励函数。
双摆的振动规律如图6所示,计算得到合成奖励函数的权重表如表4所示。
表4合成奖励函数权重表
Figure BDA0002663822420000107
3.1.4建立Q表
QL-SI算法的参数设定为:折扣因子γ=0.1,学习率αk=0.01(各参数设定遵从传统QL算法),建立Q表过少导致输入整形优化后的抑制区间范围过小,不能有效地消除振动,建立Q表过多引入过多的计算量,并且振动抑制效果变化不明显,根据测试最终选定建立5个Q表,部分数据如表5所示。
表5 Q表部分数据
Figure BDA0002663822420000111
其中,A表示双摆试验中的动作,S表示(滑台初始坐标,滑台终止坐标),表中对应数据为通过公式(6)计算得出的Q值。训练后得到的参数如表6所示。
表6整形器参数表
Figure BDA0002663822420000112
表中Part A、Part B代表传统SI输入整形和QL-SI算法的参数。
图7为双摆模型在未整形、SI输入整形和QL-SI算法作用下,摆动角度坐标随时间变化的曲线。其中,蓝线表示原始控制信号输出;黑线表示传统的SI输入整形器输出;红线表示QL-SI算法输出,可以看出原始控制信号的输出的最大摆角偏差约为75%,并且在0.2s后的偏差仍会达到20%。传统的SI输入整形器输出的最大摆角偏差约为15%,QL-SI算法输出的最大摆角偏差约为3%,相比之下,QL-SI算法的最大摆角更小,对设备的控制精度更好。其中,最大的摆角指运动停止后第一次加速度为零时,摆动的位置和竖直方向的夹角;调节时间为到达最大摆角的5%所需时间。
图8的条形图显示的为三种控制方式下,双摆模型振动消除所需的调节时间,一共测试十组数据,取其平均值作为衡量标准。其中,蓝色条形图表示原始控制信号消除振动所需时间,消除振动所需时间约为1.2s;红色条形图表示传统SI输入整形器消除振动所需时间,消除振动所需时间约为0.4s;黄色条形图表示QL-SI算法消除振动所需时间,消除振动所需时间约为0.02s。由此可以看出,经过QL-SI算法的最大摆角与消除振动所需的时间远小于SI输入整形控制方式。
3.2机械臂实验
3.2.1采摘装置的状态配置
采摘装置实验平台如图1中所示,姿态传感器测量X轴、Y轴和Z轴的摆动角度分别为θ∠XOY、θ∠XOZ和θ∠YOZ。定义X轴为沿击打杆的方向,θ∠XOZ、θ∠YOZ的角度区间都为(0°,90°),θ∠XOY的角度区间都为(-180°,180°),则可定义采摘机械臂的状态x如公式(15):
Figure BDA0002663822420000121
其中当θ∠XOY、θ∠XOZ、θ∠YOZ的角度区间为±5°时,采摘机械臂可看做振动消除,θ∠XOZ、θ∠YOZ任一角度大于45°或者θ∠XOY大于±45°时,则初始化实验数据,终止本次实验。
采摘机械臂的动作离散化得到离散动作空间A={a1,a2,a3,a4},动作由电机2、电机3的角速度确定,可表示成二元组a=<ω12>,电机运动速度范围为:0-1rad/s,将步进电机2、步进电机2的角速度分别离散化为十组数据,则采摘机械臂的各个可选动作如表7所示。
表7采摘装置可选动作
Figure BDA0002663822420000122
其中,ω1表示电机2角速度,ω2表示电机3角速度。
3.2.2采摘装置的QL-SI算法参数选取
强化学习奖励函数如公式(16)所示:
Figure BDA0002663822420000131
其中,
Figure BDA0002663822420000132
表示状态xi中最大元素,rki表示第i个奖励函数。
图9显示了一段时间内采摘装置的运动与摆角的关系,得到的合成奖励函数权重表如表8所示。
表8合成奖励函数权重表
Figure BDA0002663822420000133
3.2.3建立采摘机械臂Q表
QL-SI算法的参数设定为:折扣因子γ=0.1,学习率αk=0.01(各参数设定遵从传统QL算法),Q表的部分数据如表9所示。
表9机械臂Q表部分数据
Figure BDA0002663822420000134
其中,A表示双摆试验中的动作,S表示机械臂末端坐标位置[(初始坐标),(终止坐标)],表中对应数据为通过公式(6)计算得出的Q值,训练后得到的参数如表10。
表10整形器参数表
Figure BDA0002663822420000135
Figure BDA0002663822420000141
表中Part A、Part B代表传统SI输入整形和QL-SI算法的参数。
图10显示的是三种控制方法下,机械臂模型的摆角随时间变化的曲线。其中,黑线表示原始控制信号输出;蓝线表示传统的SI输入整形器输出;红线表示QL-SI算法输出,可以看出原始控制信号的输出的最大摆角偏差约为32%。传统的SI输入整形器输出的最大摆角偏差约为10%,QL-SI算法输出的最大摆角偏差约为1%,相比之下,强化学习优化后SI输入整形器的最大摆角更小,对设备的控制精度更好。
图11的条形图显示的为三种控制方式下机械臂模型振动消除所需的调节时间,一共测试十组数据,取其平均值作为衡量标准。其中,蓝色条形图表示原始控制信号消除振动所需时间,消除振动所需时间约为1.4s;红色条形图表示传统SI输入整形器消除振动所需时间,消除振动所需时间约为0.6s;黄色条形图表示QL-SI算法消除振动所需时间,消除振动所需时间约为0.02s。由此可以看出,QL-SI算法在系统参数不确定的情况下,也有很好的振动抑制效果。
4结论
本发明针对松果采摘装置在运动过程中存在的振动问题。首先,从输入整形器的基本理论出发并理论分析了各种输入整形器的设计方法与优缺点,得出SI输入整形器可以更好地达到设备的振动抑制要求,然后用强化学习的方法对传统的SI输入整形器进行了改进,提出QL-SI算法,之后通过训练得出QL-SI算法的最优参数,最后用QL-SI算法分别对双摆平台和采摘机械臂装置进行实验的可行性和有效性进行实验。实验结果表明,通过对比QL-SI算法和传统SI输入整形器的实时摆动角度和消振时间可以得出。本发明设计的QL-SI算法与传统的SI输入整形器相比,具有较强的鲁棒性,并且在实际应用中振动抑制效果更为优秀,可以更加快速、准确的实现松果的识别与松果临近枝干的精确打击,有效的提高采摘设备的效率。
本发明中援引的参考文献明细如下:
[1].Zhang M,Ma X,Song R,et al.Adaptive proportional-derivativesliding mode control law with improved transient performance forunderactuated overhead crane systems[J].IEEE/CAA Journal of AutomaticaSinica,2018,5(3):683-690.
[2].Ma X,Bao H.An Anti-Swing Closed-Loop Control Strategy forOverhead Cranes[J].Applied Sciences,2018,8(9):1463
[3].Maghsoudi M J,Mohamed Z,Tokhi M O,et al.Control of a gantry craneusing input-shaping schemes with distributed delay[J].Transactions of theInstitute of Measurement and Control,2017,39(3):361-370.
[4].Newman D,Hong S W,Vaughan J E.The design of input shapers whicheliminate nonzero initial conditions[J].Journal of Dynamic Systems,Measurement,and Control,2018,140(10).
[5].Jagodnik K M,Thomas P S,van den Bogert A J,et al.Training anactor-critic reinforcement learning controller for arm movement using human-generated rewards[J].IEEE Transactions on Neural Systems and RehabilitationEngineering,2017,25(10):1892-1905.
[6].Liu D,Yang X,Wang D,et al.Reinforcement-learning-based robustcontroller design for continuous-time uncertain nonlinear systems subject toinput constraints[J].IEEE transactions on cybernetics,2015,45(7):1372-1385.
[7].杜芃,牛王强,陈超.脉冲输入下基于输入整形法的起重机防摇摆方法[J].计算机测量与控制,2018,26(10):235-239.
Du Yan,Niu Wangqiang,Chen Chao.Anti-sway method of crane based oninput shaping method under pulse input[J].Computer Measurement&Control,2018,26(10):235-239.
[8].Zhao Y,Chen W,Tang T,et al.Zero time delay input shaping forsmooth settling of industrial robots[C]//2016IEEE International Conference onAutomation Science and Engineering (CASE).IEEE,2016:620-625.
[9].Liu C,Xu X,Hu D.Multi-objective reinforcement learning:Acomprehensive overview[J].IEEE Transactions on Systems,Man,and Cybernetics:Systems,2014,45(3):385-398.
[10].Hu Q X,Qu X Y.Mobile robot navigation using ARTQL algorithm withnovelty driven mechanism[J].Applied Mechanics and Materials,2013,380-384(4):1117-1120.

Claims (6)

1.一种基于QL-SI算法的松果采摘装置振动抑制方法,其特征在于,所述方法的实现过程为:
首先,将姿态传感器安装到松果采摘装置的采摘机械臂击打杆末端对其振动进行测量,并建立Q表将步进电机的角速度离散化,随机选取动作;由于采摘机械臂在采摘过程中会产生耦合作用,通过设计合成奖励函数消除耦合作用;
然后,通过采摘机械臂上姿态传感器测量的振动信号设计当前动作奖励函数,并通过计算机械臂运动过程中的振动幅值设计合成奖励函数的权重表;
最后,通过Q表计算公式得出Q值存入Q表对应位置,并比较带权重的奖励函数值和奖励函数阈值来判断是否继续下一动作,如果前者大于等于后者则继续下一动作,否则采摘机械臂回到初始状态;多次训练得到QL-SI算法参数并通过时间最小化和合成奖励最优原则得到最优Q表并通过计算得到QL-SI算法的最优参数表;
将QL-SI算法的最优参数表写入单片机中,用于控制采摘机械臂的各个步进电机的驱动器,从而控制各个步进电机的转速及该转速下的持续时间,最终实现采摘机械臂振动的抑制。
2.根据权利要求1所述的一种基于QL-SI算法的松果采摘装置振动抑制方法,其特征在于,建立Q表将步进电机的角速度离散化,随机选取动作,具体实现过程为:权衡计算量和消振效果采用5个Q表,以机械臂击打处坐标为Q表横坐标,运动时间即为QL-SI算法的时间间隔,步进电机速度离散值为Q表纵坐标建立表格,通过Boltzmann选取动作并将计算的Q值存入表格。
3.根据权利要求2所述的一种基于QL-SI算法的松果采摘装置振动抑制方法,其特征在于,
合成奖励函数如公式(7)所示,
r=β1r12r2+…+βnrn (7)
其中,βi为合成奖励函数第i个目标量的权重,r第i个目标量的奖励函数,i∈(1,n),rt为合成奖励函数。
4.根据权利要求3所述的一种基于QL-SI算法的松果采摘装置振动抑制方法,其特征在于,
奖励函数阈值设计过程:
设定奖励函数阈值,如果当前奖励函数值大于等于奖励函数阈值,将当前奖励函数值设定为奖励阈值,如果当前奖励函数值小于奖励函数阈值,奖励函数阈值不变。
5.根据权利要求4所述的一种基于QL-SI算法的松果采摘装置振动抑制方法,其特征在于,QL-SI算法的系统结构设计过程为:所述QL-SI算法是将SI算法的整体结构与Q表进入融合,即通过Q表优化SI输入整形器中的参数;
采摘机械臂的振动信号和带权重的奖励函数βi ri输入给基于QL-SI算法的控制器,控制器输出采摘机械臂的转速和持续时间,若带权重的奖励函数值大于奖励函数阈值
Figure FDA0002663822410000021
则新增的状态-动作对和连接关系,否则,不增加新的状态-动作对和连接关系;对于状态xt,其输出向量yt的形式如式(8)所示:
yt=[Q(xt,a1),…,Q(xt,am)]T (8)
其中,
Figure FDA0002663822410000022
表示采摘机械臂第t步对应状态x在第i种动作策略a下的奖励函数值;
采用Boltzmann探索机制产生交互动作以确保机械臂学习到最优策略,采用指数化的Q值来表述策略,机械臂Q学习问题中的Δy如式(9)所示:
Figure FDA0002663822410000023
其中,aj∈Β,[Δy]j为输出误差向量的第j个元素,Δy表示模型预测值yt与期望值
Figure FDA0002663822410000024
的差值,Qd(xt,at)如式(5)所示:
Figure FDA0002663822410000025
Qd(xt,at)中的at可看成t时刻的最优动作;a表示采摘机械臂的一个动作。
6.根据权利要求5所述的一种基于QL-SI算法的松果采摘装置振动抑制方法,其特征在于,所述QL-SI算法离线更新步骤如下:
由于采摘机械臂击打杆末端的残余振动是时变的,测量击打杆末端的振动幅值,通过离线更新的方式获得QL-SI算法最优参数,具体步骤如下:
Step 1:参数初始化,包括强化学习因子α、合成奖励函数r、状态xt、动作空间at、初始化Q表,将离散幅值和间隔时间存入Q表、初始化奖励函数和奖励阈值;
Step 2:设计最优奖励阈值;
Step 3:重复执行Step 4-Step 9的循环过程,直到满足停止条件;
Step 4:将击打式采摘机械臂重置到初始状态空间x0
Step 5:第t步交互数据Tt=<xt,at,xt+1trt>,βt为本步奖励函数的权重;
Step 6:通过公式(6)计算当前状态的Q值,并将βtrt与rth进行比较,
Figure FDA0002663822410000031
Step 7:若βtrt大于奖励阈值且xt+1不是终止状态,则继续执行Step 8,否则,则机器完成本轮的强化学习任务,返回执行Step 3;
Step 8:基于Boltzmann分布选择下一步执行的动作at+1,按式(10)计算的概率选择动作;
Figure FDA0002663822410000032
其中,T为温度系数,决定动作选择的随机性,应随着学习次数的增加逐步减小,以使算法收敛于最优行为选择策略;
Step 9:递增运行步数t=t+1。
CN202010912473.4A 2020-09-02 2020-09-02 一种基于ql-si算法的松果采摘装置振动抑制方法 Active CN112021001B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010912473.4A CN112021001B (zh) 2020-09-02 2020-09-02 一种基于ql-si算法的松果采摘装置振动抑制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010912473.4A CN112021001B (zh) 2020-09-02 2020-09-02 一种基于ql-si算法的松果采摘装置振动抑制方法

Publications (2)

Publication Number Publication Date
CN112021001A true CN112021001A (zh) 2020-12-04
CN112021001B CN112021001B (zh) 2022-05-10

Family

ID=73590596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010912473.4A Active CN112021001B (zh) 2020-09-02 2020-09-02 一种基于ql-si算法的松果采摘装置振动抑制方法

Country Status (1)

Country Link
CN (1) CN112021001B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114932546A (zh) * 2022-03-23 2022-08-23 燕山大学 一种基于未知机械臂模型的深度强化学习抑振系统及方法
CN115056266A (zh) * 2022-08-19 2022-09-16 南通云尖智能科技有限公司 基于plc的机械加工用机械臂智能故障检测方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1412661A (zh) * 2002-12-11 2003-04-23 芦玉珊 汉字名称码键盘输入法
EP2463732A1 (fr) * 2010-12-10 2012-06-13 Montres Breguet SA Mécanisme de sonnerie d'une montre ou d'une boîte à musique
CN103885338A (zh) * 2014-03-21 2014-06-25 北京工业大学 一种基于粒子群优化算法的输入整形器参数自整定控制方法
CN106612956A (zh) * 2016-10-11 2017-05-10 徐化金 一种松果采摘机
CN107738273A (zh) * 2017-10-16 2018-02-27 华南理工大学 一种基于输入整形器的机器人关节末端残余振动抑制方法
CN108972558A (zh) * 2018-08-16 2018-12-11 居鹤华 一种基于轴不变量的多轴机器人动力学建模方法
CN110108443A (zh) * 2019-05-05 2019-08-09 大连理工大学 一种基于神经网络的压电陶瓷驱动器输出控制方法
CN111152213A (zh) * 2019-12-05 2020-05-15 北京蒂斯科技有限公司 一种基于混合控制的机械臂振动补偿方法及装置
CN111515961A (zh) * 2020-06-02 2020-08-11 南京大学 一种适用于移动机械臂的强化学习奖励方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1412661A (zh) * 2002-12-11 2003-04-23 芦玉珊 汉字名称码键盘输入法
EP2463732A1 (fr) * 2010-12-10 2012-06-13 Montres Breguet SA Mécanisme de sonnerie d'une montre ou d'une boîte à musique
CN103885338A (zh) * 2014-03-21 2014-06-25 北京工业大学 一种基于粒子群优化算法的输入整形器参数自整定控制方法
CN106612956A (zh) * 2016-10-11 2017-05-10 徐化金 一种松果采摘机
CN107738273A (zh) * 2017-10-16 2018-02-27 华南理工大学 一种基于输入整形器的机器人关节末端残余振动抑制方法
CN108972558A (zh) * 2018-08-16 2018-12-11 居鹤华 一种基于轴不变量的多轴机器人动力学建模方法
CN110108443A (zh) * 2019-05-05 2019-08-09 大连理工大学 一种基于神经网络的压电陶瓷驱动器输出控制方法
CN111152213A (zh) * 2019-12-05 2020-05-15 北京蒂斯科技有限公司 一种基于混合控制的机械臂振动补偿方法及装置
CN111515961A (zh) * 2020-06-02 2020-08-11 南京大学 一种适用于移动机械臂的强化学习奖励方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王克奇等: "击打式松果采摘机器人设计与试验", 《农业机械学报》 *
白有盾等: "刚柔分级并联驱动宏微复合运动平台设计", 《中国科学:技术科学》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114932546A (zh) * 2022-03-23 2022-08-23 燕山大学 一种基于未知机械臂模型的深度强化学习抑振系统及方法
CN114932546B (zh) * 2022-03-23 2023-10-03 燕山大学 一种基于未知机械臂模型的深度强化学习抑振系统及方法
CN115056266A (zh) * 2022-08-19 2022-09-16 南通云尖智能科技有限公司 基于plc的机械加工用机械臂智能故障检测方法

Also Published As

Publication number Publication date
CN112021001B (zh) 2022-05-10

Similar Documents

Publication Publication Date Title
CN112021001B (zh) 一种基于ql-si算法的松果采摘装置振动抑制方法
CN109514602B (zh) 一种基于负载自适应辨识的工业机器人力矩补偿控制方法
CN109896423B (zh) 一种时变非线性小车-吊重防摇控制装置及防摇控制方法
JP2014028407A (ja) ロボットの制御装置、制御方法、およびロボット
CN107381352B (zh) 一种加速时间可调的起重机防摇控制方法
CN110561425B (zh) 绳索驱动的柔性机器人力位混合控制方法及系统
CN112034711A (zh) 一种基于深度强化学习的无人艇抗海浪干扰控制方法
CN113021331B (zh) 一种七自由度协作机器人动力学建模与辨识方法
CN113478486A (zh) 基于深度强化学习的机器人运动参数自适应控制方法和系统
CN108502723A (zh) 起重机回转且变幅运动时消除起重臂振动的方法和系统
CN111687827A (zh) 一种双机器人协调操作弱刚性构件的控制方法和控制系统
Tahmasebi et al. Roll movement control of a spray boom structure using active force control with artificial neural network strategy
CN109605377A (zh) 一种基于强化学习的机器人关节运动控制方法及系统
CN109445274A (zh) 一种柔性空间机械臂振动控制方法及系统
CN114347018A (zh) 一种基于小波神经网络的机械臂扰动补偿方法
CN114527647B (zh) 一种基于自适应滑模变结构的船用起重机减摆控制方法
CN110589684A (zh) 起重机防摇摆驱动控制方法
CN114879504B (zh) 一种四自由度船用旋转起重机的自适应非线性控制方法
CN112223276A (zh) 基于自适应神经网络滑模控制的多关节机器人控制方法
CN114932546B (zh) 一种基于未知机械臂模型的深度强化学习抑振系统及方法
CN108845510A (zh) 柔性连接件的振动控制方法、装置、存储介质及执行系统
CN114312196B (zh) 基于模型补偿的钟摆式悬架控制方法及其参数测量方法
CN111515955B (zh) 柔性关节机械臂残余抖动抑制方法和抑制装置
CN209942765U (zh) 一种自适应神经网络自动猫道
CN114995137A (zh) 基于深度强化学习的绳驱并联机器人控制方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant