高教社杯数学建模D题机器人避障问题论文
行走机器人避障题数学建模
AE +FB< AC1B ,记线段 AE、弧度 EF、线段 FB 为 AEFB,那么 AEFB 比任何折线
路径都短。 下面在考察一条不穿过障碍物的任何一条路径,设其分别于 OE 和 OF 的延长
线交与 P、Q 两点,记 A 和 P 之间的路径长度为 ,显然 >|AP|,又由 AE EO,
所以|AP|>AE,从而 >AE,同理可得 >BF。
问题一,我们很容易分解成线圆结构来求解,然后把可能路径的最短路径采 用穷举法列举出来,最终得出最短路径:
R A 最短路径为:70.5076 R B 最短路径为:107.9587 R C 最短路径为:102.0514 问题二,我们方案都进行优化,求得最终结果: 第一种方案最短路径为:156.471 第二种方案最短路径为:157.752
5
证明:假设在平面中有 A(a,0)和 B(-a,0)两点,中间有一个半圆形的 障碍物,证明从 A 到 B 的最路径为 A B。
平面上连接两点最短的路径是通过这两点的直线段,但是连接两点的线段于障碍 物相交,所以设法尝试折线路径。在 y 轴上取一点 C(0,y),若 y 适当大,则 折线 ACB 与障碍物不相交,折线 ACB 的长度为:
图 5.31
证明猜想: 如图 4.31 所示,E 点就是圆环上的一个顶点,A B 就是拉紧的绳子,O2 就
是切线 AC 和 BD 的延长线的交点,证明 O1 、E、 O2 三点共线。 我们可以用力学的知识进行证明,因为是拉紧的绳子,所以两边的绳子拉力
相等,设为 F ,它们的合力设为 F0 ,定点对圆环的作用力设为 F1 。 那么由几何学的知识我们可以知道 F0 一定与 O1O2 共线,而又由力的平衡条
|ACB | 2 a2 +y2
机器人避障问题的解题分析(建模集训)
v1.0 可编辑可修改机器人避障问题的解题分析摘要:本文对2012年全国大学生数学建模竞赛D题机器人避障问题进行了全面分析,对最短路的设计进行了理论分析和证明,建立了机器人避障最短路径的几何模型,对最短时间路径问题通过建立非线性规划模型,有效地解决了转弯半径、圆弧圆心位置和行走时间等问题。
关键词:机器人避障;最短路径;Dijkstra算法;几何模型;非线性规划模型1 引言随着科学技术的进步和计算机技术的发展,机器人的应用越来越广泛,在机器人的应用中如何使机器人在其工作范围内为完成一项特定的任务寻找一条安全高效的行走路径,是人工智能领域的一个重要问题。
本文主要针对在一个场景中的各种静态障碍物,研究机器人绕过障碍物到达指定目的地的最短路径问题和最短时间问题。
本文以2012年“高教社”杯全国大学生数学建模竞赛D题“机器人避障问题”为例进行研究。
假设机器人的工作范围为800×800的平面正方形区域(如图1),其中有12个不同形状的静态障碍物,障碍物的数学描述(如表1):图1 800×800平面场景图表1在原点O(0, 0)点处有一个机器人,它只能在该平面场景范围内活动,机器人不能与障碍物发生碰撞,障碍物外指定一点为机器人要到达的目标点。
规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。
机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。
为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若碰撞发生,则机器人无法完成行走。
机器人直线行走的最大速度为50=v 个单位/秒。
机器人转弯时,最大转弯速度为21.0100e1)(ρρ-+==v v v (ρ是转弯半径)。
如果超过该速度,机器人将发生侧翻,无法完成行走。
场景图中有4个目标点O(0, 0),A(300, 300),B(100, 700),C(700, 640),下面我们将研究机器人从O(0, 0)出发,求O→A、O→B、O→C和O→A→B→C→O的最短路径,以及机器人从O(0, 0)出发,到达A的最短时间路径问题。
2014高教社杯全国大学生数学建模竞赛D题获奖论文
精心整理2014高教社杯全国大学生数学建模竞赛承诺书我们仔细阅读了《全国大学生数学建模竞赛章程》和《全国大学生数学建模竞赛参赛规则》(以下简称为“竞赛章程和参赛规则”,可从全国大学生数学建模竞赛网站下载)。
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。
如有违反竞赛章程和参赛规则的行为,我们将受到严肃处理。
我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。
我们参赛选择的题号是(从A/B/C/D中选择一项填写):D我们的报名参赛队号为(8位数字组成的编号):所属学校(请填写完整的全名):参赛队员(打印并签名):1.(隐去论文作者相关信息等)2.3.指导教师或指导教师组负责人(打印并签名):(论文纸质版与电子版中的以上信息必须一致,只是电子版中无需签名。
以上内容请仔细核对,提交后将不再允许做任何修改。
如填写错误,论文可能被取消评奖资格。
)日期:2014年月日赛区评阅编号(由赛区组委会评阅前进行编号):2014高教社杯全国大学生数学建模竞赛编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):储药柜的设计摘要面向消费者的药品零售药房,日常运行中需要执行大量的药品存储和分拣工作,目前自动化药房的研发及逐渐应用提高了药品存储和分拣效率,为医疗工作提供了极大地便利。
“机器人避障问题”论文
机器人避障问题摘要移动机器人是一种能够在工作环境中自由移动并完成预定任务的智能系统,移动机器人的避障问题则是移动机器人控制领域的研究热点。
本文针对移动机器人的避障问题,建立了最短路径及最短时间路径的数学模型。
并应用于解决本题给定的路径规划问题,获得了满足问题需求的全部最优路径。
对于最短路径问题,本文分析了障碍物对移动机器人运行的影响,给出了最优移动规则;建立了简化的路径网格模型,将其抽象为由节点及边构成的两维图,并确定了其各项参数,再使用经典的Dijkstra算法获得可行的最短路径。
由于计算机行走过程与障碍物之间还需满足一定的间隔约束,故上述结果可能并非最优,故我们实际还需对次优的几条参考路径(也可通过以上Dijkstra算法获取)进行精算,经准确计算获得各段路径的具体位置后,确定实际的最短路径。
为方便计算,文中推导了自指定点向指定圆作切线,两个相离圆的内、外切线方程的解析表达式,给出了闭式结果,作为MATLAB编程的依据,从而大大提高了运算处理的速度及精度。
考虑到移动机器人需完成由O→A→B→C→O的多点移动,且中间不能折线运行,即机器人在通过上述点时一般必须以圆弧通过,且其上下游多数也是圆弧路径,其通过点并不固定。
为此,理论推导了该未知圆弧的约束公式,以各圆心之间距离最小作为优化条件,建立数学模型,再使用MATLAB中的fmincon有约束优化工具箱获得了理想的结果。
对于最短时间路径问题,本文分析了移动机器人弯道运行的速度曲线,特别是对O→A两点间的避障问题进行了详细的理论分析与推导,通过几何关系得出了转弯半径与总的移动距离、移动时间的严格数学关系,此后借助MATLAB优化函数fminsearch获得最佳的转弯半径。
经分析计算,得到下述结果:结论1:机器人完成O→A,O→B,O→C及O→A→B→C→O的最短路径总距离分别是:471.04、853.70、1050.50、2712.68单位长度;总时间分别是96.02、179.07、235.19及570.36秒。
机器人壁障问题数学建模
机器人避障问题摘要:当今科学技术日益发达,高科技产品尤其是机器人在我们日常生活中运用的越来越广泛,它能够代替人类完成许许多多的工作,但如何能让机器人自动化的完成人类交给的任务成为设计机器人的关键。
我们做此题就是为了更好的利用机器人为我们提供方便,提高生活质量,若机器人程序设计不当不仅不会给人类带来方便,还很有可能给我们的生活带来更多的麻烦。
本题中提出了如何让机器人能够自动识别障碍物,保证机器人能够在合理区域行走,并设计出如何能让机器人自动判断最短路程于最短时间下行走路线的问题。
所以解决好本题可以为我们的生活提供帮助。
本文通过运用两点之间直线最短理论,优化问题,最短路问题,图论,以及运用matlab软件编程及作图的方法,阐述了机器人避障问题的相对优化方案的解决办法,即“两点之间直线最好,转弯半径最小”的理论,通过计算中的比较与选择把四条最短路径都求出了相对最优解,论证了转弯速度不会随着r的增加一直增大或减小,而是有一个最小极点的思想。
从而求出了r,以及最短的时间。
问题一,通过对最短路问题的分析,我们很容易分解成线圆结构来求解,然后把可能路径的最短路径采用穷举法列举出来,最终得出最短路径:O →A 最短路径为:471.0372O →B 最短路径为:838.0466O →C 最短路径为:1085.7531O→A→B→C→O最短路径为:2834.6591问题二,通过建立时间t与r的关系式,得出r在11.504时,从O到A的时间相对最短,最短时间为98.606004。
我们可以利用此篇论文解决生活中实际的问题,在计算时可以节省大量的时间,使机器人又准确又完善的完成我们给定的任务,从而进行拓展,给定区域内任何两个点,我们都可求出其最短路径和走完全程的最快时间。
从而可以让机器人帮助我们给家里打扫卫生或设计自动吸尘器等,也可使机器人在最短的时间完成工作,提高效率,延长机器人的使用寿命。
关键字:最短路问题优化问题 matlab一 问题重述 随着现代科学技术日新月异的发展,机器人越来越多的出现在日常生活中,它既可以通过运行预先编排的程序为人类服务,根据人工智能程序自动处理一些生活中问题,进而协助或者相应地取代人类的工作,可以说机器人的创新与改进正一步步影响着人类的发展。
机器人避障问题论文
D题机器人避障问题摘要本文综合运用分析法、图论方法、非线性规划方法,讨论了机器人避障最短路径和最短时间路径求解问题。
针对问题一,首先,通过分析,建立了靠近障碍物顶点处转弯得到的路径最短、转弯时圆弧的半径最小时和转弯圆弧的圆心为障碍物的顶点时路径最短、转弯在中间目标点附近时,中间目标点位于弧段中点有最短路径的三个原理,基于三个原理,其次对模型进行变换,对障碍物进行加工,扩充为符合条件的新的区域并在转弯处圆角化构成障碍图,并通过扩充的跨立实验,得到切线和圆弧是否在可避障区的算法,第三,计算起点、中间目标点和最终目标点和各圆弧及圆弧之间的所有可避障切线和圆弧路径,最后给这些定点赋一个等于切线长度或弧度的权值构成一个网络图,然后利用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点的最短时间路径,我们在第一问的基础上考虑路径尽可能短且圆弧转弯时的圆弧尽量靠近障碍物的顶点,即确定了圆弧半径最小时的圆弧内切于要确定的圆弧时存在最小时间路径,建立以总时间最短为目标函数,采用非线性规划模型通过Matlab编程求解出最短时间路径为最短时间路程为472.4822个单位,其中圆弧的圆心坐标为(81.430,209.41),最短时间为94.3332秒。
圆弧两切点的坐标分别为(70.88,212.92)、(77.66,219.87)。
关键字:Dijkstra算法跨立实验分析法非线性规划模型一.问题的重述图是一个800×800的平面场景图,在原点O(0, 0)点处有一个机器人,它只能在该平面场景范围内活动。
数学建模机器人避障论文
承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A/B/C/D中选择一项填写):我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):参赛队员(打印并签名) :1.2.3.指导教师或指导教师组负责人(打印并签名):日期:年月日编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):机器人避障问题摘要针对题中机器人避障最短路径问题,文章使用简化后建立的最短路径的数学模型来解决此类问题。
对于问题1,我们matlab中自带函数graphshortestpath函数求解最短路径的数学模型。
其主要思想是:首先先证明出两点之间的最短路径是由两条线段和以中间点为圆心的圆的一段圆弧组成,然后证明圆弧的半径为定值10。
然后对模型简化使模型化为标准的最短路径模型,最后用graphshortestpath函数对模型求解。
针对问题2,我们建立了优化模型。
在问题1的基础上,我们对两种行走方案进行分析,根据转弯弧的半径变化对速度的影响我们锁定到一条路径,然后利用lingo对优化模型进行求解。
关键词:graphshortestpath函数、最短路径、避障问题1、问题重述已知:在下图中原点O(0, 0)点处有一个机器人,它只能在该平面场景范围内活动。
全国大学生数学建模竞赛国家一等奖论文D题——机器人避障问题
上顶点坐标(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)
机器人避障问题
摘要
针对机器人避障问题,本文分别建立了机器人从区域中一点到达另一点的避障的最 短路径、最短时间路径的非线性 0-1 整数规划模型。同时,本文为求带有 NP 属性的非 线性 0-1 整数规划模型,构建了有效启发式算法,利用 MATLAB 软件编程,求得了 O→A、 O→B、O→C、O→A→B→A→C 的最短路径,同时得到了 O→A 的最短时间路径,求得的各 类最短路径均是全局最优。
二、问题分析
2.1 求取最短路径的分析 本问题要求机器人从区域中一点到达另一点的避障最短路径。机器人只要做到转弯
时的圆弧半径最小为 10 个单位、与障碍物最近距离单时刻保持大于 10 个单位,那么可 行走的路径就有无数条,若想求得机器人从区域中一点到达另一点的避障最短路径,则 需要建立避障的最短路径模型,而建立避障的最短路径模型有一定难度。根据对问题的 分析,我们认为可以从简单做起,先确定小范围内最短路径条件,如圆弧位置的影响, 圆弧半径的大小,避免与障碍物碰撞条件等,通过确定最短路径条件来建立避障的最短 路径模型。对于最短路径的求取,我们可以通过确定穷举原则,利用穷举法来求解,当 然也可以通过构建启发式算法的进行求解。 2.2 最短时间路径的分析
边长80
12 长方形
(500, 140)
2012年数学建模D题机器人避障问题论文
机器人避障问题摘要我们根据题目所给的800×800的平面区域和场景图中的12个不规则形状的障碍物,研究讨论了机器人避障最短路径和最短时间路径的问题。
问题一:避障最短路径有两种情形:一、由原点出发到达各个目标点的最短路径;二、由原点出发经过途中的若干个目标点到达最终目标点。
情形一:通过我们的证明知道(猜想一、猜想二):具有圆形限定区域的最短路径是由两部分组成的:一部分是平面上的直线段,另一部分是限定区域的部分边界(即圆弧段)。
这两部分是相切且连续的,依据这个结果,我们可以认为最短路径一定是由直线段和圆弧段组成的,因此我们建立了线圆结构模型,并采用三中分法、枚举法对可能是最短路的路径分析求解。
这样一来无论路径多么复杂,我们都可以将机器人行走路径划分为若干个这样的线圆结构模型来求解。
运用matlab 求解最终得:最短路径为:471.0372;最短路径为:853.7001;最短路径为:1090.8041;对于第二种最短路径情形,我们在拐角处和目标点处均采用最小转弯半径r=10的形式,这样才能使得机器人不仅能够安全行走,且所走路径为最短路。
最后建立优化模型运用MATLAB 求解原点到达最终目标点的最短路径。
即最短路径为2716.0471。
问题二:根据问题要求,运用图论中的最短路方法,建立最短时间路径模型,求出的最短时间路径,根据已知数据运行我们编制的matlab 程序求解得机器人行走最短时间为94.2697。
关键词 避障最短路径 最短时间路径 图论 三中分法 MATLAB 软件A O →B O →C O →O C B A O →→→→A O →一、问题重述根据题目所给800×800的平面场景图,在原点O(0,0)处有一个机器人,该机器人只能在平面场景范围内活动。
且不能与场景图中12个不同形状的障碍物发生碰撞,障碍物点与障碍物的距离至少超过10个单位)。
规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。
2012高教社杯数模竞赛D题——机器人避障问题
机器人避障问题摘要本文研究了在已知区域障碍物分布的情况下,机器人从起点到目标点避障最短路径或最短时间路径的问题,路径必须是由圆弧和与之相切的直线段组成的线圆结构。
一开始先对模型预处理,将所有障碍物外扩10个单位长度,划定危险区域,得到障碍扩展图。
针对问题一,经过分析论证,无论起点到目标点间危险区域有多少,最短路径都应该是紧绕危险点的切线圆路径,且可根据需依次绕过的危险点情况划分为N条子路径(见图5.1.2)求解,圆弧段取允许最小转弯半径。
模型求解分两步走:一、将实际障碍图转化为加权可视图,利用Dijstra算法搜索出在可视图下的最短路径,主要是找到必须绕过的若干危险点。
二、根据障碍扩展图将可视图中的路径修正为实际情况下的切线圆路径,求出最终结果。
在求解过程中运用MATLAB数学软件给出路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心连接两条切线,使机器人总的行走时间最短。
而圆弧可以有圆心坐标和半径唯一确定。
由此构建机器人行走总时间的目标函数,将机器人不与障碍物碰撞作为约束条件,将该问题转变为一个非线性规划问题,借助matlab求得最优解为:T=94.3314s。
关键词:路径规划最优化模型切线圆路径 Dijstra算法非线性规划matlab求解一、问题重述图1是一个800×800的平面场景图,在原点O(0,0)点处有一个机器人,它只能在该平面场景范围内活动。
图中有12个不同形状的区域是机器人不能与之发生碰标点与障碍物的距离至少超过10个单位)。
规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。
机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。
为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若碰撞发生,则机器人无法完成行走。
机器人直线行走的最大速度为50=v 个单位/秒。
2012D数学建模D题
机器人避障问题摘要我们了解到我们需要解决的是机器人从O→A、O→B、O→C和O→A→B→C→O的最短路径以及O→A的最短时间问题,但与传统的问题相比因为有了障碍物的制约使得部分区域无法通过,而且物体的运动轨迹也会对其速度造成制约,联系现实生活我们知道对于无法以最短直线路径通过时如果两点间有一根足够长的绳子,在绕开障碍物及其所影响的范围后绳子绷紧状态下所形成的轨迹即为最短路径,在最短的路径和最快的速度间找制约点可获得最短时间,该题时间制约因素为。
受此启发,在分析问题后我们建立了数学模型来合理解决如何使机器人避障的优化问题。
针对问题一;问题一中O→A可简化为两点避开单个障碍物的问题、O→B、O→C为两点避开多个障碍物的问题、对于O→A→B→C→O是一个回路的多点避开多个障碍物的问题,运用几何的求解方式证明。
针对问题二;问题二是时间最优的问题,我假设存在个半径为最优时间半径,然后我们找到个最优圆弧圆心的位置,圆心在两点连线为X轴的最高障碍点作X轴的该条垂线上。
关键词最短路径最优化模型几何求解最短时间一、问题重述1.1、基本情况:在给定的平面场景中,要求机器人绕开障碍物到达指定的目标点(要求目标点与障碍物的距离至少超过10个单位)。
规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。
机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。
为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若碰撞发生,则机器人无法完成行走。
1.2、相关信息:(1) 机器人直线行走的最大速度为50=v 个单位/秒。
(2) 机器人转弯时,最大转弯速度为21.0100e1)(ρρ-+==v v v ,其中ρ是转弯半径。
如果超过该速度,机器人将发生侧翻,无法完成行走。
1.3、需要解决的问题:(1) 机器人从O(0, 0)出发,O→A 、O→B 、O→C 和O→A→B→C→O 的最短路径。
机器人避障问题的研究论文
机器人避障问题摘要本文主要研究两个方面的问题,问题一提出在一个固定的区域内有不同形状的障碍物12个,让机器人至少与障碍物保持10个单位的距离情况下,同时机器人还不能走折线,求最短路程问题,这个问题我们首先考虑了两个理论,在起点和终点之间有一障碍物,我们在障碍物的顶点做一个圆弧作为机器人的转弯路径,那么通过证明可知最短路径为起点到终点拉一绳子,当绳子处于最紧绷状态的路径。
这时路径即为起点,终点分别到圆弧的两段切线与中间弧度之和。
其次考虑所做圆弧的半径为最小转弯半径时这时所形成的路径最短。
结合以上理论,易得到最短路径分别为:A O → 471.05,B O →811.54,C O →1017.25,→O O C B A →→→2534.86。
问题二中,题目要求从A O →的最短时间路径,由于机器人走直线的速度为5=v ,而走转弯路径的速度是与转弯半径的长度有关,根据这些要求,我们过障碍物的右下顶点往左上顶点做对角线,并向左上顶点做10单位的距离,那么我们就在这条线上取一点作为圆弧的中心,然后构造一个目标函数求出最短时间路径,5)10(15)10(lim 22)10(1.010222R b er R a t R +-++++-=+-θ,得到02.96min =T 。
关键词:最短路径 线圆结构 解析几何 最短时间一、问题重述在800800⨯的平面场景图中,在原点O 有一机器人,它只能在平面场景中活 动,且不能碰撞场景图中不同形状的障碍物,且机器人所行走的路径与障碍物的距离至少超过10单位。
规定机器人的行走路径由直线和圆弧组成,其中圆弧是机器人的转弯路径。
机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由多个相切的圆弧路径组成,但每个圆弧的最小半径为10个单位。
为了能到达目的地,机器人的行走路径与障碍物的最近距离为10个单位,否则发生碰撞则不能完成行走。
机器人直线行走的最大速度为秒。
个单位/50=V 机器人转弯时,最大转弯路径为21.01001)(ρρ-+==V V V ,其中。
2012_数学建模D题(国家二等奖论文)_高教杯关于机器人避障行走问题的研究
关于机器人避障行走问题的研究摘要本课题主要研究机器人避障行走问题,机器人行走过程,需躲避障碍物区域且保证所经路径按直线段和圆弧进行行走。
依据题目要求最短路径和最短时间路径目标,运用穷举法,先绘制出可能是最短路径的行走路线。
然后,利用平面解析几何知识,求解各路线长度并进行比较,找出最短路径。
最后,引入机器人速度数据,建立数学模型,求解出最短时间路径。
问题一、根据题目限定的机器人和障碍物之间10个单位的距离要求,先绘制出机器人能够行走的活动区域。
然后,利用平面几何知识,列出线段与圆弧结构下的行走路程关于圆弧半径的函数关系式。
运用求导法则对所列函数关系式进行求导,得出结论:只有当圆弧半径最小时(最小半径为10),才能使线弧结构的路程达到最小。
依据所得结论,运用穷举法列出从原点出发到各个目标点的所有可能最短路径。
分别进行求解并互相比较,最终得出机器人行走到不同目标点的最短路径为:O→A:471.0372;O→B:853.702132;O→C:1053.140;O→A→B→C→O:2707.4379。
(注:路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标,可通过将坐标点设定成未知量,列函数方程组编写LINGO程序进行求解得出。
起点、终点及圆弧圆心的具体坐标,见各路径模型求解部分所列坐标表格。
)问题二、路线制定过程中,引入机器人直线速度和转弯速度数据。
以行走到目标点A花费时间最短为目标建立优化模型。
根据模型,编写LINGO程序,求解出最短时间路径下,机器人过点A的圆弧圆心为(82.04274,210),圆弧半径为10.97436,花费的最短时间为94.34632。
关键词:穷举法求导法则平面几何优化模型最短时间路径1问题重述1.1问题背景进入科技时代以来,随着信息技术的不断发展,机器人自动化研究越来越成为人们关注的重点,机器人避障行走问题也成为机器人程序设定的一个常见问题。
而路线制定过程中,行走线路制定方法的研究和精确坐标数据的计算是必不可少的,且对今后机器人行进程序的设定具有很好的参考价值。
全国大学生数学建模竞赛论文D
第九届“挑战杯”甘肃省大学生课外学术科技作品竞赛参赛人员:xxx xxxxxx指导老师:xxx xx定西师范高等专科学校数学系机器人避障问题的优化模型建立与分析(定西师范高等专科学校数学系,指导老师:xxx x x)【摘要】本文针对机器人避障布置问题,从不同角度出发,以最短路径和最短时间路径为目标函数,建立了多个优化模型。
做出了满足条件的机器人绕过障碍物行走的最短路径,并对A、B、C处各点所在圆弧的圆心的确定进行了详细的模型分析;通过建立方程模型,分析计算了机器人从O出发到达A点,机器人在圆弧路径上行走时对应的圆心位置,并研究了该圆心位置在一定的范围内变化对时间的影响,确定了机器人行走的最短时间路径。
针对问题一,先根据问题情况进行分类分析,一类是O-A,O-B,O-C两点之间用直线和圆弧光滑连接,可利用Autocad软件直接作图;另一类是经过中间点的连线O-A-B-C-O,需对各个中间点处的圆弧位置作分析推理,找出使路径最短的圆弧圆心。
然后根据已有数据,充分利用Autocad软件的切点捕捉及标注功能等进行切线和圆弧作图、各条路径的线性标注和圆弧标注,再根据标注值对各路径上切线长和弧长求和并比较大小,选择出避障的最短路径。
并对路径的各点建立模型,运用Mathematica软件求解,确定过各点的圆弧的圆心坐标,求解满足给定条件的机器人绕过障碍物行走的最短路径。
针对问题二,在保证障碍物顶点离圆弧最近(10个单位)的前提下利用Mathematica 软件, 建模求解弧半径-时间函数,确定圆弧圆心和半径,并用Autocad作图、标注,通过计算推出机器人从O出发,到达A的行走最短时间路径。
【关键词】最短路径优化模型避障 Autocad软件 Mathematica软件一、问题重述图1是一个800×800的平面场景图,在原点O(0, 0)点处有一个机器人,它只能在该平面场景范围内活动。
图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物,障碍物的数学描述如下表:在图1的平面场景中,障碍物外指定一点为机器人要到达的目标点(要求目标点与障碍物的距离至少超过10个单位)。
数学建模 机器人避障问题
机器人避障问题之勘阻及广创作一、摘要本文讨论了机器人在平面场景中避障行走的问题, 已知机器人的行走模式(直线与相切圆弧)以及场景障碍物的分布, 计算出到平面各个给定点的最短路径, 以及到A点的最短时间.文中, 首先, 考虑到机器人与障碍物之间有10个单元的碰撞距离, 故用CAD软件将平面场景图进行改进, 再用CAD设计可能的最短路径.接着, 对每条具体路径进行分解, 获得三种基本线圆形模型(点圆模型, 双圆异侧模型, 双圆同侧模型), 对这三种模型进行求解, 获得各个模型直线长度以及转弯圆弧圆形角的表达公式.之后, 参照具体的行走路径, 构造合适的行走矩阵, 用以判断每段路径所属的基本模型.路径总的长度可用如下公式表达:最后, 通过计算设计的集中可能的最短路径, 我们获得每段的最短路径的长度分别为:O——A路段:(单元);O——B路段(单元);O——C路段:3.1⨯(单元);091510O——A——B——C——O路段:3⨯(单元).2.677810对问题二, 我们在问题一的基础上分别利用直线最年夜速度和转弯最年夜速度计算出时间的表达式.为了方便计算, 我们将转弯圆弧的圆心定在P(80,210)(场景中正方形5的左上角), 这样获得时间T与转弯半径ρ的函数关系式:通过MATLAB编程, 画出其图像, 求解得出:当半径ρ=11.435时, 时间T最小, 其年夜小为(秒).关键词:最短路径线圆模型行走矩阵 MATLAB二、问题重述在一个800×800的平面场景图(见附录一), 在原点O(0, 0)点处有一个机器人, 它只能在该平面场景范围内活动.图中有12个分歧形状的区域是机器人不能与之发生碰撞的障碍物, 障碍物的数学描述如下表:在图中的平面场景中, 障碍物外指定一点为机器人要达到的目标点(要求目标点与障碍物的距离至少超越10个单元).规定机器人的行走路径由直线段和圆弧组成, 其中圆弧是机器人转弯路径.机器人不能折线转弯, 转弯路径由与直线路径相切的一段圆弧组成, 也可以由两个或多个相切的圆弧路径组成, 但每个圆弧的半径最小为10个单元.为了不与障碍物发生碰撞, 同时要求机器人行走线路与障碍物间的最近距离为10个单元, 否则将发生碰撞, 若碰撞发生, 则机器人无法完成行走.机器人直线行走的最年夜速度为 50=v 个单元/秒.机器人转弯时, 最年夜转弯速度为 21.0100e 1)(ρρ-+==v 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 的最短时间路径. 并要求给前途径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标以及机器人行走的总距离和总时间. 三、模型假设1、假设机器人可看做一个质点, 不考虑其实际年夜小;2、假设机器人能够准确的依照设计的路线行走行走, 在其行走中不发生任何突发事故;3、机器人以最年夜速度行驶, 在转弯过程中没有发生侧翻, 速度发生突变, 不考虑加速减速. 四、符号说明ij l :圆i O 到圆j O 圆心的距离;,1,2i i i θ++:机器人经过的第i 个圆弧的圆心角;,1i i ϕ+:第i 段直线多对应的圆心角r :圆的半径;,1i i m +:机器人经过的第i 段直线的长度;S:行走路径的总的长度; T :机器人行走的总的时间N :机器人行走经过的总点数(包括起点终点以及转弯圆弧的圆心);A :行走矩阵. 五、模型建立对该题建立机器人从区域中一点达到另一点的避障最短路径和最短时间路径的数学模型的研究, 主要是用尽可能短的路径和时间避开障碍物达到目标点.根据题目中的要求可知, 机器人行走线路与障碍物间的最近距离为10个单元, 否则将发生碰撞, 若碰撞发生, 则机器人无法完成行走, 故可把各障碍物的鸿沟扩年夜10单元.利用CAD 软件制图可在距每个障碍物的边缘10个单元处添加外边框, 形成新的屏障, 特别注意的是在障碍物极点处使用圆弧.机器人就可在新屏障外的范围内随意活动, 不用担忧发生碰撞, 根据原图修改后的图形见下图1.B(100, 700)C(700, 640)A(300,300)图1机器人行驶路线是由直线段和圆弧组成.机器人从O(0, 0)动身, 建立数学模型求得O→A、O→B、O→C和O→A→B→C→O的最短路径.现将各个路段的情况进行综合分析, 根据每个路段所遇到的情况, 从起始点到目标点的最短距离应该是直线段与圆弧组成, 由已知的数学知识, 两点之间线段最短, 故机器人走的直线越多, 路径越短, 也就是说当机器人绕过障碍物的时候, 半径越小, 路径越短, 根据题意, 转弯半径可按最小半径10来计算, 经过分析, 可建立如下三个线圆模型.模型一:(点圆模型)该模型主要求解1O ——2O 的路径长度, 该路径只有一个转弯, 由图2易知, 12CO DC D O S ++=, C 、D 均为直线与圆的切点, CD 为圆弧, θ为圆弧对应的圆心角的年夜小, 根据已积累的知识, 圆弧的长度为圆弧对应的圆心角与圆半径的乘积, 即r ⋅θ, 同时利用余弦定理abc b a C 2cos 222-+=, 即可求得总距离为:S=r r l r l ⋅+-+-θ22122213; 其中 θ=-π2⎪⎪⎭⎫ ⎝⎛-+++121322321221312132arccos arccos arccos l l l l l l rl r模型二:(双圆异侧模型)该模型是为了计算1O ——4O 的距离, 从起始点到目标点经过圆弧异侧拐弯(如图3), 根据已知点1O 、2O 、3O 、4O 可求得ijl 1O2OCD图23O的长度.41DO CD BC AB A O S ++++=, AB 、CD 为两段圆弧, 1θ、2θ为其对应的圆心角, BC 与2O 3O 的交点E 是这两条线段的中点, 根据两个全等三角形以及勾股定理, 可求得BC 长度.其中, 22212231311223122322arccos arccos arccos 2r r l l l l l l l πθ⎡⎤⎛⎫+-=-++⎢⎥ ⎪ ⎪⎢⎥⎝⎭⎣⎦模型三:(双圆同侧模型)该模型是为了计算1O ——4O 的距离, 从起始点到目标点经过圆弧同侧拐弯(如图4), 添加辅助线, 连接1O 3O 、2O 4O , 运用几何知识轻易能够证明32//O O EF .由图4易知41CO FC EF DE D O S ++++=,可以根据已知点的坐标求出所需线段的长度, 进而求得起始点到目标点的总距离.其中, )2arccos 2arccos arccos 2(232342242322342312213223212121l l l l l l l l l l l r-++-+++-=ππθ图31O4O2O3OABCDE综合模型:在实际情况中, 机器人所走的路线是以上三种模型的结合.设计好机器人的行走方案, 可根据设计好的方案构建行走矩阵, 构建方法如下:123i A ⎧⎪=⎨⎪⎩则i 段的直线长度为: 其中i=1,2…N-1;第i 段与i+1段之间的转弯圆弧所对应的的圆心角为:其中i=1,2…N-2;i i i i ,11,++=ϕϕ机器人行走的总的长度为:1O2O3O 4OCF ED图4i 段为模型1i 段为模型2 i 段为模型3i 段为模型1i 段为模型2i 段为模型3i 段为模型1六、模型求解 问题(1):根据所建立的数学模型, 用CAD 画出可能的最短路径, 构建每条路线的行走矩阵, 通过MATLAB 编程计算出每天路线的实际长度, 从而获得最短路径.1、O ——A 路段, 这是四个路段中最简单的情况, 从O 到A 经过了一个转弯, 从图5中易看出有两种方案, 虚线与实线各代表一个方案.利用MATLAB 编程求解, 计算结果如下:A (300,300)图51O (80,60)O (0,0)机器人从O 到A 的行走路线长度为471.0372;同理, O 从下面绕到目标点A 的总的路线长度为498.4259; 通过比力两种方案的结果易知, 机器人在点O 从上面绕到目标点A 的距离最短, 期最短路线长度为471.0372 .2、O ——B 路段, 经过分析与整理, 我们获得四种方案, 如图6所示①②③④, 在这四种方案中, 三种模型全部都要用到, 模型一在O ——A 路段已详细说明, 模型二就是从起始点到目标点经过的圆弧在所走路径的异侧, 而模型三就是从起始点到目标点经过的圆弧在所走路径的同侧, 从O ——B 路段, 有屡次转弯, 具体见图6.图6B(100,700)①②③④O(0,0)就①路线而言, 机器人经过了五次转弯, 根据三种模型中的理论公式, 需要把各个圆弧与直线长度求得, 可利用MATLAB软件对其进行编程.计算结果如下:①路线机器人行走的总距离为853.7001;②路线机器人行走的总距离为877.3841;③路线机器人行走的总距离为990.1608;④路线机器人行走的总距离为3.1 ;058410经过比力可得①路线为最短路径, 即机器人在点O从上面绕到目标点B的距离最短, 期最短路线长度为853.7001 .3、O——C路段, 经过整理分析, 我们获得四种方案, 具体见图7,每条路线都是由圆弧与直线段, 可是该路段与其他路段相比, 又有其分歧之处, 在③路线中有一部份是在两个分歧年夜小的圆的异侧和同侧(如图8, 图9所示)图7C(700,640)① ②③④O (0,0)1O2OA BE图8就图8容易看出, 22122212R r R Rl r r R rl M AB-⎪⎭⎫ ⎝⎛++-⎪⎭⎫ ⎝⎛+= 1212arccosl r R +=ϕ, 1221arccos l r R +=ϕ就图9容易得出, 2212)(r R l M AB --=1212arccos 2l r R --=πϕ , 1221arccos l r R -=ϕ 利用MATLAB 软件对其进行编程.计算结果如下:①路线机器人行走的总距离为3102243.1⨯;②路线机器人行走的总距离为 3102559.1⨯;③路线机器人行走的总距离为3101543.1⨯;④路线机器人行走的总距离为3100915.1⨯;显而易见, 经过比力可得④路线为最短路径, 即机器人在点O 从上面绕到目标点C 的距离最短, 其最短路线长度为3100915.1⨯.4、O ——A ——B ——C ——O 路段, 这一路段需要结合之前求得的最短路径, 当机器人在A 、B 、C 转弯时, 为确定其路径最短, 既使A 点处在机器人的转弯圆弧上, 我们设立了如图11的路径,A B1O2OE 图9并计算出转弯圆弧的圆心.由图易算出转弯圆弧的圆心坐标为: 需要注意的是, 在C 点附近, 由于其位置的特殊性, 原有的线圆模型不能很好的处置, 我们采纳两段相切圆弧的线路.B(100, 700)C(700, 640)A (300,300)O (0,0) 图11 AO图10 1O利用MATLAB 软件对其进行编程.计算结果如下:机器人行走的总距离为32.677810⨯问题(2)机器人从O (0, 0)动身, 求得达到A 的最短时间路径.通过问题(1)中对各个路段最短路径的求解, 我们可以做出合理假设:机器人转弯圆弧的圆心在点P (80,210)的位置, 而半径我们设为ρ.由问题(1), 可以获得机器人从O 点到A 的时间为(参照模型一):其中a 为13O O 长度, b 为32O O 长度, c 为13O O 长度, α为132OO O ∠, 由于圆心固定, 其值为固定值.通过MATLAB 编程, 获得()T f ρ=的函数图象如下图所示:从图中可以看出, 当半径ρ=11.435时, 时间T 最小, 其年夜小为.七、模型评价与推广优点:1、该模型设计了三种基本模型, 将实际线路进行简化, 从而降低了计算难度;2、提出行走矩阵的概念, 在法式中对分歧模型进行判断, 从而简化了法式, 方便了计算, 使得法式更具备一般性;3、最终结果由MATLAB 编程计算, 计算结果真实可靠.缺点:1、最短路径的设计上有一定的主观性, 可能会与实际有所偏差;2、在计算到A点最短时间时, 未考虑机器人加速减速的情况, 使得计算值与实际值相比偏年夜.3、在计算到A点最短时间时, 为了方便计算, 将转弯圆弧的圆心确定在点P(80,210), 模型过于简单粗拙, 会与实际情况有所偏差.八、参考文献[1] 丁绪东编著, AutoCAD2007实用教程[M], 中国电力出书社, 2007.[2] 曹戈 , 《MATLAB教程及实训》, 机械工业出书社2008年5月1日.[3] 孙祥, MATLAB 7.0基础教程,北京:清华年夜学出书社, 2005.[4] 戴光明.避障路径规划的算法研究[D].华中科技年夜学, 计算机科学与技术学院,2004.[5]薛定宇, 陈阳泉, 高等应用数学的Matlab解.清华年夜学出书社.~191.[6]冯杰, 黄力伟, 王琴, 尹成义, 数学建模原理与案例, 科学出书社, 2007.附录一场景图:。
2012全国大学生数学建模机器人避障问题优秀论文模型
承诺书我们仔细阅读了《全国大学生数学建模竞赛章程》和《全国大学生数学建模竞赛参赛规则》(以下简称为“竞赛章程和参赛规则”,可从全国大学生数学建模竞赛网站下载)。
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。
如有违反竞赛章程和参赛规则的行为,我们将受到严肃处理。
我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。
我们参赛选择的题号是(从A/B/C/D中选择一项填写): D我们的参赛报名号为(如果赛区设置报名号的话):2418所属学校(请填写完整的全名):参赛队员(打印并签名):1。
黎仕东2.李兆海3。
赵甜森指导教师或指导教师组负责人(打印并签名):(论文纸质版与电子版中的以上信息必须一致,只是电子版中无需签名。
以上内容请仔细核对,提交后将不再允许做任何修改。
如填写错误,论文可能被取消评奖资格。
)日期:年 8 月25 日赛区评阅编号(由赛区组委会评阅前进行编号):编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):机器人避障问题模型摘要本文主要论述的是在一定区域里,在12种障碍物的情况下,机器人通过直线行走和圆弧转弯,绕过障碍物,到达各目标点的最短路径距离,以及到达A点最短时间的问题。
本文将路径划分为若干个直线与圆弧结构来求解.而对于途中绕过障碍物到达目标点,我们分成了两种情况,一种是在所有转弯处均采用最小转弯半径,另一种是在个别转弯处适当扩大转弯半径,使得机器人能够顺利的通过拐弯处,到达目标点。
机器人避障问题的解题分析建模集训资料全
机器人避障问题的解题分析摘要:本文对2012年全国大学生数学建模竞赛D题机器人避障问题进行了全面分析,对最短路的设计进行了理论分析和证明,建立了机器人避障最短路径的几何模型,对最短时间路径问题通过建立非线性规划模型,有效地解决了转弯半径、圆弧圆心位置和行走时间等问题。
关键词:机器人避障;最短路径;Dijkstra算法;几何模型;非线性规划模型1 引言随着科学技术的进步和计算机技术的发展,机器人的应用越来越广泛,在机器人的应用中如何使机器人在其工作围为完成一项特定的任务寻找一条安全高效的行走路径,是人工智能领域的一个重要问题。
本文主要针对在一个场景中的各种静态障碍物,研究机器人绕过障碍物到达指定目的地的最短路径问题和最短时间问题。
本文以2012年“高教社”杯全国大学生数学建模竞赛D题“机器人避障问题”为例进行研究。
假设机器人的工作围为800×800的平面正方形区域(如图1),其中有12个不同形状的静态障碍物,障碍物的数学描述(如表1):图1 800×800平面场景图表1在原点O(0, 0)点处有一个机器人,它只能在该平面场景围活动,机器人不能与障碍物发生碰撞,障碍物外指定一点为机器人要到达的目标点。
规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。
机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。
为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若碰撞发生,则机器人无法完成行走。
机器人直线行走的最大速度为50=v 个单位/秒。
机器人转弯时,最大转弯速度为21.0100e1)(ρρ-+==v v v (ρ是转弯半径)。
如果超过该速度,机器人将发生侧翻,无法完成行走。
场景图中有4个目标点O(0, 0),A(300, 300),B(100, 700),C(700, 640),下面我们将研究机器人从O(0, 0)出发,求O→A、O→B、O→C和O→A→B→C→O的最短路径,以及机器人从O(0, 0)出发,到达A 的最短时间路径问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机器人避障问题摘要 本文研究了机器人避障最短路径和最短时间路径的问题。
主要研究了在一个区域中存在12个不同形状障碍物,由出发点到达目标点以及由出发点经过途中的若干目标点到达最终目标点的多种情形,寻找出一条恰当的从给出发点到目标点的运动路径使机器人在运动中能安全、无碰撞的绕过障碍物而使用的路径和时间最短。
由于规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径,机器人不能折线转弯。
所以只要给定的出发点到目标点存在至少一个障碍物,我们都可以认为最短路径一定是由线和圆弧所组成,因此我们建立了切线圆结构,这样无论路径多么复杂,我们都可以将路径划分为若干个这种切线圆结构来求解。
在没有危险碰撞的情况下,圆弧的半径越小,路径应该越短,因此我们尽量选择最小的圆弧半径以达到最优。
对于途中经过节点的再到达目标点的状况,我们采用了两种方案,一种是在拐点和节点都采用最小转弯半径的形式,另一种是适当扩大拐点处的转弯半径,使得机器人能够沿直线通过途中的目标点。
然后建立了最优化模型对两种方案分别进行求解,把可能路径的最短路径采用穷举法列举出来,用lingo 工具箱求解得出了机器人从O(0,0)出发,O→A、O→B、O→C 和O→A→B→C→O 的最短路径;利用matlab 中的fminbnd 函数求极值的方法求出了机器人从O(0,0)出发,到达A 的最短时间路径。
本文提出一种最短切线圆路径的规划方法,其涉及的理论并不高深,只是应用了几何知识和计算机程序、数学工具计算,计算简易,便于实现,能搞提高运行效率。
问题一O→A 最短路径为:OA L =471.0372O→B 最短路径为:=1OB L 853.8014O→C 最短路径为:4OC L =1054.0O→A→B→C→O 最短路径为:问题二机器人从O(0,0)出发,到达A 的最短时间路径:最短时间是94.5649,圆弧的半径是11.5035,路径长4078.472=OA L关键词最短路径;避障路径;最优化模型;解析几何;数学工具一、问题重述图1是一个800×800的平面场景图,在原点O(0,0)点处有一个机器人,它只能在该平面场景范围内活动。
图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍障碍物的距离至少超过10个单位)。
规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。
机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。
为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若碰撞发生,则机器人无法完成行走。
机器人直线行走的最大速度为50=v 个单位/秒。
机器人转弯时,最大转弯速度为21.0100e1)(ρρ-+==v 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 的最短时间路径。
注:要给出路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标以及机器人行走的总距离和总时间。
图1800×800平面场景图二、 问题分析1、要求求定点O(0,0)按照一定的行走规则绕过障碍物到达目标点的最短路径,我们先可以包络线画出机器人行走的危险区域,在没有危险碰撞的情况下,圆弧的半径越小,路径应该越短。
这样的话,拐角处就是一个以方形或三角形障碍物的顶点为圆心半径为10个单位的圆弧,如果是圆形障碍物就应该是以障碍物的圆心为圆心、障碍物的半径长加上10为半径的圆弧。
2、若经过中间的若干点按照一定的规则绕过障碍物到达目标点,这使我们考虑就不仅仅是经过障碍物拐点的问题,也应该考虑经过路径中的目标点处转弯的问题,这时简单的线圆结构就不能解决这种问题,我们在拐点及途中目标点处都采用最小转弯半径的形式,也可以适当的变换拐点处的拐弯半径,使机器人能够沿直线通过途中的目标点,然后建立优化模型对这两种方案分别进行优化,最终求得最短路径。
3、这样机器人行走的路径就是由切线段、内公切线、外公切线以及圆弧组成的这里称之为切线圆路径。
三、 模型假设1、假设障碍物只包含长方形、正方形、三角形、圆形。
2、假设机器人能够抽象成点来处理。
3、路径不考虑走平面场地的边界。
五、符号说明在计算机程序输入的原始数据中:(T,V,W,r)表示T 是起点坐标,V 是圆弧的圆心坐标,W 是目标节点坐标,r 是圆弧半径.为便于叙述和计算,根据已知条件我们给12个障碍物中的11个方形和三角形顶点用字母ij T 或ij S 表示,其中T 或S 表示障碍物,ij T 中i 表示第i 号障碍物,ij S 中i 表示第9+i 号障碍物,j 表示从左下角开始按顺时针数起第几个顶点。
如下表一所示:表一点字母表示(如:6162747381O T T T T T B →→→→→→表示从点O 经过6号三角形左顶角为圆心的圆弧到6号三角形上顶角为圆心的圆弧到7号方形右下角为圆心的圆弧到7号方形右上角为圆心的圆弧到8号菱形左下角为圆心的圆弧到达点B 。
标出的经过顶点六、模型的建立与求解由于规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径,机器人不能折线转弯。
据此可以这样认为,起点到目标点无论中间障碍物有多少,最短路径都应该是若干个切线圆结构所组成。
易知,求两点之间的最短路径中的转弯半径越小路径就越短,我们应该按照最小的转弯半径来算才能达到最优。
根据要求机器人行走线路与障碍物间的最近距离为10个单位,因此在方形及三角形顶点转弯的地方圆弧半径10r ≥,我们尽量取以顶点为圆心半径为r=10个单位的圆弧,如果是圆形障碍物就应该是以障碍物的圆心为圆心、障碍物的半径长加上10为半径的圆弧,只有在必要的时候对半径作适当的加大调整。
6.1模型I 求从起点O(0,0)到目标点A(300,300)的最短路径。
经过观察很显然从O 到A 有两条选择的路径(其它路径需要经过过多的障碍物路径显然比较长不必考虑)如图6.11所示,一条是从5号障碍物的左上角走OPQA ,一条是从右下角走OHJA 。
他们的路径结构图是类似的如图6.12所示。
图6.11图6.12设),11y x O (为起点,),(22y x A 为目标点,33(,)P x y 和44(,)Q x y 分别为机器人经过拐点分别于隔离危险线拐角小圆弧的切点,圆心为55(,)T x y ,圆的半径为r ,OA 的长度为a ,OT 的长度为b ,AT 的长度为c ,角度OTA ∠=,,,,OTA OTP ATQ PTQ αβγθ∠=∠=∠=∠=.求的长度,设为L .解法如下:如上图可得有以下关系:OTA ∆在中:OA =在Rt OTP ∆:在Rt OTP ∆中:所以:从而可得路径长: Lr θ=(1.1)即模型I 为:min L r θ=, =arccos rb β,222arccos()2b c a bcα+-=由已知条件知(00),(300300),(80,210)O A T ,,即 ,01=x ,01=y .10210,80,300,3005522=====r y x y x ,,利用计算机计算lingo 算法(T 是起点坐标V 是圆弧圆心坐标W 是过程目标点坐标r 圆弧是半径):functionresult=zongchang(T,V,W,r)TV=sqrt((T(1)-V(1))^2+(T(2)-V(2))^2);TW=sqrt((T(1)-W(1))^2+(T(2)-W(2))^2);VW=sqrt((V(1)-W(1))^2+(V(2)-W(2))^2);alpha1=acos((TV^2+VW^2-TW^2)/(2*TV*VW));alpha2=acos(r/TV);alpha3=acos(r/VW);alpha4=2*pi-alpha1-alpha2-alpha3;TS1=sqrt(TV^2-r^2);S2W=sqrt(VW^2-r^2);S1S2hu=r*alpha4;result=TS1+S1S2hu+S2W;结果算得的长度OA L =471.0372又由22222515131312225353()()10()()()()x x y y x x y y x x y y r ⎧-+--=-+-⎨-+-=⎩(1) 和22222525254532225454(-)()10()()()()x x y y x x y y x x y y r ⎧+--=-+-⎨-+-=⎩(2) 计算得点52T 为圆心的圆弧两切点的坐标为5252(70.506,213.1406),(76.6064,219.4066)P Q 。
同样,通过计算可得从路径从右下角方向(圆心T 的坐标改为5号障碍物右下角顶点坐标54T (230,60))走时OHJA 长度OAL '=498.4259. 很显然机器人从5号障碍物左上角52T 走的路径OPQA 小于机器人5号障碍物右下角54T 走的路径OHJA 要短。
因此从起点O(0,0)到目标点A(300,300)的最短路径是,长度OA L =471.0372,圆弧PQ 的切点坐标为(70.506,213.1406),(76.6064,219.4066)P Q 。
同时可以验证6号三角形障碍物右下角顶点到切线AQ 距离大于10,所以过52T 的OPQA 路径是安全的也是最短的。
下面考虑问题二:从O 到A 的最短时间路径由式(1.1)可求得时间路径的目标函数为:2100.15min 551r t r e θ-=++÷+,1080≥≥t利用matlab 中的fminbnd 函数求极值f1='(x*(2*pi-2.3231-acos(x/224.7221)-acos(x/237.6973))/(5/(1+exp(10-0.1*x^2))))+sqrt(224.7221^2-x^2)/5+sqrt(237.6973^2-x^2)/5';[x_min,f_min,flag]=fminbnd(f1,10,50)得结果:x_min=11.5035,f_min=94.5649,flag=1即最短时间是94.5649,52T 圆弧的半径是11.5035。
利用式(1)(2)算得两切点坐标)8453.2201648.76(),5395.2130546.69(5252,,Q P ,路径长4078.472=OA L .6.2模型II 求从起点O(0,0)到目标点B(100,700)的最短路径。