基于AGA的仿人机器人PID控制参数优化

发布者:BlissfulHeart最新更新时间:2013-03-18 来源: eefocus关键字:AGA  PID  ADAMS环境 手机看文章 扫描二维码
随时随地手机看文章

1 引言

PID控制原理简单,适应性强,容易实现,是机器人控制的常用方法,PID控制系统设计的核心内容是如何确定其比例系数Kp、积分常数Ti和微分常数Td的最优解。控制参数的选定直接影响仿人机器人控制系统的响应速度、调节偏差的强度,以及控制系统的精度。

针对PID控制参数确定,主要有传统参数整定方法以及结合智能算法对参数进行优化。传统参数整定方法主要有试凑法、经验数据法和扩充临界比例度法。应用传统参数整定方法有时并不能达到有效的控制效果。近年来,随着智能算法的发展,模糊算法、神经网络以及遗传算法等都运用到PID参数优化当中。

其中遗传算法是一种新型的、模拟生物进化机制的随机化搜索和优化方法,具有并行计算、全局收敛、编码操作等特点。由于其算法结构的开放性,易于与问题结合,便于运算,已成功的应用于求解多种复杂的优化问题,遗传算法的特点使得将其运用于PID参数的优化是可行的。

针对仿人机器人PID控制参数优化存在的问题,结合智能算法的优势,本文提出了一种自适应遗传算法优化PID控制参数的方法,并在ADAMS环境下进行了仿真,得到较为满意的结果,表明该方法是可行且有效的。

2 仿人机器人关节PID控制

2.1 常规PID控制原理

PID作为最早实用化的控制调节方法,是模拟控制系统中技术最成熟的一种调节方式。PID调节根据给定值与实际值的偏差进行比例调节,并且引入积分、微分环节提高控制系统的性能和品质,其基本控制流程如图1。

 

图1 PID控制过程示意图

 

 

在PID控制中,Kp、Ti和Td这3个参数的选择直接影响着PID控制的优劣,所以PID控制的设计关键问题始终是如何选择这三个参数。常规的PID控制器由于受到参数设定不良、性能欠佳以及对运行工况适应性较差的影响,往往达不到理想的控制效果,从而使PID控制的应用受到限制。

遗传算法是一种借鉴生物界自然选择和自然遗传机制的随机化搜索方法,属于直接搜索法,对适应度函数基本无限制,既不要求函数连续,也不要求函数可微,因而采用遗传算法对PID参数进行调节是一种较好方法。但是,标准遗传算法在线性方面具有一些不足之处,而自适应遗传算法则是针对这些不足之处改进而来的。所以本文采用的是自适应遗传算法来优化PID参数。

2.2 基于自适应遗传算法PID参数优化

在仿人机器人行走仿真控制过程中,仅保证机器人行走过程的稳定性还不够,为了能够提高控制系统的响应速度与控制精度,必须寻找仿人机器人控制系统的最优PID控制参数以充分发挥控制系统的性能。基于遗传算法的PID控制系统框图,如图2。

 

图2 遗传算法优化PID控制原理框图

2.2.1 自适应遗传算法

自适应遗传算法针对标准遗传算法进行如下改进:

1)根据适应度函数和进化代数自动调整个体的交叉率和变异率,AGA自适应交叉率、变异率按如下公式进行调整。

 

 

通过这种遗传算子的调整,当种群个体适应度较差时,赋予种群个体交叉算子的最大值和变异算子的最小值,保证算法能在进化过程中进行全局搜索;当个体适应度值较大时(个体优良),随迭代次数的增大,不断的减小交叉算子、增大变异算子,从而提高算法的局部搜索能力。[page]

2)最优个体保留策略与新个体优良判别。通过对交叉、变异后产生的新个体进行适应度值的计算,并与原来个体的适应度值进行比较,能够有效选择更为优良的个体。

经过对标准遗产算法改进后的自适应遗传算法除了具有标准遗传算法的优点外,还具有如下优点:

1) 避免过早收敛问题,提高全局搜索能力;

2) 避免算法收敛时产生振荡,提高局部搜索能力;

3) 使遗传算子具有方向性,提高遗传算法的收敛性。

2.2.2 AGA程序设计

在AGA设计过程中,需要使用一系列算法参数,如选择、交叉、变异算子以及最大迭代次数等,在编写算法之前,先确定其相关参数。

1) 确定遗传算法的优化参数

在遗传算法设计中,算法基因与优化参数没有直接的联系,因此首先确定算法需要优化的参数:PID控制参数比例调节常数Kp、积分常数Ti和微分常数Td。通过选择最优控制参数保证仿人机器人的控制精度和响应速度。

2) 遗传算法编码

编码是将问题的解用一种代码方式表示,从而将问题的状态空间与遗传算法的解空间相对应。编码方式的不同不仅决定了染色体的形式,而且很大程度的影响遗传算子(选择算子、交叉算子、变异算子)的运算方式。编码方式对于不同的优化问题有所不同。主要的编码方式有:0-1编码、顺序编码、实数编码和整数编码。

本文为了保证优化的最优参数有足够的精度,采用实数编码的方式对PID控制参数进行编码,与之对应的染色体形式为:

 

3) 种群初始化

初始种群是遗传算法进行迭代优化的起点,其产生方式主要取决于编码方式,本文采用随机函数产生遗传算法的初始种群。

4) 种群规模ps

在遗传算法优化过程中,种群规模ps的确定对算法实现有重要影响。种群规模ps过小,则种群缺乏多样性,将导致进化的过早收敛,种群规模过大,则会导致计算收敛变慢,影响遗传算法的效率,此外种群规模对算法的选择压力和种群多样性等其他因素都有影响。因此合理的种群规模对算法十分重要,本文通过反复实验,最终确定种群规模为ps=20。

5) 适应度函数

在自适应遗传算法(AGA)中,适应度函数几乎是评价种群个体优良的唯一标准,群个体的选择复制、交叉、变异都与适应度函数密切相关。适应度函数通常有两种设计方法:第一种,原始适应度函数,也就是直接将目标函数作为个体的适应度函数;第二种,标准适应度函数,由于遗传算法求解过程中,适应度函数通常要求非负,且适应度函数越大,则种群个体越优良,通常目标函数需要做一定变换才能获得标准适应度函数。

本文中,仿人机器人控制系统主要控制仿人机器人关节力矩,通过力矩驱动仿人机器人关节运动,并保证仿人机器人实际输出的关节位移与理论关节位移相符合。因此本文中将仿人机器人行走过程中实际关节轨迹与理论关节轨迹的最大偏差作为控制的目标函数,目标函数越小,则控制精度越高,由于适应度函数要求适应度函数值越大,则个体越优良,因此,在这里需要对目标函数做一定的更改,将目标函数的最小值与适应度函数的最大值相对应,具体的办法是通过一个较大的数减去目标函数,获得适应度函数值,其函数关系关系式为:

 

6) 遗传算子的确定

遗传算法的基本思想就是优胜劣汰,主要通过选择、交叉、变异方法,随进化代数的增加,最终获得最优个体。在进化过程中,选择算子、交叉和变异算子对算法性能产生很大的影响。

在遗传算法的设计中,不同的选择策略会导致不同的选择压力,选择压力过大,优秀个体复制较多,会导致算法收敛过快,最终导致早熟现象,压力过小,则种群多样化明显,会导致算法收敛过慢。常见的选择策略有:轮盘赌式选择、基于排名的选择和锦标赛选择。

本文中针对算法的适应度函数,采用适应度比例选择策略,如式5-3所示。同时对此方法做一定的修改,通过精英保留策略,在算法的后期,直接保留最优个体的基因,通过这种方法,可以有效避免在遗传算法的后期丢失最优个体的可能。

 

7) 终止条件确定

遗传算法的常见终止条件有两种,第一,实际值与期望值的偏差在公差允许的范围内时,算法迭代终止。第二,采用遗传算法的最大迭代次数作为算法的终止条件,并将最后一代种群中最优个体作为最优解输出。本文采用第二种算法终止方法,并规定最大迭代次数为20代。

3 仿真研究

3.1 遗传算法在ADAMS中的实现

根据上述自适应遗传算法对PID参数进行优化的基本思想,基于VC++语言编写AGA优化程序,通过ADAMS自带的控制工具箱,建立基于自适应遗传PID算法的控制系统,进行仿真,验证虚拟样机模型的正确性。

构建AGA结合ADAMS的仿真流程图。在优化设计过程中,ADAMS首先对接口进行初始化,将优化目标函数、设计变量与范围传递到遗传算法中,通过遗传算法产生初始群体,并将参数提交给ADAMS进行目标函数计算,遗传算法根据目标函数值计算个体适应度。然后判断终止条件,如果未达到终止条件,则通过遗传进化产生新种群,计算新的适应度值;如果满足终止条件,则向ADAMS提交最优解及相关参数,并终止优化程序。如图3。

 

图3 AGA在ADAMS中仿真流程图[page]

其中将遗传算法引入ADAMS中,可以不用考虑遗传算法优化中机械系统的数学模型,就能很方便获得适应度函数值,简化了遗传算法的设计过程。

根据仿真流程图,以控制仿人机器人左膝关节轨迹为例,建立优化算法控制系统,进行仿真。

首先,建立优化设计的设计变量,即variable_P、variable_I、variable_D。由于遗传算法具有很强的全局寻优能力,因此确定variable_P的范围为[1,2500],variable_I的范围为[1,500],variable_D的范围为[1,2500],并将三个设计变量与控制系统PID环节关联以保证遗传算法的全局搜索。

其次,建立优化目标函数。以实际关节轨迹与理论关节轨迹差值的绝对值作为设计目标,目标函数值越小,控制精度越高。由于机器人关节轨迹为复杂的分段函数,为方便起见,采用样条拟合的方法将理论轨迹输入到ADAMS中。

最后,通过ADAMS的DesignEvaluationTools确定优化目标与设计变量,并设置优化的相关属性,如显示设置、输出设置以及优化参数设置,将‘Optimizer…’中的优化算法设置为‘User1’,并进行仿真。

3.2 PID参数优化后处理

从优化结果来看,PID控制精度有明显的提高,AGA算法以最大迭代次数作为终止条件,收敛速度相对较慢但优化结果准确,说明遗传算法具有较强的全局寻优能力。

进入ADAMS/PostProcessor模块,可以将AGA优化仿真结果跟ADAMS软件自带的SQP优化模块仿真结果进行对比,图4的上半部分为AGA优化结果,下半部分为SQP优化结果,在两种算法中,控制偏差随时间的变化趋势大体相同,且偏差值大小相比为优化前都有大幅的减小,充分体现了优化设计在控制系统中的作用,如图4。

 

图4 优化目标函数值对比

此外通过对目标函数进行数据处理,查看目标函数在控制过程中的最大值、最小值以及平均偏差值,可知使用遗传算法进行的控制优化,无论目标函数的最大值还是平均值,都比采用ADAMS自带的SQP算法的计算结果要小,见表1。

表1 目标函数各项数值对比

将AGA优化后的仿人机器人左膝关节角运动过程的实际轨迹跟理论轨迹重合情况跟优化前进行比较,图中,蓝色虚线表示关节角的实际轨迹,红色实线表示关节角的理论轨迹。仿真结果,如图5和图6。

 

图5 优化前关节理论与实际轨迹重合情况

 

图6 优化后关节理论与实际轨迹重合情况

比较图6与图7中可以看出,控制系统经过自适应遗传算法优化后,其控制性能较之优化前有极大提升,关节运动的实际轨迹与理论轨迹更加接近,保证了仿人机器人行走的稳定性、可控制精度,提高了控制系统的实时响应速度,证明了基于遗传算法的PID控制系统参数优化方法的正确性。

4 结论

针对仿人机器人PID控制系统参数确定存在的问题,本文提出了基于自适应遗传算法定PID控制参数优化方法。将三个参数作为遗传算法的个体,采用仿人机器人的理论关节轨迹与实际关节轨迹的最大偏差值作为目标函数,适应度函数与之相对应,采用适应度比例选择策略,可以有效避免在遗传算法的后期丢失最优个体的可能,以保证机器人控制系统参数选择精度。通过ADAMS仿真结果对比分析,优化后的仿人机器人控制系统的控制精度、响应速度都有明显提高,说明了基于自适应遗传算法的PID控制能够得到比传统PID控制更优的结果。

关键字:AGA  PID  ADAMS环境 引用地址:基于AGA的仿人机器人PID控制参数优化

上一篇:TARDIS在电梯中的应用
下一篇:多点定位测试仪数控系统技术开发

推荐阅读最新更新时间:2024-05-02 22:36

PID调节C51程序(3)
#include stdio.h   #include math.h      struct _pid {    int pv; /*integer that contains the process value*/    int sp; /*integer that contains the set point*/    float integral;    float pgain;    float igain;    float dgain;    int deadband;    int last_error;   };      struct _pid warm,*pid;   int process_point, se
[单片机]
从电气角度理解PID
  在学习电路的时候,常常借用水流动的情形来更形象地理解各种电路原理。后面学习自控原理时,发现原理性的东西往往有相通的地方,可以相互借鉴,加深理解。像PID控制方式,我对各种控制参量是这样理解的,不够严谨但理解起来觉得很贴切。        P(比例项)相当于R(电阻),I(积分项)相当于C(电容),D(微分项)相当于L(电感)。输入量相当于电流,输出量相当于电压。       1.纯P控制就像纯阻性电路。当我们改变阻值时,输出端立刻就作出了相应的电量变化。假设输入为电流,输出为电压,根据欧姆定律,电阻充当一个电流的比例系数,R越大,电流值变化所反映电压值变化就越显著。       2.PI控制类比于RC阻容电路。
[嵌入式]
基于模糊PID算法的婴儿培养箱温度控制系统设计
引言 婴儿培养箱主要应用于早产儿、低体重儿、病危儿或发育不良的新生儿的临床医疗。在儿科的医疗护理中占有重要地位,是医院不可或缺的医疗器械 。由于此类婴儿的特殊性,所以婴儿培养箱对控制精度、稳定性能和安全性都有较高要求。现今市场上的婴儿培养箱大多采用传统的PID算法。常规PID算法是过程控制中应用最为广泛的一种基本控制规律,具有稳定性高、鲁棒性好等优点。但其对时变非线性系统来说控制就难以达到很好的效果。本文采用模糊PID算法对婴儿培养箱的温度加以控制,系统的动静态特性得到进一步改善。 1 婴儿培养箱温度控制系统的设计 本系统利用单片机技术对培养箱温度实施伺服控制,开机即可自动进入箱温控制状态。温度控制监测仪是仪器的核心部件,具有温度
[单片机]
基于模糊<font color='red'>PID</font>算法的婴儿培养箱温度控制系统设计
步进电机位移的模糊PID控制设计方案
摘要 步进电机是数字离散电机,特别适用于数字离散控制。但是其数学模型具有高度非线性的特点,PID控制难以实现较高精度性能,本文把模糊控制和PID控制结合起来,根据设置好的误差范围,实现自动切换。 关键词: 步进电机 模糊控制 PID 参数自整定 数学模型 仿真 Stepper Motor Fuzzy PID Control Sun Pan Jun Yan Xue Wen ( School of Electronic Information Engineering Tai Yuan University of Science And Technology ) Abstract Stepper motor is
[工业控制]
步进电机位移的模糊<font color='red'>PID</font>控制设计方案
基于RTOS的涡喷发动机数字控制系统
与活塞发动机相比,涡轮喷气发动机(以下简称涡喷发动机)在推重比方面的优势无可争议。如果将之微型化,将使小型无人飞行器获取较高的速度和载荷能力。因此,研制微型涡喷发动机在军用和民用领域都有深远的意义。目前,美、德、丹麦等国家都有相当成熟的微型涡喷发动机产品,已成功应用到航模和无人机上。但在国内,无论是发动机本身还是其控制系统,都属于较新领域 。   本文针对国产某系统发动机,设计了基于C8051F021和MicroStar RTOS的微型涡喷发动机通用控制系统。它以处理器为核心,集传感器、伺服机构、人机接口为一体、体积小、重量轻,提供了与主控系统的指令接口和与地面测试设备的检测接口,功能完善。   微型涡喷发动机计算机控制系统的整体
[嵌入式]
PID算法在机器人控制系统中的应用
机器人学代表了当今集成度高、具有代表性的高技术领域,它综合了多门学科。其中包括机械工程学、技术、控制工程学、学、生物学等多学科的交叉与融合,体现了当今实用科学技术的先进水平。 一般而言,机器人由几大部分组成,分别为机械部分(一般是指通过各关节相连组成的机械臂)、传感部分(包括位置、速度等的测量装置),以及控制部分(对传感部分传来的测量信号进行处理并给出相应控制作用)。 作为机器人的“大脑”,机器人控制技术的重要性不言而喻 它主要是通过传感等部分传送的信息,采用控制算法,使得机械部分完成目标操作而承担相应控制功能对应的部分。最终的目的是尽可能减小机器人实际运动轨迹与期望目标的偏差,达到理想的运动精度。 机器人控制器
[机器人]
电子压力控制器PID算法的研究(图)
  随着自动控制技术的发展,精密气压产生与控制技术的应用越来越广泛。而传统的阀门控制器控制精度不够,运行速度缓慢,且价格昂贵,已不能满足这方面的要求。   本文着重介绍一种了基于英飞凌XC164单片机和PI控制算法的电子压力控制器,以及借助此装置对实现精密压力控制的探索。    自动选择系统组成与实现   电子压力控制系统由供气设备、控制器、阀门、储气设备、传感器单元等部分构成。电子压力控制器的作用是保持输出气压与输入信号成比例。为了达到对储气装置气压的精确控制,需要用两个高频电磁阀的开、关来调节输出压力。系统采用闭环PI控制,压力由两路压力传感器获得,即用户处和控制器处的压力传感器。图1是系统的方块图,从中可以看出,压力传
[安防电子]
电子压力控制器<font color='red'>PID</font>算法的研究(图)
高频开关电源的分段线性PID
由于积分是滞后校正环节,而微分是超前校正环节,因此在控制误差e(n)较大时,应采用比例一微分(PD)调节(不用积分),这样可以改善系统的响应快速性;而在控制误差c(m)较小时,则应采用比例一积分(PI)调节(不用微分),这样可以使系统具有较好的稳定性,避免振荡。   为此,设置了两个误差限△1和△2,并且△1 △2分段线性PID算法可以描述为:   变参数PID   所谓变参数PID,是指根据被控对象(开关电源)的各种不同的运行工况,如空载和满载、输入电压高或低等,采用不同的比例系数TP、积分时间常数Ti和微分时间常数Td,使系统的控制特性在各种情况下都能保持最优。
[电源管理]
高频开关电源的分段线性<font color='red'>PID</font>
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved