欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 调节控制> 一种无人摩托转向控制参数整定方法和装置独创技术42069字

一种无人摩托转向控制参数整定方法和装置

2021-03-21 20:36:53

一种无人摩托转向控制参数整定方法和装置

  技术领域

  本文涉及无人车辆控制技术,尤指一种无人摩托转向控制参数整定方法和装置。

  背景技术

  我国幅员辽阔,覆盖了大量的山地、丘陵、荒漠、草地等多种恶劣地形,为自动物流运输带来巨大挑战。在这样的环境中,人力资源有限,而一般的无人驾驶机动车辆又无法适应这种越野环境。无人摩托具有高速、高机动性、高越野性的特点,可以胜任这项艰巨的任务。

  对于无人摩托这种单轨轮式机器人来说,控制无人摩托的主动平衡显得尤为重要。对于控制主动平衡的方法,主要有以下四种:

  1.倒立摆控制:倒立摆控制方法是控制一个质量球的来回摆动对车身产生一个反作用力,抵抗重力实现自行车的平衡。该方法实质是模拟人们骑摩托车时上身重心的来回摆动去平衡无人摩托。

  2.反作用轮控制:反作用轮控制在卫星姿态控制中应用也很广泛。施加作用力使反作用轮产生角加速度,反作用轮会产生一个反作用力矩来调整卫星的姿态。反作用轮控制方法利用类似的原理去产生力矩实现无人摩托的平衡控制。

  3.力矩陀螺控制:力矩陀螺控制是利用力矩陀螺效应产生力矩抵抗重力矩,从而实现无人摩托的平衡控制。力矩陀螺效应简而之是一个高速旋转的陀螺产生进动,则陀螺对外产生一个力矩作用,该力矩的大小和陀螺自转角速度和进动角速度大小有关。

  4.车把转向控制:车把转向控制方法通过控制车把转动控制转向产生的离心力实现自行车的平衡,该方法利用自行车自身的转向动力学特性实现平衡更显得自然和合理。

  以上四种主动平衡方式各有优缺点,其中,利用车把转向控制在空间上利用率更高,并且容易实现。车把转向控制方法利用了无人摩托的车把转向特性,具有能量消耗低、反应速度快、能实现大范围转向和高速平衡的优点,并且结合无人摩托的平衡、转向及变速功能需求。

  虽然车把转向控制有诸多好处,但是以往的车把转向控制无人摩托主动平衡控制器参数整定是依靠工程师的经验来进行,具有不稳定性,缺乏科学依据。

  发明内容

  本申请实施例提供了一种无人摩托转向控制参数整定方法和装置,能够提高无人摩托主动平衡过程的稳定性。

  本申请实施例提供了一种无人摩托转向控制参数整定方法,所述方法可以包括:

  将无人摩托的每个主动平衡参数各自对应为粒子群算法中粒子的一个维度;所述主动平衡参数为一个或多个;

  将粒子中的每个维度分别设置为不同的初始值,以获取多个初始粒子,并由所述多个初始粒子组成粒子种群;

  从所述粒子种群中选择出最优粒子;

  将所述最优粒子的维度对应的主动平衡参数作为所述无人摩托的转向控制参数。

  在本申请的示例性实施例中,所述方法还可以包括:将所述每个主动平衡参数对应为预先创建的无人摩托控制器的增益矩阵的一个分量,并将获取的所述最优粒子的维度对应的增益矩阵作为所述无人摩托控制器的最优增益矩阵;

  所述从所述粒子种群中选择出最优粒子可以包括:

  基于粒子群算法、对所述无人摩托控制器的稳定性判断以及遗传算法中的适应度函数计算,对所述粒子种群中的每一个初始粒子均进行多次迭代计算,确定出每一个初始粒子对应的个体最优粒子;

  对确定出的全部个体最优粒子对应的适应度值进行两两比较,根据比较结果确定出所述最优粒子。

  在本申请的示例性实施例中,所述基于粒子群算法、对所述无人摩托控制器的稳定性判断以及遗传算法中的适应度函数计算,对所述粒子种群中的每一个初始粒子均进行多次迭代计算,确定出每一个初始粒子对应的个体最优粒子包括:将每一个初始粒子作为当前个体粒子执行以下流程:

  31、定义当前迭代次数i,第i次迭代获取的适应度值Ji;最优适应度值JSD;使i=1,1≤i≤m,m为预设的总迭代次数;

  32、判断是否i=1?如果i=1,则进入步骤33;如果i>1,则按照预设的粒子群算法位置更新公式和粒子群算法速度更新公式使该当前个体粒子在预设的可行域内进行一次移动,获取一个新的个体粒子,并将该新的个体粒子作为当前个体粒子,进入步骤33;

  33、判断所述无人摩托控制器在当前个体粒子对应的增益矩阵的反馈下是否稳定,并根据判断结果获取一个李雅普诺夫惩罚系数kL;

  34、将该当前个体粒子作为自变量,将一组适应度函数作为因变量,获取关于该当前个体粒子的一组适应度函数值;

  35、以获得的所述李雅普诺夫惩罚系数kL作为计算系数,根据预设的权重系数对所述一组适应度函数值进行加权计算,获取该当前个体粒子的适应度值,将该适应度值赋予Ji;

  36、判断是否i=1?如果i=1,则使JSD=Ji,i=i+1,返回步骤32;如果i>1,将Ji与JSD相比较,当Ji<JSD时,使得JSD=Ji,并进入步骤37;当Ji≥JSD时,进入步骤37;

  37、判断是否满足i=n?如果满足i=n,则将JSD对应的个体粒子作为个体最优粒子;如果不满足i=n,则使i=i+1,并返回步骤32。

  在本申请的示例性实施例中,所述粒子群算法位置更新公式可以包括:

  

  所述粒子群算法速度更新公式可以包括:

  其中,ω是指惯性权重;是指第t次迭代时种群内第j个粒子的第d维的速度分量;c1是指学习率1;c2是指学习率2;rand1()是指随机数1;rand2()是指随机数2;是指第t-1次迭代时种群内第j个粒子的第d维的个体历史最优分量;是指第t次迭代时第j个粒子的第d维的位置分量;是指第t-1次迭代时种群内第j个粒子的第d维的全局最优粒子。

  在本申请的示例性实施例中,所述根据判断结果获取一个李雅普诺夫惩罚系数kL可以包括:

  当所述无人摩托控制器在当前个体粒子对应的增益矩阵的反馈下稳定时,使kL=1;

  当所述无人摩托控制器在当前个体粒子对应的增益矩阵的反馈下不稳定时,使kL=M,M为预定义的一个大于1的数值。

  在本申请的示例性实施例中,所述一组适应度函数可以包括:

  

  

  

  J4=tc;

  其中,J1为最优控制的能量函数,J2为无人摩托控制器的最大超调量指标函数,J3为无人摩托控制器系统误差指标函数,J4为无人摩托控制器控制车身倾斜角的收敛时间;Q为四阶对角单位阵,T为一个控制周期的时长,R=1;x(t)是指状态向量;u(t)是指一个包含0和车把转矩的输入向量;e(t)是指误差向量;t是指控制器仿真时间;kt是一个人为设置的0到1之间的系数。

  所述将该当前个体粒子作为自变量,将一组适应度函数作为因变量,获取关于该当前个体粒子的一组适应度函数值包括:

  根据所述当前个体粒子对应的增益矩阵的变化,获取一组适应度函数曲线,并从所述一组适应度函数曲线中提取出所述一组适应度函数值。

  在本申请的示例性实施例中,所述以获得的所述李雅普诺夫惩罚系数kL作为计算系数,根据预设的权重系数对所述一组适应度函数值进行加权计算,获取该当前个体粒子的适应度值可以包括:根据下述的计算式计算该当前个体粒子的适应度值J:

  J=kL(ω1J1+ω2J2+ω3J3+ω4J4);

  其中,ω1为函数J1对应的权重系数,ω2为函数J2对应的权重系数,ω3为函数J3对应的权重系数,ω4为函数J4对应的权重系数。

  在本申请的示例性实施例中,所述主动平衡参数可以包括以下任意一种或多种:车身倾斜角θ、车把转向角φ、车身倾斜角速度以及车把转向角速度

  所述方法还可以包括:预先创建与所述主动平衡参数相关的无人摩托控制器;

  所述无人摩托控制器可以包括:

  u=Kx(t)+Γ;

  其中,u为施加在无人摩托的车把转向轴上的扭矩;K=[k1 k2 k3 k4]∈R1×4,K为反馈增益,x(t)为车身倾斜角θ、车把转向角φ、车身倾斜角速度以及车把转向角速度的量值,k1、k2、k3、k4分别为车身倾斜角θ、车把转向角φ、车身倾斜角速度以及车把转向角速度对应的增益分量;Γ是无人摩托控制器内补偿器,Γ∈R1×1,Γ=ΓGx(t),ΓG为系数矩阵。

  在本申请的示例性实施例中,所述方法还可以包括:

  在所述可行域内,设置粒子反射墙,以在当前个体粒子在预设的可行域内进行移动时,通过所述粒子反射墙将该当前个体粒子中到达所述可行域的边界的任意一维的速度方向设置为反向;和/或,

  在针对所述当前个体粒子进行迭代过程中,进行均匀交叉操作。

  本申请实施例还提供了一种无人摩托转向控制参数整定装置,可以包括处理器和计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令被所述处理器执行时,实现上述任意一项所述的无人摩托转向控制参数整定方法。

  与相关技术相比,本申请实施例可以包括:将无人摩托的每个主动平衡参数各自对应为粒子群算法中粒子的一个维度;所述主动平衡参数为一个或多个;将粒子中的每个维度分别设置为不同的初始值,以获取多个初始粒子,并由所述多个初始粒子组成粒子种群;从所述粒子种群中选择出最优粒子;将所述最优粒子的维度对应的主动平衡参数作为所述无人摩托的转向控制参数。通过该实施例方案,实现了不依赖于工程师经验,具有可靠的科学依据,提高了无人摩托主动平衡过程的稳定性。

  本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。

  附图说明

  附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。

  图1为本申请实施例的无人摩托转向控制参数整定方法流程图;

  图2为本申请实施例的从所述粒子种群中选择出最优粒子的方法流程图;

  图3为本申请实施例的对粒子种群中的每一个初始粒子均进行多次迭代计算确定出每一个初始粒子对应的个体最优粒子的方法流程图;

  图4为本申请实施例的初始条件为θ=1°,θ=2°,θ=4°,θ=8°,φ=0,vr=2m/s的无人摩托主动平衡最优控制曲线图;

  图5为本申请实施例的初始条件为θ=1°,φ=0,vr=5m/s的无人摩托主动平衡最优控制曲线图;

  图6为本申请实施例的初始条件为θ=1°,φ=0,vr=5m/s的无人摩托控制器算法内反馈增益K的演化规律曲线图;

  图7为本申请实施例的初始条件为θ=1°,φ=0,vr=1,2,3,4m/s最优控制器控制曲线图;

  图8为本申请实施例的无人摩托控制器应用示意图;

  图9为本申请实施例的无人摩托转向控制参数整定装置组成框图。

  具体实施方式

  本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。

  本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。

  此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。

  本申请实施例提供了一种无人摩托转向控制参数整定方法,如图1所示,所述方法可以包括步骤S101-S104:

  S101、将无人摩托的每个主动平衡参数各自对应为粒子群算法中粒子的一个维度;所述主动平衡参数为一个或多个;

  S102、将粒子中的每个维度分别设置为不同的初始值,以获取多个初始粒子,并由所述多个初始粒子组成粒子种群;

  S103、从所述粒子种群中选择出最优粒子;

  S104、将所述最优粒子的维度对应的主动平衡参数作为所述无人摩托的转向控制参数。

  在本申请的示例性实施例中,所述方法还可以包括但不限于:将所述每个主动平衡参数对应为预先创建的无人摩托控制器的增益矩阵的一个分量,并将获取的所述最优粒子的维度对应的增益矩阵作为所述无人摩托控制器的最优增益矩阵。

  在本申请的示例性实施例中,即,可以将无人摩托的每个主动平衡参数分别作为增益矩阵的一个分量;并将每个分量对应为粒子群算法中粒子的一个维度。

  在本申请的示例性实施例中,所述主动平衡参数可以包括但不限于以下任意一种或多种:车身倾斜角θ、车把转向角φ、车身倾斜角速度以及车把转向角速度

  在本申请的示例性实施例中,在确定无人摩托的主动平衡参数后,可以将该主动平衡参数与粒子群算法(或称基本粒子群算法)进行了匹配和升级。以找到最优增益矩阵来控制无人摩托的主动平衡参数(例如车身倾斜角θ、车把转向角φ、车身倾斜角速度以及车把转向角速度)从初始值开始进行主动平衡调节达到最终设定值,从而保证无人摩托主动平衡过程的稳定性。

  在本申请的示例性实施例中,基本粒子群算法是90年代美国科学家提出的群智能寻优算法,本申请实施例方案将该基本粒子群算法应用于无人摩托的主动平衡控制领域,并在该基本粒子群算法的基础上进行了改造与优化,达到了很好的控制效果。

  在本申请的示例性实施例中,可以采用四维编码,将粒子的四个维度依次对应增益矩阵中的四个分量。其中,该增益矩阵即创建的无人摩托控制器的反馈增益矩阵,增益矩阵的四个分量可以分别对应上述的四个主动平衡参数(车身倾斜角θ、车把转向角φ、车身倾斜角速度以及车把转向角速度)。

  在本申请的示例性实施例中,可以根据无人摩托主动平衡的动力学方程(可以采用目前存在的任意单轨双轮机器人、自行车或摩托车的动力学方程)控制车身倾斜角θ的过程中,车把转向角φ、车身倾斜角速度以及车把转向角速度均可在不同增益矩阵K的反馈下以被观测量的形式呈现出控制收敛曲线的变化。

  在本申请的示例性实施例中,本申请实施例的参数整定方法以状态量的形式对车身倾斜角θ,车把转向角φ,车身倾斜角速度以及车把转向角速度进行了向量形式的表达,即主动平衡状态向量χ,

  在本申请的示例性实施例中,从状态量的方式对无人摩托的主动平衡进行控制时,在一个控制周期内,初始状态量经过本申请实施例的参数整定方法后,可以使得χ(T)=[0,0,0,0],即主动平衡参数的最终设定值,可以看作主动平衡调节目标。式中:χ0为一个时长为T的控制周期开始时无人摩托的倾斜与转向状态。χT为该控制周期结束时无人自行车的倾斜与转向状态。

  在本申请的示例性实施例中,理论上来讲初始状态量χ(0)可以从任意四维编码收敛到任意四维编码。例如,从(2,1,2,1)收敛到(4,5,4,5)。但是实际的问题是无人摩托的最优平衡控制。所以研究的为例如(1,0,0,0)到(0,0,0,0)。(0,0,0,0)就是平衡时的状态。

  在本申请的示例性实施例中,所述方法还可以包括:预先创建与所述主动平衡参数相关的无人摩托控制器。

  在本申请的示例性实施例中,基于上述的动力学方程,本申请实施例方案提出了一种由状态反馈部分和补偿部分组成的控制器结构(即上述的无人摩托控制器)。

  在本申请的示例性实施例中,所述无人摩托控制器可以包括:

  u=Kx(t)+Γ;

  其中,u为施加在无人摩托的车把转向轴上的扭矩(或称车把转向力矩),K=[k1 k2k3 k4]∈R1×4,K为反馈增益,x(t)为车身倾斜角θ、车把转向角φ、车身倾斜角速度以及车把转向角速度的量值,k1、k2、k3、k4分别为车身倾斜角θ、车把转向角φ、车身倾斜角速度以及车把转向角速度对应的增益分量;Γ是控制器内补偿器;Γ∈R1×1;

  Γ=ΓGx(t);

  其中,ΓG为系数矩阵,x(t)为车身倾斜角θ、车把转向角φ、车身倾斜角速度以及车把转向角速度的量值,车身倾斜角θ、车把转向角φ、车身倾斜角速度以及车把转向角速度分别对应无人摩托控制器的反馈增益中的一个增益分量。

  在本申请的示例性实施例中,无人摩托(或称单轨双轮机器人)可以由四个部分组成:前轮、转向部分(或把手)、后轮和后车身。车轮和地面为点接触,每个车轮只有一个点,当后轮或前轮接触地面时没有侧滑。假设自行车机器人轮胎厚度为0,自行车机器人的关节与车身连接,没有减震器和弹簧。

  自行车机器人的Euler-Lagrange动力学方程可以为:

  

  式中,q(t)=[q1(t) q2(t)]表示滚动角和转向角,τ(t)=[0 τδ(t)],τδ(t)表示施加在转向轴上的扭矩。在自行车机器人只施加转向力矩的情况下,在驱动不足的情况下,可以控制滚动角和转向角。惯性矩阵M、科里奥利和离心力C、重力K0和速度系数矩阵K2的形式可以如下:

  

  

  可以验证状态空间方程:

  

  其中,u(t)=τδ(t);

  

  以上是状态空间模型,状态空间模型是无人摩托控制器的设计基础。

  在本申请的示例性实施例中,为了消除前向速度的影响,提出了一种带有状态反馈和补偿环节的无人摩托控制器:

  u=Kx(t)+Γ;

  其中,u为表示施加在转向轴上的扭矩(或称车把转向力矩),即前述的自行车机器人的Euler-Lagrange动力学方程中的τ(t),τ(t)=[0 τδ(t)],τδ(t)表示施加在转向轴上的扭矩;K=[k1 k2 k3 k4]∈R1×4,K为反馈增益,x(t)为车身倾斜角θ、车把转向角φ、车身倾斜角速度以及车把转向角速度的量值,k1、k2、k3、k4分别为车身倾斜角θ、车把转向角φ、车身倾斜角速度以及车把转向角速度的对应的增益分量;Γ∈R1×1是控制器内补偿器,补偿器表达式可以如下:

  

  其中,ΓG=(Gu1)-1[gG011|gG012+v2G212|vGc11|vGc12]∈R1×4,为系数矩阵,x(t)为每个增益对应的车身倾斜角θ,车把转向角φ,车身倾斜角速度以及车把转向角速度量值。

  在本申请的示例性实施例中,无人摩托的控制结构可以由补偿部分、状态反馈部分和基于本申请实施例方案中的反馈增益K调节部分组成,无人摩托的控制结构可以如图8所示。

  在本申请的示例性实施例中,根据上述方案将无人摩托的每个主动平衡参数各自对应为粒子群算法中粒子的一个维度后,可以将粒子中的每个维度分别设置为不同的初始值,以获取多个初始粒子,并由所述多个初始粒子组成粒子种群。

  在本申请的示例性实施例中,可以在可行域内,将每个粒子的四个维度设置为任意数值,获得多个初始粒子。例如,可以设置四个(具体数量不做限制)初始粒子,第一个初始粒子的四个维度对应的数值可以为:θ=1°,φ=0,第二个初始粒子的四个维度对应的数值可以为:θ=2°,φ=0,第三个初始粒子的四个维度对应的数值可以为:θ=4°,φ=0,第四个初始粒子的四个维度对应的数值可以为:θ=8°,φ=0,可以将该第一初始粒子、第二初始粒子、第三初始粒子和第四初始粒子组成一个粒子种群。

  在本申请的示例性实施例中,在由多个初始粒子组成粒子种群后,可以从所述粒子种群中选择出最优粒子。

  在本申请的示例性实施例中,从所述粒子种群中选择出最优粒子涉及到以下方案:通过引入四维多目标的适应度值作为寻优目标进行全局搜索;通过引入李雅普诺夫参数加快粒子群对应的适应度值收敛的速度;通过引入均匀交叉避免粒子种群过早的陷入局部最优;通过设置“反射墙”确保粒子寻优可行域。下面将对选出最优粒子的方案进行详细介绍。

  在本申请的示例性实施例中,所述从所述粒子种群中选择出最优粒子可以包括步骤S201-S202:

  S201、基于粒子群算法、对所述无人摩托控制器的稳定性判断以及遗传算法中的适应度函数计算,对所述粒子种群中的每一个初始粒子均进行多次迭代计算,确定出每一个初始粒子对应的个体最优粒子。

  在本申请的示例性实施例中,所述基于粒子群算法、对所述无人摩托控制器的稳定性判断以及遗传算法中的适应度函数计算,对所述粒子种群中的每一个初始粒子均进行多次迭代计算,确定出每一个初始粒子对应的个体最优粒子可以包括:将每一个初始粒子作为当前个体粒子执行以下流程S301-S307:

  S301、定义当前迭代次数i,第i次迭代获取的适应度值Ji;最优适应度值JSD;使i=1,1≤i≤m,m为预设的总迭代次数。

  S302、判断是否i=1?如果i=1,则进入步骤S303;如果i>1,则按照预设的粒子群算法位置更新公式和粒子群算法速度更新公式使该当前个体粒子在预设的可行域内进行一次移动,获取一个新的个体粒子,并将该新的个体粒子作为当前个体粒子,进入步骤S303。

  在本申请的示例性实施例中,该当前个体粒子可以看作是每个初始粒子在进行多次迭代中衍生出的粒子,其中,该初始粒子可以看作衍生出的第一个粒子,即,初始粒子可以作为第一个个体粒子。因为初始粒子在进行多次迭代时会进行位置移动,每次位置移动相当于获得了一个新的粒子(即衍生出一个个体粒子)。

  在本申请的示例性实施例中,所述粒子群算法位置更新公式可以包括:

  在本申请的示例性实施例中,所述粒子群算法位置更新公式可以包括:

  

  所述粒子群算法速度更新公式可以包括:

  其中,ω是指惯性权重;是指第t次迭代时种群内第j个粒子的第d维的速度分量;c1是指学习率1;c2是指学习率2;rand1()是指随机数1;rand2()是指随机数2;是指第t-1次迭代时种群内第j个粒子的第d维的个体历史最优分量;是指第t次迭代时第j个粒子的第d维的位置分量;是指第t-1次迭代时种群内第j个粒子的第d维的全局最优粒子。

  S303、判断所述无人摩托控制器在当前个体粒子对应的增益矩阵的反馈下是否稳定,并根据判断结果获取一个李雅普诺夫惩罚系数kL。

  在本申请的示例性实施例中,所述根据判断结果获取一个李雅普诺夫惩罚系数kL可以包括:

  当所述无人摩托控制器在当前个体粒子对应的增益矩阵的反馈下稳定时,使kL=1;

  当所述无人摩托控制器在当前个体粒子对应的增益矩阵的反馈下不稳定时,使kL=M,M为预定义的一个大于1的数值。

  在本申请的示例性实施例中,无人摩托控制器设计算法中提出了李雅普诺夫惩罚系数kL(即kLypunov),李雅普诺夫惩罚系数kL的定义包括:如果无人摩托控制器在当前粒子(即上述的当前个体粒子)所表示的增益矩阵K的反馈下稳定,则kLypunov=1;如果无人摩托控制器在当前粒子(即上述的当前个体粒子)所表示的增益矩阵K的反馈下不稳定,则kLypunov=M。M被定义为一个较大的数。即当控制器不稳定时,对当前粒子的适应度值给与一个很大的惩罚系数,使当前非精英粒子位置有更大的概率及更快的速度朝着其他稳定的位置进行更新,同时在保持适应度相对排序不变的情况下体现出与‘稳定粒子’的差异。

  

  S304、将该当前个体粒子作为自变量,将一组适应度函数作为因变量,获取关于该当前个体粒子的一组适应度函数值。

  在本申请的示例性实施例中,所述一组适应度函数可以包括:

  

  

  

  J4=tc;

  其中,J1为最优控制的能量函数,J2为无人摩托控制器的最大超调量指标函数,J3为无人摩托控制器系统误差指标函数,J4为无人摩托控制器控制车身倾斜角的收敛时间;Q为四阶对角单位阵,T为一个控制周期的时长,R=1;x(t)是指状态向量;u(t)是指一个包含0和车把转矩的输入向量;e(t)是指误差向量;t是指控制器仿真时间;kt是一个人为设置的(0,1)的系数,即完全收敛时间比例。

  所述将该当前个体粒子作为自变量,将一组适应度函数作为因变量,获取关于该当前个体粒子的一组适应度函数值可以包括:

  根据所述当前个体粒子对应的增益矩阵的变化,获取一组适应度函数曲线,并从所述一组适应度函数曲线中提取出所述一组适应度函数值。

  S305、以获得的所述李雅普诺夫惩罚系数kL作为计算系数,根据预设的权重系数对所述一组适应度函数值进行加权计算,获取该当前个体粒子的适应度值,将该适应度值赋予Ji。

  在本申请的示例性实施例中,所述以获得的所述李雅普诺夫惩罚系数kL作为计算系数,根据预设的权重系数对所述一组适应度函数值进行加权计算,获取该当前个体粒子的适应度值可以包括:根据下述的计算式计算该当前个体粒子的适应度值J:

  J=kL(ω1J1+ω2J2+ω3J3+ω4J4);

  其中,ω1为函数J1对应的权重系数,ω2为函数J2对应的权重系数,ω3为函数J3对应的权重系数,ω4为函数J4对应的权重系数。

  S306、判断是否i=1?如果i=1,则使JSD=Ji,i=i+1,返回步骤S302;如果i>1,将Ji与JSD相比较,当Ji<JSD时,使得JSD=Ji,并进入步骤S307;当Ji≥JSD时,进入步骤S307;

  S307、判断是否满足i=n?如果满足i=n,则将JSD对应的个体粒子作为个体最优粒子;如果不满足i=n,则使i=i+1,并返回步骤S302。

  在本申请的示例性实施例中,所述方法还可以包括:

  在所述可行域内,设置粒子反射墙,以在当前个体粒子在预设的可行域内进行移动时,通过所述粒子反射墙将该当前个体粒子中到达所述可行域的边界的任意一维的速度方向设置为反向。

  在本申请的示例性实施例中,为保证算法的有效性,本申请实施例方案的参数整定方法中可以人为设定在一个可行域boundary=[Bu,Bl]内进行最优粒子的搜索。

  在本申请的示例性实施例中,优化问题分为非约束优化问题和带约束优化问题。实际控制问题带约束。Bu和Bl为带约束优化问题的上界和下界(结合实际控制问题具体设定数值)。

  在本申请的示例性实施例中,针对于人为设定的不等式约束(即上述的可行域boundary),可以采用reflect wall(反射墙)的方法,当寻优粒子某一维到达解空间的边界,将该维的速度方向进行转变。可以理解为反射墙在可行解的区域内,吸收了反射逃逸的粒子的能量,将飞出边界的粒子速度设置为反向。同时,将飞出边界的粒子位置拉回到可行域边界,使得种群内所有的粒子都可以在可行域内进行搜索。

  在本申请的示例性实施例中,所述方法还可以包括:在针对所述当前个体粒子进行迭代过程中,进行均匀交叉操作。

  在本申请的示例性实施例中,本申请实施例方案中融合了遗传算法常见的均匀交叉操作,目的是在粒子种群陷入局部最优时,以一定的概率(均匀交叉概率),通过人为施加扰动的形式使粒子种群继续搜索全局最优解(即最优粒子),未引用太多自适应规律的原因是粒子维度较少,大范围扰动操作,例如各种形式的交叉、变异、淘汰、更新等,也会使得粒子种群完全脱离粒子种群的启发式搜索路径,无异于暴力搜索。均匀交叉与基因突变的原旨在保留父代粒子的部分优秀信息的同时,使粒子代表的编码信息进行更新,可以使多次迭代仍陷入局部最优的粒子种群在搜索的超平面内大幅度迁徙,以随机寻找新的优质搜索区域,增加种群搜索到最优解的可能性。

  在本申请的示例性实施例中,一个粒子种群中的全部初始粒子可以同时进行迭代,并且每个初始粒子可以迭代多次(如上述的n次),每次迭代后可以获得一个适应度值Ji,可以将该适应度值Ji与前面已经获得的最优适应度值JSD相比较,以确定哪一个值更小,将更小的值作为该最优适应度值JSD。因为适应度值Ji越小,说明该适应度值对应的粒子(即上述的个体粒子)越优。

  在本申请的示例性实施例中,该最优适应度值JSD对应的个体粒子可以作为最优个体粒子。

  在本申请的示例性实施例中,当一个粒子种群中的全部初始粒子均迭代完成以后,可以获得由全部初始粒子迭代出的多个个体最优粒子(每个初始粒子可以对应一个个体最优粒子)。

  S202、对确定出的全部个体最优粒子对应的适应度值进行两两比较,根据比较结果确定出所述最优粒子。

  在本申请的示例性实施例中,通过上述步骤获得由全部初始粒子迭代出的多个个体最优粒子后,为了从粒子种群中选出一个最优粒子,可以再次对该多个个体最优粒子进行比较,原理同上,此时可以将多个个体最优粒子对应的适应度值,即获得的多个最优适应度值JSD进行比较,并将最小的一个最优适应度值JSD对应的个体最优粒子作为全局最优粒子,即整个粒子种群的最优粒子。

  在本申请的示例性实施例中,可以将所述最优粒子的维度对应的增益矩阵作为预先创建的无人摩托控制器的最优增益矩阵。

  在本申请的示例性实施例中,下面给出本申请实施例方案的一组伪代码包括步骤1-43:

  1、设置无人摩托控制器的初始状态量和结束状态量χ(T)=[0,0,0,0];

  2、设置粒子种群参数(即,每个粒子的四个维度,粒子种群中每个粒子对应的增益矩阵中的四个分量,如车身倾斜角θ、车把转向角φ、车身倾斜角速度以及车把转向角速度);

  3、在可行域内随机设置多个初始粒子(即随机出多个四维向量),组成粒子种群(或称初始粒子种群);

  4、设置无人摩托动力学参数,根据无人摩托动力学参数(可以包括车身倾斜角θ、车把转向角φ、车身倾斜角速度以及车把转向角速度)建立无人摩托控制器;该步骤可以设置在1、2、3、4步的任意一步;

  5、检查控制器可控性和可观性;该步设置于无人摩托控制器建立之后;

  6、进入下述的主循环,计算粒子种群的适应度,以评价出个体最优粒子和全局最优粒子;其中,适应度值越小,粒子越优;

  7、主循环开始;

  8、For j=1 to population;j是指当前进行迭代的为第j个初始粒子;population为初始粒子总数;

  9、For i=1 to n;i为当前迭代次数,n为设定的最大迭代次数;

  10、执行粒子群算法位置更新公式

  11、执行粒子群算法速度更新公式(通过步骤10和11实现对粒子的移动搜索;)

  12、检查粒子是否搜索出可行域边界;

  13、If粒子搜索出可行域边界;

  14、

  15、使飞出边界的粒子反向;

  16、end If;

  17、将当前粒子(当前个体粒子)对应的反馈增益矩阵K应用于上述的无人摩托控制器;

  18、判断无人摩托控制器的稳定性;

  19、If无人摩托控制器李雅普诺夫稳定;

  20、kL=1;

  21、Else

  22、kL=M;引入此参数可以使得控制收敛提高速度;所谓的最优控制,主要就是集中在速度,精度上;即越快越好,越准越好;

  23、end If;

  24、计算适应度函数;即J1、J2、J3、J4;

  25、计算适应度函数值的加权求和;无人摩托控制器为多目标控制器,加权求和可以综合评估每个控制器参数指标,每一项指标对于总的最优控制器性能都有影响;

  26、适应度函数值的加权求和计算式:J=kL(ω1J1+ω2J2+ω3J3+ω4J4);

  27、通过上述步骤求出每个初始粒子迭代一次获得的适应度函数值Ji后,下面可以进入求个体历史最优(即个体最优粒子)和当前全局最优(即最优粒子)的执行步骤,其中,28-32步骤先求出每个粒子的历史个体最优,33-36步骤再求根据这些历史个体最优(每个粒子有可能在不同的代数产生最优),求一个种群历史最优(即全局最优);群智能算法的精髓就是种群具有统计学意义,种群才能导致收敛;

  28、If J(i)<JPbest【即Ji<JSD,Ji即J(i),JPbest即JSD】;

  29、JGbest=J(i);即,每次比较后将适应度值较小的值赋予最优适应度值JGbest(即前述的JSD);

  30、Pbest(i)=x(i);即,将JGbest对应的个体粒子x(i)作为个体最优粒子Pbest(i);

  31、end If;

  32、end For;

  33、If JPbest(j)<JZbest;JPbest(j)为第j个初始粒子多次迭代出的个体最优粒子对应的适应度函数值,JZbest为最小的适应度函数值;

  34、JZbest=JPbest(j);

  35、JZbest(j)=x(j);即JZbest对应的个体最优粒子作为全局最优粒子(即最优粒子);

  36、end If;

  37、end For;

  38、For j=1to population;

  39、进行均匀交叉操作避免过早陷入局部最优;

  40、If生成的随机数大于均匀交叉概率;

  41、进行均匀交叉操作;

  42、end If;

  43、end For。

  在本申请的示例性实施例中,下面给出一则具体实施案例:

  本申请实施例的无人摩托控制器参数整定方法参数如下:粒子群算法位置更新公式中的惯性权重ω为0.8,学习率为1.5,粒子种群中初始粒子数量为30,最大迭代次数n为200,交叉概率为0.2,种群交叉比例为0.5,适应度值权重ω1为0.4,适应度值权重ω2为0.2,适应度值权重ω3为0.2,适应度值权重ω4为0.2,李雅普诺夫惩罚系数kL为100,kt(完全收敛时间比例)为0.8,一个控制周期时长为10。对于某款理想状态的轻型无人摩托车,质量属性如表1所示。

  表1

  

  

  对于四种不同的初始工况,即车身倾斜角分别为θ=1°、θ=2°、θ=4°、θ=8°时,且初始转向角为φ=0,初始车身倾斜角速度为车把转向角速度为整车速度为vr=2m/s的无人摩托对上述模型进行参数整定得出的最优反馈增益矩阵如表2所示。

  表2

  

  在本申请的示例性实施例中,图4为根据本申请实施例的方案对上述无人摩托进行主动平衡控制器参数整定后的示意图;初始条件为θ=4°,θ=2°,θ=4°,θ=8°,φ=0,后轮前进速度vr=2m/s的无人摩托主动平衡最优控制;

  图5为根据本申请实施例的方案对上述无人摩托进行主动平衡控制器参数整定后的示意图;初始条件为θ=1°,φ=0,vr=5m/s的无人摩托主动平衡最优控制。

  图6为根据本申请实施例的方案对上述无人摩托进行主动平衡控制器参数整定后的示意图;初始条件为θ=1°,φ=0,vr=5m/s的无人摩托控制器算法内反馈增益K的演化规律;

  图7为根据本申请实施例的方案对上述无人摩托进行主动平衡控制器参数整定后的示意图;初始条件为θ=1°,vr=1,2,3,4m/s最优控制器。

  本申请实施例还提供了一种无人摩托转向控制参数整定装置1,如图9所示,可以包括处理器11和计算机可读存储介质12,所述计算机可读存储介质中存储有指令,当所述指令被所述处理器执行时,实现上述任意一项所述的无人摩托转向控制参数整定方法。

  在本申请的示例性实施例中,上述的无人摩托转向控制参数整定方法中的任意实施例均适用于该装置实施例中,在此不再一一赘述。

  本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

《一种无人摩托转向控制参数整定方法和装置.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)