数学建模机器人避障论文

合集下载

行走机器人避障题数学建模

行走机器人避障题数学建模

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

机器人避障问题研究

机器人避障问题研究

一、问题的提出在一个310×310的平面场景内,在原点O(0,0)点处有一个机器人,它只能在该平面场景范围内活动。

在平面场景中有3个形状分别为正方形、长方形、三角形的不同区域,是机器人不能与之发生碰撞的障碍物,这些障碍物的顶点坐标分别为:正方形E(80,60)、F (80,210)、G(230,210)、H(230,60),长方形B (60,300)、I(60,310)、J(235,310)、C(235,300),三角形K (280,100)、M(310,100)、N(310,200)。

障碍物外指定一点为机器人要到达的目标点(要求目标点与障碍物的距离至少超过10个单位)。

机器人的行走路径满足如下假设:(1)行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。

(2)机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。

(3)为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若碰撞发生,则机器人无法完成行走。

请建立机器人从区域中一点绕过一个障碍物顶点到达另一点的避障最短路径的数学模型。

对于平面场景图中2个点,具体计算机器人从O(0,0)出发,到达A (300,300)的最短路径。

注:要给出路径中每段直线段或圆弧的起点和终点坐标以及机器人行走的总距离。

数据结果精确到小数点后两位。

二、模型分析根据假设3,机器人的行走路径在必须在以各障碍物周围10个单位以外区域内进行,要使行走路径最短,若不绕过避障点(障碍物的顶点),则以直线路径行走,若要绕过避障点,则行走的直线必须与以避障点为圆心的圆相切,再在以避障点为圆心的圆上行走一段圆弧,最后再以切线方向走向另一段直线或圆弧,且转弯时的圆弧半径要最小,即转弯圆弧半径为10个单位。

根据机器人行走的路径情况,我们建立如下模型。

三、模型建立1.根据以上分析,机器人的行走路径为从一个点出发直线到达以避障点为圆心的圆的圆周上的某一点,或从以避障点为圆心的圆的圆周上一点出发直线达到另一点,简化为从一点出发向一个以避障点为圆心的圆做切线。

2012年数学建模机器人避障问题

2012年数学建模机器人避障问题

机器人避障问题摘要本文主要运用直线逼近法等规律来解决机器人避障问题.对于问题一:要求最短路径运用直线逼近法证得圆弧角三角形定理,得出结论:若一大圆弧角三角形完全包括另一小圆弧角三角形,则该三角形曲线周长必大于小的三角形周长.那么可知机器人在曲线过弯时,选择最小半径可满足路径最短,即为10个单位半径,通过观察可得可能的所有曲线,通过仅考虑直线段的大致筛选选出总长较小、长度相近(之差小于100)的曲线,然后利用平面几何知识对相关切点,进而求出各直线、曲线的长度,求和可得最段路线.对于问题二:通过对机器人过弯规律21.0100e 1)(ρρ-+==v v v 的分析可知,当过弯半径13ρ=时,机器人速度达最大速度为50=v 个单位/秒,再大就无变化了,那么可分两种情况考虑:1)当13ρ>时,过弯速度无变化,但由圆弧角三角形定理可知,此时随着ρ的不断变大,其路线总长不断变大,这时ρ越小O A →所用时间最短;2)当13ρ≤时,统计计算ρ分别为10、11、12、13时,过弯速度v 也不断变化,计算所用时间发现随ρ不断变大,O A →所用时间越短,此时当13ρ=时,时间最短.综合上述可知:当13ρ=时,时间最短.关键词:质点机器人 安全范围 直线逼近法 圆弧角三角形定理 10单位半径1 问题重述在一个800×800的平面场景中,在原点O(0, 0)点处有一个机器人,它只能在该平面场景范围内活动,其中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物,物的距离至少超过10个单位).规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径.机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位.为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位.机器人直线行走的最大速度为50=v 个单位/秒.机器人转弯时,最大转弯速度为2100.110()(1e)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 的最短时间路径.2 问题分析2.1问题一:该问题要求路径最短,即不要求速度与时间,则可认为以最小半径10的圆过弯.如图2.1所示:由圆弧角三角形定理(简单证明见模型准备5.3)可知过弯时,只有采用10单位半径过弯时,才会使得过弯路径最短,因此解决问题一的过弯拐角问题均采用10单位半径过弯路径. 2.2问题二:由于O→A 过程中,机器人至少要经过一次转弯;因为转弯时的速度一般小于直线行走的最大速度,又由分析指出转弯次数越多,转弯路径越远,转弯所花费的时间也越长.所以可以确定有且只有一次转弯时才存在最短时间路径.就仅考虑只经过一次转弯的情形.3 模型假设1)假设机器人可准确执行运动轨道,无任何偏差;2)假设机器人为一可运动的质点,即质点机器人不考虑其外形尺寸; 3)假设机器人的行进速度可瞬时加减变化,不受条件限制;4)假设机器人可到达边界线而不会发生碰撞,即对边界线不再加10个单位.4 符号说明hij D : 机器人的行走路径上各切点,h 表示路径目的地(A 、B 、C ),i 表示到达h 机器人行走路线的第(1,2,3,)i i = 种方案,j 表示机器人在该路线上所经过的第(1,2,3,)i i = 个点;hij L : 机器人的行走路径上的线段长或弧长,h 、i 、j 同上定义;ij D :机器人的行走路径上的障碍物的顶点,i 、j 同上定义;`hj D :机器人在O A B C O →→→→环道中的各线切点h 、j 同上定义5 模型准备5.1建立机器人运动坐标系:以O 为原点,两对应坐标轴,水平方向为X 轴,垂直方向为Y 轴5.2建立机器人可安全运动到达的区域图:由于保持安全距离10个单位,则机器人的实际可到达到区域应由各障碍物的外延10个单位的区域组成如图所示图5.2.1实线外的空白部分.5.3圆弧角三角形定理:定义1:平面内若两不平行直线所夹的角被一同时与这两条直线相切的圆弧段取代而形成的角,叫做圆弧角.如图5.3.2,称为凸圆弧角(本文主要讨论);如图 5.3.3,称为凹圆弧角.定义2:由有一内角为凸圆弧角的三角形为圆弧角三角形.圆弧角三角形定理:圆弧角`DHD ∠在直线`DD 及上方范围完全包含圆弧角`DGD ∠(即圆弧角DGD ’各边均在圆弧角`DHD ∠的边与线段DD ’所构成的封闭区间内,如图5.3.1所示)时,则有曲线段`DGD 的长度恒小于曲线段`DHD 成立.证明:如图 5.3.1,过圆弧 'EGE的一个端点E 作该圆弧在该点的切线的垂线交曲线DH 于点F ,同样过圆弧 'EGE的另一个端点'E 也作相应的垂线交曲线'D H 于点'F ,两条直线的交点O 显然为圆弧 'EGE 所在圆的圆心. (1),EF DE ⊥ 90DEF ∴∠=︒ ;,DF DE ∴> 曲线段DF DF ≥, ∴曲线段DF DE >.(2)'''',E F D E ⊥ '''90D E F ∴∠=︒;'''',D F D E ∴> 曲线段''''D F D F ≥;∴曲线段''''D F D E >.(3)将''EFF E 分成n 等份(如图5.3.5),每部分(见图5.3.4)中,,(1,,)i i M N i n = 是 MN 与边界的交点.令i i M N 为i M ,i N 两点间直线长度,''i i M N 为`i A ,`i E 两点间直线长度,则圆弧 MN 长度=1lim ni i n i M N →∞=∑,曲线`AE 长度=''1lim ni in i M N →∞=∑又容易证明,''(1,,)i i i i M N M N i n ≤= ,故有''11lim lim n ni i i i n n i i M N M N →∞→∞==≤∑∑ .因此,圆弧 MN长度≤曲线 ''M N 长度. 综合(1)(2)(3)的证明,得曲线段DF +曲线段''D F +曲线 ''M N 长度 > DE +''D E +圆弧 MN长度.结论得证. 6 模型建立与求解该问题要求路径最短,即不要求速度与时间,则可认为过弯半径允许以最小半径10,如图6.1所示.由圆弧角三角形定理可得:本论文问题一求路径最短可采用10单位过弯半径,即以半径为10个单位的圆弧过弯可满足两点避障过弯最短问题.6.1问题一的模型建立与求解:6.1.1:机器人从O(0, 0)出发,O A →的最短路径. 由圆弧角三角形定理可得:采用10单位半径过弯路径最短,解决过弯避障拐角问题采用10单位半径过弯路径.已知机器人所走路线为直线或圆弧,那么通过实际规划可得如下四种避障行进方案:如图6.1.1首先对上述四条路线进行筛选:1)当机器人以一个连续圆弧过弯,即选择路 线二或路线四时,其中路线二:分别过点O A ,和障碍物5的切点23a D (72.74,216.88),则可得过该三点的圆的方程:225406140x y x y ++-=显然当0x =时,y 有不等的两个根,则该路线超出规定场地. 同理路线四的圆方程:22(73.98)(226.02)56558.350x y -+--= (Matlab 求解程序见程序01) 当0y =时,x 有不等的两个根,则该路线也超出规定场地.2)当机器人以直线—圆弧—直线的方式过弯,即有以10单位半径过弯模式的线路一和三:比较线路一与线路三:显然路线一的总长1111213a a a a L L L L =++,线路三的总长3313233a a a a L L L L =++. 解得13471.04498.44a a L L =>=则可知O→A 的最短路径为路线一总长为1471.04a L =,下表5.1.1为线路一的各点的详细参数,表6.1.2为各线的参数.表6.1.26.1.2机器人从O(0, 0)出发,O B →的最短路径由圆弧角三角形定理可得:采用10单位半径过弯路径最短: 通过观察可得如下四种较短的避障行进方案,如图6.1.2:由于方案较多,可预先进行粗略筛选:如图所示:大致统计长度仅包括直线段长度如下表6.1.2线的精确长度:设:11b OD 、1111b D D分别表示O 点到点11b D ,点11b D 到点11D 之间的向量;1111b D D 为11b D 、11D 两点之间的向量的模;()()(),hij hij x y 表示切点hij D 坐标;()()(),ij ij x y 记为障碍物顶点ij D 的坐标;b11L2220(b12)(b11)(b12)(b11)00b12-((x -x )+(y -y ))22=arccos()L ρρρ⨯b13L11(11)(00)(11)(00)(,)b b b OD x x y y =-- ()1 61(61)(00)(61)(00)(,)OD x x y y =--1111(11)(11)(11)(11)(,)b b b D D x x y y =--()2 1111110b b D D OD =()3 1111b D D r =()4联立方程()1()2()3()4解得11b D (50.14,30.64)由于点12b D ,13b D 分别是以点61D ,61D 为圆心r 为半径圆的外公切线切点,所以 由点到直线的距离公式得0ρ= ()50ρ=()6并且线段13126163b b D D D D =()7由于直线13126163b b D D D D 平行直线由斜率相等得(13)(13)(61)(63)(13)(13)(61)(63)b b b b x x x x y y y y --=-- ()8联立方程()5()6()7()8解得点12b D 的坐标(51.6795,305.547)13b D 的坐标(141.68,440.55)线路一和线路二的各段路线及总长分别如下表6.1.2,6.1.3同理可解得各点坐标如下表6.2.4→的最短路径为:O B6.1.3机器人从O(0, 0)出发,O C→的最短路径由圆弧角三角形定理可得:采用10单位半径过弯路径最短:通过观察可得如下避障行进方案,如图6.1.3由于该线路同样较复杂,可通过大致筛选,仅考虑其中的直线段长度.将通过障碍物1上边沿的线路称为上线路,通过下边沿的线路称为下线路1)考虑上线路中最短路径:上线路中如图6.1.3.1分两大段,上半段:线路A、B、C,下半段:线路D、E对上半段的线路进行只计算线段的粗筛选:计算统计可得三线路的粗选长度:如对下半段的线路进行只计算线段的粗筛选: 计算统计可得三线路的粗选长度:如表6.1.62)考虑下线路中最短路径: 如图图6.1.3.2对下线路的线路进行只计算线段的筛选:计算统计可得线路的长度:下表6.1.7为路线一的各段线路总长对于同一条路径上的两个相邻点(),i i x y 、()11,i i x y ++来说,如果这两点之间的路径为直线段时,用通式1L 计算;如果这两点之间的路径为弧线段时,可用通式2L 计算:1L 222011002-((-)(-))22=arccos()i i i i x x y y L ρρρ+++⨯下表6.2.8为路线二的各段线路总长下线路的两段线路对比得:线路一最短为:950.84综合上线段、下线段可得:线路一最短.各切点坐标如下表6.1.9表6.1.96.1.4机器人从O(0, 0)出发,O A B C O →→→→的最短路径 由圆弧角三角形定理可得:采用10单位半径过弯路径最短:6.1.4.1A B →的最短路径求解: 通过实际规划可得如下A B →的避障行进最短方案:如图6.1.4.16.1.4.2B C →的最短路径求解:通过实际规划可得如下A B →的避障行进最短方案:如图6.1.4.1对线路一、二进行大致选可得下表表6.1.10则可知路线一距离最近对于同一条路径上的两个相邻点(),iix y 、()11,i i x y ++来说,如果这两点之间的路径为直线段时,用通式1L 计算;如果这两点之间的路径为弧线段时,可用通式2L 计算:1L 222011002-((-)(-))22=arccos()i i i i x x y y L ρρρ+++⨯6.1.4.3线路经过A 、B 、C 的圆弧处理问题为使经过A 、B 、C 的圆弧路线最短,在A 与相邻切点的连线形成的夹角的平分线,以该角的平分线为基础,在该线上做与点A 相切的半径为10个单位的圆,则此时通过该构造圆与相邻圆弧的切线连接就产生了,进而保证了机器人的圆弧过弯和线路最短. 点A 的圆弧处理结果如图6.1.4.3则综上所述:求得各线短的最短路径,则可计算并统计出线段总长及各切点坐标如下表表6.1.116.2问题二的模型建立与求解:由于O→A 过程中,机器人至少要经过一次转弯;因为转弯时的速度一般小于直线行走的最大速度,又由分析指出转弯次数越多,转弯路径越远,转弯所花费的时间也越长.所以可以确定有且只有一次转弯时才存在最短时间路径.故以下就仅考虑只经过一次转弯的情形.机器人由起点到终点所用时间121255O AOQ Q AQ Q t v →=++,对于每种固定的转弯半径来说,转弯路径所在的圆的圆心与点(80,210)连线垂直平分该转弯路径所在的圆弧时,所得的总路径长度最短.如图6.2.1所示.对于已知条件中的最大转弯速度为21.0100e1)(ρρ-+==v v v ,其中ρ是转弯半径通过matlab 画出其图像,见程序02 如图6.2.2根据图6.1中所示,当1013R ≤<时,v 随R 增加而增加;当13R ≥时,v 已非常趋近于5单位/秒,此时可以看做v 不随R 增加而变化了.于是可以分两种情况解决本问题:1)当13R ≥时,由于O→A 整个过程的平均速度可以达到最大05v =单位/秒,以这样的速度沿最小的路径就可以使到达A 的时间最短.通过问题一中对机器人O→A 最短路径的分析,可知其最小时间路径应在OA 连线左上方区域;同时根据所建立并证明的圆弧角三角形定理可以知道,所得路径的转弯半径应为13个单位(如图6.2.3)1236.1392OQ =, 120.9077Q Q =,2223.1903Q A =,总长度: 1122++471.1296L OQ Q Q Q A == 总时间:1212471.135594.225595O AOQ Q A Q Q L t v →=++===(秒)2)当1013R ≤<时,图6.2取自原题目图中的一部分,其中(0,0)O ,2(80,210)O ,(300,300)A 点的坐标均已给出.1Q 、2Q 分别为OQ1和OQ2与1O 的切点,其中1O 又与2O 相切于3Q 点.假设半径R 已知,1O 、1Q 、2Q 、3Q 的坐标分别为00(,)x y 、11(,)x y 、22(,)x y 、33(,)x y ,则可列出如下方程组:2221010()()x x y y R -+-= 2222020()()x x y y R -+-= 2223030()()x x y y R -+-= 22233(80)(210)10x y -+-=21302130()()()()0x x x x y y y y --+--=310302108080y y y x x --=-- 110110()()0x x x y y y ⨯-+⨯-=202202()(300)()(300)0x x x y y y --+--=分别取R =10,11,12,13并解方程组可以得到总时间t 随转弯半径R 变化的数据,根据弧长公式得12Q Q AR =, A = 最终计算数据如下表:6.2.1最终会趋于94.22秒.因此,可以确定出最短时间路径.经过以上两种情况的讨论,可得最短时间路径, 具体坐标信息见表6.2.27 模型的评价与推广7.1优点:1)该模型采用较准确的及计算方法,数据精度高,可信度高. 2)该模型定义了新的几何名词与定理.具有一定的创新性. 3)利用估算法减少了计算量. 7.2缺点:程序利用率和执行率较低,计算量较大. 7.3应用与推广:自动控制技术 智能机器人技术 避障快速救援项目8参考文献[1]姜启源谢金星,数学建模,北京:高等教育出版社,2003[2]薛毅,数学建模基础,北京:北京工业大学出版社,2004[3]杨启帆方道元,数学建模,浙江,浙江大学出版社,19999附录程序01%三点确定圆方程%三点坐标x1=input('请输入x1=');y1=input('请输入y1=');x2=input('请输入x2=');y2=input('请输入y2=');x3=input('请输入x3=');y3=input('请输入y3=');if((y1==y2)&(y2==y3))disp('三点不构成圆!');elseif((y1~=y2)&(y2~=y3))k1=(x2-x1)/(y2-y1);k2=(x3-x2)/(y3-y2);endif(k1==k2)disp('三点不构成圆!');enda=2*(x2-x1);b=2*(y2-y1);c=x2*x2+y2*y2-x1*x1-y1*y1;d=2*(x3-x2);e=2*(y3-y2);f=x3*x3+y3*y3-x2*x2-y2*y2;disp('圆心为::');x=(b*f-e*c)/(b*d-e*a)y=(d*c-a*f)/(b*d-e*a)disp('半径为::');r=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1))利用参考文献:/thread-790618-1-1.html/求助已知3点怎么用MATLAB编程求圆的方程/参考程序程序02function plot_v_rr=0:0.5:20;v=5./(1+exp(10-0.1*r.^2));plot(r,v)grid on。

“机器人避障问题”论文

“机器人避障问题”论文

机器人避障问题摘要移动机器人是一种能够在工作环境中自由移动并完成预定任务的智能系统,移动机器人的避障问题则是移动机器人控制领域的研究热点。

本文针对移动机器人的避障问题,建立了最短路径及最短时间路径的数学模型。

并应用于解决本题给定的路径规划问题,获得了满足问题需求的全部最优路径。

对于最短路径问题,本文分析了障碍物对移动机器人运行的影响,给出了最优移动规则;建立了简化的路径网格模型,将其抽象为由节点及边构成的两维图,并确定了其各项参数,再使用经典的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一 问题重述 随着现代科学技术日新月异的发展,机器人越来越多的出现在日常生活中,它既可以通过运行预先编排的程序为人类服务,根据人工智能程序自动处理一些生活中问题,进而协助或者相应地取代人类的工作,可以说机器人的创新与改进正一步步影响着人类的发展。

机器人论文数学建模大赛2012年浙江省一等奖

机器人论文数学建模大赛2012年浙江省一等奖

机器人避障模型摘要:本文主要考虑在固定的场景范围内,当机器人需躲开障碍物从区域的一点到达另外一个固定点时,如何设计行走路线,使得机器人所走的路径最短或者所需的时间最少。

首先建立一个以O 为原点的直角坐标系,对问题一和问题二利用可视图中的几何逼近法设计机器人的行走路线,建立方程组,并利用matlab 软件求出最优路径。

问题一,考虑机器人从O(0, 0)出发到达一个固定点的最短路径。

利用可视图中的几何逼近法分析得出最短路径转弯处圆弧的半径为10个单位,通过比较建立各路径长度的函数关系式,利用matlab 求解得知O→A 的最短路径长度约为471个单位,行走线路如图二;O→B 的最短路径长度约为853个单位,行走线路如图四;O→C 的最短路径长度约为1093个单位,行走线路如图六;O→A→B→C→O 的最短路径长度约为2714个单位,行走线路如图七。

问题二,考虑机器人从O (0, 0)出发,到达A 的最短时间路径。

通过对平面可视图的分析可知从O (0, 0)出发到达A 点只经过一段圆弧时时间最省,且所有的圆弧所在圆的圆心在同一直线上并且内切于某一点。

圆弧所在圆的半径大小决定机器人从O→A所需要的时间,由此求出圆的内切点,建立圆弧所在圆的半径,圆心坐标和最短路径所需时间的函数关系,利用matlab 求带约束的非线性方程的最小值求得,最短时间路径中机器人从O 点出发通过第一段直线所需的时间1t =41.4463秒,通过圆弧所需的时间2t =8.5576秒,通过第二段直线到达A 点所需的时间3t =44.2570秒,所求最短时间路径所需总时间为94.2509秒。

此时,圆弧的半径为46个单位,圆心坐标为(106.2,183.8),路经如图九所示。

关键词: 几何逼近法 matlab 最短路径 最短时间路径一、问题重述在一个800×800的平面场景图中,有12个形状各异的障碍物。

原点(0,0)点处有一个机器人通过行走且需躲开障碍物到达指定目标点。

机器人避障问题论文

机器人避障问题论文

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)

建模机器人避路障问题

建模机器人避路障问题

建模机器人避路障问题机器人避障问题摘要:本文根据题目要求,主要研究了在一个区域内有障碍物的最短路径问题。

依题意我们可以认为最短路径一定是由线和最小圆弧组成,圆心在障碍物的顶点。

对于问题一首先讨论由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)。

机器人避障路径问题 数学建模

机器人避障路径问题 数学建模

承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。

如有违反竞赛规则的行为,我们将受到严肃处理。

我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。

我们参赛选择的题号是(从A/B/C/D中选择一项填写):我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):参赛队员(打印并签名) :1.2.3.指导教师或指导教师组负责人(打印并签名):日期: 2012 年月日赛区评阅编号(由赛区组委会评阅前进行编号):编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):机器人避障问题摘要本文研究了机器人避障最短路径及最短时间的问题。

主要解决在一个区域中存在12个不同形状障碍物,机器人由出发点到达目标点、由出发点经过途中的若干目标点到达原点以及到某目标点最短时间路径的三种情形。

首先,我们通过证明具有圆形限定区域的最短路径是由两部分组成的:一部分是平面上的自然最短路径(即直线段),另一部分是限定区域的部分边界。

这两部分是相切的、互相连接的。

我们依据这个结果,可以认为最短路径一定是由线和圆弧组成,因此我们建立了线圆结构,这样无论路径多么复杂,我们都可以将路径划分为若干个这种线圆结构来求解。

其次,我们对于途中经过节点的再到达目标点的状况,我们采用了两种方案,一种是在拐点和节点都采用最小转弯半径的形式,另一种是适当扩大拐点处的转弯半径,使得机器人能够沿直线通过途中的目标点。

机器人避障问题

机器人避障问题

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 )。

2012年数学建模D题机器人避障问题论文

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个单位)。

规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。

机器人壁障问题——数学建模之欧阳化创编

机器人壁障问题——数学建模之欧阳化创编

机器人避障问题摘要:当今科学技术日益发达,高科技产品尤其是机器人在我们日常生活中运用的越来越广泛,它能够代替人类完成许许多多的工作,但如何能让机器人自动化的完成人类交给的任务成为设计机器人的关键。

我们做此题就是为了更好的利用机器人为我们提供方便,提高生活质量,若机器人程序设计不当不仅不会给人类带来方便,还很有可能给我们的生活带来更多的麻烦。

本题中提出了如何让机器人能够自动识别障碍物,保证机器人能够在合理区域行走,并设计出如何能让机器人自动判断最短路程于最短时间下行走路线的问题。

所以解决好本题可以为我们的生活提供帮助。

本文通过运用两点之间直线最短理论,优化问题,最短路问题,图论,以及运用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一问题重述随着现代科学技术日新月异的发展,机器人越来越多的出现在日常生活中,它既可以通过运行预先编排的程序为人类服务,根据人工智能程序自动处理一些生活中问题,进而协助或者相应地取代人类的工作,可以说机器人的创新与改进正一步步影响着人类的发展。

机器人避障数学建模

机器人避障数学建模

机器人避障数学建模
机器人避障的数学建模通常涉及到使用传感器获取环境信息,通过算法处理这些信息,使得机器人能够避开障碍物。

以下是一个简化的数学建模示例:
1.坐标表示:用\((x,y)\)表示机器人在平面上的位置。

2.障碍物表示:用\((x_o,y_o)\)表示障碍物的位置。

3.距离计算:使用欧几里得距离或其他距离度量方法,计算机器人与障碍物之间的距离。

\[d=\sqrt{(x-x_o)^2+(y-y_o)^2}\]
4.避障算法:根据距离和传感器信息,制定避障算法。

例如,可以采用简单的规避方式,如果检测到障碍物在一定范围内,机器人就执行避障动作。

5.路径规划:考虑机器人的目标位置,通过路径规划算法(如A*算法)计算机器人避开障碍物的最优路径。

6.实时更新:在机器人移动的过程中,持续使用传感器获取新的环境信息,实时更新机器人的位置和障碍物的位置,以保持避障的准确性。

这只是一个简单的示例,实际的机器人避障数学建模可能涉及更复杂的算法和传感器数据处理。

在实际应用中,常见的传感器包括激光雷达、超声波传感器、摄像头等。

机器人避障问题的研究论文

机器人避障问题的研究论文

机器人避障问题摘要本文主要研究两个方面的问题,问题一提出在一个固定的区域内有不同形状的障碍物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 ,其中。

全国大学生数学建模竞赛论文D

全国大学生数学建模竞赛论文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.附录一场景图:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。

如有违反竞赛规则的行为,我们将受到严肃处理。

我们参赛选择的题号是(从A/B/C/D中选择一项填写):我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):参赛队员(打印并签名) :1.2.3.指导教师或指导教师组负责人(打印并签名):日期:年月日编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):机器人避障问题摘要针对题中机器人避障最短路径问题,文章使用简化后建立的最短路径的数学模型来解决此类问题。

对于问题1,我们matlab中自带函数graphshortestpath函数求解最短路径的数学模型。

其主要思想是:首先先证明出两点之间的最短路径是由两条线段和以中间点为圆心的圆的一段圆弧组成,然后证明圆弧的半径为定值10。

然后对模型简化使模型化为标准的最短路径模型,最后用graphshortestpath函数对模型求解。

针对问题2,我们建立了优化模型。

在问题1的基础上,我们对两种行走方案进行分析,根据转弯弧的半径变化对速度的影响我们锁定到一条路径,然后利用lingo对优化模型进行求解。

关键词:graphshortestpath函数、最短路径、避障问题1、问题重述已知:在下图中原点O(0, 0)点处有一个机器人,它只能在该平面场景范围内活动。

图中有12个区域是机器人不能与之发生碰撞的障碍物。

在机器人的行走中,要求机器人行走路径只能是以下两种:由与直线路径相切的一段圆弧组成、由两个或多个相切的圆弧路径组成。

不能沿着折线转弯。

转弯的圆弧半径最小为10个单位,并且机器人与障碍物至少距离10个单位。

在速度方面,机器人直线行走的最大速度为50=v 个单位/秒。

机器人转弯的最大转弯速度为21.0100e1)(ρρ-+==v v v ,其中ρ是转弯半径。

问题1:求机器人从O(0, 0)出发,O→A 、O→B 、O→C 和O→A→B→C→O 的最短路径。

问题2:求机器人从O (0, 0)出发,到达A 的最短时间路径。

2、模型假设1、假设机器人抽象成点来分析2、假设机器人在改变路径时能在瞬间将速度调整过来3、符号说明符号 符号说明Tθ L V 0V R机器人达到目的地所用的时间 转弯角度 转弯的弧长 转弯速度直线行走最大速度转弯圆弧的半径4、 模型的建立与求解4.1 首先证明以下猜想:两点之间若间隔有障碍物,两点之间的最短路径是由两部分组成。

第一部分是自然最短直线段,第二部分是限定部分的边界弧。

这两部分是相切并且互相连接的。

证明:如图A,B 两点,它们之间有一个半径为1的半圆形障碍物。

现在要求出A 到B 的最短路径。

分析1:两点之间的最短路径应是连接两点的线段,但是由于障碍物的存在,现在改为绕过障碍物的折线(用于证明方便),设动点C 点坐标设为(0,y ),折线ACB 的长度为222y a +,当c 点竖直向下移动时,折线ACB 的长度会减小,当C 点移动到C1(0,y1)点时ACB 的长度最小,最小长度为2122y a +。

其中C1是过点A,B 与圆弧相切的切线交点。

又由于满足0<α<2π的角满足α<tan α,所以弧度EF 小于E 1C F 的长。

记线段AE ,弧度EF ,线段FB 这样的路径为AEFB ,则从A 到B 绕过障碍物的最短路径为AEFB 。

分析2:当考虑从A 到B 的路径全为圆弧线段组成时,如图A 到B 的弧线。

假设a=2,则这段弧线所对应的圆为经过A(-2,0),B(2,0),(0,1)三点的圆的一部分。

此圆的一般方程为:425)23(22=++y x ,则这段圆弧路径的长度为2π。

若用分析1中的折线与弧线相交并相切的方法计算,路径长度为332π+≈4.51小于圆弧方案的长度。

综上所述,方案AEFB 满足题中最短路径的要求。

4.2 切线和弧线的公式推导如图,在4.1的基础上用解析几何方法计算出两条切线和一段圆弧的长度。

假设起点终点为A (x1,y1)和C (x3,y3),障碍物的顶点为B(x2,y2),D,E 为两条线段与圆弧的切点,圆弧的半径为10个单位。

现在求解线段AD ,CE 及圆弧DE 的长度。

因为三角形ABD 和CBE 是直角三角形,我们可以利用余弦函数来解出∠DBA 和∠EBC 。

COS ∠DBA=AB DB =212212)()(10y y x x -+-,①COS ∠EBC=BC BE =232232)()(10y y x x -+-,②然后再利用余弦定理在三角形ABC 中找出与∠ABC 有关系的等式,COS ∠ABC=BCAB AC BC AB ⨯⨯-+2222,③由①②③三式再根据周角为2π可以解出角DBE 的弧度数,由于后面编程需要,需要将弧度数转化成角度数,利用公式180π⨯=弧度角度,然后再利用公式180n rπ=弧长求得弧DE 的长度。

而对于线段AD,CE ,我们可以直接根据勾股定理可以求得具体长度。

程序见附件1。

4.3 模型简化模型的中心思想是利用Dijkstra 算法来求解出最短路径的方案,由于两点间路径是由线段和弧线组成的,为了化为标准的最短路径模型,需要将模型进行简化。

在这里以4.2的模型基础上进行示范。

首先令A,B,C 分别为起点、中间点、末点。

我们将路线ADEC 分成两个部分,第一部分是线段AD 和弧线DE 组成的,第二部分是线段EC 。

又由于弧线的长度会随着末点的变化而变化,所以我们取弧线的平均值作为弧线DE 的长度。

第一部分表示起点到中间点的距离。

在本题中主要不是如4.2中的简单模型。

现在以下图模型进行进一步说明。

此模型涉及到两个障碍物,根据以上简化思想,A到H的最短路径应该是简化为三部分。

第一部分为线段AD与弧线DE(弧线DE的平均值),表示A到B的距离。

易知线段EC和线段BF的长度是相等的,第二部分为线段BF与弧线FG,表示B到C 的距离。

第三部分为线段GH,表示路径的最后一段距离,如果目标点不是H,则下一部分应是线段CH加上下一段圆弧,以此类推。

此算法命名为算法1。

根据以上的算法1的简化,我们将本题中的机器人避障最短路径模型简化为标准最短路径模型,并且对可能会用到的点加以编号,得到如下图。

4.4模型的求解对于问题1:根据简化使用的算法1,对机器人所有可行走的路径利用4.2推导的公式用matlab 进行计算,程序见附件1,得到所有以三点为一组的各个路径的长度,主要有线段1,圆弧,线段2。

具体结果见附件2。

因为中间点到末点具有多条路径,即有不同的圆弧长,所以对同一中间点所对应的所有圆弧长求平均值,将模型简化为最短路径模型,就能得出邻接矩阵,邻接矩阵见附件3。

最后利用matlab自带函数graphshortestpath和邻接矩阵对模型求解得到最短路径。

程序见附件4。

运行结果为:(用编号表示)O—A:35—1—30O—B:35—2—3—4—5—6—31O—C:35—24—22—20—17—15—32O--A--B--C--O:35—1—30—5—6—31—9—10—11—12—32—15—17—20—22—24—35 具体的路径见下图:对于问题2:问题2需要求出行走时间最短的路径,从图中易知从O到A的路线有两条,一条是35—1—30方案,简称方案1。

另一条是35—24—30方案,简称方案2。

由问题1解决结果知,方案1比方案2的路径要短,又由计算知,在增加圆的半径的情况下,对于长度较长的方案2所用时间也相应较多。

所以,对问题2的讨论中,我们在问题1结果的基础上研究方案1中圆弧变化对时间的影响。

对于最短时间模型,我们使用了最优化模型。

由于半径会影响机器人在转弯弧上的速度,当半径增大时,机器人在转弯弧上的速度也会增大,此时机器人所走的直线段会变短,而时间=路程速度,我们要求最短时间,就要使0两边直线段之和速度(v =5)+20100.1v=)1R v e -⨯+圆弧长速度( 最小。

其中: 第一条直线段长度为22280210R +-; 第二条直线段长度为222(30080)(300210)R -+--;转弯弧所对的圆心角θ为:2222360(arccos ) 3.14180(arccos ) 3.1418080210(30080)(300210)RR -÷⨯-÷⨯+-+-222222222280210(30080)(300210)300300arccos 3.14180280210(30080)(300210)++-+----÷⨯+⨯-+-; 转弯弧长为:3.14180R θ⨯⨯; 转弯速度为:2100.151R e -+模型的数学表达式如下:S.T. min T =22222280210(30080)(300210)5R R L V+-+-+--+10R ≥2222360(arccos ) 3.14180(arccos) 3.1418080210(30080)(300210)RR θ=-÷⨯-÷⨯+-+- 222222222280210(30080)(300210)300300a r c c o s 3.14180280210(30080)(300210)++-+----÷⨯+⨯-+- 3.14180R L θ⨯⨯=2100.151R V e -=+然后利用lingo 软件,对模型进行求解,其lingo 程序见附件5。

运算结果为:转弯弧半径R=11.50350弧长L=10.52502转弯速度V=4.810298所用时间T=94.55726即,用时最少的路径为从O出发,沿切线到达在以5号正方形左上角为圆心,以11.5035为半径的圆上,再沿另一条切线到达A点。

5、模型结果的分析与检验本文模型中的检验主要是针对题中给出的机器人与障碍物之间保持10个单位的距离这一要求,在所得到的路径中,可能存在着某直线段与某障碍物的间隔距离小于10个单位,所以在得到运算结果的前提上,从中找到以下需要检验的检验点:27号(对应1—30路径)、7号(对应31—9路径)、19号(对应20—27路径)。

相关文档
最新文档