机器人路径规划的元胞自动机算法

合集下载

元胞自动机算法

元胞自动机算法

元胞自动机算法元胞自动机算法,简称CA(Cellular Automaton),是一种在离散空间中由简单规则驱动的计算模型。

CA算法的核心思想是将空间划分为离散的小区域,每个小区域称为一个元胞,每个元胞根据一定的规则与相邻元胞进行交互和演化。

CA算法的应用非常广泛,涵盖了物理、生物、社会等多个领域。

让我们来看一个简单的例子,以帮助理解CA算法的基本概念。

假设我们有一个一维的元胞空间,每个元胞只能处于两种状态之一:活跃或者不活跃。

我们以时间为轴,每一个时间步骤都会根据一定的规则更新元胞的状态。

假设规则是:如果一个元胞以及它的两个相邻元胞中,有两个元胞是活跃的,那么该元胞在下一个时间步骤中将变为活跃状态;否则,该元胞将变为不活跃状态。

通过多次迭代,我们可以观察到整个元胞空间的状态发生了变化。

初始时,只有少数几个元胞是活跃的,但随着时间的推移,越来越多的元胞变为活跃状态,形成了一种规律性的分布。

这种分布不断演化,直到达到一种平衡状态,其中的活跃元胞的分布不再发生变化。

这个简单的例子展示了CA算法的基本特征,即简单的局部规则可以产生复杂的全局行为。

在CA算法中,每个元胞的状态更新是基于其周围元胞的状态而确定的,这种局部的交互最终导致了整个系统的全局行为。

除了一维元胞空间,CA算法还可以应用于二维和三维空间。

在二维元胞空间中,每个元胞有更多的邻居,例如上下左右以及斜对角线方向的邻居。

同样地,每个元胞的状态更新规则也可以根据其周围元胞的状态而确定。

CA算法在生物学中有广泛的应用,例如模拟细胞分裂、生物群落的演化等。

在社会学中,CA算法可以用于模拟人群的行为,例如交通流量的模拟、城市规划等。

此外,CA算法还可以用于物理学中的模拟,例如模拟固体的晶体结构等。

总结一下,元胞自动机算法是一种基于简单规则的计算模型,通过元胞之间的局部交互和状态更新,产生复杂的全局行为。

这种算法广泛应用于不同领域,能够模拟和研究各种现象和问题。

智能机器人系统中的路径规划算法

智能机器人系统中的路径规划算法

智能机器人系统中的路径规划算法随着人工智能和机器人技术的日益发展,智能机器人在日常生活、工业生产、医疗保健等领域中的应用越来越广泛。

在实际应用中,路径规划是智能机器人系统中的一个重要问题。

路径规划算法可以帮助机器人在复杂环境中自主运动,避开障碍物,实现精准定位和运动控制。

本文将介绍智能机器人系统中的路径规划算法,包括基本原理、分类、应用场景等方面。

一、基本原理路径规划算法是指在给定地图和起止点的情况下,计算出从起点到终点的一条合法路径的过程。

其中,合法路径指的是路径上不出现障碍物、不违反运动规则、不撞墙等合法条件的路径。

路径规划算法需要考虑地图信息、机器人行动方式和运动规则等因素。

路径规划算法可以通过不同的路径搜索方法来计算合法路径。

其中,常见的路径搜索方法有深度优先搜索、广度优先搜索、A*搜索、D*搜索等。

这些方法都可以通过搜索算法对地图进行遍历,找到合法路径。

不同的算法有不同的优缺点,需要根据具体应用场景来选择合适的算法。

二、分类根据机器人的运动方式和工作环境,路径规划算法可以分为点到点规划和全局规划两种。

1. 点到点规划点到点规划是指在给定起始点和结束点的情况下,计算出两点之间的一条路径的过程。

这种规划方法适用于机器人在静态环境下的自主移动。

常见的点到点规划算法有最短路径算法、避障路径算法等。

最短路径算法可以通过Dijkstra算法或A*算法来计算最短路径。

这种算法适用于平面地图和简单的路线规划。

避障路径算法则更加复杂,需要考虑避障、规划动态路径等不同因素。

基于避障路径算法的路径规划算法有Rapidly-Exploring Random Trees算法、Potential Field算法等。

2. 全局规划全局规划是指在给定的环境地图信息中,计算出从起点到终点的所有可能的路径。

这种规划方法适用于动态环境下的机器人运动。

常见的全局规划算法有图搜索算法、自组织映射算法、蚁群算法等。

图搜索算法可以通过Dijkstra算法、BFS算法、DFS算法、A*算法等多种不同方法进行。

机器人导航中的路径规划算法

机器人导航中的路径规划算法

机器人导航中的路径规划算法随着人工智能和机器人技术的不断进步,机器人导航已经变得越来越普遍。

机器人导航中的路径规划算法起着至关重要的作用,它能够帮助机器人找到最佳路径来完成给定任务。

本文将讨论机器人导航中常用的路径规划算法及其特点。

一、最短路径算法最短路径算法是机器人导航中最常用的算法之一。

它的目标是找到两点之间的最短路径,使机器人能够以最快的速度到达目的地。

其中,最著名的算法是Dijkstra算法和A*算法。

1. Dijkstra算法Dijkstra算法是一种基于图的搜索算法,它通过计算从起点到终点的最短路径来引导机器人导航。

该算法从起点开始,逐步扩展搜索范围,每次找到当前距离起点最短的节点,并将其加入已经访问过的节点集合中。

同时,更新其他节点的最短距离值,直到找到终点或者搜索完整个图。

Dijkstra算法的优点是保证能够找到最短路径,但计算复杂度较高,适合用于小规模的导航问题。

2. A*算法A*算法是一种启发式搜索算法,结合了广度优先搜索和启发式估计函数的思想。

与Dijkstra算法相比,A*算法通过引入启发式函数来提高搜索效率,从而在更短的时间内找到最短路径。

在A*算法中,每个节点都会被分配一个估计值,与该节点到终点的预计距离相关。

A*算法会优先搜索具有较小估计值的节点,从而尽快找到最短路径。

这种估计函数可以根据具体问题的特点来设计,例如欧氏距离、曼哈顿距离等。

A*算法在大多数情况下比Dijkstra算法更高效,但在某些特殊情况下可能会出现误导机器人的问题。

二、避障路径规划算法除了找到最短路径,机器人导航还需要考虑避障问题。

避障路径规划算法能够帮助机器人避开障碍物,安全到达目的地。

以下是两种常用的避障路径规划算法:1. Voronoi图Voronoi图是一种基于几何空间的路径规划算法。

它通过将已知障碍物的边界等分成小区域,形成一张图。

机器人可以在保持离障碍物最远的同时,选择通过Voronoi图中的空区域进行移动。

机器人路径规划算法及实现研究

机器人路径规划算法及实现研究

机器人路径规划算法及实现研究机器人技术近年来得到了飞速发展,越来越多的机器人被应用于实际的生产和生活中。

而机器人的移动路径规划是机器人控制中的一个重要问题,它关系到机器人是否能够正确地完成任务。

在本文中,将介绍机器人路径规划算法及其实现研究。

一、机器人路径规划算法机器人路径规划算法是指通过对机器人所在的环境进行建模,计算实现机器人在环境中的运动轨迹,使机器人能够从出发点到达目标点的过程。

目前,机器人路径规划算法已经得到了广泛的应用,其中基于图的模型和基于搜索的模型是比较常见的两种算法。

基于图的路径规划算法是指,将机器人所在环境看做一个图,图中的节点代表机器人所在环境的一个状态,边则代表转换状态所产生的步骤。

利用图的遍历算法,从出发点到达目标点,每一步都是从当前状态向邻近的未访问状态移动。

这样的一种算法适用于静态环境下的路径规划,具有简洁、高效、易于实现等优点。

基于搜索的路径规划算法是指,将机器人所在的环境看做一个状态集合,每个状态代表机器人在环境中的一个位置和朝向。

搜索算法通过搜索状态空间来实现路径规划,其中常见的搜索算法包括:深度优先搜索、广度优先搜索、A*搜索等。

这种算法适用于动态环境下的路径规划,具有全局优化能力和适应性等优点。

二、机器人路径规划算法的实现机器人路径规划算法的实现包括:1、环境建模机器人路径规划算法首先需要对机器人所在的环境进行建模,常见的建模方式有栅格地图、三维模型等。

其中,栅格地图是一种将环境离散化的方式,将环境划分为若干网格,用二进制数表示网格的状态(可通过、不可通过)。

栅格地图常用于机器人在二维平面上运动的路径规划。

2、算法选择机器人路径规划算法的选择要根据具体的需求和实际环境进行考虑。

在需要全局优化的情况下,可以采用基于搜索的路径规划算法,如A*算法、最短路径算法等。

如果要求路径规划速度较快,在静态环境下可以采用基于图的模型进行效率较高的路径规划。

3、机器人控制机器人控制是指通过路径规划算法计算出的路径来控制机器人运动。

机器人操作系统中的路径规划算法实现与优化

机器人操作系统中的路径规划算法实现与优化

机器人操作系统中的路径规划算法实现与优化随着科技的不断发展,机器人技术在各个领域的应用越来越广泛。

而机器人操作系统(ROS)作为一个开源软件平台,为机器人提供了强大的功能和工具,其中路径规划算法是机器人导航的核心部分。

本文将深入探讨机器人操作系统中的路径规划算法的实现与优化。

一、路径规划算法简介路径规划是机器人在复杂环境中自主导航的关键技术之一。

在机器人操作系统中,常用的路径规划算法包括A*算法、Dijkstra算法和启发式搜索算法等。

1. A*算法A*算法是一种启发式搜索算法,广泛应用于路径规划领域。

它通过评估节点的代价函数来选择最优路径,同时结合一个估价函数来优化算法的搜索效率。

A*算法的时间复杂度较低,算法的可靠性和可扩展性较高,因此在机器人路径规划中得到了广泛的应用。

2. Dijkstra算法Dijkstra算法是一种基于图论的最短路径算法,它通过计算节点之间的最短路径来确定机器人的移动路径。

Dijkstra算法的优势在于能够找到最短路径,但在大规模的环境中计算时间较长,因此在实际应用中,需要对算法进行优化。

3. 启发式搜索算法启发式搜索算法是一种通过启发性函数来指导搜索过程的路径规划算法。

常用的启发式函数包括曼哈顿距离、欧氏距离等。

启发式搜索算法能够快速找到较优解,但由于启发性函数的选择和约束条件的确定,其在实际应用中存在一定的局限性。

二、路径规划算法的实现机器人操作系统中的路径规划算法的实现主要包括以下几个方面:1. 地图表示在路径规划中,地图的表示对算法的效率和准确性具有重要影响。

ROS中常用的地图表示包括栅格地图和点云地图等。

对于栅格地图,可以通过地图像素化来表示环境,将地图分割为一系列小方格,每个方格是一个可行驶或不可行驶的单元。

点云地图是通过在物体表面上存储点的方式来表示环境的,通常用于室外环境或具有复杂几何形状的环境。

2. 障碍物检测与避障机器人操作系统中的路径规划算法需要考虑环境中存在的障碍物。

机器人路径规划算法研究

机器人路径规划算法研究

机器人路径规划算法研究随着人工智能和自动化技术的飞速发展,机器人在各种领域的应用越来越广泛。

而机器人的移动路径规划是其中一个重要的问题。

路径规划是指在给定的环境中,通过算法确定机器人如何从起始位置到达目标位置,同时避开障碍物和优化路径。

本文将探讨机器人路径规划算法的研究。

路径规划算法主要分为全局路径规划和局部路径规划。

全局路径规划是指在整个环境中搜索一条从起始位置到目标位置的最优路径。

而局部路径规划则是在机器人行进过程中根据实时的传感器信息调整机器人的移动方向。

全局路径规划算法通常具有较高的计算复杂度,但可以找到最短路径。

而局部路径规划算法则侧重于快速适应环境变化。

最常见的全局路径规划算法之一是A*算法。

A*算法基于启发式搜索,通过综合考虑路径代价和启发函数,找到一个较优的路径。

启发函数可以帮助A*算法快速搜索,减少计算复杂度。

然而,A*算法可能会因为环境的复杂性和障碍物的多样性而导致搜索失败。

因此,研究者们提出了许多改进的路径规划算法。

其中,D*算法是改进的一种路径规划算法。

D*算法使用了局部路径规划思想,将全局路径规划问题分解为多个局部路径规划子问题。

D*算法先根据环境中存在的障碍物信息计算出初始路径,然后根据实时的传感器信息进行迭代优化。

D*算法在遇到环境变化时可以快速做出响应,并通过迭代优化获得更加准确的路径。

然而,D*算法仍然有局限性,对于复杂环境的处理仍然有待改进。

近年来,深度学习的发展也对路径规划算法带来了新的突破。

深度学习能够从大量的数据中学习规则和特征,因此可以在路径规划中发挥重要作用。

例如,可以使用卷积神经网络(CNN)对环境中的障碍物进行识别,并将其纳入路径规划算法中。

深度学习的引入大大增加了路径规划算法的准确性和鲁棒性。

然而,深度学习也面临着数据集标注困难和计算复杂度高的挑战。

除了全局路径规划算法和局部路径规划算法外,还有许多其他的路径规划算法值得研究。

例如,基于遗传算法的路径规划算法,通过模拟进化过程寻找最优路径。

机器人导航中的路径规划算法使用教程

机器人导航中的路径规划算法使用教程

机器人导航中的路径规划算法使用教程路径规划是机器人导航中一个重要的问题,通过合理的路径规划算法,机器人能够有效地避开障碍物,以最短的路径达到目标点。

本文将介绍几种常用的路径规划算法,并提供相应的使用教程。

一、最短路径算法最短路径算法旨在寻找机器人从起点到目标点的最短路径。

其中最经典的算法是Dijkstra算法和A*算法。

1. Dijkstra算法Dijkstra算法是一种广度优先搜索的算法,通过确定当前离起点最近的顶点,并将它添加到最短路径集合中,不断更新其他顶点的最短路径。

具体步骤如下:1) 初始化距离数组dist[],将起点到所有其他顶点的距离设置为无穷大,起点的距离设置为0。

2) 对于每个顶点,选择从起点到该顶点距离最短的顶点,并将其加入到最短路径集合中。

3) 遍历该顶点的邻接顶点,更新距离数组dist[],如果从起点到某个邻接顶点的路径距离更短,则更新该路径长度。

4) 重复步骤2和3,直到所有顶点都被加入到最短路径集合中。

2. A*算法A*算法是在Dijkstra算法基础上进行改进的算法,它在选择下一个顶点时考虑了目标点的信息。

具体步骤如下:1) 初始化距离数组dist[]和启发函数数组heur[],将起点到所有其他顶点的距离设置为无穷大,启发函数值设置为从当前顶点到目标点的估计距离。

2) 将起点加入到Open集合中。

3) 若Open集合为空,则路径不存在;否则,选择Open集合中F值最小的顶点作为当前顶点。

4) 若当前顶点是目标点,则搜索结束;否则,遍历当前顶点的邻接顶点,更新距离数组dist[]和启发函数数组heur[]。

5) 重复步骤3和4。

二、避障算法避障算法旨在寻找机器人绕过障碍物的最短路径。

其中最常见的避障算法是基于代价地图的D*算法和RRT*算法。

1. D*算法D*算法是一种增量搜索算法,通过动态更新代价地图来实现路径规划。

具体步骤如下:1) 初始化起点和目标点。

2) 根据当前代价地图,计算最短路径。

机器人路径规划的算法研究与优化

机器人路径规划的算法研究与优化

机器人路径规划的算法研究与优化随着人工智能和机器人技术的飞速发展,机器人在工业、医疗、物流等领域被广泛应用。

在机器人的运动控制中,路径规划是一个至关重要的环节。

机器人的路径规划算法决定了机器人运动的效率和安全性。

本文将介绍机器人路径规划的原理、常用算法及其优化。

一、机器人路径规划的原理机器人路径规划是指在静态或动态环境下,机器人从开始位置出发,经过事先给定的若干个目标点,到达终点的过程。

机器人的路径规划必须保证安全、高效、准确,同时考虑机器人的动态特性和环境的影响。

机器人路径规划的原理包括两个方面:环境建模和路径规划算法。

1、环境建模在机器人路径规划中,环境建模是非常重要的。

环境建模表示对机器人的工作环境进行描述和刻画,以此确定机器人运动的区域和障碍。

常见的环境建模技术有:a. 栅格法(Rasterization):将环境离散化为一个个栅格,每个栅格分为障碍物和可通行区域。

栅格法简单易行,适用于平面或离散化空间。

b. 几何三维描述(Primitive Shape Description):将环境中的障碍物进行几何建模,如球体、立方体等。

几何三维描述方法可以精确地表示复杂的环境障碍,但计算量较大,不适合实时控制。

2、路径规划算法机器人路径规划算法应该能够找到一条合理路径,并确保该路径满足机器人的运动约束和环境约束。

常用算法有以下几种:a. A*算法:A*算法是一种基于图搜索的寻路算法,具有快速、准确、可靠等优点。

它首先用一个启发式距离函数评估待扩展的节点,然后通过搜索扩展距离目标点最短的那些节点。

A*算法常用于静态或已知环境下的路径规划。

b. D*算法:D*算法是一种基于增量式搜索的路径规划算法。

它从目标点开始,向起始点搜索路径,只更新变化的部分,从而减少计算量。

D*算法在动态环境中经常被使用。

c. RRT算法:RRT算法是一种建立随机树来搜索路径的算法,具有高效和实用性好的优点。

该算法能够适应多种运动模式和不确定性,常用于多自由度机器人的路径规划。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

收稿日期:2008-12-14;修订日期:2009-02-03作者简介:祝红芳(1959-),女,江西人,副教授,主要从事PLC 及自动控制方面的工作。

第27卷 第1期2009年2月江 西 科 学JI A NGX I SC I ENCEVo.l 27N o .1Feb.2009文章编号:1001-3679(2009)01-0036-06机器人路径规划的元胞自动机算法祝红芳1,王从庆2(1.江西工业职业技术学院,江西 南昌330039;2.南京航空航天大学自动化学院,江苏 南京210016)摘要:采用M oore 型邻居规则建立机器人路径规划的元胞自动机模型和演化规则,通过对移动机器人的路径进行演化,讨论了周围环境已知情况下的移动机器人元胞自动机路径规划问题。

在演化规则中增加危险度检测,使得机器人能够避免碰撞和穿越障碍,仿真实验结果表明,利用元胞自动机可以实现复杂环境的机器人路径搜索,避免死锁和碰撞,达到快速的最优路径。

关键词:机器人路径规划;元胞自动机;M oore 型邻居;避碰检测中图分类号:TP24 文献标识码:AA C ellul ar A uto m ata A lgorith m for Robot Path P l anni ngZ HU H ong fang 1,WANG Cong qing2(1.Jiangx i Industry Po l y technic Co lleg e ,Jiangx iN anchang 330039PRC ;2.Co ll ege o fA utom ati on Eng i neer i ng ,N an ji ng U n i versity of A e ronautics and A stronautics ,Jiangsu N anji ng 210016PRC)Abst ract :A cellular auto m ata m odel and evo lution rules for r obo t path plann i n g are built usi n g m oorne i g hborhood rule .Robot path p lanning under the cond ition of the kno w n env ironm en t is d iscussed by evo l u ti o n path for a m ob ile robo.t W ith he l p o f detection o f risk factors i n evolution rules ,it is a vo i d ed for robot to co llide w ith or cross over obstacles the resu lts of si m ulation experi m ent sho w that path p l a nning for the r obot under a co m plex env ironm ent can be rea lized using cell u lar auto m ata and the perfor m ance of a fast g lobal opti m a l path plann i n g is obta i n ed .K ey w ords :Robot path p lanning ,C ellular Auto m ata ,M oore neighbor hood ,Co llision detecti o n0 引言路径规划是机器人研究领域中的一个重要内容。

根据机器人对环境信息掌握的程度和障碍物的不同,移动机器人的路径规划基本上可以分为2种类型:环境信息完全已知的全局路径规划;环境信息完全未知或部分未知的局部路径规划。

目前,国内外对机器人路径规划方法的研究主要有两大类,传统方法与智能方法。

传统方法主要包括:梯度法、栅格法、枚举法、人工势场法、自由空间法、A *等图搜索方法及随机搜索法等。

其中势场法、梯度法易陷入局部最小点,图搜索法、枚举法不能用于高维的优化问题。

用于机器人路径规划的智能方法主要有模糊逻辑、神经网络、遗传算法、蚁群算法、粒子群算法等[1~5],而模糊方法主要用于在线的规划中,自适应性较差。

神经网络方法对于环境复杂的情况,规划能力较差,遗传算法是目前应用较多的一种方法,受到了广大研究者的重视。

但是,用遗传算法进行机器人路径规划时,随机产生初始种群,种群规模大导致搜索空间较大,删除冗余个体能力较差,大大影响了路径规划的速度,特别是环境复杂或多机器人路径规划时,这种缺点更是明显。

元胞自动机是非线性科学的一种重要方法,特别适合于复杂系统时空演化过程的动态模拟研究,本文采用一种基于M oo r 型邻居的元胞自动机模型对移动机器人的路径进行演化,讨论周围环境已知的机器人路径规划问题。

元胞自动机的演化规则中加入了碰撞危险度之后,使机器人不能太靠近障碍,避免穿越障碍的情况。

仿真结果表明该方法可以达到快速、全局最优的路径。

1 元胞自动机模型元胞自动机(Ce ll u lar Auto m ata ,简称CA )是定义在一个由有限状态元胞组成的离散空间上,按照一定的局部演化规则,在离散的时间上进行演化的动力系统[6,7]。

其特点是时间、空间、状态都离散,每个变量只取有限多个状态,且其状态改变的规则在时间和空间上都是局部的。

1.1 元胞自动机的构成元胞自动机由元胞、元胞空间、邻居及规则4个部分构成。

用数学符号来表示,标准的元胞自动机是一个四元组:A =(L d ,S,N,f)(1)式中,A 代表1个元胞自动机模型;L 表示元胞空间,d 是一正整数,表示元胞自动机的元胞空间的维数;S 是元胞的有限的离散状态集合;N 表示一个邻域内所有元胞的组合(包括中心元胞),即包含n 个不同元胞状态的一个空间矢量,记为:N =(s 1,s 2, ,s n ),其中n 是元胞的邻居个数,s i Z,Z i {1,2, ,n };f 为演化规则。

所有的元胞位于d 维空间上,其位置可用1个d 元的整数矩阵Z d来确定。

1.2 元胞与元胞空间元胞又称为单元,是元胞自动机的最基本的组成部分。

元胞分布在离散的一维、二维或多维欧几里德空间的晶格点上。

元胞状态可以是二进制形式{0,1},也可以是整数形式的离散集{s 1,s 2, ,s l , ,s k }。

元胞分布的空间网点集合就是元胞空间。

元胞空间通常是在各维向上无限延展的,但在实际应用过程中,需要定义元胞空间的不同边界条件。

边界条件主要有3种类型:周期型、反射型和定值型。

1.3 邻居与演化规则在一维元胞自动机中,通常以半径来确定邻居,距离1个元胞半径内的所有元胞均是该元胞的邻居。

二维元胞自动机的邻居定义较为复杂,以最常用的规则四方网格划分,通常有Von .Neu m ann 型、(b)M oo re 型、(c)M argolus 型等几种形式,其中M oore 型邻居如图1所示。

图1中的黑色元胞代表中心元胞,灰色的元胞代表黑色中心元胞的邻居。

图1 二维M oore 型元胞自动机邻居定义在M oore 型元胞自动机中1个元胞的上、下、左、右、左上、左下、右上、右下相邻8个元胞为该元胞的邻居。

邻居半径r 为1。

其邻居定义如下:N moore ={v i =(v ix ,v iy )!v ix -v ox ! 1,|v iy -v oy | 1,(v ix ,v iy ) Z 2}(2)式中,v ix ,v iy 表示邻居元胞的行列坐标值,v ox ,v oy 表示中心元胞的行列坐标值。

对于四方网格,维数为d 时,1个元胞的邻居个数为(3d-1)。

2 机器人路径规划的元胞自动机演化规则2.1 元胞空间的建立在周围环境已知的情况下,假设移动机器人从Q 点出发,要避开障碍物O ,到达目的地M 。

如果不考虑移动机器人的动力学和运动学限制,那么它可以看作是一个质点。

移动机器人在二维空间中运动,元胞状态规定障碍的状态值为1,起点的状态值为2,终点的状态值为3,自由通路的状态值为0。

图2是在元胞空间大小为5∀9的四方网格空间中元胞状态的初始构形。

2.2 邻居与演化规则对元胞自动机进行演化首先要确定邻居的类型,考虑到机器人可以向任意方向移动,采用M oore 型,边界条件选择定值型。

#37#第1期 祝红芳等:机器人路径规划的元胞自动机算法图2 元胞状态的初始构形演化规则如下:(1)当前元胞的值为0时:在当前元胞的邻居中找出一个元胞,要求这个被找到的元胞是邻居中所有值大于等于3的元胞中值最小的,然后令当前元胞的值等于此元胞的值加1。

(2)当前元胞的值不为0时:保持当前元胞的值不变。

用 (r ,t)表示t 时刻中心元胞r 的状态值,用集合 tr 代表t 时刻中心元胞r 的所有邻居元胞。

(i ,t)为中心元胞的任意一个邻居的状态值。

则上述规则可以表示为:(r ,t +1)= (i ,t)+1i f (r ,t)=0∃ itr | (i ,t)!3(r ,t) else(3)利用上述演化规则,元胞自动机进行演化。

初始时刻为t =0,此时自由通路中每个元胞初始状态值为0;令t =n 为最后1次演化的时间,则n 时刻每个元胞状态的值就代表了该元胞与终点的距离。

元胞自动机的演化过程为:离终点最近的元胞状态最先开始变化,直到起点元胞的周围的所有的邻居元胞的状态都发生改变为止。

元胞自动机的演化完成后,机器人开始搜索最优路径。

具体方法是:机器人从起点元胞出发,每次在当前元胞的邻居中搜索1个元胞,要求这个被找到的元胞是邻居中所有值大于3的元胞中值最小的,在下一时刻机器人移动到该元胞上。

然后以此元胞为中心元胞,在它的邻居中搜索1个元胞,重复上面的搜索条件,最终形成最优路径。

如果1个元胞的邻居中有几个邻居的值相同,那么选取机器人方向改变最小的一个邻居,也即选择东、西、南、北方向上的元胞。

2.3 Moore 型元胞自动机的演化过程元胞自动机演化过程,是每个元胞与它的M oore 型邻居相比,直到t =8时演化结束,如图3。

采用上述M oore 型C A 演化出来的最优路径不止一条,如图3(c)中的2条实线所示。

图3 M oore 型CA 的演化的过程对于M oore 型CA,当前元胞值与周围8个邻居的状态值进行比较,找到最小值即可,搜索最优路径的流程图见图4。

3 算法的改进在M oore 型邻居元胞自动机的演化时,很多情况下都能快速的演化并由机器人搜索得到最短路径,但在另外一些情况下,原有的元胞自动机规则在演化中也存在着一定的缺陷。

相关文档
最新文档