机器人避障问题的解题分析(建模集训)
机器人避障问题

机器人避障问题Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998机器人避障问题摘要本文研究了在一个800800⨯平面场景里,机器人通过直线和圆弧转弯,绕过障碍物,到达目标点的问题,解决了到达目标点路径最短,以及到达A 点时间最短的问题。
文章将路径划分为若干个这种线圆结构来求解。
对于途中经过节点的再到达目标点的状况,我们采用了在拐点和节点最小转弯半径的形式.问题一,将其分解成圆线结构进行求解,利用枚举法将最短路径表示出来,结果是:O A →的距离是O →B 的距离是O →C 的距离是O →A →B →C →O关键词:最短路径 最短时间 几何应用 最优化问题一 问题重述机器人从指定点到达的目标点,其行走路径由直线段和圆弧组成。
机器人转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为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.问题一要求从起始点o 绕过障碍物到达目标点,并且与障碍物最小距离为10,拐弯半径越小,走的路线越接近直线,在拐弯处画一个以拐点为圆心,半径为10的圆,这样我们就可以从起始点出发,分别做圆的切线,直到终点。
机器人避障问题模型研究

2 模 型假 设
1 ) 假设绕过障碍物我们均走最小半径的圆弧 ; 2 ) 假设 机 器人 能够 抽象 成点 来处理 ;
3 ) 假 设不 考虑 弧度 计算 ;
圆相 切 , 切点 分别 为 E和 F, 当 Y趋 近 于 Y 时 , 显 然 A C B是这 种折 线 路 径 中最 短 的。 因 为 当 : 0< O t <
1 8
数
字
通
信
第4 0卷
与障碍 物 问的最 近距离 为 1 0个单 位 , 否则将 发 生碰 撞, 若碰 撞 发生 , 机 器 人则无 法完 成行 走 。 建立 机器人 从 区域 中一点 到达 另一 点 的避 障最 短路径 和 最短 时问路 径 的数 学模 型 。场 景 图 中有 4 个 目标 点 0( 0 , 0) , 4( 3 0 0 , 3 0 0 ) , B( 1 0 0 ,7 0 0 ) , C ( 7 0 0 , 6 4 0 ) 。具 体分 别计算 :机 器人 从 0( 0 , 0 ) 点
出发 , D 一4, D —B, D — C和 D —A —B —C — D 的最 短路 径及 长度 。
问题 : 证 明绳 子拉 紧时 的情况 , 则 为 2个 点 之 间
的最 短路 径 。 假设 在平 面 中有 A( a , 0 ) 和 曰(一a , 0 ) 2点 , 中
间有 1 个半圆形的障碍物 , 证 明从 到 B的最路径
分析 中的绳子拉到最紧时的情况 。
T A E F B是 满足 条件 A到 的最短 路径 。
第 6期
侯学 慧 : 机器人避 障问题模型研究
l 9
3 . 2 模型 准 备 1
所 以,
=2 一O t 一卢 一
机器人壁障问题——数学建模讲解

机器人避障问题摘要:当今科学技术日益发达,高科技产品尤其是机器人在我们日常生活中运用的越来越广泛,它能够代替人类完成许许多多的工作,但如何能让机器人自动化的完成人类交给的任务成为设计机器人的关键。
我们做此题就是为了更好的利用机器人为我们提供方便,提高生活质量,若机器人程序设计不当不仅不会给人类带来方便,还很有可能给我们的生活带来更多的麻烦。
本题中提出了如何让机器人能够自动识别障碍物,保证机器人能够在合理区域行走,并设计出如何能让机器人自动判断最短路程于最短时间下行走路线的问题。
所以解决好本题可以为我们的生活提供帮助。
本文通过运用两点之间直线最短理论,优化问题,最短路问题,图论,以及运用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一 问题重述 随着现代科学技术日新月异的发展,机器人越来越多的出现在日常生活中,它既可以通过运行预先编排的程序为人类服务,根据人工智能程序自动处理一些生活中问题,进而协助或者相应地取代人类的工作,可以说机器人的创新与改进正一步步影响着人类的发展。
数学建模机器人避障论文

承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A/B/C/D中选择一项填写):我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):参赛队员(打印并签名) :1.2.3.指导教师或指导教师组负责人(打印并签名):日期:年月日编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):机器人避障问题摘要针对题中机器人避障最短路径问题,文章使用简化后建立的最短路径的数学模型来解决此类问题。
对于问题1,我们matlab中自带函数graphshortestpath函数求解最短路径的数学模型。
其主要思想是:首先先证明出两点之间的最短路径是由两条线段和以中间点为圆心的圆的一段圆弧组成,然后证明圆弧的半径为定值10。
然后对模型简化使模型化为标准的最短路径模型,最后用graphshortestpath函数对模型求解。
针对问题2,我们建立了优化模型。
在问题1的基础上,我们对两种行走方案进行分析,根据转弯弧的半径变化对速度的影响我们锁定到一条路径,然后利用lingo对优化模型进行求解。
关键词:graphshortestpath函数、最短路径、避障问题1、问题重述已知:在下图中原点O(0, 0)点处有一个机器人,它只能在该平面场景范围内活动。
建模机器人避路障问题

建模机器人避路障问题机器人避障问题摘要:本文根据题目要求,主要研究了在一个区域内有障碍物的最短路径问题。
依题意我们可以认为最短路径一定是由线和最小圆弧组成,圆心在障碍物的顶点。
对于问题一首先讨论由O 到A 的距离,为了到达目标点,我们建立了圆线模型。
将路线分为两部分:一部分是平面上的自然最短路径(即直线段),另一部分是限定区域的部分边界的半径至少十个单位以外的圆弧,得到其路径长度为2222L b r c r r θ=--,并用MATLAB 程序解得最短路径471.0372对于O 到B 的距离问题,为了到达目标点,我们需要建立圆与点圆模型,其中由于圆与圆之间的不同的位置关系,又可以分为同向相切与异向相切,同向相切时 22221212L b r c r r r o o θθ=--++,异向相切时 2222221212()2o o L b r c r r r r θθ=--++-。
由MATLAB 程序解得最短路径869.8523。
对于O 到C ,与前者的区别是障碍物大圆视为半径较大的转折弧,为了到达目标点,依旧建立圆圆结构与线圆结构模型,经MATLAB 程序解得最短路径为1011.3。
对于OABCO 的路径问题,除了用了上述提到的圆圆,线圆结构外,还建立了圆心偏移的模型(即点ABC 在相对应的弧上),A 点偏以后的坐标为(290.9,304.1),B 点偏以后的坐标为(108.23,694.32),C 点偏以后的坐标为(707.26,633.12),将OABCO 分为两部分,一部分为OABCN (730,520)的距离,另一部分为由N 回到O 的距离,两部分结果之和即为所求路径。
OABCN 的距离1.7691e+003,N 到O 为880.7744,总长为2649,6744对于问题二,我们将路线问题转化为规划问题,求的最短时间,目标函数为由LINGO 有最短时间为94.22822,切点坐标(69.80,211.98)(77.75,220.14) 圆心(82.14,207.92)。
机器人避障问题

D题机器人避障问题摘要本文针对机器人的避障问题,建立了两个相应的数学模型。
模型一:针对机器人避障最短路径的问题。
研究了机器人从出发点到目标点,以及从出发点经过若干目标点最终回到出发点的两种情况。
首先,证明了具有圆形限定区域的最短路径是由限定区域的部分边界(部分圆弧)以及与之相切的直线段组成;其次,依据证明结果,最短路径一定是由线和圆弧组成,以线圆结构建立了最短路径与时间的通用优化模型,解决了无论路径多么复杂都可以将路径划分为若干个这种线圆结构来求解的问题;再次,对于途中经过若干目标点最终再回到出发点的问题,采用在拐点和节点都用最小转弯半径的的方案进行计算;最后,对机器人所走最短路径可能性较大的几条路径进行分割,再用通用优化模型进行求解,得到机器人行走的最短路径如下:路径总距离(单位)总时间(秒)→ 471.0372 96.0176O A→853.7001 179.5340O B→1095.1 224.7865O C→→→→2762.5 581.4193 O A B C O模型二:针对机器人避障最短时间路径的问题。
研究了行走总时间(即机器人走直线和圆弧所用的时间之和)会随转弯圆弧的圆心和半径的变动而改变的情况。
首先,分析在半径一定、圆心在直线OE上运动的情况,得到半径一定时的最短时间路径的最优方案;然后,以转弯圆弧过E点为条件,通过调整半径的大小,得出最短时间路径的最优方案;最后,以以上两种方案为依据,得到O A→的最短时间路径为:圆心为(82,208),T=(秒)。
12.828r=(单位),94.2284本文还对模型做了进一步的推广,对于智能设备的研究有较高的参考价值。
关键词:最短路径最短时间路径线圆结构最优化模型1问题重述1.1 背景资料(1)图1(见附录B )在原点O(0,0)处有一个机器人,它只能在一个800×800的平面场景范围内活动。
而图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物,其障碍物的数学描述如表(见附录A )。
机器人避障的原理及分析

机器人避障的原理及分析机器人避障的原理和分析是指机器人在感知到障碍物时,能够自动进行规避或避免碰撞的能力。
这种能力对于机器人在各种环境中的自主移动和安全运行至关重要。
下面我们将从机器人感知技术、决策算法和执行控制三个方面来分析机器人避障的原理。
机器人的感知技术是实现避障的基础。
一般来说,机器人感知障碍物主要通过以下几种传感器实现:1.超声波传感器:超声波传感器通过发送超声波信号并计算信号的反射时间来确定物体与机器人之间的距离。
根据距离信息,机器人可以判断是否需要避障。
2.激光雷达:激光雷达是一种高精度测距传感器,能够测量物体与机器人之间的精确距离和方位信息。
通过激光雷达,机器人可以获得详细的环境地图,从而有效地规避障碍物。
3.视觉传感器:视觉传感器一般使用相机或摄像头,通过图像处理和计算机视觉算法来识别、跟踪和测量障碍物。
视觉传感器可以提供丰富的环境信息,但在复杂环境或光线不足时可能受到限制。
决策算法是机器人避障的核心。
一般来说,决策算法会根据传感器获得的环境信息进行分析和判断,并采取相应的措施规避障碍物。
常见的决策算法有:1.基于规则的方法:基于规则的决策算法将预先定义的规则应用于感知到的环境信息,从而判断机器人应该采取的动作。
例如,如果机器人检测到前方有障碍物,则应该停止或绕过障碍物。
2.基于学习的方法:基于学习的决策算法使用机器学习技术,通过分析大量的训练数据来学习如何判断和规避障碍物。
这种方法可以适应不同的环境和障碍物类型,具有较高的智能性和灵活性。
执行控制是机器人避障的最后一步。
一旦决策算法确定了机器人应该采取的动作,执行控制系统会将指令传达给机器人的执行器,如电机或轮子,以实现相应的运动。
执行控制系统需要与感知技术和决策算法紧密协作,确保机器人能够及时、准确地避开障碍物。
总体而言,机器人避障的原理是通过感知技术获取环境信息,利用决策算法分析和判断障碍物,然后通过执行控制系统执行相应的运动。
机器人避障问题的解题分析建模集训资料全

机器人避障问题的解题分析摘要:本文对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)。
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的最短时间路径问题。
2 静态避障问题中机器人行走最短路径的分析行走路径的设计在本例中障碍物有4种不同形状:矩形、平行四边形、三角形和圆形。
考虑到机器人本身的形状和大小,为研究方便起见,将机器人视为一个点。
机器人与障碍物之间的距离至少为10个单位,因此可以先用包络线画出机器人行走的危险区域(如图2),包络线内是机器人的禁入区。
图2 障碍物包络图对障碍物的一个角点来说,其禁入区的边界应由两条直线和一条圆弧组成,两条直线分别平行于角点的两条边,间距为10个单位,圆弧是以障碍物角点为圆心,半径为10个单位的四分之一圆弧。
可以证明具有圆形限定区域的最短路径由两部分组成,一部分是平面上的自然最短路径(直线段),另一部分是限定区域的部分边界(即绳子拉到最紧时的圆弧部分),这两部分是相切的,互相连接(如图3所示)。
由A绕过半圆形障碍物到达B点的路径有多条,其中最短路径为AEFB(E、F为切点),其他路径与AB直线围成的区域都覆盖这一路径与AB直线围成的区域,由此证明[1]。
图3由此可以确定机器人的行走路径应为线圆结构,那么是否是转弯半径越小,行走路径就越短呢为此需要求在已知两个固定点和圆弧圆心坐标的情况下,圆弧半径r 为何值,才能使机器人的行走路径最短。
图4如图4,已知两个固定点()()1122,,,A a b B a b ,圆心(),O m n ,可以求得两切点坐标()()1122,,,C x y D x y ,设半径为r ,圆弧CD 所对的圆心角为ω,A B →的路径长度为L ,则()()()()22221122111122221122arctan arctan L AC BD r y b y b x a y b x a y b r x a x a ω=++⎛⎫--=-+--+-⋅- ⎪--⎝⎭ 将路径函数L 对r 求导,得11221122arctanarctan y b y bL x a x a --'=--- 因为11111111,,arctan0y b x a y b x a ->>>-,22222222,,arctan 0y bx a y b x a -<><-,所以0L '>.0L '>,则函数L 为单调递增函数,因此当圆弧半径r 逐渐增加时,机器人的行走路径会增大,r 逐渐降低时,机器人的行走路径会减小[2],本题规定转弯半径最小为10个单位,所以在路径设定时应将转弯半径设定为最小值10个单位。
根据以上分析,对于静态障碍物机器人的行走路径应遵循以下三个原则: 原则一:机器人的行走路径为线圆结构,由两条切线和一段圆弧组成; 原则二:每个路口至多发生一次转弯,并以障碍物顶点为转弯圆弧的中心; 原则三:机器人转弯圆弧半径为最小允许半径10个单位。
最短路径的选择从起点到达目标点有多条路径,根据Dijkstra 算法可以找出从起点到达每一个目标点的最短路径。
本文采用带权的有向图表示机器人的行走路径,途中节点为障碍物的角点,边表示障碍物之间的联系,权表示线路的长度(节点之间的直线距离)。
从顶点出发,沿图的边到达另一顶点所经过的路径中,各边上权值之和最小的一条路径就是所求最短路径,Dijkstra 算法就是按路径的长度递增次序产生最短路径的算法[3]。
下面以 O B →为例,确定O B →的最短路径。
如图5所示,根据障碍物的形状和位置,本文给出了机器人从O(0, 0)出发避过障碍物到达目标B 点的4条较优路径。
图5画出O B →的非循环网络图(如图6):图6运用Dijkstra 算法算出O B →的最短路径,最短路算法如下: 1、 起点O 记为0B ,终点B 记为n B ;2、 从网络的终点n B 开始,令它的标号n λ为零,并用方框记录在图6中;3、 计算结点i B 的标号i λ,设结点j B 已标号,结点i B 指向j B ,则i B 的标号可按算式:{}min (,)i i jl i j λλ=+求出,其中i λ是i B 的标号,(),l i j 是结点i B 与j B 之间的直线距离;4、 重复上述计算,直到求得起点0B 的标号0λ为止,此标号0λ即为最短路的长度;5、 确定最短路径,从起点开始,顺网络的箭线前进,若有几条箭线,则选取箭线所指标号最小且满足条件(),,1j k l j k k j λλ=+≥+的结点为最短路径所经过的结点。
在图6中,最短路径为:35678O B B B B B B →→→→→→. 应用上述算法可得到从O 点出发,分别到达各目标点的最短路径:图7O A →的最短路径为: 2O A A →→(如图7)图8O C →的最短路径为:1451112O C C C C C C →→→→→→(如图8)图9O A B C O →→→→的最短路径为:1123134587123O A A B B B B C C C C C C C O O O O →→→→→→→→→→→→→→→→→3 最短路径计算模型单个目标点的最短路径根据前面制定的行走路径原则,起点到目标点无论中间障碍物有多少,最短路径都应该是若干个线圆结构所组成,圆弧中心为障碍物的顶点,半径为机器人转弯最小半径10个单位。
观察这四条路径,发现所有行走路径都可归结为以下三种类型: 类型一图10 线圆结构1如图10,设O (11,x y )为起点,A (22,x y )为目标点,C 和D 分别为直线与转弯圆弧的切点,障碍物的顶点33(,)M x y (即转弯圆弧的圆心),圆的半径为r ,OA 的长度为a ,OM 的长度为b ,AM 的长度为c ,,,,.OMA OMC AMD CMD ϕαβθ∠=∠=∠=∠=设O A →的长度为L ,则L OC AD CD =++,由图10可得以下关系:222121223131223232()()(()()()()a x x y y b x x y y c x x y y ⎧=-+-⎪⎪=-+-⎨⎪=-+-⎪⎩在OMA ∆中:222arccos()2b c a bcϕ+-= 在Rt OMC ∆中:arccosr bα=在Rt AMD ∆中:arccos r cβ= 所以:2θπϕαβ=--- 从而可得:2222L b r c r r θ=-+-+这个模型运算简洁,只需将起点、目标点和障碍物顶点坐标输入模型,MATLAB 就能很快计算出来[4],计算程序见附录1。
类型二:对于图11这种线圆结构,需要做简单的变换,才能求出A B →的路径长度。
图11 线圆结构2假设两圆心坐标分别为11(,)O x y 和22(,)O x y ',M 点为两圆心连线和两圆公切线的交点,坐标为33(,)M x y ,那么很容易可以求得:12312322x x x y y y +⎧=⎪⎪⎨+⎪=⎪⎩ 这样就可以利用类型一中的方法,先求A 到M 的长度,再求M 到B 的长度,分两段就可以求解。
同理如果有更多的转弯,同样可以按照此种方法分解。
类型三图12 线圆结构3如图12,如果两圆弧的公切线平行于两圆圆心连线,求A B →的路径长度。
设各点坐标分别为起点A (1x ,1y ),目标点B(22,x y ),障碍物顶点33(,)O x y ,障碍物顶点45'(,)O x y ),半径为,,,,,r a b c d e 分别是',',,,'AO OO AO BO BO 的长度,1'AOO α∠=,11,,AOC COD βθ∠=∠=222',,BOO BOF EOF αβθ∠=∠=∠=设A B →的长度为L ,则'L AC CD OO EF FB =++++ 解法如下:由图12,可以得到以下关系: 224141()()x x y y -+- 224343()()x x y y -+- 223131()()x x y y -+-223232()()d x x y y =-+- 224242()()e x x y y =-+-在'AOO ∆中,由余弦定理可得:2221arccos 2b c a bcα+-=在Rt AOC ∆中,1β=arccos rc所以: 11132πθαβ=--同理:2222arccos 2b e d be α+-=;2β=arccos r e ;22232πθαβ=--则'L AC CD OO EF FB =++++222212+++c r r b r e r θθ=-+-222222222233=+(arccos arccos )(arccos arccos )2222c b a r b e d rc r r b r e r bc c be eππ+-+----++--+- 运用MATLAB 进行计算,MATLAB 计算程序见附录2. 多个目标点的最短路径机器人从起点出发,依次经过指定的中间目标点最后到达终点,是多个目标点的最短路径问题。