高教社杯数学建模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高教社杯全国大学生数学建模竞赛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题——机器人避障问题

全国大学生数学建模竞赛国家一等奖论文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)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)的最短路径。

相关文档
最新文档