在遗传算法的设计中,不同的选择策略会导致不同的选择压力,选择压力过大,优秀个体复制较多,会导致算法收敛过快,最终导致早熟现象,压力过小,则种群多样化明显,会导致算法收敛过慢。常见的选择策略有:轮盘赌式选择、基于排名的选择和锦标赛选择。
本文中针对算法的适应度函数,采用适应度比例选择策略,如式5-3所示。同时对此方法做一定的修改,通过精英保留策略,在算法的后期,直接保留最优个体的基因,通过这种方法,可以有效避免在遗传算法的后期丢失最优个体的可能。
7) 终止条件确定
遗传算法的常见终止条件有两种,第一,实际值与期望值的偏差在公差允许的范围内时,算法迭代终止。第二,采用遗传算法的最大迭代次数作为算法的终止条件,并将最后一代种群中最优个体作为最优解输出。本文采用第二种算法终止方法,并规定最大迭代次数为20代。
3 仿真研究
3.1 遗传算法在ADAMS中的实现
根据上述自适应遗传算法对PID参数进行优化的基本思想,基于VC++语言编写AGA优化程序,通过ADAMS自带的控制工具箱,建立基于自适应遗传PID算法的控制系统,进行仿真,验证虚拟样机模型的正确性。
构建AGA结合ADAMS的仿真流程图。在优化设计过程中,ADAMS首先对接口进行初始化,将优化目标函数、设计变量与范围传递到遗传算法中,通过遗传算法产生初始群体,并将参数提交给ADAMS进行目标函数计算,遗传算法根据目标函数值计算个体适应度。然后判断终止条件,如果未达到终止条件,则通过遗传进化产生新种群,计算新的适应度值;如果满足终止条件,则向ADAMS提交最优解及相关参数,并终止优化程序。如图3。
图3 AGA在ADAMS中仿真流程图
其中将遗传算法引入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控制更优的结果。
参考文献
[1]金奇,邓志杰.PID控制原理及参数整定方法[J].重庆工学院学报,2011(7):91-94.
[2]于晓敏,于晓坤,耿蕊.PID控制器参数优化算法的仿真研究[J].计算机仿真,2008(5):212-215.
[3]姜玉春,吴红燕.PID控制器的参数整定[J].莱钢科技,2006(2):54-55.
[4]朱盈,朱俊.多种PID控制及其仿真比较[J].工业控制计算机,2010(1):53-54.
[5]牛芗洁,王玉洁,唐剑.基于遗传算法的PID控制器参数优化研究[J].计算机仿真,2010(11):180-182.
[6]WANGP,KWOKDP. OptimaldesignoFPIDprocesscontrollersbasedongenetICalgorithms[J].ControlEngPrac,1994,2(4):641-648.
[7]杨智民,王旭,庄显义.遗传算法在自动控制领域中的应用综述[J].信息与控制,2000,29(4)14-17.
[8]张可村,李换琴.工程优化方法及其应用[M].西安:西安交通大学出版社,2007.
[9]黄友锐.智能优化算法及其应用[M].北京:国防工业出版社,2008.