1、AmigoAmigo机器人避障策略研究机器人避障策略研究 专业:专业: 指导老师:指导老师: 姓名:姓名:学号:学号: 1ContentsContents4 4绪论绪论 1 12 23 35 5AmigoAmigo移动机器人介绍移动机器人介绍 常用避障算法简介常用避障算法简介 基于栅格法的避障策略研究基于栅格法的避障策略研究 仿真验证仿真验证 6 6总结与展望总结与展望 2一、绪论一、绪论课题来源课题来源 自主避障的能力是移动机器人智能化程度自主避障的能力是移动机器人智能化程度的重要指标,是实现在未知环境中自主完成预的重要指标,是实现在未知环境中自主完成预设任务的关键技术之一,也是移动机器人在
2、复设任务的关键技术之一,也是移动机器人在复杂多变环境中稳定、安全、高效完成任务的重杂多变环境中稳定、安全、高效完成任务的重要保障要保障 移动机器移动机器人人3一、绪论一、绪论 目前机器人避障还远未达到实时和全自主目前机器人避障还远未达到实时和全自主的要求,在未知复杂环境下很多还只能实现半的要求,在未知复杂环境下很多还只能实现半自主。随着视觉采集设备质量和计算机图像处自主。随着视觉采集设备质量和计算机图像处理技术的不断提高,移动机器人的障碍物识别理技术的不断提高,移动机器人的障碍物识别与避障能力将会大大提高。与避障能力将会大大提高。 基于以上重要性指导教师自拟此课题基于以上重要性指导教师自拟此课
3、题 移动机器移动机器人人4一、绪论一、绪论介绍介绍AmigoAmigo机器人的硬件配置、机器人的硬件配置、软件系统以及客户端操作平软件系统以及客户端操作平台和人机通讯方式台和人机通讯方式 介绍移动机器人避障的常用介绍移动机器人避障的常用算法并比较各自的优缺点算法并比较各自的优缺点 以栅格搜索法的避障算法为以栅格搜索法的避障算法为重点,分析重点,分析AmigoAmigo机器人的避机器人的避障实现过程障实现过程 首先首先 其次其次 再次再次课题研究课题研究主要内容主要内容 最后最后借助仿真软件进行仿真,验借助仿真软件进行仿真,验证算法的可行性,并总结不证算法的可行性,并总结不足和可以改进的地方足和
4、可以改进的地方5二、二、AmigoAmigo移动机器人介绍移动机器人介绍 硬件系统硬件系统1.1.底盘采用三轮结构:一个万向轮,仅起支撑作用,不起导向底盘采用三轮结构:一个万向轮,仅起支撑作用,不起导向作用;两个驱动轮则位于车体两侧,采用作用;两个驱动轮则位于车体两侧,采用PWMPWM控制控制 2.2.内嵌内嵌SH2SH2微控制器,负责底层数据处理和命令执行,如获取微控制器,负责底层数据处理和命令执行,如获取传感器信息,小车位置信息等等传感器信息,小车位置信息等等 3.3.配备有配备有8 8个声呐测距装置个声呐测距装置 ,负责采集周围环境信息,将数据负责采集周围环境信息,将数据传给微处理器处理
5、传给微处理器处理4.4.其上安装有无线接收与发送模块,通过此模块可以与电脑实其上安装有无线接收与发送模块,通过此模块可以与电脑实现实时通讯现实时通讯 6二、二、AmigoAmigo移动机器人介绍移动机器人介绍软件系统软件系统1. ARIA1. ARIA :这是为:这是为Mobile RobotsMobile Robots开发的,面向对象的,用于开发的,面向对象的,用于机器人控制的应用程序接口系统,其他程序都是以机器人控制的应用程序接口系统,其他程序都是以ARIAARIA为基础为基础的的 2. ARNL2. ARNL :这是用于这是用于Mobile RobotsMobile Robots机器人平
6、台定位及自主导机器人平台定位及自主导航的软件开发包航的软件开发包 3. MobileSim3. MobileSim :这是移动机器人的仿真软件,包含机器人以这是移动机器人的仿真软件,包含机器人以及周围环境模型,可以加载地图,获取传感器数据信息及周围环境模型,可以加载地图,获取传感器数据信息 4. Mapper34. Mapper3:是地图绘制软件,他可以把激光测距仪获得的信:是地图绘制软件,他可以把激光测距仪获得的信息自动生成地图,也可以让用户自己手动绘制地图,手动绘制息自动生成地图,也可以让用户自己手动绘制地图,手动绘制的地图也可以直接加载在的地图也可以直接加载在MobileSimMobil
7、eSim中中 7二、二、AmigoAmigo移动机器人介绍移动机器人介绍人机通讯人机通讯 AmigoAmigo机器人与计算机系统连接方式主要有机器人与计算机系统连接方式主要有三种三种:一是一是通过通过串行口建立连接串行口建立连接,该方法连接简单,只需要一条串口连接线,该方法连接简单,只需要一条串口连接线,即可实现机器人与计算机系统连接,但受到串口线的限制,计算即可实现机器人与计算机系统连接,但受到串口线的限制,计算机对机器人控制不方便;机对机器人控制不方便;二是二是通过通过无线网络建立连接无线网络建立连接,机器人和,机器人和计算机之间需要借助无线路由器建立连接,进而可实现对机器人计算机之间需要
8、借助无线路由器建立连接,进而可实现对机器人的远程控制,该方法应用较多;的远程控制,该方法应用较多;三是车载计算机系统三是车载计算机系统,机器人配,机器人配备嵌入式计算机主板,该主板具有常规的键盘、鼠标、显示器接备嵌入式计算机主板,该主板具有常规的键盘、鼠标、显示器接口,具有口,具有0/100M0/100M自适应网卡,具有自适应网卡,具有4 4个个COMCOM口,口,2 2个个USBUSB口,在口,在PC104/PC104+PC104/PC104+扩展总线。车载计算机通过扩展总线。车载计算机通过COM1COM1口与控制器连接,口与控制器连接,直接实现数据通信。直接实现数据通信。 这里,我们用第二
9、种连接方式。这里,我们用第二种连接方式。8三、常用避障算法简介三、常用避障算法简介 1.1.基于几何构造的避障算法基于几何构造的避障算法 2.2.基于栅格划分的避障算法基于栅格划分的避障算法 3.3.基于逻辑推理的避障算法基于逻辑推理的避障算法 4.4.基于模糊控制的避障算法基于模糊控制的避障算法 5.5.基于神经网络的避障算法基于神经网络的避障算法 6.6.基于人工势场的避障算法基于人工势场的避障算法 9三、常用避障算法简介三、常用避障算法简介1.1.基于几何构造的避障算法基于几何构造的避障算法我们可以连接起始点和障碍物我们可以连接起始点和障碍物的顶点,再连接障碍物的顶点的顶点,再连接障碍物
10、的顶点和目标点,障碍物的不同顶点和目标点,障碍物的不同顶点对应了不同的路径,从这些有对应了不同的路径,从这些有限的路径中选出的最短路径就限的路径中选出的最短路径就是我们要求的最优路径。这种是我们要求的最优路径。这种算法比较简单,但功能单一,算法比较简单,但功能单一,不能在动态未知地图条件下实不能在动态未知地图条件下实现避障。现避障。 10三、常用避障算法简介三、常用避障算法简介2.2.基于栅格划分的避障算法基于栅格划分的避障算法建立一个环境坐标系来描述机器人的环境,在这个坐标建立一个环境坐标系来描述机器人的环境,在这个坐标系中,二维笛卡尔栅格不断被机器人传感器采样环境所系中,二维笛卡尔栅格不断
11、被机器人传感器采样环境所更新,环境坐标是绝对地表示环境,并在一定的实时区更新,环境坐标是绝对地表示环境,并在一定的实时区域、一定时间内保持坐标原点的固定,但在局部区域内域、一定时间内保持坐标原点的固定,但在局部区域内完成了移动后,再基于目前行驶点和下个目标点重新建完成了移动后,再基于目前行驶点和下个目标点重新建立机器人的环境地图。立机器人的环境地图。11三、常用避障算法简介三、常用避障算法简介3.3.基于逻辑推理的避障算法基于逻辑推理的避障算法算法步骤如下:算法步骤如下:1 1)定义一个状态集,该集合反)定义一个状态集,该集合反映机器人通过传感器测得的当映机器人通过传感器测得的当前状态。前状态
12、。2 2)定义一个行为集,该集合反)定义一个行为集,该集合反映机器人当前可以采取的动作。映机器人当前可以采取的动作。3 3)确定从状态到行为的映射关)确定从状态到行为的映射关系。系。 12三、常用避障算法简介三、常用避障算法简介4.4.基于模糊控制的避障算法基于模糊控制的避障算法在基于逻辑推理的路径规划方法基础进行改进:在基于逻辑推理的路径规划方法基础进行改进:1 1)传感器的一次测量值与多个状态对应,每个状态有一个)传感器的一次测量值与多个状态对应,每个状态有一个隶属度对应。隶属度对应。2 2)根据模糊推理结果确定行为。)根据模糊推理结果确定行为。引入隶属度的概念可以明显的减少传感器测得的状
13、态个数。引入隶属度的概念可以明显的减少传感器测得的状态个数。模糊控制就相当于是在逻辑推理的基础之上,改进了缩小状模糊控制就相当于是在逻辑推理的基础之上,改进了缩小状态集的方法,从而让移动机器人在移动过程中的自主性更加态集的方法,从而让移动机器人在移动过程中的自主性更加明确。明确。 13三、常用避障算法简介三、常用避障算法简介5.5.基于神经网络的避障算法基于神经网络的避障算法1 1)先将问题转化为优化问题。)先将问题转化为优化问题。2 2)用神经网络表示惩罚函数。)用神经网络表示惩罚函数。3 3)推导出相应的反向传播算法用于神经网络的训练。)推导出相应的反向传播算法用于神经网络的训练。将避障或
14、者说是路径规划问题转化为最优化问题,地图上将避障或者说是路径规划问题转化为最优化问题,地图上的障碍物即为问题的约束条件,再用神经网络引入惩罚函的障碍物即为问题的约束条件,再用神经网络引入惩罚函数,这样就将有约束条件的最优化问题转化为无约束优化数,这样就将有约束条件的最优化问题转化为无约束优化问题。问题。 14三、常用避障算法简介三、常用避障算法简介6.6.基于人工势场的避障算法基于人工势场的避障算法障碍物对机器人施加排斥力,目障碍物对机器人施加排斥力,目标点对机器人施加吸引力,排斥标点对机器人施加吸引力,排斥力和吸引力的合力形成势场,机力和吸引力的合力形成势场,机器人移动就像球从山上滚下来一器
15、人移动就像球从山上滚下来一样,移动机器人在合力作用下向样,移动机器人在合力作用下向目标点移动。目标点移动。应用势场法规划出来的路径一般应用势场法规划出来的路径一般是比较平滑并且安全。是比较平滑并且安全。 15四、基于栅格法的避障策略研究四、基于栅格法的避障策略研究 概率的计算概率的计算算法流程算法流程第四章主要有以下几个部分的内容第四章主要有以下几个部分的内容用栅格法划分地图用栅格法划分地图16四、基于栅格法的避障策略研究四、基于栅格法的避障策略研究用栅格法划分地图用栅格法划分地图在进行避障和路径规划在进行避障和路径规划时,采用栅格为基本单时,采用栅格为基本单位表示环境信息。按照位表示环境信息
16、。按照机器人及其有限的活动机器人及其有限的活动场地大小进行栅格的定场地大小进行栅格的定义和场地的栅格划分。义和场地的栅格划分。图中具有黑色方块的栅图中具有黑色方块的栅格表示有障碍物格表示有障碍物 17四、基于栅格法的避障策略研究四、基于栅格法的避障策略研究概率的计算概率的计算下一步可以有八个方位下一步可以有八个方位进行搜索,即:东、南、进行搜索,即:东、南、西、北、东北、西北、西、北、东北、西北、东南、西南东南、西南 在不同的方向上加上关在不同的方向上加上关联程度联程度a a:黑色区域的方向,黑色区域的方向,a=0a=0白色区域的方向,白色区域的方向,a=1a=1根据具体地图环境,给根据具体地
17、图环境,给不同的方向附上权值不同的方向附上权值某个方向的概率:某个方向的概率:这个方向的权值比上所有方向这个方向的权值比上所有方向权值的和权值的和18四、基于栅格法的避障策略研究四、基于栅格法的避障策略研究算法流程算法流程将搜索过程分为将搜索过程分为m m组,每一组会得组,每一组会得到到n n条可行路径。条可行路径。m m代表从起始点到代表从起始点到目标点所经过的栅格总数目标点所经过的栅格总数 ,每走,每走一步,一步,m m就加一;就加一;n n为每组中所有的为每组中所有的可行路径,这些可行路径都是从当可行路径,这些可行路径都是从当前起点到目标点的路径前起点到目标点的路径每条可行路径,都是通过
18、一步步计每条可行路径,都是通过一步步计算每个可行方向的概率而得到的算每个可行方向的概率而得到的19四、基于栅格法的避障策略研究四、基于栅格法的避障策略研究选择经过栅格个数最少的一条为最优避选择经过栅格个数最少的一条为最优避障路径,并走到下一个栅格。障路径,并走到下一个栅格。m=0+1m=0+1 首先计算各个方向的概率,确定由起始首先计算各个方向的概率,确定由起始点到目标点的所有可避障路径点到目标点的所有可避障路径 。m=0m=0到达下一个栅格后,重新将目前已到达到达下一个栅格后,重新将目前已到达的栅格作为新的一个起始点,计算出新的栅格作为新的一个起始点,计算出新的起始点到目标点的最优路径的起始
19、点到目标点的最优路径 每走一步都更新地图信息,这会让移动机每走一步都更新地图信息,这会让移动机器人最终所走的路径更趋于最优避障路径器人最终所走的路径更趋于最优避障路径 20五、五、 仿真验证仿真验证图中,红色小点代表移动机器人图中,红色小点代表移动机器人AmigoAmigo,浅黄色的矩形块代表障碍物。,浅黄色的矩形块代表障碍物。起始点为图左下角标有起始点为图左下角标有“start”start”的点,目标点为图靠上部的地方,的点,目标点为图靠上部的地方,标有标有“Goal”Goal”的点。程序执行前的点。程序执行前 ,机器人停在起始点,机器人停在起始点21五、五、 仿真验证仿真验证执行程序让机器
20、人开始移动,栅格搜索法已为移动机器人计算出一条执行程序让机器人开始移动,栅格搜索法已为移动机器人计算出一条实现避开障碍物的最优路径实现避开障碍物的最优路径 22五、五、 仿真验证仿真验证让移动机器人继续移动,让移动机器人继续移动, 每走一步最优路径会更新,避障效果更好。每走一步最优路径会更新,避障效果更好。当然由于地图简单,路径改变不明显。从仿真结果可以看出,栅格搜当然由于地图简单,路径改变不明显。从仿真结果可以看出,栅格搜索算法成功地完成了机器人避障所要求的任务。索算法成功地完成了机器人避障所要求的任务。 23六、总结与展望六、总结与展望 本次研究所用的算法只能实现在静态环境中的避障,不能够实现动态避障,本次研究所用的算法只能实现在静态环境中的避障,不能够实现动态避障,即障碍物时静止的。因为所用栅格法,第一步就要求对所给地图划分栅格,即障碍物时静止的。因为所用栅格法,第一步就要求对所给地图划分栅格,相应的障碍物的位置和形状早已为给定相应的障碍物的位置和形状早已为给定。在硬件方面,我们可以用更高级的测距仪器实现避障,如:激光测距仪在硬件方面,我们可以用更高级的测距仪器实现避障,如:激光测距仪在算法方面,我们可以用第三章所列举的高级编程思想,来实现避障在算法方面,我们可以用第三章所列举的高级编程思想,来实现避障 2425