资源描述:
《机器人避障问题分析与研究论文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、机器人避障模型摘要本文针对机器人避障问题进行分析与研究,在800X800的平面场景摆放有12个不同形状的障碍物,以O(0,0)点为起点,对A、B、C、O为H标点,通过分析,我们假设在圆弧的半径为10个单位,且下建立模型,由出发点到达目标点可以有很多条路径行走,所以就有不同的几种方案可以到达目标点,据题意;我们把机器人行走的路径都看成是由直线和拐角圆弧线组成的,根据这个原理,我们对机器人可行走的路径分析直线与拐角圆弧的关系,将所有路径都转化为若干个线圆结构来进行求解,对于途中经过的拐角圆弧,我们都将只考虑半径最小的情况,然
2、后建立解析儿何图形模型对可行走的不同路径进行求解,从而得到最短路径。对于问题一:我们根据儿何图形模型很容易求解岀可能行走的路径,然后列出二种明显的方案进行比较,得到最终的求出最短路径:0tA最短路径为:471.22190最短路径为:607.57830tC最短路径为:1090.942OtA->B—C->O最短路径为:2843.1693对于问题二,我们采用Dijkstra算法(见附录三),解出最短时间路径为:462.4194o本模型在建立过程小,始终以圆的公切线和弦为理论基础,确保模型的正确性,在求解数据过程中,因数据量大而
3、繁琐,我们用到了MATLAB软件对模型求解,确保了结果的准确性和有效性,适用于生活屮开车、赛车,对安全实际问题起到作用,有很强的实用性和借鉴性。关键词:最短路径儿何图形Dijkstra算法MATLAB软件机器人避障模型一、问题重述根据图(附录一)的一个800x800的平面场景图,在原点0(0,0)点处有一个机器人,它只能在该平面场景范帀内活动。图中有12个不同形状的区域是机器人不能与Z发生碰撞的障碍物,障碍物的数学描述见附录二:在图(附录一)的平面场景中,障碍物外指定一点为机器人要到达的目标点(要求目标点与障碍物的距离至
4、少超过10个单位)。规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若碰撞发生,则机器人无法完成行走。机器人直线行走的最大速度为v0=5个单位/秒。机器人转弯时,最人转弯速度为v=v(p)=—,其中°是转弯半径。如果超过该速度,机器人将发生侧]+e】o-o.s-翻,无法完成行走。
5、建立机器人从区域屮一点到达另一点的避障最短路径和最短时间路径的数学模型。对场景图中(见附录一)4个点0(0,0),A(300,300),B(100,700),C(700,640),具体计算:(1)机器人从0(0,0)出发,O—A、O—B、O—C和OtAtB->CtO的最短路径。(2)机器人从0(0,0)出发,到达A的最短时间路径。注:要给出路径中何段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标以及机器人行走的总距离和总时间。二、问题分析问题一、根据问题的分析,题1=1要求按照冃标点与障碍物的距离至少超过10个单位,以定点
6、0(0,0)行走绕过障碍物到达冃标点的最短路径,机器人不能与障碍物碰撞、不能折线转弯的因索下,到达的点有,机器人从0(0,0)出发,0-A、OtB、O->C和OO的最短路径,A、B、C的坐标为A(300,300),B(100,700),C(700,640),我们采用儿何图形来描绘岀起点到达终点的路线。先用包络线画岀机器人行走的危险区域路线,拐角处就是一个半径为10的圆弧,采用划直线的方法寻找可能的最短路径(比如求0和AZ间的最短路动径,就可以连接0和A之间的每条线段,求出0到A的线段长度便是0到A的一条可能的最短路径),
7、然后采用解析几何、平面图形、避障路径规划、决策算法解决最短路径。列出0到每个目标点的可能路径的最短路径,然后比较其大小便可得出0到目标点的最短路径。(1)、在0到A点时,有二条最短路径,在0到B点时,有一条最短路径。在0到C点时,有三条路径。(2)、0到A到B到C到0点的最短路径。根据每一个障碍物的特点,运用不同的线圆结构和几何图形,计算出达到每一个忖标点的最短距离。问题二、对问题二的分析,在问题一分析的基础上,以0点到达A点的最短时间路径,从起始点0(0,0)经过中间的若干个障碍物,按照解析几何的规则绕过障碍物到达目标
8、点,我们应该考虑经过障碍物拐点的问题和经过路径中的目标点处转弯的问题,这时简单的线圆结构就不能解决这种问题,我们在拐点及途中目标点处都采用最小转弯半径的形式,也可以适当的变换拐点处的拐弯半径,在拐点处增人或缩小圆的半径,提高机黠人的速度,使机器人能够沿直线到达目标点,用集合把每条线段的值表达出来,用儿何图形建立模型,