机器人避障问题数学建模论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011高教社杯全国大学生数学建模竞赛
承诺书
我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A/B/C/D中选择一项填写):
我们的参赛报名号为(如果赛区设置报名号的话):
所属学校(请填写完整的全名):
参赛队员(打印并签名) :1.
2.
3.
指导教师或指导教师组负责人(打印并签名):
日期: 2011 年 9 月 11 日赛区评阅编号(由赛区组委会评阅前进行编号):
2011高教社杯全国大学生数学建模竞赛
编号专用页
赛区评阅编号(由赛区组委会评阅前进行编号):
全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):
机器人避障问题
摘要
本文通过在给定的平面场景范围内对机器人就如何躲避12个不同形状障碍物区域的避障行走问题进行探究,在出发点到目的点的多种情形中进行选择,并根据要求,保证所走的路线为直线段和圆弧。
继而探究避障的最短路径及最短时间路径的数学模型,在此探究过程中,运用穷举法,进行各种行走路线的CAD绘图,利用平面几何的点、线、圆的关系求解行走路径所经过点的坐标、线段长度、和弧长,在各总长度中进行比较,找出最短路径。
最终,根据机器人速度的数据,建立最短时间路径的数学模型,运用LINGO软件最终求出最短时间的路径。
针对问题一,根据题意,为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,可分别以障碍物的边界处绘制以10为半径的圆,从而确定安全的可行走的活动范围。
利用平面几何知识,在给定的障碍物的坐标的基础上,求解各路径下的直线段和圆弧的长度并加总求和,利用平面几何的知识,假设未知切点坐标和圆心,以及根据固定点的坐标,建立模型,求解路线的距离。
进而,比较同一目的地不同路径的总长度,最终,求得最短路径,结果如下所示:
O→A:471.03; O→B:853.77; O→C:1055.063;
O→A→B→C→O:2701.932
对于求解O→A→B→C→O路径时,将路径划分为若干个切线圆结构来求解,建立目标函数,并利用目标函数建立优化方程组,运用LINGO软件,求解确定过A,B,C 点圆弧不同圆心的坐标
针对问题二,由于转弯速度的不同,在问题一的基础上求解出转弯半径的取值范围,建立以转弯半径为变量的最短时间路径模型,并通过LINGO软件求解,并通过CAD软件做出求解路径的具体图形。
关键词:避障最短路径穷举法CAD LINGO 平面几何优化模型
目录
摘要 (1)
1 问题重述 (1)
2 问题分析 (2)
3 模型假设 (2)
4 符号说明 (2)
5 模型的建立与求解 (3)
5.1 问题一的模型 (3)
5.1.1 模型建立 (3)
模型I (3)
5.1.2 模型求解 (7)
5.2 问题二的模型 (14)
5.2.1 模型建立 (14)
模型II (16)
5.2.2 模型求解 (16)
6 模型的评价与改进 (117)
7 参考文献 (17)
1 问题重述
在一个800*800的平面场景图中,如图,在已知的12个不同形状障碍物的坐标区域,机器人从以原点(0,0)出发前往不同的目标点,并且不能与障碍物发生碰撞。
障碍物的数学描述如下表所述:
在机器人的行进过程中,规定机器人所走的路径为直线和圆弧所组成(不可有折线转弯),其中与直线相切的圆弧为不与障碍物发生碰撞的转弯路径,也可以由多个相切的圆弧路径组成,每个圆弧的半径最小为10个单位,否则将发生碰撞,导致机器人无法完成行走。
机器人直线行走的最大速度为50=v 个单位/秒,转弯时,最大的弯速为
2
1.0100
1)(ρ-+=
=e v p v v ,其中ρ是转弯半径。
若超过该速度,则机器人侧翻,无法完
成行走。
根据以上所给信息,建立机器人从区域中一点到达另一点的避障最短路径和最短时间路径的数学模型。
对场景中的4个点O(0,0),A(300,300),B(100,700),
C(700,640) 具体计算。
(1) 机器人从O(0, 0)出发,O→A 、O→B 、O→C 和O→A→B→C→O 的最短路径。
(2) 机器人从O (0, 0)出发,到达A 的最短时间路径。
注:要给出路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标以及机器人行走的总距离和总时间。
2 问题分析
本文研究的是以(0,0)为起点,以800*800为平面场景的机器人避障行走问题,在给定的明确的障碍物的坐标位置的前提下,按照一定的行走路径绕过障碍物达到目的点的最短路径进行分析,且给定的路径行走方式为仅可以直线段与圆弧,对最短路径的行走给出方案,建立可行的避障定位最短路径和最短时间路径的数学模型。
问题1中,首先根据给定的10个单位的障碍距离,绘制出机器人允许行走的活动区域。
接着,利用平面几何的知识以及导数原理,找出最短路径的制定方法,得出圆弧的半径越小,得到的路径也相应的最短的结论,据此证明所绘制的路径为最短路径。
其次,将到不同目标点,O(0,0),A(300,300),B(100,700),C(700,640),四个点的最短路径的情况绘制出,在拐角处绘制以方形或圆形的障碍物的顶点为10单位半径的圆弧(圆形的障碍物即以障碍物的圆心为圆心,障碍物的半径加10单位为半径的圆弧)。
在此,制定求解路径长度及起始点的坐标,分4种情况进行分析。
最终,对各条路径的直线段和圆弧进行加总求和,求得总长度,比较同一目标点下不同路径,最短的即为最短路径。
依据此方法,建立最短路径的数学模型,并求解直线,圆弧起点,终点坐标,圆弧的圆心坐标。
问题2中,O→A的最短路径由距离和速度决定,而直线和转弯的速度不同。
因此需建立转弯半径为变量的优化模型,此时,建立将转弯半径的取值范围为约束条件,由此,建立模型求解最短时间距离。
3 模型假设
1、假设障碍物的位置固定不变,且只包含长方形,正方形,平行四边形,三角形,圆形,题目中所给的数据准确无误。
2、假设机器人是一个不被考虑大小的点,即可作为质点,本身宽度不计。
3、假设机器人的性能足够好,在行走的时候不出现故障,且能准确的沿着圆弧转弯。
4、假设机器人可以无限接近边缘行走,忽略机器人转弯的时间。
4 符号说明
表1 符号说明表
符号描述
L原点到直线A的长度
1
L A到下一切点直线段的长度
2
r圆弧半径
⋂
EF机器人过圆弧长度
T i表示第i个障碍物,j表示由左下角逆时针旋转的第j个角
ij
5 模型的建立与求解
5.1问题一(求解最短路径) 5.1.1模型分析
1确定机器人可行区域
由于要求的目标点与障碍物的距离至少超过10个单位的距离,且行走路径为直线段与圆弧组成,无直线转弯,可绘制出机器人的活动区域,利用CAD 制图软件,绘制图形。
2绘制路径的原则
题目要求在机器人允许的活动区域内,绘制出机器人到达不同目标点的线路图。
规定机器人的行走路径由直线段和圆弧组成(转弯路径由与直线路径相切的一段圆弧组成,机器人不能折线转弯)。
所以将模型简化为在已知两个固定点和圆弧圆心的情况下,确定圆弧半径r 为何值时,才能使机器人行走布局路径最短。
局部简化路线图如图1:
图1
1)圆弧半径与路径长度关系
假设图中固定点的坐标分别为),(11b a A 、),(22b a B ,圆弧圆心为),(n m O ,圆弧半径为r 。
线AC 和线BD 分别相切于圆O 于点C 、D ,各圆心角分别为AOC ∠=∠α,BOD ∠=∠β,BOD ∠=∠γ,COD ∠=∠ω,线段AO 、BO 、AB 、的长度分别为c b a ,,。
根据勾股定理可以分别计算c b a ,,的长度为:
⎪⎪
⎩
⎪⎪⎨⎧-+-=-+-=-+-=2212212
2222
1
21)b (b )a (a c )b (n )a (m b )b (n )a (m a (1) 且在AOB BOD AOC ∆∆∆、、中γβα∠∠∠、、满足如下三角函数关系:
⎪⎪⎪⎩
⎪
⎪
⎪⎨⎧-+=∠=∠=∠ab c b a b r a r 2arccos arccos arccos 2
22γβα (2)
(由于c b a 、、三条线段均可由已知条件计算出,所以γβα∠∠∠、、也为已知角)
再根据机器人所走路线结构和公式(2)计算出的角度,可建立路径长度关于圆弧
半径r 的函数关系:
r
ab
c b a b r a r r b r a r
r b r a r r b r a r L )2arccos -arccos -arccos -2()2()(2
222
2
2
2
22222222-++-+-=---+-+-=+-+-=πγβαπω(3)
2)求解最短路径下的r
根据路径与圆弧半径的关系式(3),对未知量r 求导,求出最短路径下的r 。
求导结果为:
ab
c b a b r a r dr dL 2arccos -arccos -arccos 22
22-+-=π (4) γα∠∠、均在直角三角形中,所以90<∠+∠βα,则求导结果可以近似看为:
0>∠-≈βπdr
dL
(πβ<∠) (5) (路程函数对于r 求导的结果大于0,所以函数关系为单调递增函数)
得出绘制路径原则
制定机器人行走路线时,圆弧半径应为要求中的最小值10个单位。
理由:根据求导结果(4),可知当圆弧半径r 逐渐增大时,机器人行走弧线结构的路程最大,r 逐渐减小时,路程逐渐减小。
题目要求离障碍物最近距离为10个单位,所以当圆弧半径为10时,路程最短。
所走圆弧的圆心为障碍物定点。
理由:两点之间直线最短,所以尽量要直线靠近目标点,当无法直线行进时要尽量保证躲避障碍物所走弧线最短,即以障碍物顶点为圆心下最小要求距离为半径的圆弧最短,才不会产生绕远现象(障碍物2本身为圆,所以圆弧圆心为障碍物2的圆心,半径为障碍物2的半径)。
3求解路径长度以及点坐标(路径起始点和终点坐标)的方法 在进行绘制路径的过程中,经归纳可以将路径长度的计算分为三钟类型,第一,(点到弧)已知点到圆弧,第二,(弧到弧)公切线与两圆心的连线平行;公切线与两圆心的连心相交。
三,弧长的求解
(1)已知点到圆弧
图2
如图2中固定点的坐标分别为),(11b a A 、),(22b a B ,圆弧圆心为),(n m O ,圆弧半径为r (为最小半径10=r ),线AC 和线BD 分别相切于圆O 于点C 、D ,切点D C 、坐标未知,设坐标分别为),(11y x 、),(22y x 。
根据已知坐标和数据可以求出BD AC 、线段的长度为:
求AC 长度⎪⎪⎩
⎪
⎪⎨⎧-==-+-=222
1
21)()(CO AO AC r CO b n a m AO (6)
求BD 长度⎪⎪⎩
⎪
⎪⎨⎧-==-+-=222
2
22)()(DO BO BD r CO b n a m BO (7)
在求出线段BD AC 、后,可以根据方程求解确切的切点D C 、坐标:
求切点C 坐标⎪⎩⎪⎨⎧-+-=-+-=2
121211211)
()()
()(n y m x r b y a x AC (8)
求切点D 坐标⎪⎩⎪⎨⎧-+-=-+-=2
222222222)
()()
()(n y m x r b y a x BD (9)
由于方程组(8)、(9)均为二元二次方程组,可以用MATLAB 软件进行求解。
(2)切点连线与圆心平行
图3
如图3,已知圆心
),(21n m O 、),(22'
n m O ,两圆弧的半径均为最短半径10=r 。
未知点为切点B A 、,设其坐标分别为),(21y x 、),(22y x 。
图3中四边形O ABO '为矩形,所以切线段AB 的长度等于线段'
OO 的长度:
2
12212')()(n n m m OO AB -+-==
在结合AB 的长度,和三角形勾股定理建立方程,求出切点坐标
求切点A 坐标⎪⎩⎪⎨⎧+=-+--+-=2
222
1221211211)()()
()(r AB n y m x n y m x r (10)
求切点B 坐标⎪⎩⎪⎨⎧+=-+--+-=2
2212212222222)()()
()(r AB n y m x n y m x r (11)
(3)切点连线与圆心连线相交
图4
如图4,已知圆心),(21n m O 、),(22'
n m O ,两圆弧的半径均为最短半径10=r 。
未
知点为切点D C 、,设其坐标分别为),(21y x 、),(22y x 。
切点连线与圆心连线的交点为E 。
根据三角形全等规律,可以证明ED O OEC '
∆≅∆,此时E 为线段CD 的中点,切线CD 的长度计算公式为:
2
212
1212
1)2(
)2(
2r n n n m m m CD --++-+=
根据所求CD 长度和已知坐标点,列出关于切点的函数方程组并求解出(计算机求解)切点具体坐标。
函数方程组具体如下:
求切点C 坐标
⎪⎩⎪
⎨⎧=-++-+-+-=2)2()2()()(2
1
2121212
1
1211CD y n n x m m n y m x r (12) 求切点D 坐标
⎪⎩⎪
⎨⎧=-++-+-+-=2)2()2()()(2
2
2122212
2
2222CD y n n x m m n y m x r (13) (4)求弧长
图5
在以上3种情况中我们均可求出切点坐标,),(11b a C 、),(22b a D ,圆弧圆心为),(n m O ,
圆弧半径为r (为最小半径10=r )。
根据余弦定理可得
OD OC CD OD OC COD **-+=∠2cos 2
22 (14)
OD
OC CD OD OC COD **-+=∠=2arccos 2
22α (15)
并且有已知条件可得:
⎪⎪⎩
⎪⎪⎨⎧-+-=-+-=-+-=2212212
2222
1
21)()()()()()(b b a a CD n b m a OD n b m a OC (16)
弧长为:
r CD *=⋂
α (17)
5)特别注意
由于障碍物2本身为圆,所以求解其上行走的切点坐标时,应对圆弧半径进行相应改正。
将半径10=r 改为80=r (80为障碍物本身半径70与障碍物和机器人之间最短距离10之和)。
切求解点的坐标时,不能运用求交叉点的方法,需另行计算。
5.1.2求解最短路径
根据前面已证明绘图原则和求解路径长度和起始点坐标的方法,在求得线路C O B O A O →→→,,的最短路径的基础上求得O C B A O →→→→ 路径。
1)A O →最短路径
(1)根据所制定的绘制路径的原则,在场景图中,绘制全部的A O →路径,有两条线路1,2,如下图2所示:
图6
(2)根据制定的求解路径长度和起始点坐标的方法进行求解,可得出A O →所走
路径长度的具体坐标如下表1所示:
表2:O→A路线1 O→A
路线
1
O→T52→A
路线1 起点坐标终点坐标圆弧角
度
路线距离
(弧长)O→T51 (0,0) (70.5,213.1) 224.4994 圆弧1 (70.5,213.1) (76.6,29.4) 52°9.051
T51→A(76.6,29.4) (300,300) 237.486
机器人行走总路程471.03
表3: O→A路线2
O→A 路线2
O→T54→A
路线1 起点坐标终点坐标圆弧角
度
路线距离
(弧长)O→T54 (0,0) (232.1,50.2) 237.486 圆弧1 (232.1,50.2) (239.7,57.6) 52°9.051 T51→A(239.7,57.6) (300,300) 249.799 机器人行走总路程498.4258
由表2,表3,比较可得出O→A线路1是其最短路径的长度,为471.03 2)B
O→最短路径
(1)根据所制定的绘制路径的原则,在场景图中,绘制全部的B
O→路径,如下图X所示
图7
(2)根据制定的求解路径长度和起始点坐标的方法进行求解,可得出B
O→所走路径长度的具体坐标如下表2所示:
表4:O→B线路1
O→B 路线1
O→T61→T62→ T72→T73→T73→T81→B
路线1 起点坐标终点坐标圆弧角度路线距离
(弧长)O→T61 (0,0) (50.2,301,6) 305.777 圆弧1 (50.2,301.6) (51.7,305.5) 24° 4.239 T61→T62 (51.7,305.5) (141.7,440.5) 162.249 圆弧2 (141.7,440.5) (147.9,444.8) 45°7.776 T62→T72 (147.9,444.8) (220.04,460.2) 75.663 圆弧3 (220.04,460.2) (230,470) 78°13.655 T72→T73 (230,470) (230,530) 60
圆弧4 (230,530) (225.5,538.35) 57°9.884 T73→T81 (225.5,538.35) (144.5,591.6) 96.95 圆弧5 (144.5,591.6) (140.7,596.3) 35° 6.1473 T81→B(140.7,596.3) (100,700) 111.44
机器人行走总路程853.77
表5:O→B线路2
O→B 路线2
O→T51→T63→T73→T81→B
路线1 起点坐标终点坐标圆弧角度路线距离
(弧长)O→T51 (0,0) (70.3,210.05) 224.4992 圆弧1 (70.3,210.05) (76.01,219.03) 48°8.46
T51→T63 (76.01,219.03) (239.02,290.84) 178.11 圆弧2 (239.02,290.84) (244.98,300.65) 70°12.217 T63→T73 (244.98,300.65) (229.97,530.65) 230.488 圆弧3 (229.97,530.65) (225.55,538.41) 57°9.94
T73→T81 (225.55,538.41) (144.51,591.64) 96.95 圆弧4 (144.51,591.64) (140.69,596.38) 35° 6.108 T81→B(140.69,596.38) (100,700) 111.44
机器人行走总路程878.21
表6: O→B线路3
O→B 路线3
O→T53→T63→T73→T81→B
路线1 起点坐标终点坐标圆弧角度路线距离
(弧长)O→T53 (0,0) (232.11,50.22) 237.4868 圆弧1 (232.11,50.22) (239.84,59.611) 77°13.43 T51→T63 (239.84,59.611) (244.99,299.79) 240.05 圆弧2 (244.99,299.79) (244.98,300.65) 5°0.87
T63→T73 (244.98,300.65) (229.97,530.65) 230.488 圆弧3 (229.97,530.65) (225.55,538.41) 57°9.94
T73→T81 (225.55,538.41) (144.51,591.64) 96.95
圆弧4 (144.51,591.64) (140.69,596.38) 35° 6.108
T81→B(140.69,596.38) (100,700) 111.44
机器人行走总路程946.76
由表4,表5,表6,比较可得O→B的三条路径中,最短的路径为路线1,为853.77 O→最短路径
3)C
O→路径,如下图(1)根据所制定的绘制路径的原则,在场景图中,绘制全部的C
X所示
图8
O→所走(2)根据制定的求解路径长度和起始点坐标的方法进行求解,可得出C
路径长度的具体坐标如下表1所示:
表7:O→C线路1
O→T61→T62→T74→T12→T94→T102→T103→C
路线1 圆弧角度路线距离
(弧长)
O→T61 305.77
圆弧1 24° 4.188
T61→T62 162.2698
圆弧2 45°7.8539
O→C 路线1
T62→T7475.66 圆弧3 54°9.4247 T74→T12151.32 圆弧4 42°7.3303 T12→T94151.327 圆弧5 10° 1.7453 T94→T102119.16 圆弧6 34° 5.9341 T102→T103130 圆弧7 77°13.439 T103→C94.38 机器人行走总路程1239.802
O→C 路线2
O→T52→T32→T2→T114→T113→C
路线1 圆弧角度路线距离
(弧长)O→T52 224.49 圆弧1 51° 4.188 T52→T32 341.76 圆弧2 10°7.8539 T32→T2169.70 圆弧3 34°9.4247 T2→T114170 圆弧4 45°7.3303 T114→T11380
圆弧5 39° 1.7453 T113→C43.5 机器人行走总路程1059.992
表8:O C线路3
O→C 路线3
O→T54→T32→T2→T114→T113→C
路线1 圆弧角度路线距离
(弧长)O→T54 237.48 圆弧1 49°8.552 T54→T32 318.43 圆弧2 51°8.9011 T32→T2169.70 圆弧3 34°9.4247 T2→T114170 圆弧4 45°7.3303 T114→T11380
圆弧5 39° 1.7453 T113→C43.5 机器人行走总路程1055.063
由表7,表8比较分析可得,在三条备选路径中,路线3是最短的,路径长为1055.063 4)确定过点A 、B 、C 时的圆弧圆心位置和圆弧半径
无论路径多么复杂,我们都可以将路径划分为若干个切线圆结构来求解,目标函数可以表示为:
∑-=
n
i
i L L 1
min 10≥r (18)
其中L 表示总路径长,i L 表示各分段路径中每一段的长度,因此利用该目标函数,
建立优化方程组,再借助LINGO 对优化方程进行求解。
例如在障碍物5经过A 再到障
碍物7的路径中,设经过A 的转弯圆弧的圆心坐标为),(y x ,经过障碍5和障碍7的转
弯圆心坐标为(80,210),(220,530),根据关系建立优化方程为:
⋂
++=EF L L L 21min (19)
⎪⎪
⎪⎩⎪⎪⎪⎨⎧<-+-=-+-=-+-=⋂300
)**2arccos
(*)530()220()210()80(21222212
22221
x L L BC L L r EF y x L y x L π (20) 利用LINGO 软件编程求解:
min =l1+l2+EF;
l1=@sqrt ((x-80)^2+(@sqrt (100-(x-300)^2)+300-210)^2); l2=@sqrt ((x-220)^2+(@sqrt (100-(x-300)^2)+300-530)^2);
EF=10*(3.1415926-@acos ((l1^2+l2^2-140^2-320^2)/(2*l1*l2))); x<300;
y=@sqrt (100-(x-300)^2)+300;
解得圆心坐标为(290.8854,304.1140),半径长度为10。
绘制过A 点的线路图,如图9所示
图9
同理可证,过点B的圆弧圆心为(108.1715,694.0966);过点C的圆弧圆心为(709.7939,642.0198),圆弧半径均为10。
5)根据所确定的过点A,B,C圆弧圆心坐标,求解最短路径(O→A→B→C→O)
1、先求从O到A的最短路径,可能成为O到A的最短路径的有两条路径,如图10:
图10
从O到A的两条路径的距离如下表9所示:
表9 O A的线路1
路线1 距离(弧长) 路线2 距离(弧长)
O→T52 224.4994 O→T54237.4868
圆弧1 9.25 圆弧1 10.64
T52→A230.0239 T54→A251.4854
圆弧2 15.707 圆弧2 5.7595
总距离479.4803 总距离505.3717
所以我们选择路线1:O→T52→A
2、如图可知从A→B的最短路径只有一条:A→T73→T81→B
3、由于无法从9号障碍物上方行走,因此从B→C的路径也只有一条:B→T91→T94→T102→T103→C
4、上文已求O→C的最短路径,所以C→O的最短路径为C→T113→T114→S2→T32→T54→O
所以从O→A→B→C→O的最短路径为:
O→T52→A→T73→T81→B→T83→T91→T94→T102→T103→C→T113→T114→S 2→T32→T54→O 距离及弧长如下表10:
表10 O A线路2
O→T52224.4994
圆弧1 9.2522
T52→A230.0239
圆弧2 15.7073
A→T73236.5184
圆弧3 6.6986
T73→T8196.9543
圆弧4 5.4894
T81→B103.0155
圆弧5 20.7680
B→T83162.3420
圆弧6 1.1451
T83→T9197.9790
圆弧7 2.0135
T91→T9460
圆弧8 5.9200
T94→T102119.163
圆弧9 5.9291
T102→T103130
圆弧10 13.5462
T103→C94.4673
C→T11338.3383
圆弧12 7.1911
T113→T11480
圆弧13 11.8013
T114→S2196.7232
圆弧14 12.6136
S2→T32135.6466
圆弧15 13.6802
T32→T54318.4337
圆弧16 8.5852
T54→O237.4861
总路程2701.932
所以,最短路径:
O →T 52→A→T 73→T81→B→T83→T 91→T94→T102→T103→C→T113→T114→S 2→T32→T54→O 的总长度为2701.932
5.2问题二(求解最短时间路径) 5.2.1 模型的建立
由问题1可知从O →A 的最短路径为O →5(左上角)→A ,当速度一定时,时间与路程成正比,因此只需先在最短路径上方画出安全行走范围,在安全范围内对转弯半径讨论即可得到行走时间最短的转弯半径。
为了求出安全行走范围,以5号障碍物左上角为圆心,半径R 需要满足:(1)最小转弯半径R=10;(2)最大转弯半径必须保证机器人在6号障碍物右下角的安全行走。
通过分析,如图所示,只要保证机器人在酒红色区域行走即可,通过计算可知最大转弯半径为55.0824。
所以,机器人以5号障碍物左上角顶点为圆心,在半径为[10,55.0824]区域内行走是安全的,在这个范围内可以找到最短时间路径。
设机器人转弯半径为r ,以5号障碍物左上角点F 为圆心,设A 点与O 点与圆F 相切与E 、D 两点,根据几何关系可以求得OD ,AE ,DE 弧的长度分别为:
2
22222)505002525
4
505021210()505005050212525490(r r r r r r d OD ---+---
=
)565002825
11
5650990()5650056509282511220(22222r r r r r r d AE -++-+--+
-=
))))505002525
4
565002825112853251641()50500505021565005650
9
2853251563((211arccos((22222222r r r r r r r r r r r d DE ---++-+--+
--=π
所以
21v d
v d d T DE
OE AD ++=
因此该问题的模型为: T min 0824.5510.≤≤r t s
其中,直线行走速度 s m v /51=,转弯速度为
2
1.0101
21r e v v -+=
图11
5.2.2 模型求解
有lingo 编程求解该优化模型,程序如下: min =(OE+AF)/5+EF/v;
OE=@sqrt ((80-4/2525*r^2-21/5050*r*@sqrt (50500-r^2))^2+(210-21/5050*r^2+4/2525*r*@sqrt(50500-r^2))^2);
AF=@sqrt ((-220+11/2825*r^2-9/5650*r*@sqrt (50500-r^2))^2+(-90+9/5650*r^2+11/2825*r*@sqrt (50500-r^2))^2);
EF=r*(3.1415926-@acos (-1+1/2*((1563/285325*r^2-9*r/5650*@sqrt (56500-r^2)+21*r/5050*@sqrt (50500-r^2))^2+(1641/285325*r^2+11*r/2825*@sqrt (56500-r^2)-4*r/2525*@sqrt (50500-r^2))^2)/r^2));
v=5/(1+@exp (10-0.1*r^2)); r>=10;
r<=55.0824; L=OE+AF+EF;
解得A O →的最短时间路径总时间为94.55895(秒),对应的转弯半径为50617.11=r ,总距离为472.3807
6 模型的评价与改进
本文对机器人避障移动模式进行探讨,并给出了分别基于最小路径以及最小时间规则的优化路径。
本题主要研究机器人的避障行走问题,根据要求的机器人行走的转向方式,分析得出机器人从起点到目标点行走的最短路径的方法基本图形为线性和弧形的组合。
在本题中存在的障碍物的不可行走区域为在拐点处的半径为10个单位的圆弧。
利用穷举法,以最短路径为目标,将可能的行走路径列出,利用平面几何的知识以及求导原理,建立计算模型最终得出机器人行走路程的距离,在目标路径中选择最短的路径,得到最优解也即是最终求得的最短路径。
在此过程中,利用CAD方法求得的路径长度是精确的,减少了工作量,提高了计算速度。
机器人避障问题的研究是人工智能,自动化控制,以及传感技术的多个领域研究成果的综合,在工业,农业,服务业等多个领域得到广泛的应用。
本文的机器人避障问题的研究,在进行侦探,军事,搜救,病人监护等特殊场合的运用有着不可忽视的作用,对日后的避障能力在更高层次领域的运用起到了铺垫作用,具有较好推广前景。
然而,在所给的12个障碍物,按照绘制最短路径的原则进行穷举是有限的,也是可行的,但是,当障碍物的个数不断增加,求得最短路径的方法可能会随之改变,而且利用穷举法求得最短路径的方法也是不可行的,在经济中也是不具有可行性,因此模型的推广面会受到影响。
参考文献
[1] 邹益民,高阳,高碧悦,一种基于Dijkstra算法的机器人避障问题路径规划,数学
的实践与认识,第43卷第10期,2013
[2] 钟秋平,机器人避障优化模型,大众科技,第14卷160期,2012.
[3] 谢金星,优化模型与LINGO/LINGO软件[M],北京,清华大学出版社,2005.
[4] 李磊,叶涛等.移动机器人技术研究与未来 [J].机器人,2005.24(5):475-477 [4] 霍迎辉,张连明,杨宜民.移动机器人路径规划的最短切线路径算法[J].自动化与信息工程,2003(1):10-12
[5] 邹益民,高阳,高碧悦,一种基于Dijkstra算法的机器人避障问题路径规划,数学
的实践与认识,第43卷第10期,2013
17。