基于改进蚁群算法的移动机器人路径规划研究【matlab源码】
#毕业
#,
,
目 学 院 学 院 专 业 学生姓名 学 号 年级 级 指导教师
毕业教务处制表毕业
基于改进蚁群算法的移动机器人路径规划研究
一、程序说明
本团队长期从事matlab编程与仿真工作,擅长各类毕业设计、数据处理、图表绘制、理论分析等,程序代做、数据分析
具体信息联系
二、写作思路与程序示例
移动机器人的路径规划问题是机器人研究领域的重要分支,一直以来国内外有很多学者关注该问题。到目前为止,该领域已经有了重大突破,并取得了一系列成果。现阶段应用于解决路径规划问题的优化算法有很多,但是大多数算法自身存在很大的缺陷。在障碍物复杂的环境下很难规划出有效的路径,因为未知环境下的移动机器人只有极少的先验知识。需要能激发出发现和创造的火花。自20世纪
提出50年代中期创立了仿生学以来,人们从生物进化的机理中受到极大的启发,了许多用以解决复杂优化问题的新方法,蚁群算法便是其中的一种。该方法自创立以来在学术界引起了极大的轰动,现已成功地应用于旅行商问题、生产调度问题等领域。在机器人路径规划算法向仿生化、智能化方向发展的趋势下,本文提出基于蚁群算法的移动机器人路径规划算法。本文所做的工作主要有以下几部分:1、首先对移动机器人路径规划的国内外研究现状及各种路径规划方法的优缺点做了比较,并对蚁群算法的研究进展做了简要概述。2、利用栅格法建立环境模型,为蚁群算法的路径搜索提供一个物理环境。机器人的工作环境假设为大小相等的正方形(栅格),栅格的大小是以机器人能在其中自由运动为准则。假设机器人的工作环境由黑、白两种栅格构成。白色栅格表示机器人可以在其中自由移动,黑色栅格则表示障碍栅格,表示机器人无法逾越。本文旨在当机器人遇到障碍栅格时,能根据传感器获得的信息和控制器的有效控制使得机器人绕开障碍物另辟一条有效的路径。有效路径的获得是在程序预先设定的控制循环次数下,反复计算比较得到的。3、本文拟采用蚁群算法,但是基本的蚁群算法存在易死锁,停滞等缺陷。本文试对
基本蚁群算法进行改进,在蚁群算法中引入交叉、变异等策略。借助Matlab将改
进后算法与基本算法进行比较、分析、观察。大量的仿真实验结果证明该算法在
机器人路径规划,特别是在最短路径规划方面效果显著。仿真结果和实验结果都和
预想的实际结果有较好的吻合程度。4、利用马尔科夫过程分析算法的收敛性。马
尔科夫过程是一类重要的随机过程,该过程具有一些重要的性质,如马氏过程的遍
历性、马尔科夫链的单调性等等。蚁群活动最初认为只是一种自然现象,是一种复
杂无规则的随机过程,但是随着科学家的观察与研究,发现蚁群活动并非一种无规
则的随机过程,其活动规则与马氏过程有很多相似之处。经仔细推敲,蚁群算法在
不影响实际的情况下可以近似当做马氏过程来处理。本文是在做了一些前提假设
的情况下,对蚁群算法的迭代过程即马尔科夫过程做了较详细的证明。5、完成了
基于蚁群算法路径规划控制
的设计。本文以MATLAB7.1作为程序设计平台,
完成了基于蚁群算法的机器人最短路径规划的程序编制。通过MATLAB7.1软件的
仿真,能够看到在不同的参数组合下规划出来的最短路径,同时还能够读出每次仿
真的最短路径的距离。通过分析确定最佳的参数组合,以达到较佳规划路径。6.、
实验设计。由于条件所限,本实验所用实验对象是在原有轮式移动机器人基础上进
行了部分搭建而成。实验跟随环境为实验室地面。实验机器人为轮式机器人,后轮
为驱动轮,驱动轮左右轮距为140mm,前后轴距180mm高约80mm。系统的控制核心
采用日立公司的16位H8/3048F系列单片机。实验过程采用红外测距传感器测量
移动机器人的位移及判断障碍物的位置。本实验采用夏普公司生产的GP2D12型号
的传感器,该传感器的测量范围为:10cm——80cm,最大允许角度40?,电源电压
为5V左右。
classdef HButtonBox < uiextras.ButtonBox
%HButtonBox Arrange buttons horizontally in a single row
%
% obj = uiextras.HButtonBox() is a type of HBox specialised for
% arranging a row of buttons, check-boxes or similar graphical
% elements. All buttons are given equal size and by default are
% centered in the drawing area. The justification can be changed as
% required.
%
% obj = uiextras.HButtonBox(param,value,...) also sets one or more
% parameter values.
%
% See the <a href="matlab:doc
uiextras.HButtonBox">documentation</a> for more detail and
the list of properties.
%
% Examples:
% >> f = figure();
% >> b = uiextras.HButtonBox( 'Parent', f );
% >> uicontrol( 'Parent', b, 'String', 'One' );
% >> uicontrol( 'Parent', b, 'String', 'Two' );
% >> uicontrol( 'Parent', b, 'String', 'Three' );
% >> set( b, 'ButtonSize', [130 35], 'Spacing', 5 );
%
% See also: uiextras.VButtonBox
% uiextras.HBox