未知环境下的移动机器人仿真平台设计

控制/MCU

1814人已加入

描述

移动机器人是当今学科研究的热点之一,而控制算法在机器人领域中处于核心地位。目前,常用于移动机器人智能控制的算法主要有:PID控制、模糊控制、神经网络控制等[1-2]。还有一些相对特殊的控制方法,譬如参考文献[3]中提及的基于风险评估的路径规划方案等。每种算法的原理不同,一般对外界信息的依赖性较大。若根据算法要求开发硬件平台,其电路的设计、PCB板的制作以及电路的调试等一系列繁琐的研发工作对算法的验证将造成极大不便[4]。Matlab提供的可视化界面环境GUI,其与VB相似的功能可以很方便地创建用户界面形式。因此,本文利用Matlab GUI设计一种用于移动机器人路径规划的控制仿真平台。

1 系统控制体系组成

移动机器人的控制体系结构定义为:一种能把多种模块有机地结合起来,从而在环境中完成目标任务的机器人结构框架。本系统主要完成未知环境下移动机器人的路径规划,所以系统设计了多个模块构成整个控制系统。如图1所示,控制体系主要包含的功能有:感知、定位模块、路径规划、行为控制以及任务规划。




1.1 传感器模型

1.1.1 里程计与罗盘计

里程计用于测量移动机器人的行驶距离,主要由驱动轮内侧的码盘信号计算出单个驱动轮角速度信息,从而根据运动学模型计算出行驶距离。罗盘计基于指南针原理,用于测量机器人的车身角度。

1.1.2 超声波测距

超声波测距原理采用时间差测距法,可表示为:

式中,D为超声波传感器与障碍物之间的距离,C为超声波速度,?驻t为发射和接收之间的时间差。

1.2 移动机器人模型

1.2.1 机器人运动学模型

本设计研究的是双轮差分驱动式移动机器人,由两个驱动轮和一个随动轮组成。两驱动轮之间的轴间距离为d,驱动轮半径为r,其轴间连线中点为M,坐标为(xM,yM),如图2所示。



1.2.2 航姿推算定位法

双轮差分驱动式移动机器人的运动分为直线模式和弧线模式两种,本设计采用相对简单的直线模型。离散化航姿推算定位法形式为:


2 移动机器人仿真平台建立

本文利用Matlab GUI设计人机交互方式的二维平面环境模型[5],可以设置移动机器人的行驶环境大小、起点和终点,通过文本设计方法再加鼠标设置可以绘制障碍物区域。利用文本设置的行驶环境大小、起点与终点设置,障碍物相对简单。鼠标设置相对复杂,需要响应鼠标事件。当鼠标左键单击白色坐标轴有效范围时,系统响应单击事件记下第一个点的坐标值,然后鼠标划过一段区域后释放,系统响应释放事件记下第二个点坐标值。通过两点坐标值即可唯一确定一个矩形障碍物。




 

3 建立模糊控制器




4 仿真

本设计平台对移动机器人的本身和行驶环境作如下假设:(1)车轮只能在地面上正常滚动,不发生侧向滑动;(2)机器人在二维平面内运动,运动表面平整。

对于随机的未知环境,系统设置:X轴和Y轴的坐标显示范围为[-100,1000]。起点A(0,0),终点B(900,900);机器人初始行驶角度为0;Δs为0.5。通过鼠标随机绘制障碍物。点击“运行”后,代替车体的半径为8的圆点开始实现以目标点为向导的避障行为,并显示出行为轨迹,结果如图7所示。

图8所示为机器人车身角度变化示意图,对照图7,移动机器人在行驶过程中车身角度随障碍物的随机分布而变化。为了程序计算方便,角度一律取弧度值。

本设计介绍了移动机器人的基本结构和运动原理,并在此基础上实现了基于Matlab GUI的移动机器人控制仿真平台。将基于行为的模糊控制应用于机器人进行实时控制。仿真结果表明,移动机器人响应速度快,适应环境能力强,成功实现从起点到目标点的路径规划。

STM32/STM8

意法半导体/ST/STM

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分