发明名称 一种基于改进的人工蜂群算法的四旋翼PID参数优化方法
摘要 一种基于改进的人工蜂群算法的四旋翼PID参数优化方法,包括如下步骤:1)建立四旋翼飞行器数学模型,2)设计四旋翼飞行器PID控制器;3)基本人工蜂群算法优化PID参数过程;4)带免疫压缩操作的人工蜂群算法优化PID控制参数;5)输出PID性能控制参数,即传递函数G<sub>1(S)</sub>,G<sub>2(S)</sub>,G<sub>3(S)</sub>。本发明提供了一种精确度较高、耗时较短、自适应能力较好、适用性良好的基于改进的人工蜂群算法的四旋翼PID参数优化方法。
申请公布号 CN104102133A 申请公布日期 2014.10.15
申请号 CN201410341620.1 申请日期 2014.07.17
申请人 杭州职业技术学院 发明人 楼晓春;何丽莉;陈华凌;孟伟
分类号 G05B13/04(2006.01)I;G05D1/08(2006.01)I 主分类号 G05B13/04(2006.01)I
代理机构 杭州斯可睿专利事务所有限公司 33241 代理人 王利强
主权项 一种基于改进的人工蜂群算法的四旋翼PID参数优化方法,其特征在于:所述优化方法包括以下步骤:1)建立四旋翼飞行器数学模型:设定四旋翼飞行器机械结构完全对称,在小角度下,设定欧拉角的角速度和机体角速度之间为简单的积分关系,则有:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfenced open='{' close=''><mtable><mtr><mtd><mover><mi>&phi;</mi><mo>&CenterDot;</mo></mover><mo>=</mo><msub><mi>&omega;</mi><mi>x</mi></msub></mtd></mtr><mtr><mtd><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mo>=</mo><msub><mi>&omega;</mi><mi>y</mi></msub></mtd></mtr><mtr><mtd><mover><mi>&psi;</mi><mo>&CenterDot;</mo></mover><mo>=</mo><msub><mi>&omega;</mi><mi>z</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000539492310000011.GIF" wi="899" he="284" /></maths>式中,φ,θ,<img file="FDA0000539492310000017.GIF" wi="40" he="48" />分别为四旋翼飞行器的滚转角,俯仰角和偏航角;ω<sub>x</sub>,ω<sub>y</sub>,ω<sub>z</sub>分别为x,y,z轴角速度;把四旋翼飞行器非线性耦合分解成4个独立控制通道,定义系统控制输入量为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>U</mi><mn>1</mn></msub><mo>=</mo><msub><mi>k</mi><mi>t</mi></msub><mrow><mo>(</mo><msubsup><mi>&omega;</mi><mn>3</mn><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>&omega;</mi><mn>1</mn><mn>2</mn></msubsup><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>U</mi><mn>2</mn></msub><mo>=</mo><msub><mi>k</mi><mi>t</mi></msub><mrow><mo>(</mo><msubsup><mi>&omega;</mi><mn>4</mn><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>&omega;</mi><mn>2</mn><mn>2</mn></msubsup><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>U</mi><mn>3</mn></msub><mo>=</mo><msub><mi>k</mi><mi>d</mi></msub><mrow><mo>(</mo><msubsup><mi>&omega;</mi><mn>1</mn><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>&omega;</mi><mn>2</mn><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>&omega;</mi><mn>3</mn><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>&omega;</mi><mn>4</mn><mn>2</mn></msubsup><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>U</mi><mn>4</mn></msub><mo>=</mo><msub><mi>k</mi><mi>t</mi></msub><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mn>4</mn></msubsup><msubsup><mi>&omega;</mi><mi>i</mi><mn>2</mn></msubsup></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000539492310000012.GIF" wi="1024" he="336" /></maths>式中U<sub>1</sub>为俯仰控制量;U<sub>2</sub>为滚转控制量;U<sub>3</sub>为偏航控制量;U<sub>4</sub>为垂直控制量;ω<sub>i</sub>(i=1,2,3,4)分别为各旋翼的角速度;k<sub>t</sub>,k<sub>d</sub>分别为旋翼升力系数和旋翼阻力系数;2)设计四旋翼飞行器PID控制器:结合四旋翼飞行器机体结构数据,给出俯仰通道的传递函数G<sub>1(S)</sub>如下:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>G</mi><mrow><mn>1</mn><mrow><mo>(</mo><mi>S</mi><mo>)</mo></mrow></mrow></msub><mo>=</mo><mfrac><mrow><mi>&theta;</mi><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>U</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mrow></mfrac><mo>=</mo><mfrac><mrow><mn>57.95</mn><mi>s</mi><mo>+</mo><mn>4411</mn></mrow><mrow><msup><mi>s</mi><mn>3</mn></msup><mo>+</mo><mn>107.5</mn><msup><mi>s</mi><mn>2</mn></msup><mo>+</mo><mn>892.5</mn><mi>s</mi><mo>+</mo><mn>4435</mn></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000539492310000013.GIF" wi="1391" he="133" /></maths>其中,θ(s)为俯仰通道的输出函数,U<sub>1</sub>(s)为俯仰通道的输入函数,s代表传递函数的拉式变换;滚转通道的传递函数G<sub>2(S)</sub>为:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>G</mi><mrow><mn>2</mn><mrow><mo>(</mo><mi>S</mi><mo>)</mo></mrow></mrow></msub><mo>=</mo><mfrac><mrow><mi>&phi;</mi><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>U</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mrow></mfrac><mo>=</mo><mfrac><mrow><mn>63</mn><mi>s</mi><mo>+</mo><mn>4563.873</mn></mrow><mrow><msup><mi>s</mi><mn>3</mn></msup><mo>+</mo><mn>109.347</mn><msup><mi>s</mi><mn>2</mn></msup><mo>+</mo><mn>1023.292</mn><mi>s</mi><mo>+</mo><mn>2930.432</mn></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000539492310000014.GIF" wi="1591" he="134" /></maths>其中,φ(s)为滚转通道的输出函数,U<sub>2</sub>(s)为滚转通道的输入函数,s代表传递函数的拉式变换;偏航通道的传递函数G<sub>3(S)</sub>为:<img file="FDA0000539492310000015.GIF" wi="1378" he="136" />其中,<img file="FDA0000539492310000016.GIF" wi="102" he="65" />为偏航通道的输出函数,U<sub>3</sub>(s)为偏航通道的输入函数,s代表传递函数的拉式变换;3)基本人工蜂群算法优化PID参数过程:3.1)初始化时,随机生成SN个可行解并计算适应度函数值,可行解的数量等于雇佣蜂的数量,随机产生可行解的公式如下:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msubsup><mi>x</mi><mi>i</mi><mi>j</mi></msubsup><mo>=</mo><msubsup><mi>x</mi><mi>min</mi><mi>j</mi></msubsup><mo>+</mo><mi>rand</mi><mrow><mo>(</mo><mn>0,1</mn><mo>)</mo></mrow><mrow><mo>(</mo><msubsup><mi>x</mi><mi>max</mi><mi>j</mi></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>min</mi><mi>j</mi></msubsup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mtext>6</mtext><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000539492310000021.GIF" wi="1233" he="73" /></maths>式中,x<sub>i</sub>为D维向量,i=1,2,...,SN,D为优化参数的个数,j∈{1,2,…,D},<img file="FDA0000539492310000022.GIF" wi="62" he="72" />代表x<sub>i</sub>在第j维上的分量;rand(0,1)为取区间[0,1]之间的随机数,<img file="FDA0000539492310000023.GIF" wi="95" he="75" />为x<sup>j</sup>方向的向量最大值,<img file="FDA0000539492310000024.GIF" wi="88" he="66" />为x<sup>j</sup>方向的向量最小值;3.2)雇佣蜂记录自己到目前为止的最优值,并在当前食物源附近展开邻域搜索,产生一个新食物源替代前一个蜜源的公式为:<img file="FDA0000539492310000025.GIF" wi="1254" he="72" />式中,i代表群里某具体个体,j∈{1,2,…,D},k∈{1,2,…,SN},k为随机生成且k≠i,<img file="FDA0000539492310000026.GIF" wi="55" he="72" />代表在<img file="FDA0000539492310000027.GIF" wi="52" he="70" />的邻域内找到的一个较优蜜源的位置,<img file="FDA0000539492310000028.GIF" wi="65" he="74" />代表随机生成来的另一个蜜源的位置;<img file="FDA0000539492310000029.GIF" wi="62" he="74" />为[-1,1]之间的随机数;3.3)基本人工蜂群算法,观察蜂选择雇佣蜂的概率P<sub>i</sub>为:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mi>P</mi><mi>i</mi></msub><mo>=</mo><mfrac><mrow><mi>fit</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>SN</mi></munderover><mi>fit</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>n</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA00005394923100000210.GIF" wi="1121" he="188" /></maths>式中,fit(x<sub>i</sub>)为第i个解的适应值对应食物源的丰富程度;4)带免疫压缩操作的人工蜂群算法优化PID控制参数:4.1)选择阈值ε和最大迭代次数N<sub>max</sub>,初始蜜蜂位置<img file="FDA00005394923100000211.GIF" wi="440" he="76" />Z<sub>ij</sub>为群体中第i个个体在j维分量上的值,j∈{1,2,…,D},根据<img file="FDA00005394923100000212.GIF" wi="575" he="78" />F<sup>(0)</sup>为初始状态找到的最优蜜源的位置,<img file="FDA00005394923100000213.GIF" wi="74" he="74" />为群体中第1个蜜蜂个体的初始位置,<img file="FDA00005394923100000214.GIF" wi="71" he="71" />为群体中第2个蜜蜂个体的初始位置,<img file="FDA00005394923100000215.GIF" wi="85" he="77" />为群体中第SD个蜜蜂个体的初始位置,人工蜂群算法由SD个蜜蜂组成一个群体,每个蜜蜂个体均进行搜索,找出全局最优<img file="FDA00005394923100000216.GIF" wi="102" he="78" />设算法迭代次数k=0,k的取值范围从0开始直到N<sub>max</sub>;4.2)k←k+1,根据公式(6)更新每个蜜源位置,并采用阴性选择机制,对蜜源亲合度小于抑制阈值σ<sub>s</sub>并且适应度最高的个体予以保留,而抑制其他所有的蜜源;4.3)计算适应度函数值<img file="FDA00005394923100000217.GIF" wi="110" he="72" />其表述为<img file="FDA00005394923100000218.GIF" wi="643" he="74" />F<sup>(n)</sup>为在第n次迭代过程中找到的最优蜜源的位置,是根据每个个体蜜源位置值<img file="FDA00005394923100000219.GIF" wi="86" he="70" />在其邻域内是否存在局部较优解而更新寻找蜜源最优位,<img file="FDA00005394923100000220.GIF" wi="96" he="76" />为群体中第1个蜜蜂个体的n次迭代后找到的新蜜源的位置,<img file="FDA00005394923100000221.GIF" wi="92" he="78" />为群体中第2个蜜蜂个体的n次迭代后找到的新蜜源的位置,<img file="FDA00005394923100000222.GIF" wi="94" he="76" />为群体中第SD个蜜蜂个体的n次迭代后找到的新蜜源的位置,如果满足(F<sup>(n‑1)</sup>‑F<sup>(n)</sup>)/F<sup>(n)</sup>>ε且n<N<sub>max</sub>,跳到步骤4.2),否则结束迭代;5)输出PID性能控制参数,即传递函数G<sub>1(S)</sub>,G<sub>2(S)</sub>,G<sub>3(S)</sub>。
地址 310018 浙江省杭州市下沙学源街68号
您可能感兴趣的专利