关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于AGA的仿人机器人PID控制参数优化

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

作者:时间:2013-05-09来源:网络收藏

2.2.2 程序设计

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

1) 确定遗传算法的

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

2) 遗传算法编码

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

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

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

3) 种群初始化

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

4) 种群规模ps

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

5) 适应度函数

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

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

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

6) 遗传算子的确定

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

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

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

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

7) 终止条件确定

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

3 仿真研究

3.1 遗传算法在ADAMS中的实现

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

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

AGA在ADAMS中仿真流程图

图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’,并进行仿真。

pid控制相关文章:pid控制原理


dc相关文章:dc是什么


pid控制器相关文章:pid控制器原理




评论


相关推荐

技术专区

关闭