I..................................二
M8.2碌器}物的A角坐标系
Fi98 20bstructionofCarlesiancoordinate system
以机器人在上作空间巾的一条运动路径作为一个个体。如图8.2所月i,机器
人山起点位置S沿罔中实线运动到终点位置G的路径,就可表示为卟个体,该
个体并j直角坐标形式可表示为:
I(qo),(1,o),(1,1),(1,2),(2,2),(3,2),(3,3),(4,4),I
【(5,5),(5,6),(6,6X(7,6),(8,6),(8,7),(8,8),(9,9)J
若每一坐标值用4位二进制数表示,则垓个体可表示为:{0000,0000,000l,0000,…,100l,1001}
若使用区|iIJ序号法,则同一个体可表不为:
Ⅷ
加
∞
柏
∞ 即
加
∞
鲫
{o,1,1 l,21,22,23,33,44,55,65,66,67,68,78,88,99}
由此可见,个体采用区间序号编码比直角坐标编码或二进制编码具有编码长度短、
简明、直观的优点。
由于机器人的不同运动路径的长度是各不相同的,为了简单起见,这里使用 可变长度的染色体编码来表示个体。
初始群体是遗传算法迭代运算的起点,它由一定数目的个体所组成。当区间 数目较大时产生初始群体并非易事。若采用人工选择法,则费时费力;若采用计 算机随机生成法,则由于要求路径具有目的性、无障碍性,使得路径生成算法背 景困难。为此,采用的间断无障碍路径的概念,即在机器人运动起点S到终点G之 间,用一系列随机选择、自由、不一定连续的区间序号连接S和G。据此定义,
下面给出几条间断无障碍路径的编码实例:
{o,99},{o,2,20,45,75,87,99},
{o,1 1,23,43,54,65,75,85,95,97,99}
可见采用间断无障碍路径的概念,可减少初始群体产生的困难。
8.3.2初始种群设置
首先对个体进行编码,由于已经假设机器人工作空间表示为一个直角坐标系,
那么参数编码直接采用坐标编码,基因用实数点坐标表示,个体用数目不定的点 连接而成的折线边上。
折线中的每个节点均在障碍物以外,边界以内的可行域中随机选择,每条路 径的起点与终点赋予预先给定的固定值。个体长度主要决定与问题的求解精度的 要求,精度越高,染色体长度越长。本文采用编码不定长,为了避免生成的初始 路径过长,设置路径的最大长度极值,该极值与空间环境中障碍物的性状复杂程 度成正比。一般来说,选择较大数目的初始种群可以同时处理更多的解,因而容 易找到全局最优解。但是,缺点是增加了每次迭代的时间,种群的大小可以在
10~100范围内自行设置。
选择可行域中的点是通过随机生成一个点坐标,在判断点是否在可行域中。
如果不是,则重新生成一个新的点坐标直到符合条件为之。
交叉率的选择决定了交叉操作的频率,频率越高,可以越快地收敛到最有希 望地最优解区域,一般选取较大的交叉率,但太高的频率也可能导致过早的收敛,
因此一般取值0.4—0.9。
变异率的选取一般受种群大小、染色体长度等因素影响,通常选取很小的值,
.71.
安徽理工大学硕士学位论文
一般取0.001~O.1。若选取高的变异率,虽然增加样本模式的多样性,但可能会 引起不稳定。种群越大,染色体的长度越长,变异率选取越小。
赋予固定的参数难以有效的提高遗传算法的性能及对不同复杂度的空间环境 的适用性,改进的手段很多,本实验采用自适应交叉率和变异率的方法。在初始 时,允许用户赋予交叉率、变异率一个相对较大的随机值,一般交叉率取值大于 0.5。最大进化代数作为一种模拟终止条件,一般视具体情况而定,取100~500代。
试验中在遗传算法中设置一个终止操作,即当种群开始收敛,个体问的适应度值 小于一个相对小的值占,并稳定持续10代不变,则视为进化已经收敛并退出。所 以,在初始化时,设置一个相对较大的代数,一般为300—1000代,若进化中没 有收敛退出,则初始设置的最大进化代数作为一种模拟终止条件。
8.3.2静态环境下适应度函数设置
遗传算法在进化搜索中基本上不利用外部信息,仅以适应度函数(fitness function)为依据,利用种群中每个个体的适应度值来进行搜索。一般而言,适应 度函数是由目标函数变换而成的。定义个体的适应度函数值越小越好。根据是否 能避免碰撞障碍物,路径可以分为不可行路径和可行路径,适应度函数也可以分 为可行路径的适应度函数和不可行路径适应度函数讨论。下面主要讨论可行路径 的适应度函数,它是由路径长度目标函数组成。
n-!
路径长度栅f(p)=∑d(%,%+.),对于有刀个节点的路径共由n--1条路径段组
/ffil
成,计算路径段m与m+1之间的长度之和即为路径长度。
8.3.4遗传算子
遗传算法中的遗传操作通常分为选择、交叉、变异3个部分。
选择算子采用锦标赛选择法(tournament selection),即在种群中随机选择一 定规模的个体,再从这些被选择的个体中选择出适应度最好的个体;重复操作,
选择出两个父代个体进行交叉。选择算子采用锦标赛选择法竞赛规模与种群大小 成正比。为了提高遗传算法的性能,种群采用稳态繁殖(steady statereproduction),
即在进化的迭代过程中用部分优质的新的子个体来更新种群中部分父个体来为下 一代种群遗传。
交叉算子采用单点交叉(one.point crossover),又称为简单交叉,它是指在个 体编码串中只随机设置一个交叉点,然后在该点相互交换两个配对个体的部分染
.72.
色体。单点交叉的重要特点是:若相邻基因座之间的关系能提供较好的个体性状 和较高的个体适应度的话,则这种单点交叉操作破坏这种个体性状和降低个体适 应度的可能性最小。
执行变异算子时,先在路径中随机选择一个除起始点与目标点以外的节点.
再根据选中的随机数找到相应的节点位置,选定后进行变异操作。变异的引人是 为了保护种群的多样性,避免过早的收敛而陷入局部最优的情况。