首页> 中国专利> 一种利用蚁群算法辨识高精度伺服系统摩擦参数的方法

一种利用蚁群算法辨识高精度伺服系统摩擦参数的方法

摘要

本发明提供了一种利用蚁群算法辨识高精度伺服系统摩擦参数的方法。首先令闭环伺服系统以一组恒定的转速运动,得到相应的控制力矩序列,从而构造出静态评价函数,辨识出高精度伺服系统摩擦参数的静态参数;将蚂蚁按照随机原则散布在空间网格点上,并记录具有最好评价函数值的精灵蚂蚁;按照规则结合评价函数值进行信息素更新,直至寻到最优静态参数。然后用得到的静态参数的估计值替代实际值,进一步辨识出动态参数。该方法优点是可不依赖被控对象的精确数学模型,并具有较高的在线实时性,能有效地攻克十分困难的在线辨识问题,使处理问题更具灵活性、适应性和鲁棒性。

著录项

  • 公开/公告号CN101122779A

    专利类型发明专利

  • 公开/公告日2008-02-13

    原文格式PDF

  • 申请/专利权人 北京航空航天大学;

    申请/专利号CN200710121776.9

  • 发明设计人 段海滨;于秀芬;王道波;

    申请日2007-09-13

  • 分类号G05B13/04(20060101);G06N3/00(20060101);

  • 代理机构11232 北京慧泉知识产权代理有限公司;

  • 代理人王顺荣;唐爱华

  • 地址 100083 北京市海淀区学院路37号北京航空航天大学自动化学院

  • 入库时间 2023-12-17 19:45:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-11-23

    未缴年费专利权终止 IPC(主分类):G05B13/04 授权公告日:20090610 终止日期:20100913 申请日:20070913

    专利权的终止

  • 2009-06-10

    授权

    授权

  • 2008-04-09

    实质审查的生效

    实质审查的生效

  • 2008-02-13

    公开

    公开

说明书

(一)技术领域

本发明涉及一种利用蚁群算法辨识高精度伺服系统摩擦参数的方法,属于机械制造技术领域。

(二)背景技术

在高精度、超低速伺服系统中,由于非线性摩擦环节的存在,使系统的动态及静态性能受到很大影响,这主要表现为低速时出现爬行现象,稳态时有较大的静差或出现极限环振荡。因此,要提高系统的性能,必须采用适当的控制方法来消除摩擦力矩的影响。在基于摩擦模型的补偿方法中,选择一个合适的摩擦模型是非常重要的。实践表明,采用经典的库仑摩擦+粘性摩擦作为摩擦模型,并不能真实地反映摩擦现象的动态过程。Canudas de Wit C等在1995年提出了LuGre模型(Canudas de WitC,OlssonH,Astrom K J,et al.A new model for control of systems with friction.IEEETransactions on Automatic Control,1995,40(3):419-425),该模型能够准确地描述摩擦过程复杂的动态、静态特性,如爬行、极限环振荡、滑前变形、摩擦记忆、变静摩擦及静态Stribeck曲线等,目前在高精度伺服系统中得到了广泛应用。

本发明设计了利用蚁群算法辨识高精度伺服系统摩擦参数的方法。本发明在对高精度伺服系统摩擦参数的辨识过程中采用了蚁群智能的如下特点:

(1)在蚂蚁不断散布生物信息激素的加强作用下,新的信息会很快被加入到环境中。而由于生物信息激素的蒸发更新,旧的信息会不断被丢失,体现出一种动态特性;

(2)由于许多蚂蚁在环境中感受散布的生物信息激素同时自身也散发生物信息激素,这使得不同的蚂蚁会有不同的选择策略,具有分布性;

(3)最优路线是通过众多蚂蚁的合作被搜索得到的,并成为大多数蚂蚁所选择的路线,这一过程具有协同性;

(4)蚂蚁个体之间、群体之间以及与环境之间的相互作用、相互影响、相互协作,可以完成的复杂的任务,这种适应性表现为蚁群算法的鲁棒性;

(5)自组织使得蚂蚁群体的行为趋向结构化,其原因在于包含了一个正反馈的过程。这个过程利用了全局信息作为反馈,正反馈使系统演化过程中较优解的自增强作用,使得问题的解向着全局最优化的方向不断变化,最终能有效地获得相对较优解。

蚁群算法寻优过程中所体现出的并行性、协同性、自组织性、动态性、强鲁棒性等特点与高精度伺服系统摩擦参数辨识的许多要求是相符的。用蚁群算法辨识高精度伺服系统摩擦参数可以不依赖被控对象的精确数学模型,并具有较高的在线实时性,能有效地攻克十分困难的在线辨识问题,使处理问题更具灵活性、适应性和鲁棒性。同时,该方法也可用于解决其它类型复杂非线性参数辨识问题。

(三)发明内容

蚁群算法是一种最新发展的仿生智能优化算法,该算法模拟了自然界蚂蚁的群体觅食行为。自然界中,蚂蚁通过相互协调完成相对其本身来说比较艰巨的任务,科学家发现蚂蚁总能在较短的时间寻找到其巢穴与食物源之间最短的路径。蚁群算法最早用来成功地解决了著名的旅行商问题(Traveling Salesman Problem)。目前人们对蚁群算法的研究已经由当初单一的旅行商问题领域渗透到了多个应用领域,由解决一维静态优化问题发展到解决多维动态组合优化问题,由离散域范围内的研究逐渐拓展到了连续域范围内的研究,而且在蚁群算法的硬件实现上也取得了很多突破性进展,从而使这种新兴的仿生优化算法展现出勃勃生机和广阔的发展前景。

蚁群算法的主要特点是:正反馈、并行性及分布式计算。正反馈过程使得该方法能较快地发现问题的较好解;分布式易于并行实现,与启发式算法相结合,使得该方法易于发现更好的解。

经过生物学家研究,发现蚂蚁之间是通过一种称为信息激素的化学物质来互相通信,并互相影响,真实的蚂蚁外出觅食的时候会不断地在经过的路径上分泌信息素,记录自己经过的路线,路径上的信息素浓度将影响后续蚂蚁的行进路线。对于较短的路径,在单位时间内经过的蚂蚁数量较多,路径上的信息素浓度较高,吸引着较多的蚂蚁沿该路径搜索;对于距离较长的路径,由于单位时间内经过的蚂蚁数量较少,路径上的信息素浓度较低;而且信息素会随着时间而挥发,从而较长的路径的信息素浓度弱化就会比较明显,而对于较短路径则由于经过的蚂蚁数量较多,信息素浓度的衰减作用就显得次要,主要体现为信息素浓度被经过的蚂蚁增强,从而形成了一种正反馈。这种正反馈机制为蚁群寻找最优路径提供了可行性。蚂蚁走过的路径越短,信息激素浓度越高,而信息激素浓度越高,吸引的蚂蚁越多,最后所有的蚂蚁都集中到信息激素浓度最高的一条路径上,这条路径就是从巢穴到食物源的最短路径。图1为真实蚂蚁的觅食过程。

蚁群算法实际上是一类智能多主体系统,其自组织机制使得蚁群算法不需要对所求问题的每一方面都有详尽的认识。自组织本质上是蚁群算法机制在没有外界作用下使系统熵增加的动态过程,体现了从无序到有序的动态演化,其逻辑结构如图2所示。

蚁群算法的数学模型为:设bi(t)表示t时刻位于元素i的蚂蚁数目,τij(t)为t时刻路径(i,j)上的信息量,n表示TSP规模,m为蚁群中蚂蚁的总数目,则<mrow><mi>m</mi><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>b</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>;</mo></mrow>Γ={τij(t)|ci,cjC}是t时刻集合C中元素(城市)两两连接lij上残留信息量的集合。在初始时刻各条路径上信息量相等,并设τij(O)=const,基本蚁群算法的寻优是通过有向图g=(C,L,Γ)实现的。

蚂蚁k(k=1,2,…,m)在运动过程中,根据各条路径上的信息量决定其转移方向。这里用禁忌表tabuk(k=1,2,…,m)来记录蚂蚁k当前所走过的城市,集合随着tabuk进化过程作动态调整。在搜索过程中,蚂蚁根据各条路径上的信息量及路径的启发信息来计算状态转移概率。pijk(t)表示在t时刻蚂蚁k由元素(城市)i转移到元素(城市)j的状态转移概率

式中,allowedk={C-tabuk}表示蚂蚁k下一步允许选择的城市。α为信息启发式因子,表示轨迹的相对重要性,反映了蚂蚁在运动过程中所积累的信息在蚂蚁运动时所起的作用,其值越大,则该蚂蚁越倾向于选择其它蚂蚁经过的路径,蚂蚁之间协作性越强;β为期望启发式因子,表示能见度的相对重要性,反映了蚂蚁在运动过程中启发信息在蚂蚁选择路径中的受重视程度,其值越大,则该状态转移概率越接近于贪心规则。ηij(t)为启发函数,其表达式如下:

<mrow><msub><mi>&eta;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><msub><mi>d</mi><mi>ij</mi></msub></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>

式中,dij表示相邻两个城市之间的距离。对蚂蚁k而言,dij越小,则ηij(t)越大,pijk(t)也就越大。显然,该启发函数表示蚂蚁从元素(城市)i转移到元素(城市)j的期望程度。

为了避免残留信息素过多引起残留信息淹没启发信息,在每只蚂蚁走完一步或者完成对所有n个城市的遍历(也即一个循环结束)后,要对残留信息进行更新处理。这种更新策略模仿了人类大脑记忆的特点,在新信息不断存入大脑的同时,存贮在大脑中的旧信息随着时间的推移逐渐淡化,甚至忘记。由此,t+n时刻在路径(i,j)上的信息量可按如下规则进行调整

τij(t+n)=(1-ρ)·τij(t)+Δτij(t)(3)

<mrow><msub><mi>&Delta;&tau;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msubsup><mi>&Delta;&tau;</mi><mi>ij</mi><mi>k</mi></msubsup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>

式中,ρ表示信息素挥发系数,则1-ρ表示信息素残留因子,为了防止信息的无限积累,ρ的取值范围为:ρ[0,1);Δτij(t)表示本次循环中路径(i,j)上的信息素增量,初始时刻Δτij(0)=0,Δτijk(t)表示第k只蚂蚁在本次循环中留在路径(i,j)上的信息量。

根据信息素更新策略的不同,目前有三种不同的基本蚁群算法模型,分别称之为Ant-Cycle模型、Ant-Quantity模型及Ant-Density模型,其差别在于Δτijk(t)求法的不同。由于Ant-Quantity模型及Ant-Density模型均是对信息素的局部更新,而Ant-Cycle模型是整体更信息素,在求解TSP问题时效果良好,所以用Ant-Cycle模型作为基本蚁群算法的信息素更新方式。在Ant-Cycle模型中

式中,Q表示信息素强度,它在一定程度上影响算法的收敛速度;Lk表示第k只蚂蚁在本次循环中所走路径的总长度。

角位移伺服系统一般可用如下微分方程表示

<mrow><mi>u</mi><mo>-</mo><mi>F</mi><mo>=</mo><mi>m</mi><mover><mi>&theta;</mi><mrow><mo>.</mo><mo>.</mo></mrow></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>

式中,m表示转动惯量,θ表示转角,u表示控制力矩,F表示摩擦力矩。设状态变量z表示接触面鬃毛的平均变形,则F可由如下LuGre模型来描述

<mrow><mi>F</mi><mo>=</mo><msub><mi>&sigma;</mi><mn>0</mn></msub><mi>z</mi><mo>+</mo><msub><mi>&sigma;</mi><mn>1</mn></msub><mover><mi>z</mi><mo>&CenterDot;</mo></mover><mo>+</mo><mi>&alpha;</mi><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>

<mrow><mover><mi>z</mi><mo>&CenterDot;</mo></mover><mo>=</mo><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mo>-</mo><mfrac><mrow><msub><mi>&sigma;</mi><mn>0</mn></msub><mo>|</mo><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mo>|</mo></mrow><mrow><mi>h</mi><mrow><mo>(</mo><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mo>)</mo></mrow></mrow></mfrac><mi>z</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>

式中,σ0表示刚度系数,σ1表示粘性阻尼系数,α表示粘性摩擦系数,而非线性摩擦特性函数为描述不同摩擦效应的有界正函数,其描述Stribeck效应的具体形式如下

<mrow><mi>h</mi><mrow><mo>(</mo><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mo>)</mo></mrow></mrow><mo>=</mo><mrow><msub><mi>f</mi><mi>c</mi></msub><mo>+</mo><msup><mrow><mrow><mo>(</mo><msub><mi>f</mi><mi>s</mi></msub><mo>-</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow><mi>e</mi></mrow><msup><mrow><mo>-</mo><mrow><mo>(</mo><mfrac><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mi>s</mi></msub></mfrac><mo>)</mo></mrow></mrow><mn>2</mn></msup></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>

式中,fc表示Coulomb摩擦力矩,fs表示最大静摩擦力矩,表示Stribeck速度。令<mrow><mover><mi>z</mi><mo>&CenterDot;</mo></mover><mo>=</mo><mn>0</mn><mo>,</mo></mrow>将公式(8)和(9)代入公式(7),可得摩擦力矩与转速之间的稳态对应关系为

<mrow><msub><mi>F</mi><mi>s</mi></msub><mo>=</mo><msub><mi>&sigma;</mi><mn>0</mn></msub><mi>z</mi><mo>+</mo><mi>&alpha;</mi><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mo>=</mo><mfrac><mrow><mi>h</mi><mrow><mo>(</mo><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mo>)</mo></mrow><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover></mrow><mrow><mo>|</mo><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mo>|</mo></mrow></mfrac><mo>+</mo><mi>&alpha;</mi><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover></mrow>

<mrow><mo>=</mo><mi>h</mi><mrow><mo>(</mo><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mo>)</mo></mrow><mi>sgn</mi><mrow><mo>(</mo><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mo>)</mo></mrow><mo>+</mo><mi>&alpha;</mi><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>

<mrow><mo>=</mo><mo>[</mo><msub><mi>f</mi><mi>c</mi></msub><mo>+</mo><msup><mrow><mrow><mo>(</mo><msub><mi>f</mi><mi>s</mi></msub><mo>-</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow><mi>e</mi></mrow><msup><mrow><mo>-</mo><mrow><mo>(</mo><mfrac><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mi>s</mi></msub></mfrac><mo>)</mo></mrow></mrow><mn>2</mn></msup></msup><mo>]</mo><mi>sgn</mi><mrow><mo>(</mo><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mo>)</mo></mrow><mo>+</mo><mi>&alpha;</mi><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover></mrow>

公式(10)所确定的转速-摩擦力矩曲线称为Stribeck曲线。

对于模型的动态、静态参数,可分两步对其进行辨识:首先辨识出静态参数fc,fs,α和然后用得到的静态参数的估计值替代实际值,进一步辨识出动态参数σ0和σ1

本发明一种利用蚁群算法辨识高精度伺服系统摩擦参数的方法,该方法具体如下:

(1)静态参数辨识

令闭环伺服系统以一组恒定的转速运动,得到相应的控制力矩序列{u}i=1N。由公式(6),当<mrow><mover><mi>&theta;</mi><mrow><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mrow></mover><mo>=</mo><mn>0</mn><mo>,</mo></mrow>有F=u。因此,和{u)i=1N这两个序列确定了摩擦力矩与转速之间的稳态对应关系。设待辨识的参数向量为xs

<mrow><msub><mi>x</mi><mi>s</mi></msub><mo>=</mo><msup><mrow><mo>[</mo><msub><mover><mi>W</mi><mo>^</mo></mover><mn>1</mn></msub><mo>,</mo><msub><mover><mi>W</mi><mo>^</mo></mover><mn>2</mn></msub><mo>]</mo></mrow><mi>T</mi></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>

式中,<mrow><msub><mover><mi>W</mi><mo>^</mo></mover><mn>1</mn></msub><mo>=</mo><mrow><mo>{</mo><msub><mover><mi>f</mi><mo>^</mo></mover><mi>c</mi></msub><mo>,</mo><msub><mover><mi>f</mi><mo>^</mo></mover><mi>s</mi></msub><mo>,</mo><mrow><mover><mi>&alpha;</mi><mo>^</mo></mover><mo>,</mo><msub><mover><mi>V</mi><mo>^</mo></mover><mi>s</mi></msub></mrow><mo>}</mo></mrow><mo>&cup;</mo><mrow><mo>{</mo><mi>&theta;</mi><mo>></mo><mn>0</mn><mo>}</mo></mrow><mo>,</mo></mrow><mrow><msub><mover><mi>W</mi><mo>^</mo></mover><mn>2</mn></msub><mo>=</mo><mrow><mo>{</mo><msub><mover><mi>f</mi><mo>^</mo></mover><mi>c</mi></msub><mo>,</mo><msub><mover><mi>f</mi><mo>^</mo></mover><mi>s</mi></msub><mo>,</mo><mrow><mover><mi>&alpha;</mi><mo>^</mo></mover><mo>,</mo><msub><mover><mi>V</mi><mo>^</mo></mover><mi>s</mi></msub></mrow><mo>}</mo></mrow><mo>&cup;</mo><mrow><mo>{</mo><mi>&theta;</mi><mo>&lt;</mo><mn>0</mn><mo>}</mo><mo>.</mo></mrow></mrow>由此,可定义静态辨识误差为

<mrow><mi>e</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>s</mi></msub><mo>,</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><msub><mi>u</mi><mi>i</mi></msub><mo>-</mo><msub><mi>F</mi><mi>s</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>s</mi></msub><mo>,</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow>

按下式取目标函数

<mrow><msub><mi>J</mi><mi>S</mi></msub><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mi>e</mi><mn>2</mn></msup><mrow><mo>(</mo><msub><mi>x</mi><mi>s</mi></msub><mo>,</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow>

设蚂蚁总数为m,对于每只蚂蚁l,定义其评价函数值为i点的目标函数JSi和相邻为j点的目标函数JSj的差值,并记

ΔJSij=JSi-JSj,i,j(14)

定义蚂蚁l的转移概率为

寻优时,将蚂蚁按照随机原则散布在空间网格点上,并记录具有最好评价函数值的精灵蚂蚁。然后,按照公式(15)所给的空间状态转移概率移动各只蚂蚁。在搜索过程中嵌入了邻近搜索机制,即当ΔJSij>0时,蚂蚁l按概率Pij从其邻域i移动至邻域j;当ΔJSij≤0时,蚂蚁l进行自身的邻域搜索,以寻找更优的解。

一次循环结束时,蚂蚁所移动路径上的信息量按照下式作相应调整

<mrow><mfenced>

式中,JSl表示第l只蚂蚁在本次循环中的目标函数计算值。上述过程持续进行,直到满足一定的结束条件为止。

(2)动态参数辨识

基于PID控制和LuGre摩擦补偿的高精度闭环伺服系统结构如图3所示。

公式(6)给出的控制量u可通过PID控制器定义为

<mrow><mi>u</mi><mo>=</mo><mo>-</mo><msub><mi>k</mi><mi>p</mi></msub><mrow><mo>(</mo><mi>&theta;</mi><mo>-</mo><msub><mi>&theta;</mi><mi>d</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>k</mi><mi>d</mi></msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mo>-</mo><msub><mi>k</mi><mi>i</mi></msub><mo>&Integral;</mo><mrow><mo>(</mo><mi>&theta;</mi><mo>-</mo><msub><mi>&theta;</mi><mi>d</mi></msub><mo>)</mo></mrow><mi>dt</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>18</mn><mo>)</mo></mrow></mrow>

设待辨识的参数向量为<mrow><msub><mi>x</mi><mi>d</mi></msub><mo>=</mo><msup><mrow><mo>[</mo><msub><mover><mi>&sigma;</mi><mo>^</mo></mover><mn>0</mn></msub><mo>,</mo><msub><mover><mi>&sigma;</mi><mo>^</mo></mover><mn>1</mn></msub><mo>]</mo></mrow><mi>T</mi></msup><mo>,</mo></mrow>同样地,可定义动态辨识误差为

e(xd,t)=θ(t)-θ1(xd,t)(19)

式中,θ(t)表示t时刻闭环伺服系统的转角输出值,θ1(xd,t)表示t时刻辨识参数所组成的模型系统输出值。同样地,取目标函数

<mrow><msub><mi>J</mi><mi>D</mi></msub><mo>=</mo><msub><mi>c</mi><mn>1</mn></msub><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mi>e</mi><mn>2</mn></msup><mrow><mo>(</mo><msub><mi>x</mi><mi>d</mi></msub><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><mi>max</mi><mrow><mo>{</mo><mo>|</mo><mi>e</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>d</mi></msub><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>|</mo><mo>}</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>20</mn><mo>)</mo></mrow></mrow>

式中,c1、c2均为权系数。定义其评价函数值为i点的目标函数JDi和相邻为j点的目标函数JDj的差值,并记

ΔJDij=JDi-JDj,i,j(21)

定义蚂蚁l的转移概率为

寻优时,将蚂蚁按照随机原则散布在空间网格点上,并记录具有最好评价函数值的精灵蚂蚁。然后,按照空间状态转移概率移动各只蚂蚁。在搜索过程中嵌入了邻近搜索机制,即当ΔJSij>0时,蚂蚁l按概率Pij从其邻域i移动至邻域j;当ΔJSij≤0时,蚂蚁l进行自身的邻域搜索,以寻找更优的解。

一次循环结束时,蚂蚁所移动路径上的信息量按照下式作相应调整

<mrow><mfenced>

式中,JDl表示第l只蚂蚁在本次循环中的目标函数计算值。上述过程持续进行,直到满足一定的结束条件为止。

本发明一种利用蚁群算法辨识高精度伺服系统摩擦参数的方法,其优点及所达成的功效是:用蚁群算法辨识高精度伺服系统摩擦参数可以不依赖被控对象的精确数学模型,并具有较高的在线实时性,能有效地攻克十分困难的在线辨识问题,使处理问题更具灵活性、适应性和鲁棒性。同时,该方法也可用于解决其它类型复杂非线性参数辨识问题。

(四)附图说明

图1(a)、(b)、(c)、(d)现实中蚁群寻找食物的过程

图2基本蚁群算法的逻辑结构

图3基于PID控制和LuGre摩擦补偿的高精度闭环伺服系统结构

图4(a)、(b)正弦波速率信号下LuGre摩擦补偿前后试验结果对比

图中标号及符号说明如下:

σ0——刚度系数  σ1——粘性阻尼系数  α——粘性摩擦系数fc——Coulomb摩擦力矩  fs——最大静摩擦力矩  ——Stribeck速度

(五)具体实施方式

本发明以某型闭环高精度伺服系统为例进行了LuGre摩擦参数辨识,初始化参数为:kp=0.3,ki=0.5,kd=0.8,m=50,F=200,α=1.2,β=2.5,ρ=0.6,Q=300。基于蚁群算法的LuGre摩擦参数辨识方法具体如下:

(1)静态参数辨识

令闭环伺服系统以一组恒定的转速运动,得到相应的控制力矩序列{u}i=1N。由公式(6),当<mrow><mover><mi>&theta;</mi><mrow><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mrow></mover><mo>=</mo><mn>0</mn><mo>,</mo></mrow>有F=u。因此,和{u}i=1N这两个序列确定了摩擦力矩与转速之间的稳态对应关系。设待辨识的参数向量为xs

<mrow><msub><mi>x</mi><mi>s</mi></msub><mo>=</mo><msup><mrow><mo>[</mo><msub><mover><mi>W</mi><mo>^</mo></mover><mn>1</mn></msub><mo>,</mo><msub><mover><mi>W</mi><mo>^</mo></mover><mn>2</mn></msub><mo>]</mo></mrow><mi>T</mi></msup></mrow>

式中, <mrow><msub><mover><mi>W</mi><mo>^</mo></mover><mn>1</mn></msub><mo>=</mo><mrow><mo>{</mo><msub><mover><mi>f</mi><mo>^</mo></mover><mi>c</mi></msub><mo>,</mo><msub><mover><mi>f</mi><mo>^</mo></mover><mi>s</mi></msub><mo>,</mo><mrow><mover><mi>&alpha;</mi><mo>^</mo></mover><mo>,</mo><msub><mover><mi>V</mi><mo>^</mo></mover><mi>s</mi></msub></mrow><mo>}</mo></mrow><mo>&cup;</mo><mrow><mo>{</mo><mi>&theta;</mi><mo>></mo><mn>0</mn><mo>}</mo></mrow><mo>,</mo></mrow><mrow><msub><mover><mi>W</mi><mo>^</mo></mover><mn>2</mn></msub><mo>=</mo><mrow><mo>{</mo><msub><mover><mi>f</mi><mo>^</mo></mover><mi>c</mi></msub><mo>,</mo><msub><mover><mi>f</mi><mo>^</mo></mover><mi>s</mi></msub><mo>,</mo><mrow><mover><mi>&alpha;</mi><mo>^</mo></mover><mo>,</mo><msub><mover><mi>V</mi><mo>^</mo></mover><mi>s</mi></msub></mrow><mo>}</mo></mrow><mo>&cup;</mo><mo>{</mo><mi>&theta;</mi><mo>&lt;</mo><mn>0</mn><mo>}</mo><mo>.</mo></mrow>由此,可定义静态辨识误差为

<mrow><mi>e</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>s</mi></msub><mo>,</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><msub><mi>u</mi><mi>i</mi></msub><mo>-</mo><msub><mi>F</mi><mi>s</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>s</mi></msub><mo>,</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mi>i</mi></msub><mo>)</mo></mrow></mrow>

按下式取目标函数

<mrow><msub><mi>J</mi><mi>S</mi></msub><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mi>e</mi><mn>2</mn></msup><mrow><mo>(</mo><msub><mi>x</mi><mi>s</mi></msub><mo>,</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mi>i</mi></msub><mo>)</mo></mrow></mrow>

对于每只蚂蚁l,定义其评价函数值为i点的目标函数JSi和相邻为j点的目标函数JSj的差值,并记

ΔJSij=JSi-JSj,i,j

定义蚂蚁l的转移概率为

寻优时,将蚂蚁按照随机原则散布在空间网格点上,并记录具有最好评价函数值的精灵蚂蚁。然后,按照上述公式所给的空间状态转移概率移动各只蚂蚁。一次循环结束时,蚂蚁所移动路径上的信息量按照下式作相应调整

<mfenced>

上述过程持续进行,直到满足一定的结束条件为止。

(2)动态参数辨识

基于PID控制和LuGre摩擦补偿的高精度闭环伺服系统结构如图3所示。

公式(6)给出的控制量u可通过PID控制器定义为

<mrow><mi>u</mi><mo>=</mo><mo>-</mo><mn>0.3</mn><mrow><mo>(</mo><mi>&theta;</mi><mo>-</mo><msub><mi>&theta;</mi><mi>d</mi></msub><mo>)</mo></mrow><mo>-</mo><mn>0.8</mn><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mo>-</mo><mn>0.5</mn><mo>&Integral;</mo><mrow><mo>(</mo><mi>&theta;</mi><mo>-</mo><msub><mi>&theta;</mi><mi>d</mi></msub><mo>)</mo></mrow><mi>dt</mi></mrow>

设待辨识的参数向量为<mrow><msub><mi>x</mi><mi>d</mi></msub><mo>=</mo><msup><mrow><mo>[</mo><msub><mover><mi>&sigma;</mi><mo>^</mo></mover><mn>0</mn></msub><mo>,</mo><msub><mover><mi>&sigma;</mi><mo>^</mo></mover><mn>1</mn></msub><mo>]</mo></mrow><mi>T</mi></msup><mo>,</mo></mrow>同样地,可定义动态辨识误差为

e(xd,t)=θ(t)-θ1(xd,t)

同样地,取目标函数

<mrow><msub><mi>J</mi><mi>D</mi></msub><mo>=</mo><mn>0.4</mn><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mi>e</mi><mn>2</mn></msup><mrow><mo>(</mo><msub><mi>x</mi><mi>d</mi></msub><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>+</mo><mn>0.6</mn><mi>max</mi><mrow><mo>{</mo><mo>|</mo><mi>e</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>d</mi></msub><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>|</mo><mo>}</mo></mrow></mrow>

定义其评价函数值为i点的目标函数JDi和相邻为j点的目标函数JDj的差值,并记

ΔJDij=JDi-JDj,i,j

定义蚂蚁l的转移概率为

寻优时,将蚂蚁按照随机原则散布在空间网格点上,并记录具有最好评价函数值的精灵蚂蚁。然后,按照空间状态转移概率移动各只蚂蚁。一次循环结束时,蚂蚁所移动路径上的信息量按照下式作相应调整

<mrow><mfenced>

上述过程持续进行,直到满足一定的结束条件为止。

下列表1为蚁群算法迭代491次后的LuGre模型静态摩擦参数辨识结果:

表1

同样地,在静态摩擦参数辨识的基础上,可得到迭代387次后LuGre模型的动态摩擦参数辨识结果如下列表2所示:

表2

    动态摩擦参数    σ0(Nm)σ1(Nms/rad)    实际值    380.04.1    辨识值    402.624.58

图4(a)和(b)给出了标准速率信号(正弦波,10deg/s,0.05Hz)下,LuGre摩擦补偿后的试验结果。

由表1、表2和图4可见,基于蚁群算法的高精度伺服系统静态摩擦参数和动态摩擦参数的辨识值都非常接近其实际值,从而验证了用蚁群算法进行非线性参数辨识的可行性和有效性。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号