本文研究报告了机器人避障最短路径和最短时间问题.docx
《本文研究报告了机器人避障最短路径和最短时间问题.docx》由会员分享,可在线阅读,更多相关《本文研究报告了机器人避障最短路径和最短时间问题.docx(18页珍藏版)》请在冰豆网上搜索。
本文研究报告了机器人避障最短路径和最短时间问题
本文研究了机器人避障的最短路径和最短时间问题,主要研究了在一个区域内存在12
个不同形状的障碍物,由出发点到达目标点避开障碍物的最短路径和最短时间两个问题。
首先,利用已学的数学知识证明了具有圆形限定区域的最短路径是由线圆结构组成的,并且机器人转弯时的圆弧是以障碍物的顶点为圆心,10个单位为半径的圆弧时,路径
最短。
其次,对于途中需要多次转弯到达目标点的状况,适当扩大拐点处的转弯半径,使得机器人能够沿直线通过途中的目标点,从而减少转弯次数。
再次,我们针对问题一的四种路径给出了每种路径的所有可能的行走方案,然后运用绘图工具软件几何画板和matlab等进行图示和运算,得出最短路径如下
距离
距离
距离
距离
1**]|
1—|
1"11
「■—■1
470.96
853.55
1088.78
2756.03
最后,在最短时间问题中,我们建立了所需时间关于转弯时圆弧的圆心坐标一|和半径
的一般模型,然后通过前面的猜想,分析出了从1_的最短时间路径所经过的圆弧的圆心
必然在正方形障碍5的对角线上,并且圆弧通过点I■然后运用
MATLAB^件,通过编程计算出了最短时间为94.2283。
一、问题重述
1.1背景材料:
在一个800X800的平面场景,在原点<0,0)点处有一个机器人,他只能在该平面场景内活动,图中12个不同形状的区域是机器人不能碰撞的障碍物,障碍物描述如下:
编号
障碍物名称
左下顶点坐标
其它特性描述
1
正方形
(300,400>
边长200
2
圆形
圆心坐标(550,450>,半径70
3
平行四边形
(360,240>
底边长140,左上顶点坐标(400,330>
4
三角形
(280,100>
上顶点坐标(345,210>,右下顶点坐标
(410,100>
5
正方形
(80,60>
边长150
6
三角形
(60,300>
上顶点坐标(150,435>,右下顶点坐标
(235,300>
7
长方形
(0,470>
长220,宽60
8
平行四边形
(150,600>
底边长90,左上顶点坐标(180,680>
9
长方形
(370,680>
长60,宽120
10
正方形
(540,600>
边长130
11
正方形
(640,520>
边长80
12
长方形
(500,140>
长300,宽60
1.2问题提出:
问题一:
建立机器人从区域中一点到达另一点的避障最短路径和最短时间路径的数学模
型。
对场景图中4个点0(0,0>A(300,300>B(100,700>C(700,640>中计算机器人从
0(0,0>Ofa、OfB、OTC和OfatBtCtO的最短路径。
问题二:
机器人从O(0,0>A的最短时间路径。
注:
要给出路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标以及机器人行走的总距离和总时间。
二、问题分析
1、问题一中要求由定点<0,0)按照一定的行走规则绕过障碍物到达单一目标点的最短
路径,我们可以先用线段和半径为10个单位的小圆画出机器人行走的危险区域,这样
的话,拐角处就是一个半径为10的圆弧。
在生活中我们有这样的常识,在空间中求两
点<如,)间的最短路径,我们就可以连接和之间的一段绳子,以拐角处的圆弧
为支撑,然后拉紧绳子,那么这段绳子的长度便是到的一条可能的最短路径,我们
如今采用的就是这种办法。
同理,我们用软件画出由点到目标点的每种路程最短的可
能路径,然后比较其大小便可得出O到目标点的最短路径。
800
2、问题一的第二问中要求由定点J<0,0)经过中间的若干目标点到达最终目标点,这
使我们考虑就不仅仅是经过障碍物拐点的问题,也应该考虑经过路径中的目标点处转弯的问题,这时简单的线圆结构就不能解决这种问题,我们在拐点及途中目标点处都采用最小转弯半径的形式,也可以适当的变换拐点处的拐弯半径,使机器人能够沿直线通过途中的目标点,然后建立优化模型对这两种方案分别进行优化,最终求得最短路径。
三模型假设与符号说明
3.1模型假设
1•假设机器人为一个质点。
2•假设障碍物的数学描述准确无误。
3•假设机器人的速度不受其他外部因素影响。
3.2符号说明
符号
符号说明
L
路径的总长度
a
第』段切线的长度
0
第勺段圆弧的长度
0
转弯半径
L
d
第i个特征顶点符号
4
第i个点x轴坐标
第i个点y轴坐标
d
机器人是否从i顶点到j顶点
第i个顶点到第j个顶点的距离
四模型的建立与求解
4.1猜想证明
猜想:
具有圆形限定区域的最短路径是由两部分组成的:
一部分是平面上的自然最短路径<即直线段),另一部分是限定区域的部分边界,这两部分是相切的,互相连接的。
的切线。
两点之间线段最短,很明显图中外环路径比内环路径长,从而易得任意隔着障碍物两点间最短距离都是和障碍物边界相切时最短。
由此可得,亦即路径AEHB的长度超过路径AKLB的长度。
以上证明足以说明了
AKLB是满足条件到的最短路径。
4.2模型一的建立
有了4.1中的定理我们就可以这样认为起点到目标点无论中间障碍物有多少,最短路径都应该是若干个线圆结构所组成。
在本题中存在障碍物的状况且障碍物在拐点处的危险区域是一个半径为10的圆弧,所以结合定理我们易知求两点之间的最短路径中的转弯半径我们应该按照最小的转弯半径来算才能达到最优。
线圆结构结构一
如上图,设.为起点,I为目标点,.“丨和一一丨分别为机
器人经过拐点分别于隔离危险线拐角小圆弧的切点,圆心为―I0<7:
|,圆的
半径为Zl,B的长度为E1,
H的长度为El,3的长度为」,角度
[弋』IK.[K[
5J
解法如下:
如上图可得有以下关系:
,「^J.求匀的长度,设为却.
K1:
在:
a
1K1
a
在d中:
所以
一■
从而可得
时间:
T=—F:
斗占+[-厂斗寿+F#手
1+严5
(2)而对于下面的两种情况,我们不能直接采用线圆结构来解决,所以对此我们做了简单的变换处理。
一:
两圆内切时
"51fw]冈
如图所示,假设两原圆心分别为0<,)和01<,),两圆的半径均为r,则很容易求出M点的坐标为
这样就可以用M这样就可以用点M将A到B的路径分为两段便可利用1中的方法先求A到M的路径的长度再求M到B的路径的长度两段之和即为A到B的路径的长度。
同理如果有更多的转弯同样可以按照此种方法分解。
两圆外切时
如图所示,依然设两圆圆心分别0<,)和01<,),两圆的半径均为
r,则很容易得到
”-珀-片
Koor~
那么001直线的方程为:
又因为公切线DE与001平行,所以易得公切线DE的直线方程为:
y=■斗)++c
其中,
圆0的方程为:
J("丈$儿卩=10
圆01的方程为:
则把公切线的方程与圆的方程联立,可以求得切点D和E的坐标。
通过D和E的坐
标可以求出DE中点G的坐标,即用点G作为分割点可以将上图分割成两个如上图所示的线圆结构,那么就可以对其进行求解。
同理多个类似的转弯时,用同样的方法可以进行分割。
4.3最短时间模型的建立
根据已经证明的猜想和模型一,可以想到,从到的最短时间路径所经过的的弧的
圆心在正方形5的对角线上。
因为:
在正方形5外做圆,必然使路径增的过大,而速度增大量很小,不足以弥补路径增长所带来的时间的增长,如图:
1•现在考虑正方形内部的情况:
在正方形5对角线上一点做圆与限定区域相切。
正方形内任
一不在对角线上的点为圆心,以半径为半径画圆,圆必然与限定区域相交,不符合条件,如图:
2以正方形内任一不在对角线上的点为圆心,与限定区域相切,
径,此时由猜想一可知过
故可知,最短时间路径所经过的弧的圆心必在正方形5的对角线上。
4.4最短路径的求解
4.4/冋,吕取值
由机器人行走路线边界条件,问题分析模块图二已经画出新的障碍物边界,各特征顶点标号对应坐标表1所示。
Ix1
各特征顶点标号对应坐标
标号
X轴
丫轴
标号
X轴
Y轴
标号
X轴
Y轴
v1
0
0
v16
227
463
v31
633
513
v2
73
53
v17
227
537
v32
550
530
v3
237
53
v18
247
593
v33
533
593
v4
73
237]
v19
393
337
v34
507
607
v5
273
93
v20
507
233
v35
277
687
v6
237
217
v21
547
337
v36
363
673
v7
53
293
v22
550
370
v37
437
673
v8
417
93
v23
497
390
v38
533
737
v9
345
220
v24
247
593
v39
630
590
v10
242
293]
v25
100
700
v40
727
513
v11
150
445]
v26
247
593
v41
727
607
v12
493
132
v27
173
687
v42
680
610
v13
493
207
v28
293
60
v43
677
737
v14
353
233
v29
510
520
v44
700
640
v15
300
300;
v30
630
450
4.4.2取值
由前面符号说明可知表示机器人是否从顶点到顶点,则引入I变
量」,赋值如下:
4.4.3两点之间的距离
根据题目中的已知条件,场景图内任意相邻障碍物顶点的距离可用下式计
我们用MATLABS程<参见附录的floyd算法),计算得到任意机器人有可能行走的特征顶点两点之间的距离如下表2所示。
为后面的搜索算法,规划路
径做了很好的准备。
特征顶点两点之间的距离表
终起点的距离百
89
229
165
165
52
80
141
165
126
145
路线起点(顶点标号>
Vi
V1
V2
V3
V4
V4
V4
V5
V5
路线终点(顶点标号>
V2
V4
V3
V4
V5
V
V15
V
V6:
V9
终起点的距离可
104
187
60
92
17
82
180
80
93
111
路线起点(顶点标号>
V6
V4
V10
V9
V9
V14
V7
Vn
V^5
V14
路线终点(顶点标号>
V15
V10
V15
V15
w
V15
V11
V16
V18
V19
终起点的距离H
102
156
156
37
96
74
102
56
204
125
路线起点(顶点标号>
V15
V14
V19
V^1
“8
V17
V17
V17
V18
V^2
路线终点(顶点标号>
V19
Wo
V21
V^2
"6
V16
V26
V^3
V30
终起点的距离因
115
73
99
101
203
84
96
86
76
89
路线起点(顶点标号>
V26
V^5
V26
V?
4
V18
V28
V28
VJ5
V36
路线终点(顶点标号>
V25
V^7
V27
V35
V24
V35
V36
V
V37
V34
终起点的距离目
103
213
215
62
95
30
114
66
97
43
路线起点(顶点标号>
V24
V18
V28
V32
V
V34
V
V
V41
V41
路线终点(顶点标号>
V26
V
V34
V
V54
V33
V38
V
V40
V44
4.4.4O到A距离的求解
如图,就是0到目标点的最短路径问题,首先由floyd算法,我们知道最短路径
只能是图中a,b两条路径之一,我们分别计算出每段路径的长度的和得:
方案a最短路径
为471.04,方案b最短路径为498.76。
从而我们知道从到上的最优路径为方案a。
4450到B的距离的求解
如图,解决的是0到目标点凶的最短路径问题,首先由floyd算法,我们知道最短
路径只能是图中a,b,c两条路径之一,方案a长度为945.99,方案b长度为877.8,方案c长度为853.9,由此可知从耳到的最优路径为c方案。
4.4.60到C距离的求解
8001---1……-|
B9
如图,解决的是o到目标点耳的最短路径问题方案a长度为1088.63,方案b长度为1102.2,由此我们知道从到的最优路径为方案a。
4.4.70经过ABC三点再到0距离的求解
800
€
L_
400
12
200
由于最后又要回到O点,用floyd算法和前面的假设证明得到的最短路径如图所示,
经过计算得到的最短路径长度为2508.8
1/
10
Ji:
2
4.4.8O到A最短时间的求解