全文链接:http://tecdat.cn/?p=27864
原文出处:拓端数据部落公众号
作者:Haohe Jia
随着机器人技术的快速发展,室内轮式机器人逐渐成为了相关研究人员的重点关注对象,应用场景主要是家庭等室内环境,轮式机器人完成复杂任务的基石是完善的路径规划技术,对该技术的深入研究,能够提高机器人的智能化水平,促进该学科的快速发展。虽然目前全球范围都在对机器人路径的优化问题进行研究并取得了一些成绩,但是室内小范围区域路径规划的研究还是一个难点,还有很多问题有待解决,比如说,室内区域相对狭小,周围的环境变化频繁会对机器人路径规划的结果产生较大影响;路径规划还需要机器人具有很多复杂的操作,如变道,转弯,交叉路口操作,避障及最优化等,路径规划对实时性和鲁棒性要求很高。
解决方案
任务/目标
根据模型及实验收集的数据来建立模型优化导航效果。
遗传算法路径规划是一种基于自然选择和自然遗传等进化理论求取最优路径问题,是遗传算法在机器人路径规划领域的应用问题。因此,设计遗传算法求最优路径问题所使用的步骤和基本遗传算法类似,包括个体编码方式的选取、初始种群的选择、适应度函数的设计、遗传算子的设计、控制参数的设定、终止条件的设定等。
Step1:建立机器人运动空间的栅格地图,并采用序号法对栅格进行编号;
Step2:确定机器人路径规划的编码方式、适应度函数、终止条件等;
Step3:设置机器人的起始位置和终止位置,并使用中点法产生初始路径;
Step4:进行选择、交叉、变异、修复的操作;
Step5:计算适应度值,并判断是否已经达到终止条件,若满足则进入 step6;否则,返回到step4,继续循环遗传操作;
Step6:得出机器人从起始位置到终止位置的最优路径。
Matlab仿真分析
Matlab 是由 Mathworks 公司研发一种高级语言,可以用于科学和工程计算、系统仿真等,这款软件已经成为全世界范围内应用最为广泛的一款工程计算软件,它可以以矩阵运算为平台,给用户提供了一个融合了可视化、计算、程序设计等人机交互式的环境。Matlab 的最重要的特征之一是它自带各种工具箱,可以解决各种特定的问题。遗传算法工具箱是以 Matlab 矩阵函数为基础、以遗传算法为目标建立的一套通用工具,它是以 M 语言写成的函数,是遗传算法各个步骤的集合。用户可根据实际需要借用这套工具箱进行相关程序的编程,省去了大多繁琐的步骤。
环境1:10×10 栅格地图,黑色表示障碍物,白色表示自由空间,1 表示起始点,100 表示终止点。
设定种群的大小为50,最大进化代数为100,进行若干次实验,两图分别表示某次寻优实验路径规划示意图和种群进化曲线
环境2:20×20 栅格地图,黑色表示障碍物,白色表示自由空间,1 表示起始点,400 表示终止点。
设定种群的大小为80,最大进化代数为200,进行若干次实验,两图分别表示某次寻优实验路径规划示意图和种群进化曲线
环境3:30×30 栅格地图,黑色表示障碍物,白色表示自由空间,1 表示起始点,100 表示终止点。设定种群的大小为80,最大进化代数为200,进行若干次实验,两图分别表示某次寻优实验路径规划示意图和种群进化曲线
由上图可知:在环境 1 中,算法迭代了 28 次后搜索到最优解,大小为 15.071;在环境 2 中,算法迭代了 43 次后搜索到最优解,大小为 62.728;在环境 3 中,算法迭代了 68 次搜索到最优解,大小为 43.355,在随机挑选的三种环境下均能找到最优路径,证明了本遗传算法在机器人路径规划方面的有效性和通用性,并且,求得最优路径最低的进化代数随着环境的复杂程度增加而增加。从图中可以看出,初始路径的长度和最短路径的长度较接近,这是因为本算法采用了中点法产生了初始路径。这种方法无疑减少了进化代数,增加了算法运行的效率。
关于作者
在此对Haohe Jia对本文所作的贡献表示诚挚感谢,他擅长Matlab仿真、视觉处理、神经网络、数据分析 。
最受欢迎的见解
4.R语言中的马尔科夫机制转换(Markov regime switching)模型
5.python中使用马尔可夫决策过程(MDP)动态编程来解决最短路径强化学习问题