机器人避障问题论文

上传人:大米 文档编号:392325331 上传时间:2022-11-25 格式:DOC 页数:29 大小:477.50KB
返回 下载 相关 举报
机器人避障问题论文_第1页
第1页 / 共29页
机器人避障问题论文_第2页
第2页 / 共29页
机器人避障问题论文_第3页
第3页 / 共29页
机器人避障问题论文_第4页
第4页 / 共29页
机器人避障问题论文_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《机器人避障问题论文》由会员分享,可在线阅读,更多相关《机器人避障问题论文(29页珍藏版)》请在金锄头文库上搜索。

1、-D题 机器人避障问题摘 要本文综合运用分析法、图论方法、非线性规划方法,讨论了机器人避障最短路径和最短时间路径求解问题。针对问题一,首先,通过分析,建立了靠近障碍物顶点处转弯得到的路径最短、转弯时圆弧的半径最小时和转弯圆弧的圆心为障碍物的顶点时路径最短、转弯在中间目标点附近时,中间目标点位于弧段中点有最短路径的三个原理,基于三个原理,其次对模型进展变换,对障碍物进展加工,扩大为符合条件的新的区域并在转弯处圆角化构成障碍图,并通过扩大的跨立实验,得到切线和圆弧是否在可避障区的算法,第三,计算起点、中间目标点和最终目标点和各圆弧及圆弧之间的所有可避障切线和圆弧路径,最后给这些定点赋一个等于切线长

2、度或弧度的权值构成一个网络图,然后利用Dijkstra算法求出了O-A、O-B,O-C的最短路径为O-A:471.0372个单位,O-B:853.7001个单位,O-C:1086.0677个单位;对于需要经中间目标点的路径,可运用启发规则分别以相邻的目标点作为起点和终点计算,确定路径的大致情况,在进一步调整可得到O-A-B-C-O的最短路径为2748.699个单位。针对问题二,主要研究的是由出发点到达目标点A点的最短时间路径,我们在第一问的根底上考虑路径尽可能短且圆弧转弯时的圆弧尽量靠近障碍物的顶点,即确定了圆弧半径最小时的圆弧内切于要确定的圆弧时存在最小时间路径,建立以总时间最短为目标函数,

3、采用非线性规划模型通过Matlab编程求解出最短时间路径为最短时间路程为472.4822个单位,其中圆弧的圆心坐标为,最短时间为94.3332秒。圆弧两切点的坐标分别为70.88,212.92、77.66,219.87。关键字: Dijkstra算法 跨立实验 分析法 非线性规划模型 一.问题的重述图是一个800800的平面场景图,在原点O(0,0)点处有一个机器人,它只能在该平面场景*围内活动。图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物,障碍物的数学描述如下表:编号障碍物名称左下顶点坐标其它特性描述1正方形(300,400)边长2002圆形圆心坐标(550,450),半径70

4、3平行四边形(360,240)底边长140,左上顶点坐标(400,330)4三角形(280,100)上顶点坐标(345,210),右下顶点坐标(410,100)5正方形(80,60)边长1506三角形(60,300)上顶点坐标(150,435),右下顶点坐标(235,300)7长方形(0,470)长220,宽608平行四边形(150,600)底边长90,左上顶点坐标(180,680)9长方形(370,680)长60,宽12010正方形(540,600)边长13011正方形(640,520)边长8012长方形(500,140)长300,宽60在图1的平面场景中,障碍物外指定一点为机器人要到达的目

5、标点(要求目标点与障碍物的距离至少超过10个单位)。规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,假设碰撞发生,则机器人无法完成行走。机器人直线行走的最大速度为个单位/秒。机器人转弯时,最大转弯速度为,其中是转弯半径。如果超过该速度,机器人将发生侧翻,无法完成行走。请建立机器人从区域中一点到达另一点的避障最短路径和最短时间路径的数学模型。对场景图中4

6、个点O(0,0),A(300,300),B(100,700),C(700,640),具体计算:(1) 机器人从O(0,0)出发,OA、OB、OC和OABCO的最短路径。(2) 机器人从O (0,0)出发,到达A的最短时间路径。注:要给出路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标以及机器人行走的总距离和总时间。图 800800平面场景图二.问题的分析本问题的难点在于机器人要到达指定的目标点需要满足以下两个约束条件:1. 机器人的行走路径由直线段和圆弧组成,不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,且每个圆弧的半径最小为10个单位;2. 要求机器人行走线路与障碍物间的最近距

7、离为10个单位。因此,我们在建立模型求解机器人到达目标点的最短路径时需优先考虑这两个约束条件。首先我们可以根据约束条件将机器人行走的危险区域进展扩*,即所有的障碍物都向外扩*了10个单位。机器人所走的路径都是直线与圆弧的构成,故存在线和弧、弧与弧之间的切线,可以考虑在所有代表出发点与其它圆弧之间切线的顶点与源点连成一条边,权值均为0,同理在所有代表目标点到其它圆弧切线的顶点与终点连成一条边,权值均为0,这样题目就转化成了求源点到达终点之间的最短路径问题了。 对于问题二,要求最短时间路径,则要考虑的是要以最大速度行走。直线行走时就是最大速度,但在转弯圆弧处因为转弯半径越小,行走的速度就越慢,则需

8、在第一问的前提下增大圆弧的半径,则圆弧的转弯半径和圆心都不确定,通过建立模型确定O-A之间的转弯时圆弧的半径和圆心。三、模型的根本假设根据对该问题的分析,本文对所建立的模型提出以下根本假设:1.机器人的性能足够好,能准确地沿圆弧转弯2.机器人行走过程中不会意外停顿3.图中所给数据障碍物都是真实的4.机器人能够抽象成点来处理四、符号说明指每段路径的长度:机器人直线行走时的最大速度:机器人的最大转弯速度:每段路径所用的时间五、模型的建立与求解5.1模型的准备 模型的准备一首先给出以下三个前提及其证明:1.靠近障碍物顶点处转弯得到的路径最短如图1所示:图1设A为起点,B为终点,矩形的阴影局部是障碍区

9、,C为障碍物的顶点,D为障碍物外任意一点,连接AD,BD,AC,BC延长交AD于E点,因为在三角形中两边之和大于第三边,所以有:BD+DEBE;BE=BC+CE;AE+CEAC;AD=AE+DE;两个不等式相加,得:AE+DE+AE+CEBE+AC;即:BD+ADAC+BC.于是,得证由A到B在顶点C处转弯时为最短路径。2.转弯时圆弧的半径最小时路径最短和转弯圆弧的圆心为障碍物的顶点时路径最短要证明机器人转弯时圆弧的半径最小时路径最短,则可以把P到A的路径比拟成一条弹性绳,由于路径要绕过障碍物,故要拉长弹性绳以绕过障碍物,由于机器人转弯时只能是走圆弧路径且有圆弧半径约束,即可以在障碍物的顶点处

10、参加圆环,将其圆心固定在顶点处,由于弹性绳的弹性势能和伸长量存在如下能量关系:,故弹性绳弹性势能最小时伸长量最小,此时正是路径最短的情况:如图2所示: 图2 根据最小势能原理可知,当弹性体平衡时,系统势能最小。即弹性体在自由条件下,有由高势能向低势能转化的趋势。现在将圆环看成也有弹性,在如以下图的条件下为初始状态。圆环受力为F,此时圆环有缩小的趋势,随着圆环的缩小系统趋于平衡,弹性绳有最小势能。由能量守恒也可以说明,弹性绳的弹性势能转化为弹性圆环的弹性势能,于是弹性绳的弹性势能减小。因此,随着圆环的半径的减小,弹性绳的势能减小,即最短路径变短。所以转弯时圆弧的半径最小时路径最短。转弯圆弧的圆心

11、为障碍物的顶点时路径最短。3.转弯在中间目标点附近时,中间目标点位于弧段中点有最短路径当机器人从O点出发不能直接到达另一目标点,而需经过中间目标点A时,则必须在A点转弯处形成一个圆弧,中间目标点位于弧段中点时且半径最小时有最短路径,下面给予证明:由上述2的证明可仍然采用此证法,设从两转向处引出一根弹性绳,要使其经过A 点,如以下图,在其自然伸长的前提下,必定会在A 点出弯折。由于机器人有转弯时圆弧的半径最小时路径最短,从两转向处引出一根弹性绳,要使其经过A 点,如以下图,在其自然伸长的前提下,必定会在A 点出弯折。由于机器人有最小转弯半径约束,故在A 处加一最小转弯半经的圆,即r=10个单位,

12、使其受力平衡时,即为路径的最优解。根据以上证明作出如以下图形(图3):图3作法:过A点分别作圆上M,N的切线,作的角平分线,在上距离A点10个单位处选取一点O,以O为圆心,10个单位为半径,作圆O,再过M,N分别作圆O的切线,即为路径。模型准备二:切线的剔除:基于上述准备一的三个前提条件和题中给出的两约束条件即1机器人的行走路径由直线段和圆弧组成,不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,且每个圆弧的半径最小为10个单位2要求机器人行走线路与障碍物间的最近距离为10个单位。故存在一些不符合要求的切线,要将这些切线剔除,可做示意图如下: 图4如以下图,阴影局部为障碍物,用圆来代表弧,

13、AC、BC、AD、BD、EH、FG分别如图示的切线,由于AD、BC、BD、FG、EH经过障碍物,所以要剔除,AC为符合要求切线。(图中应该剔除的切线用虚线表示)。模型准备三由上准备一和准备三可知,对于机器人转弯的路径按照一个圆弧、两个圆弧、三个圆弧等多个圆弧枚举出转弯的情况:转过了一个圆弧,如图5:图5如图,设(),O(),(),、的坐标分别为和,, 则: ,,又=,可知:,故B到A的路径长度为: 。其中,即。并且利用相切的关系可以得出下面两个方程: 可以解出切点,同理可以解出切点。转过了两个圆弧,如图6:情况一: 图6假设两圆心坐标分别为和,半径均为,O点坐标为,则容易求得:这样我们就可以利

14、用只有一个圆弧中的方法,先求A到O,再求O到B,于是分两段就可以求解。同理如果有更多的转弯,同样可按照此种方法分解。情况二: 图7设圆心坐标分别为和,半径均为,的长为,长为,长为,长为,长为;,;由这些点的几何关系可以得到:其中:, ,. 则,所以: .情况三:当障碍物本身是个圆弧时:图8此种情况计算路径的方法同情况二。综上几种情况的讨论,可以知道:机器人的避障路径都是由以上几种情况组成,故我们在求由O 点到各目标点时路径长度都可以将路径分解成以上几种情况来求解。5.2模型的建立与求解5.2.1问题一的模型建立与求解模型的建立:题中给出了12个多边形障碍物的区域,故我们根据图中的约束条件利用M

15、atlab(程序见附录一)将障碍物扩大为如图9:图9即形成一个新的障碍区域,先求出所有的切线,包括出发点和目标点到所有圆弧的切线以及所有圆弧与圆弧之间的切线,给这些定点赋一个等于切线长度的权值,如果*两条切线有一个公切圆弧,则代表这两条曲线的顶点是一条直线的两个端点,边上的权值等于这两条切线之间的劣弧长度。则在所有代表出发点与其它圆弧之间切线的顶点与源点连成一条边,权值均为0,同理在所有代表目标点到其它圆弧切线的顶点与终点连成一条边,权值均为0,这样题目就转化成了求源点到达终点之间的最短路径问题了,这里最短路径就是指经过所有顶点与边的权值之和最小。对于最短路径的求解,有以下步骤:1画出出发点和目标点和各个圆弧的切线,以及圆弧与圆弧之间的切线,但是切线有可能经过障碍物的内部或危险区域,也可能出现切线重复的状况,既有很多不合理的切线,再根据约束条件我们对模型做了以下修正:l 检验切线两个端点是否在障碍物内部。l 检验切线两切线是否相交l 检验

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号