当前位置:文档之家› 机器人避障问题

机器人避障问题

机器人避障问题
机器人避障问题

机器人避障问题

摘 要

本文讨论的是机器人避障问题,运用改良的橡皮筋算法思想,对最优路径逐步探索,并进行了大胆猜想.通过分析,利用几何关系证明了猜想的正确性,以此得到判断最短路径的三个原则:一、所走路线应尽可能接近两目标点与目的地连线;二、目标点转弯半径越小越好;三、找不到两圆间的公切线时,机器人应尽可能沿障碍物边界运动. 对于问题一,依据路径最优原则,确定转弯半径为10个单位,建立了机器人从区域中一点到达另一点的避障最短路径的优化模型.利用MATLAB 求解得到结果如下:A O →:总时间为:96.00826秒,总路程为471.0372个单位;B O →:总时间为179.09982秒,总长度为853.7113单位;C O →:总时间为239.72602秒,总路程为1100.19单位;

O C B A O →→→→:总路程:2794.512单位 ,最终总时间为598.5477秒.

对于问题二,要使机器人行走时间最短,需在尽可能保证最短路径的基础上适当增加转弯半径.利用几何知识推导出机器人行走时间与转弯半径的关系,时间对半径求导,并令导数为零,得出最短时间所对应的半径5055.11=r ,进而建立最短时间路径的优化模型.利用MATLAB 软件求解得,当机器人从)0,0(O 出发到达A 时,所用最短时间为

2130.94秒,总距离为470.8301个单位.

关键词:导数;橡皮筋算法;优化模型

一、问题的重述

图1是一个800?800的平面场景图,在原点)0,0(O 点处有一个机器人,它只能在该平面场景范围活动.图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物,障碍物单位数学描述如下表:

表1.12个不同形状区域的特性

障碍物的距离至少超过10个单位).规定机器人的行走路线有直线段和圆弧组成,其中圆弧是机器人的转弯路径.机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位.为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若发生碰撞,则机器人无法完成行走.

机器人直线行走的最大速度为50=v 个单位/秒.机器人转弯时,最大转弯速度为

2

1.01001)(ρρ-+=

=e

v v v ,其中ρ是转弯半径.如果超过该速度,机器人将发生侧翻,无

法完成行走.

请建立机器人从区域中一点到达另一点的避障最短路径和最短时间路径的数学模型.对场景图中4个点)0,0(O ,)300,300(A ,)700,100(B ,)640,700(C ,具体计算: (1)机器人从)0,0(O 出发,A O →、B O →、C O →和O C B A O →→→→的最短路径.

(2)机器人从)0,0(O 出发,到达A 的最短时间路径.

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

图1 800?800平面场景图

二、问题分析

对题目条件进行分析:要求目标点与障碍物的距离至少超过10个单位,又知O 点坐标为(0,0),即边界不视为障碍物,但目标点不能超出界限.规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径,转弯路径只能由一段圆弧组成也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位,因为半径趋于0的时候,圆弧长度趋于0,圆弧趋于折线.机器人行走路径与障碍物之间的最近距离为10个单位,否则发生碰撞,即可将障碍物区域向外扩充10个单位,余下部分为目标点可行走范围,对条件中所给最大转弯速度2

1.01001)(ρρ-+=

=e

v v v 进行分析,当半

径∞→ρ时,即可视为直线运动,50==v v 个单位/秒;当半径10→ρ时, 最小速度

5.22

min ==

v v 个单位/秒;半径ρ越大,机器人转弯速度越大. 对问题一分析:机器人从)0,0(O 出发,A O →、B O →、C O →和

O C B A O →→→→的最短路径问题.首先分析A O →,在没有障碍物的情况下,A O →两点间线段最短,但在两点之间有正方形障碍物5阻碍,必须绕开障碍物5到

达A ,要使A O →路径最短,则实际路径越逼近OA 线段越短.根据目标点的位置,可以猜想出机器人的几种避障路径.同理分析B O →、C O →路段.当分析

O C B A O →→→→路径时,采用分段处理的方法,将其分为A O →、B A →、C B →、O C →;使各分段路径最短,最后将分段路径综合起来也是最短.

对问题二分析:机器人从)0,0(O 出发,到达A 的最短时间路径.在前文条件分析中,

半径ρ越大,机器人转弯速度越大,速度v 越大.在问题一最短路径基础上,在转弯路段进行优化处理,适当增大转弯半径ρ,速度增大,与此同时转弯路段圆弧长度必然增加,综合使得到达目的地总时间最短.最后将给出路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标以及机器人行走的总距离和总时间 .

三、模型假设

1.假设机器人在行进过程中为质点;

2.假设机器人直线路段以速度50=v 个单位/秒行进; 3.假设机器人在各转弯路段匀速行进;

4.假设机器人从直线段至圆弧段,速度由直线行进速度瞬间降至转弯速度,速度不存在过度阶段;

5.假设平面范围边界不是障碍物,不要求目标点与边界的距离至少超过十个单位,机器人目标点不出界即可.

四、符号说明

i l 表示机器人每段路径,2,1=i ;

r 表示转弯半径;

i t 表示机器人所用时间,2,1=i ;

i ω表示 第i 段圆弧对应的圆心角;

???=

,0,1其它个切点与目标点相连个障碍物第第j i m ij ;

),(ij ij ωτ表示切点坐标.

五、模型的建立与求解

问题一模型的建立 模型准备:

根据对问题的分析及两点之间直线最短的原理,为使机器人能以最短的路径避过障碍达到目标点,应使所走的路线尽可能的接近两目标点的连线,对此,可以猜想出几种机器人行走的路径并对其进行探索.

首先对机器人所能行走的区域进行分析,根据题意,需要将区域向外扩展10个单位,区域边界角也应扩展10个单位,即机器人能运动范围是由4/1圆弧和相应的线段围成的,具体结果如下图1所示:

200

400

600

800

Y

图1:机器人行走范围图

假设机器人可以看成是一个支点,则机器人可以在边界线上运动而不会发生碰撞.为使得机器人能以最短路径避过障碍物,首先进行局部分析,考虑A O →段路径,由图可知:

(1)若无障碍物,A O →最短路径为OA 线段; (2)A O →路段被障碍物5阻隔最短路径探索.

探索最短路径原则:实际路径越逼近OA 线段越优. ①先不考虑弧长问题,探索大致路径.

图3(a ).路径一 图3(b )路径二

路径一是机器人在保证尽量沿边界线运动的情况下得到的.要从O 点到达A 点,机器人必须绕过边界角,根据两点之间直线最短的原理,可以得到图3(b )的路径二.通过比较,可以得出:在尽可能沿OA 路径行走的前提下,不需要转弯就能到达的路径尽量选用直线路径,减少圆弧路径阶段,使路径得到优化.

②转弯圆弧半径相等时,目标点在不同地点转弯,探索较优路径.

2

B

如图所示,三段弧33B A 、22B A 、11B A 对应圆半径相等且依次远离障碍物,离AB 线段的距离越来越远.以A 为圆心,3AA 为半径画弧,分别交1A 、2A ;同理以B 为圆心,

3BB 为半径画弧; 即3AA =2AA =1AA ,3BB =2BB =1BB ;显然11B A →的距离最大,22B A →距离次之,33B A →距离最小;所以由B A →最段路径选择B B A A →→→33.

由此可得出结论:在确定转弯圆弧半径的情况下,机器人转弯越靠近障碍物,行走路线越接近两目标点之间的连线,总路程越小.

③在距障碍物最近的前提下,考虑圆弧半径的影响,确定最短路径. 自定义:边界圆弧中点称为节点.

通过②中结论可知:在确定转弯圆弧长度的情况下,机器人转弯越靠近障碍物,行走路线越接近两目标点之间的连线,总路程越小.由机器人所能行走的区域范围及转弯半径至少为10的约束可知,画出的4/1圆弧边界是机器人行走最短路径的边界,若需增大转弯半径,只能在节点处进行变化,否则将超出机器人行走范围.节点是边界圆弧的中点.现判断在节点处,转弯半径对最优路径选择的影响.

各图形顶角所对应的外围10个单位区域为边界圆弧,该圆弧为转弯最小圆弧.过最小圆弧节点做与节点相切的半径大于10个单位的圆及相应的路径,如下图3(c )中的2号路径.

图3.(c )路径三

可做如下猜想:圆弧的半径越小,机器人从第一个目标点到达目的地总路程越小.

下面对猜想进行证明:

A

图4:证明猜想示意图

如图4所示,以O 为圆心,半径为r 画圆,BD 与圆O 相切,切点为D ,AC 与与圆O 相切,切点为C ;角ωγβα,,,位置如图所示.

设A 点坐标为),(11b a ,B 点坐标为),(22b a ,圆心O 点坐标为),(y x .

AC =1l ,CD 弧长=2l ,BD =3l ,

由几何知识可得: 2

121)()(a x b y a -+-=,

2222)()(a x b y b -+-=, 212212)()(b b a a c -+-=,

在C Rt A O ?和B OD Rt ?中,可得:

a

r

=

αcos ,b r =γcos ,

由余弦定理得: ab

c b a 2cos 2

22-+=β,

B A →总路程为=L 1l +2l +3l ,

221r a AC l -==,223r b BD l -==,

=L 22r a -+22r b -+r ?ω,

γβαπω---=2,

∴总长度L 与转弯半径r 的关系式为:

=L 22r a -+22r b -+r ?---)2(γβαπ,

为寻求总长度L 与转弯半径r 的具体关系,将L 对半径r 求导,即:

)arccos arccos 2(2

222b r a r r b r r a r dr dL ---+--+--=βπ )1111

(

2

2

2

2

b r b a r a r -+

-+

化简得:

b

r a r dr dL arccos arccos 2---=βπ, πβ<,当且仅当O B A ,,三点共线时,πβ=,此种情况下不存在两个切点.

角γα,均在直角三角形内,非直角,

∴πγα<+.

综上所述:

0arccos arccos 2>---=b

r

a r dr dL βπ. 即:总路程L 关于半径r 的函数单调递增,机器人从一个目标点到另一个目的点行

走的总路程随着转弯圆弧半径增大而增加.故,猜想:圆弧的半径越小,机器人从第一个目标点到达目的地总路程越小,是正确的.

由于机器人转弯半径至少为10个单位,要使行走路径最短,转弯半径10=R . 经过上述对机器人避障路线的探究,可得为使机器人行走最短路径,需遵循以下几个原则:

1.所走路线应尽可能接近两目标点的连线;

2.转弯半径越小越好;

3.找不到两圆间的公切线时,机器人应尽可能的沿障碍物边界运动. 模型的建立:

根据以上原则,可以建立机器人从一个目标点到达另一个目标点的最短路径优化模型.设切点坐标为),(ij ij ωτ,表示第i 个障碍物第j 个切点.通过对路径的探索,可知机器人的路径是由直线和一条或多条圆弧组成的.在此模型中,假设机器人的路径是分阶段的,每一阶段的路径由一条线段和一段圆弧组成,包括了一条线段和多条圆弧的情况.如第1段路径中,线段和圆弧相连,在第2段路径中,线段与第1段路径中的圆弧相连,当此线段长度为0时,机器人从第1段起点到第2段末点的路径就是由一条线段和两段圆弧组成的.

线段的长度1l 可由两点间的距离公式解得:

2122121)()(y y x x l -+-=.

圆弧的角度为ω,半径为r ,则圆弧弧长2l :

ω?=R l 2.

已知切点时,圆弧角度ω为:

R

y y x x 2)()(arcsin

22

12212-+-?=ω.

机器人从第一个目标点(11,n m )到第二个目标点(22,n m )过程中,

???=

,0,1其它个切点与目标点相连个障碍物第第j i m ij ,

此时要避过i 个障碍点,设从第一个目标点出发到达另一处时,0=i ,则线段部分长度 :

2

2)2)(2(2

2)2)(1()1()1(2

)1()1(2010221102210121011)

()()()()()()()(n m n m l j i j i j i j i j i j i -+-+-+-+-+-+-+-=++++++++ωτττωωττωωωτ

,

同理,此时对应的圆弧长度:

∑=-+-??=12

1

2

2122122)()(arcsin

2i i i i i R

R l ωωττ.

为使机器人行走路径最短,即:

21min l l +.

综上,可以建立最优规划模型:

21min l l +

∑∑==-+-?=2

112

0221)()(j i k ij k ij ij n m m l ωτ

∑∑==++++-+-+12

021

2)1()1(2)1()1()()(i j j i j i j i j i ττωω

2,1=k

∑=-+-?=12

2

2122122)()(arcsin

2i i i i i R

R l ωωττ

.10=R

问题二的模型建立

要使机器人从一个目标点到达另一个目标点所用的时间最短,需考虑行走总路程与速度的影响.对条件中所给最大转弯速度2

1.01001)(ρρ-+=

=e

v v v 进行分析可知,当半径

∞→ρ时,即可视为直线运动,此时50==v v 个单位/秒;当半径10→ρ时, 最小速

度5.22

min ==

v v 个单位/秒,即机器人的速度范围为2.5到5.且半径ρ越大,机器人转弯速度越大.所以为追求最小时间,应在模型一的基础上适当增大转弯半径.

同样要保证总路程尽可能的短,机器人转弯时要接近障碍物,即所走路线应尽可能接近两目标点的连线.故可以在最小圆弧基础上增大转弯半径,以下讨论速度与半径之间的关系.

如上述图4所示,总路程由线段长度和圆弧长度组成.

a r

=αcos ,b r =γcos ,ab c b a 2cos 222-+=β,

221r a AC l -==,223r b BD l -==,

=L 22r a -+22r b -+r ?ω,

γβαπω---=2,

=

L 22r a -+22r b -+r ?---)2(γβαπ,

则总时间 21t t t +=,

2

2221v r b r a t -+-=

, v r t ?=ω2 即总时间t 为:

2222v r b r a v r

t -+-+

?=ω 2

1.01001)(r e

v r v v -+=

=

t 对半径r 求导:

)arccos arccos 2((12

2220b r

a r r

b r r a r v dr dt ---+--+--?=βπ ))

2.0()arccos arccos 2(21.010r e b r

r r a r r r r -???-?-?-+?-βπ)1())11

11(21.0102

222r e b

r b a r a r ?-+?-+-+

化简得:

)2.01()arccos arccos 2(221.0101.010r r e e b

r

a r dr dt ?-?-?-+?---=βπ, 令导数 0=dr

dt

, 由模型一可知:

b

r

a r arccos arccos 2---βπ0>,

解得当5055.11=r 时,0=dr

dt

.且函数在 )5055.11,10(∈x 区间内是单调递减的,在5055.11>x 时是逐渐增大的,故要使时间最短,满足5055.11=r .

模型的建立:

模型二是在模型一的基础上增大转弯半径得到的,是追求最短时间和最短路径的双目标规划问题.建立模型如下:

21 t min t +

21min l l +

..t s ∑=-+-?=12

2

2122122)()(arcsin

2i i i i i R

R l ωωττ

∑∑==-+-?=2

112

0221)()(j i k ij k ij ij n m m l ωτ

∑∑==++++-+-+12

02

1

2)1()1(2)1()1()()(i j j i j i j i j i ττωω,2,1=k

011v l t =

, v

l

t 22=, .5055.11=r

问题一、问题二模型的求解:

根据建立的模型可利用橡皮筋算法]1[探索最短路径.

机器人行走时,如果不知道确定路线时,可以先假设机器人会朝着目的地的方向走,如图3(a)中的A O →;如果中途碰到障碍物,就试图绕过障碍物,再重新朝向目的地的方向行走,如图所示A c b a O →→→→,其中绿色的圆点S 表示出发点,红圆点T 表示目的地.实际上,如果视觉上没有障碍,运动者会选择较近的直切障碍物边沿的行走路线,如图3(b)所示A c b O →→→.这种形状,就像在出发点和目的地之间拉了根橡皮筋,由于障碍物的存在,橡皮筋不能横穿过去,所以沿障碍物边沿拉伸,而正是因为橡皮筋具有的弹性,使得路径趋于最短.根据这种思路,提出了自动漫游路径生成的橡皮筋算法.

根据制定的三条原则:1.所走路线应尽可能接近两目标点的连线;2.转弯半径越小越好;3.找不到两圆间的公切线时,机器人应尽可能的沿障碍物边界运动.可以得到机器人从)300,300()0,0(A O →的几条最优路线,如图5所示:

200

400600

200

400

图5:A O →

最短路径示意图

从图中可以看出,从)300,300()0,0(A O →有两条路线需要比较计算,利用MATLAB

软件求解得到结果如下(长度单位为单位):

A O →最优路径为:A b a O →→→00.总路程分为2条线段和1段圆弧.

其中,各起终点坐标、圆弧圆心坐标及相应的弧长、线段长度分别是: 线段OC :O (0,0)→C (70.4825,213.0686) 长度224.4237

弧CD : C (70.4825,213.0686) →D (76.4914,219.3643)圆心(80,210)长度9.0041 线段DA : D (76.4914,219.3643)→A (300,300) 长度237.6094 总时间:96.00826秒 总路程471.0372单位

200400600800

200

400

600

800

X

Y

图6:B O →最短路径示意图

利用MATLAB 软件求解得到结果如下:

从)700,100()0,0(B O →的最优路径为:

B L K J I h f e d c b O →→→→→→→→→→→

其中,各起终点坐标、圆弧圆心坐标及相应的弧长、线段长度分别是:

线段: Oa )6396.301,1353.50()0,0(a O → , 长度:305.7777 弧ac : )圆心(300,60, )5474.305()6396.301,1353.50(c a →, 弧长:4.3214 线段cd : )40.5474141.6798,4( )5474.305(d c → 长度:162.1731 弧de : )435,150, )44.7901147.9621,4()40.5474141.6798,4(圆心(e d → 弧长:7.7751

线段ef : )60.2099222.0379,4()44.7901147.9621,4(f e → 长度: 75.6637

弧fh : )470,220

(230,470),)60.2099222.0379,4(圆心(h f → 弧长:13.6556 线段hI : )530,230((230,470)I h → 长度:60

弧IJ :)530,220

, )3534.538,4967.225()530,230(圆心(J I → 弧长: 9.8883 线段JK : ,6462915 503314435345384967225). ,.K() .,.J(→ 长度:96.9537

弧KL : )600,150

,)96.3458140.6916,5()91.6462144.5033,5(圆心(L K → 弧长:6.1474

线段LB :,)700,100()96.3458140.6916,5(B L → 长度:111.3553 总路程为853.7113 个单位 总时间: 811.9235秒

同理可以根据原则得到从O 到C 的几条路线,如图7所示

200

400

600

800

Y

图7:C O →最短路径示意图

机器人C O →段路径有4条,利用MATLAB 求解得出结果如下:

最优路径为:C k J I H f e d c b a O →→→→→→→→→→→1111111111

其中,各起终点坐标、圆弧圆心坐标及相应的弧长、线段长度分别是:

线段1Oa :)0.2262232.1149,5()0,0(1a O → 长度: 237.4868 弧11b a :)圆心(60,230 , )5.2128238.7797,5()0.2262232.1149,5(11b a → 弧长:8.5850

线段11c b :)34.7872391.2203,3(c )5.2128238.7797,5(11→b 长度:318.4336 弧11c d : )330,400( , )39.8254398.1397,3()34.7872391.2203,3(c 11圆心d → 弧长:8.8448

线段11e d :371.3965)(564.8828,)39.8254398.1397,3(11e d → 长度:169.7056 弧11f e : )450,550( 400.4069),(612.7736,f 371.3965)(564.8828,11圆心→e 弧长:57.2031

线段11h f :510.0731)(718.7935,h 400.4069)(612.7736,f 11→ 长度:152.5349

弧11I h : )520,720( (730,520),

I 510.0731)(718.7935,h 11圆心→ 弧长:16.9174 线段11J I :(730,600)J (730,520)I 11→ 长度:80 弧11k J : )600,720(, 606.3589)(727.7178,k (730,600)J 11圆心→ 弧长6.8916 线段C k 1: C(700,640) 606.3589)(727.7178,k 1→ 长度:43.5890 总路程:1001.7499+98.4401=1100.19单位 总时间:200.34998+39.37604=239.72602秒

同理,找出O C B A O →→→→的最优路径,如图8所示:

200

400

600

800

Y

图8:O C B A O →→→→最短路径示意图

利用MATLAB 求解得出各起终点坐标、圆弧圆心坐标及相应的弧长、线段长度分别

是:

弧22d c :2c (292.7141, 280.3754) →2d (299.3452, 293.5596)圆心(300,300) 长度:16.5989

线段22e d :d2(299.3452, 293.5596) →2e (229.7932,532.02307)长度 248.3995 弧22f e :2e (229.7932,532.02307)→2f (225.4967,538.3538)圆心:(220,530)长度7.8147

线段22i f :2f (225.4967,538.3538)→2i (140.4000,597.200) 长度103.4617 弧22i h : 2h (144.5033,591.6462)→2i (140.4000,597.200)圆心(150,600) 长度7.0503

线段22j i :2i (140.4000,597.200)→2j (92.000,694.000) 长度108.2257 弧22k j : 2j (92.000,694.000) →2k (102.3208,709.7270) 圆心(100,700) 长度24.4852

线段22l k :2k (102.3208,709.7270)→2l (270,690) 长度168.8356 弧22m l :2l (270,690)→2m (272,689.7980)圆心(180,770), 长度2.0136 线段22n m : 2m (272,689.7980)→2n (368,670.2020) 长度97.9796 弧22o n :2n (368,670.2020)→2o (370,670)圆心(370,680) 长度2.0136 线段22p o : 2o (370,670)→2p (430,670) 长度60 弧22q p : 2p (430,670)→2q (435.5878,671.7068)圆心(430,680)长度5.9291 线段22r q : 2q (435.5878,671.7068)→2r (534.4122,738.2932) 长度119.1638 弧22s r : 2r (534.4122,738.2932) →2s (540,740)圆心(670,600) 长度5.9291 线段22t s :2s (540,740)→2t (670,740) 长度130 弧22u t : 2t (670,740)→2u (679.7725,732.1211)圆心(670,730)长度13.5707 线段22v u : 2u (679.7725,732.1211)→2v (700.2275,637.8789) 长度96.4365 弧22w v :2v (700.2275,637.8789)→2w (702.6928,633.1732)圆心(700,640) 长度5.3769

最终总路程:2794.512 单位; 最终总时间:598.5477秒 问题二的求解

问题二是在建立最短时间优化模型的基础上求解出从O 到A 的最短时间.根据建立的模型,可知当转弯半径5055.11=r 时,时间有最小值.

因为 2

1.0100

1r e

v v ?-+=

此时转弯时机器人的速度: 81115.4=v .

利用问题一的方法解得各起终点的坐标、圆弧圆心坐标如下:

线段Oa :)210,70(00a O →),(;

弧ab :)3992.219,0916.78()210,70(b a →, 圆心为(81.5055,210)

)300,300()3992.219,0916.78(A b →;

总时间2130.94=t 秒, 总距离470.8301单位.

模型检验

对于问题一的模型检验,由于软件CAD 在处理图形、获取坐标方面较方便快捷,利用CAD 可以自动读取坐标、线段长度、弧长的优点,粗略的估计从A O →、B O →、

C O →和O C B A O →→→→的可能较短路线,由CA

D 软件可求得得粗略解.将在

Autocad 中得到的结果与计算值相比较得表如下:

短路线中的最短路径,因此本模型在解决机器人避开障碍物探索最短路径是相对较客观合理的.

模型的评价与推广

优点:

(1):本模型借鉴“橡皮筋算法”的精华的思想基础,并改良其不足,利用改良后的“橡皮筋算法”使解决机器人机器人避开障碍物探索最短路径的问题变得生动形象,化抽象为具体,使本模型在其它类似问题方面的迁移性较强.

(2):本模型充分体现数形结合思想,在处理机器人行走路线由直线到曲线、由曲线到直线等问题时,巧妙利用解析几何中,圆的切线、两圆公切线处理,同时,采用CAD 软件进行图像上的检验,使本模型在几何关系、数学关系上得出的结果都是客观合理的. 缺点:

由于行走路线的限制,且路线的连续性以及机器人只能利用圆弧拐弯,因此求出的拐点(直路线线和圆弧切的点)基本上是小数,而且本模型中只精确到0.0001,可能会给具体的机器人实践行走时带来误差. 模型的推广:

本模型可用于推广解决机器人快速灭火,迷宫路径探索等相似路径的探索问题,也可推广至交警疏通堵车问题中路径规划问题.

参考文献

[1] 陈勇,王栋,陈戈,一种三维虚拟场景自动漫游的快速路径规划算法,系统仿真学报,第19卷,第11期:2508-2510页,2007.

[2] 杨文茂,李全英,空间解析几何,武汉大学出版社,2006.

[3] 胡良剑,孙晓君,MATLAB数学实验,高等教育出版社,2006.

附录

附录1:

%两圆公切线,两圆大小相等.求切点

%保存为函数w

function w

a1=80+1.5055;b1=210;a2=720;b2=600;%两圆圆心坐标

[x,f,h]=fsolve(@li,[a1,b1])

end

function f=li(x)

a1=80+1.5055;b1=210;a2=720;b2=600;

%zx=(a1+a2)/2;zy=(b1+b2)/2;%两圆相切

zx=300;zy=300;

%zx=0;zy=0;%直线与圆相切时

f(1)=(x(1)-a1)^2+(x(2)-b1)^2-10^2;%在某圆上

f(2)=(x(1)-zx)^2+(x(2)-zy)^2+10^2-((zx-a1)^2+(zy-b1)^2);%与两圆圆心连线的中点构成勾股定理

end

附录2:

%求弧长公式要每个点迭代

clear;

clc;

R=11.5055;

x1=78.0916;y1=219.3992;%第一点坐标

x2=70;y2=210;%第二点坐标

f=R*2*asin(sqrt((x2-x1)^2+(y2-y1)^2)/2/R) %弧长

附录3:

%两圆公切线,两圆大小不等

function o

format short

[x,f,h]=fsolve(@laz,[580 450])

end

function f=laz(x)

f(1)=sqrt((550-x(1))^2+(450-x(2))^2)/(sqrt((720-x(1))^2+(520-x(2))^2))-8; f(2)=7/17*x(1)+3800/17-x(2);

end

附录4:

%算线段长度,要迭代

clear;

clc;

R=10;

x1=0;y1=0;%第一点坐标

x2=50.1353;y2=301.6396;%第二点坐标

f=sqrt((x2-x1)^2+(y2-y1)^2) %线段长度

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

机器人避障问题 摘要 本文主要运用直线逼近法等规律来解决机器人避障问题.对于问题一:要求最短路径运用直线逼近法证得圆弧角三角形定理,得出结论:若一大圆弧角三角形完全包括另一小圆弧角三角形,则该三角形曲线周长必大于小的三角形周长.那么可知机器人在曲线过弯时,选择最小半径可满足路径最短,即为10个单位半径,通过观察可得可能的所有曲线,通过仅考虑直线段的大致筛选选出总长较小、长度相近(之差小于100)的曲线,然后利用平面几何知识对相关切点,进而求出各直线、曲线的长度,求和可得最段路线.对于问题二:通过对机器人过弯规律2 1.0100 e 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.11 0()(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 过程中,机器人至少要经过一

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

机器人避障问题的解题分析 摘要:本文对2012年全国大学生数学建模竞赛D题机器人避障问题进行了全面分析,对最短路的设计进行了理论分析和证明,建立了机器人避障最短路径的几何模型,对最短时间路径问题通过建立非线性规划模型,有效地解决了转弯半径、圆弧圆心位置和行走时间等问题。 关键词:机器人避障;最短路径;Dijkstra算法;几何模型;非线性规划模型 1 引言 随着科学技术的进步和计算机技术的发展,机器人的应用越来越广泛,在机器人的应用中如何使机器人在其工作范围内为完成一项特定的任务寻找一条安全高效的行走路径,是人工智能领域的一个重要问题。本文主要针对在一个场景中的各种静态障碍物,研究机器人绕过障碍物到达指定目的地的最短路径问题和最短时间问题。 本文以2012年“高教社”杯全国大学生数学建模竞赛D题“机器人避障问题”为例进行研究。假设机器人的工作范围为800×800的平面正方形区域(如图1),其中有12个不同形状的静态障碍物,障碍物的数学描述(如表1): 图1 800×800平面场景图

表1 在原点O(0, 0)点处有一个机器人,它只能在该平面场景范围内活动,机器人不能与障碍物发生碰撞,障碍物外指定一点为机器人要到达的目标点。规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若碰撞发生,则机器人无法完成行走。机器人直线行走的最大速度为50=v 个单位/秒。机器人转弯时,最大转弯速度为2 1.0100 e 1)(ρρ-+==v v v (ρ是转弯 半径)。如果超过该速度,机器人将发生侧翻,无法完成行走。 场景图中有4个目标点O(0, 0),A(300, 300),B(100, 700),C(700, 640),下面我们

机器人避障问题——国家一等奖论文 推荐

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算法跨立实验分析法非线性规划模型

自动避障小车设计

自动避障小车 技术报告 前言 设计背景:在科学探索和紧急抢险中经常会遇到对与一些危险或人类不能直接到达的地域的探测,这些就需要用机器人来完成。而在机器人在复杂地形中行进时自动避障是一项必不可少也是最基本的功能。因此,自动避障系统的研发就应运而生。 我们的自动避障小车就是基于这一系统开发而成的。随着科技的发展,对于未知空间和人类所不能直接到达的地域的探索逐步成为热门,这就使机器人的自动避障有了重大的意义。我们的自动避障小车就是自动避障机器人中的一类。自动避障小车可以作为地域探索机器人和紧急抢险机器人的运动系统,让机器人在行进中自动避过障碍物。

目录 一、设计目标: (3) 二、方案设计: (4) 2.1直流调速系统 (4) 2.2检测系统 (4) 三硬件设计 (5) 3.1、SPCE061A单片机最小系统 (5) 3.1.1.SPCE061A时钟电路 (8) 3.1.2.PLL锁相环 (9) 3.1.3.看门狗Watchdog (9) 3.1.4.低电压复位(LVR) (10) 3.1.5.I/O端口 (10) 3.1.6.时基与定时器 (11) 3.1.7.SPCE061A的定时器/计数器 (11) 3.1.8.ADC、DAC (12) 3.2、超声波传感器 (12) 四软件设计 (16) 4.1软件设计各模块 (16) 4.2速度控制 (17) 4.3障碍物检测 (17) 4.4看门狗 (17) 4.5基频中断 (18)

4.6程序设计流程图 (19) 五:测试数据、测试结果分析及结论 (19) 程序附录 (21) 1.主程序: (21) 2.中断程序 (24) 3、测距程序 (28) 一、设计目标: 1.小车从无障碍地区启动前进,感应前进路线上的障碍物 后,能自动避开障碍物。 2.根据障碍物的位置选择下一步行进方向,选择左拐还是右 拐,若障碍物在左边则自动右拐,若障碍物在右边则左拐,若障碍物在正前方可任意选择左拐或者是右拐,以达到避开障碍物的目的。 3.通过利用单片机内时钟源的控制设定左拐和右拐的时间, 从而能持续前进。 4.为达到速度的可控性,需设置两个独立按键对小车进行控 速。

高教社杯数学建模D题机器人避障问题论文

机器人避 障问题 摘要 本文研究了机器人避障最短路径和最短时间路径的问题。主要研究了在一个区域中存在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.0372 O→B 最短路径为:=1OB L 853.8014 O→C 最短路径为:4OC L =1054.0 O→A→B→C→O 最短路径为: 问题二机器人从O(0,0)出发,到达A 的最短时间路径: 最短时间是94.5649,圆弧的半径是11.5035,路径长4078 .472=OA L 关键词最短路径;避障路径;最优化模型;解析几何;数学工具 一、问题重述 图1是一个800×800的平面场景图,在原点O(0,0)点处有一个机器人,它只能在该平面场景范围内活动。图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍

机器人避障问题

精心整理 机器人避障问题 摘要 本文研究了在一个800800?平面场景里,机器人通过直线和圆弧转弯,绕过障碍物,到达目标点的问题,解决了到达目标点路径最短,以及到达A 点时间最短的问题。文章将路径划分为若干个这种线圆结构来求解。对于途中经过节点的再到达目标点的状况,我们采用了在拐点和节点最小转弯半径的形式. O A →O →B O →C O →A →B 10个单位为50=v 对场景图中4(1)(2)1.出发,分别做圆的切线,直到终点。对于经过路径中的目标点的问题,我们采用最小转弯模式,建立优化模型,最终求的最短路径。 2.问题二要求从起始点到达A 点所用的时间最短,从题意以及生活经验可得,拐弯半径越大,所用时间越短,拐弯半径越小,所用时间越大。半径最小不低于10,取最大值时机器人应刚好未碰到4、6三角形,可通过几何解法计算出来,并对时间进行优化处理。 三、模型假设 假设机器人可以抽象成点来处理 假设机器人的能源充足,且在整个行走过程中无故障发生 四,符号说明

】 5(为起点,,OA 圆弧的切点,角度 1OO A ∠=,11OO M ∠=,11AO N ∠=,111M O N θ∠=.设这段路程机器人的总路程为L. 解法如下: 如上图可得有以下关系: 1 AOO ?在中: 在11Rt OO M ?: 222arccos(2b c a bc α+-=

在11Rt AO N 中: 所以: 从而可得: 结果如下: 机器人行走路线 1OM =1N A 弧11M N = 224.7221; b= 237.6973 c= O 同理了解 比较可得, O 从上面绕到到目标点A 的距离最短,最短路径为471.0372。

小车自动避障与路径规划

第3章系统总体结构及工作原理 该系统主要以超声波测距为基本测距原理,并在相应的硬件和软件的支持下,达到机器人避障的效果。 3.1机器人总体硬件设计 3.1.1传感器的分布要求 为了全方位检测障物的分布状况,并及时为机器人系统提供全面的数据,可将所需的八个传感器均匀排列在机器人周围,相邻每对传感器互成45度角。为了避免相互干扰,八个传感器以程序运行周期为周期,进行循环测距。传感器排列示意图如下: 图3.1.1 传感器分布图

图3.1.2 硬件设计总体框架图 上图为支持机器人运行实用程序的硬件部分的总体设计框架图,由负责相关任务的同学提供。在超声波信号输入单片机以后,由存储在单片机中的主程序调用避障子程序,根据输入信号执行避障指令,并使相关数据返回主程序,转而提供给电机和LED显示器的驱动程序使用,最后,由电机执行转向指令,结果则显示在LED显示器上。

图3.1.3 软件总体框架图 由上图可知,本文作者负责的超声波避障程序为软件总体设计中的子程序部分。在主程序运行过程中,若调用超声波避障程序,机器人在自行轨迹规划后,将程序处理所得数据送给电机处理成立程序,控制电机动作。具体的避障程序设计将在第4章进行。 3.2超声波测距原理 测距原理:超声波是指频率高于20KHz的机械波。为了以超声波作为检测

手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。[8]超声波测距的原理一般采用渡越时间法TOF(time of flight)。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离,即:[8] D=ct/2 其中D为传感器与障碍物之间的距离,以m计,c为超声波速度,这里以340m/s计,t为超声波从发送到接收的总时间,以s计。据此原理可以用超声波传感器测得的距离为避障程序提供所需的数据。[8] 第4章轨迹规划算法的实现方案 4.1轨迹规划算法的层次化设计 根据上述材料分析,可以将机器人轨迹规划算法设计分为基础控制层、行为控制层和坐标计算层,三个层次进行。 4.1.1基础控制层设计 基础控制层可定义为基本行为层,这层算法的任务是寻找目标点,并确保机器人可以顺利到达指定目标位。在确定目的地位置的情况下,为了达到上述目的,计算机必须对机器人的方位进行时实计算。应用人工势场法原理,可以将目标点设为引力极,牵引机器人运动。对此动作建立相应的模型,可以使用建立平面坐标作为虚拟势场的方法来给机器人定义方位,将机器人关于目标点的时实偏角作为虚拟引力方向,以确定机器人下一步所需转过的角度,并时实检测,是否已到达目的地,若已到达,则可认为虚拟引力此刻为0,并发出信号控制程序终止运行总体程序。 由此,可确定基础控制层所需的各参数: (1)机器人的时实坐标x, y值,由专门的坐标计算层提供,为了提高精 确度,可以采用厘米为单位制。 (2)机器人的速度v,测量后设为定值使用。 (3)周期T,直接设置为定值使用。 (4)偏转角de,可通过机器人与横坐标之间的夹角pe,减去机器人到目 标点连线与横坐标的夹角E得到。

机器人避障问题的最短路径分析

机器人避障问题的最短路径分析 摘要 本论文研究了机器人避障最短路径和最短时间路径的问题。主要讨论了在一个区域中存在12个障碍物,由出发点到达目标点以及由出发点经过若干目标点最终到达出发点的两种情况。采用传统的避障方法——切线图法。建立了线圆结构,这样任何路径,我们都可以将路径划分为若干个这种线圆结构来求解。对于途中经过节点再到达目标点的状况,我们采用在转弯点和节点都采用最小转弯半径,以节点为切点的形式。然后建立了最优化模型,利用MATLAB软件对方案进行求解。 问题一:把路径分解成若干个线圆结构来求解,然后把可能的最短路径采用穷举法列举出来,最终得出最短路径: A O→最短路径为:471.0 O→最短路径为:869.5 B O→最短路径为:1093.3 C 对于O → → →我们将A、B、C看作切点,同样采用线圆结构 C B A O→ 计算。 O→ → → →最短路径为:2827.1 A O C B 问题二:考虑避障路径和转弯速度,我们建立时间与路径之间的模型,用MATLAB软件求出最优解。当转弯半径为11.5的时候,可以得出最短时间为:T=94.3 关键词最优化模型避障路径线圆结构切线图法

一、问题重述 本文是求一个机器人在800×800的平面场景图中避开障碍物,建立从原点O(0, 0)点处出发达到终点的最短路径和最短时间路径的模型。即求:1、O→A 、O→B 、O→C 和O→A→B→C→O 的最短路径。2、O →A 的最短时间路径。 机器人在行走时的要求是:1、它只能在该平面场景范围内活动2、图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物(障碍物的分布如图1)3、障碍物外指定一点为机器人要到达的目标点(要求目标点与障碍物的距离至少超过10个单位)。4、规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。5、为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞。 机器人直线行走的最大速度为50=v 个单位/秒。机器人转弯时,最大转弯速 度为2 1.0100 e 1)(ρρ-+==v v v ,其中ρ是转弯半径。 已知场景图中4个点O(0, 0),A(300, 300),B(100, 700),C(700, 640)。图中各个点 的坐标见下表。 图1 编号 障碍物名称 左下顶点坐标 其它特性描述 1 正方形 (300, 400) 边长200 2 圆形 圆心坐标(550, 450),半径70 3 平行四边形 (360, 240) 底边长140,左上顶点坐标(400, 330)

机器人避障问题论文

机器人避障问题 【摘要】 本文主要是对机器人在一个平面区域内通过不同障碍物到指定目标点进行研究,通过建立机器人与障碍物的最小安全距离的禁区模型,进而建立从区域一点到另一点的最短距离、最短时间的数学模型。在最优转弯顶点为障碍物,最优转弯半径为安全距离10的基础上,把路径概括为基本的三种数学模型。利用穷举的算法找出最短路径和最短时间。 针对区域中从一点到另一点避障的最优路径问题,把障碍物划分为有顶点和无顶点两大类。首先本文证明对于有顶点障碍物,机器人以障碍物顶点为圆心且转弯的圆弧半径为10时路径最优,我们还注意到在某些路径中适当增加圆的半径可以把曲线路线转换为直线路径,进一步优化行进路径;对于无顶点障碍物通过论证找出以障碍物圆心为转弯圆心,以障碍物半径与安全距离的和为转弯半径的最优转弯圆弧。其次本文将寻找最短路径的的问题转换为最短路径的优选问题。本文巧妙的将优化模型转变为研究不与障碍物边界相交、不与圆弧相交的路线中的最优解的问题。在这个数学模型的基础上进行相应的改善并且使用穷举的算法找出最优路径。 针对不同的目标点,我们将机器人的行进分为单目标点和多目标点两种情况针对多目标点问题,由于机器人不能直线转向,所以在经过目标点时,应该提前转向,且中间目标点应该在转弯弧上。因此先建立优化模型(模型三)对行进时中间目标点处转弯圆弧圆心搜索求解。求出中间目标点转弯圆心后,用把中间目标点的圆心看做“障碍物”的办法把问题转化为单目标点问题。然后根据模型二和模型一利用MATLAB软件编程求得了O→A、O→B、O→C、O→A→B→A→C的最短路径,最短路径长分别为 471.0372、857.6778、1094.5、2799.0121,其中O-->A的最短路径对应圆弧的圆心坐标为(80,210);O→B的最短路径对应圆弧的圆心坐标:(60,300)、(150,435)、(220、470)、(220,530)、(150,600);O→C经过的圆心:(230,60)、(410,100)、(500,200)、(720,520), (720,600);对于多目标点问题利用模型三进行分割求解得到O→A→B→C→O最短路径对应圆心坐标(80,210)、(307.7715)、(306.2932)、(220,530)、(150,600)、(109.8478,701.7379)、(270,680)、(370,680)、(430,680)、(540,730)、(670,730)、(709.7933)、(642.0227)、(720,600)、(720,520)(500,200),(410,100),(230,60)。对于最短时间路径问题,根据转弯半径和速度的关系,在问题一求出的最短路径的模型的基础上,进行路线优化,建立以最短时间为目标的非线性规划模型,利用lingo 求解最短时间获得了机器人从O点出发,到达A的最短时间路径,求得最短时间路径下转弯半径为12.9885 ,同时最短时间路径时间长为94.2283个单位,路径长为471.129个单位。相应圆弧的圆心坐标为(82.1414,207.9153)。 关键词:机器人避障覆盖法穷举法非线性规划

数学建模机器人避障论文

承诺书 我们仔细阅读了中国大学生数学建模竞赛的竞赛规则. 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。 我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。 我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。 我们参赛选择的题号是(从A/B/C/D中选择一项填写): 我们的参赛报名号为(如果赛区设置报名号的话): 所属学校(请填写完整的全名): 参赛队员(打印并签名) :1. 2. 3. 指导教师或指导教师组负责人(打印并签名): 日期:年月日

编号专用页 赛区评阅编号(由赛区组委会评阅前进行编号): 赛区评阅记录(可供赛区评阅时使用): 评 阅 人 评 分 备 注 全国统一编号(由赛区组委会送交全国前编号): 全国评阅编号(由全国组委会评阅前进行编号):

机器人避障问题 摘要 针对题中机器人避障最短路径问题,文章使用简化后建立的最短路径的数学模型来解决此类问题。 对于问题1,我们matlab中自带函数graphshortestpath函数求解最短路径的数学模型。其主要思想是:首先先证明出两点之间的最短路径是由两条线段和以中间点为圆心的圆的一段圆弧组成,然后证明圆弧的半径为定值10。然后对模型简化使模型化为标准的最短路径模型,最后用graphshortestpath函数对模型求解。 针对问题2,我们建立了优化模型。在问题1的基础上,我们对两种行走方案进行分析,根据转弯弧的半径变化对速度的影响我们锁定到一条路径,然后利用lingo对优化模型进行求解。 关键词:graphshortestpath函数、最短路径、避障问题

机器人避障问题的MATLAB解法探析

机器人避障问题的MATLAB解法探析 摘要:本文对2012年全国大学生数学建模竞赛D题“机器人行走避障问题”,给出了利用matlab这一数学软件进行求解的方法,并对该方法的优缺点进行了分析。 关键词:机器人避障matlab 2012年全国大学生数学建模竞赛D题“机器人行走避障问题”如下: 在一个800×800的平面场景图中,原点O(0,0)点处有一个机器人,它只能在该平面场景范围内活动。图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物。规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。机器人不能折线转弯,转弯路径由与直线路径相切的圆弧组成,每个圆弧的半径最小为10个单位。为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位。计算机器人从O(0,0)出发,O→A、O→B、O→C和O→A→B→C→O的最短路径。 一、问题的分析 为达到要求,我们按照以下原则选择路径: (1)在障碍物拐点处的圆弧半径为临界半径个单位; (2)因为直线速度大于转弯速度,所以在不转弯的地方尽可能走直线; 按照上述原则,我们选取以下步骤求最短路径: (1)穷举出起始点与目标点的所有可能直线路径,判断出最短直线路径; (2)针对上述最短直线路径,在障碍物拐点处加入弧线转弯,然后计算实际最短行走路径。 二、问题的求解 按照上述步骤,逐步求最短路径: (1)首先画出O到A允许行走所有直线路线,如图所示。 (2)计算出各节点到下一节点的距离作为权值给各条边赋权,可以求解出最优直线路径。用MATLAB软件,程序如下: sets: cities/O,B1,B2,C1,C2,A/; roads(cities,cities)/O,B1 O,B2 O,C1 B1,A B1,C2 C1,B1 C1,B2 B2,C2 B2,A C2,A /:w,x; data: w= 224.7 237.7 100 237.7 150 150 150 150 250 114; n=@size(cities); min=@sum(roads:w*x); @for(cities(i)|i #ne# 1 #and# i #ne# n: @sum(roads(i,j):x(i,j))=@sum(roads(j,i):x(j,i))); @sum(roads(i,j)|i #eq# 1:x(i,j))=1; end 计算出结果(只列出有用部分): Global optimal solution found. Total solver iterations:0 Variable Value Reduced Cost

行走机器人避障问题

机器人行走问题 摘要 本文研究了机器人避障最短路径的问题。主要研究了在一个区域中存在四个障碍物,由出发点到达目标点以及由出发点经过途中的若干目标点到达最终目标点的两种情形。我们通过证明具有圆形限定区域的最短路径是由两部分组成的:一部分是平面上的自然最短路径(即直线段),另一部分是限定区域的部分边界,这两部分是相切的,互相连接的。依据这个结果,我们可以认为最短路径一定是由线和圆弧做组成,因此我们建立了线圆结构,这样无论路径多么复杂,我们都可以将路径划分为若干个这种线圆结构来求解。对于途中经过节点的再到达目标点的状况,我们采用了两种方案,一种是在拐点和节点都采用最小转弯半径的形式,另一种是适当扩大拐点处的转弯半径,使得机器人能够沿直线通过途中的目标点。然后建立了最优化模型对两种方案分别进行求解。 问题一,我们很容易分解成线圆结构来求解,然后把可能路径的最短路径采用穷举法列举出来,最终得出最短路径: R→A 最短路径为:70.5076 R→B 最短路径为:107.9587 R→C 最短路径为:102.0514 问题二,我们方案都进行优化,求得最终结果: 第一种方案最短路径为:156.471 第二种方案最短路径为:157.752 关键词最短路径最优化模型避障路径解析几何

一、问题重述 下图是一个100×80的平面场景图,在R(0,0)点处有一个机器人,机器人只能在该100×80的范围内活动,图中四个矩形区域是机器人不能与之发生碰撞的障碍物,障碍物的数学描述分别为B1(20,40;5,10)、B2(30,30;10,15)、B3(70,50;15,5)、B4(85,15;5,10),其中B1(20,40;5,10)表示一个矩形障碍物,其中心坐标为(20,40),5表示从中心沿横轴方向左右各5个单位,即矩形沿横轴方向长5×2=10个单位,10表示从中心沿纵轴方向上下各10个单位,即矩形沿纵轴方向长10×2=20个单位,所以,障碍物B1的中心在(20,40),大小为10×20个单位的矩形,其它三个障碍物的描述完全类似。 在平面场景中、障碍物外指定一点为机器人要到达的目标点(要求目标点与障碍物的距离至少超过1个单位),为此,须要确定机器人的最优行走路线——由直线段和圆弧线段组成的光滑曲线,其中圆弧线段是机器人转弯路线,机器人不能折线转弯,转弯路径是与直线相切的一圆形曲线段,也可以是两个或多个相切的圆弧曲线段组成,但每个圆形路线的半径都必须大于某个最小转弯半径,假设为1个单位。另外,为了不与障碍物发生碰撞,要求机器人行走线路与障碍物间的最短距离为1个单位,越远越安全,否则将发生碰撞,若碰撞发生,则机器人无法到达目标点,行走失败。请回答如下问题: 1.场景图中有三个目标点A(50,40)、B(75,60)、C(95,20),请用数学建 模的方法给出机器人从R(0,0)出发安全到达每个目标点的最短路线。 2.求机器人从R(0,0)出发,依次安全通过A、B到达C的最短路线。

基于弹性绳索拉伸的机器人避障问题

基于弹性绳索拉伸的机器人避障问题 摘要 本文研究了机器人避障的相关问题。在一个已知区域中存在12个障碍物,使用基于弹性绳索拉伸的方法,求解了由出发点到目标点的最短路径和最短时间路径。我们在禁区顶点以最小转弯半径转向为最优的前提下,对障碍物进行了加工,即将限定区域向外扩展并将顶点圆角化。那么最短路径就由两部分组成:一部分是平面上的直线段,另一部分是限定区域上部分弧构成。由于最短路径一定是由直线线段和圆弧做组成,而弹性绳索紧贴障碍物时,弹性绳索与直线线段和圆弧重合,并且弹性绳索有自然缩短的趋势,弹性绳处于紧绷状态,此时弹性绳长就是最短路径。 问题一,将绳索系与起点和终点,使用拉伸弹性绳索的方法,找到所有符合要求的绳索连结成的路径并计算路径长度,最终最短的绳长即为所求。由于符合要求的路径可能比较多,我们又使用了尺规作图进行简化了以及一般情况下的Dijkstra求解最短路径的方法。 最终求得: O→A最短路径长度为471.037 O→B最短路径长度为 853.13 O→C最短路径长度为1092.82 O→A→B→C→O最短路径长度为2714.31 问题二,由于机器人转弯时所行走的速度和转弯半径有关。而当转弯半径最小时相应的速度也最小。就必须平衡转弯半径和转弯时速度的这一对矛盾。本文通过极限状态的求解,计算出可能的最短时间路径。 关键字:最短路径切线长弧长

一、问题的重述 图1是一个800×800的平面场景图,在原点O(0, 0)点处有一个机器人,它只能在该平面场景范围内活动。图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物,障碍物的数学描述如下表: 编号 障碍物名称 左下顶点坐标 其它特性描述 1 正方形 (300, 400) 边长200 2 圆形 圆心坐标(550, 450),半径70 3 平行四边形 (360, 240) 底边长140,左上顶点坐标(400, 330) 4 三角形 (280, 100) 上顶点坐标(345, 210),右下顶点坐标(410, 100) 5 正方形 (80, 60) 边长150 6 三角形 (60, 300) 上顶点坐标(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) 边长80 12 长方形 (500, 140) 长300,宽60 在图1的平面场景中,障碍物外指定一点为机器人要到达的目标点(要求目标点与障碍物的距离至少超过10个单位)。规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若碰撞发生,则机器人无法完成行走。 机器人直线行走的最大速度为50=v 个单位/秒。机器人转弯时,最大转弯速度为 2 1.0100 e 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 的最短时间路径。 注:要给出路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标以及机器人行走的总距离和总时间。

2012全国大学生数学建模机器人避障问题优秀论文模型

承诺书 我们仔细阅读了《全国大学生数学建模竞赛章程》和《全国大学生数学建模竞赛参赛规则》(以下简称为“竞赛章程和参赛规则”,可从全国大学生数学建模竞赛网站下载)。 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。 我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。 我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。如有违反竞赛章程和参赛规则的行为,我们将受到严肃处理。 我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。 我们参赛选择的题号是(从A/B/C/D中选择一项填写): D 我们的参赛报名号为(如果赛区设置报名号的话):2418 所属学校(请填写完整的全名): 参赛队员(打印并签名) :1.黎仕东 2.李兆海 3.赵甜森 指导教师或指导教师组负责人(打印并签名): (论文纸质版与电子版中的以上信息必须一致,只是电子版中无需签名。以上内容请仔细核对,提交后将不再允许做任何修改。如填写错误,论文可能被取消评奖资格。) 日期:年 8 月25 日赛区评阅编号(由赛区组委会评阅前进行编号):

编号专用页 赛区评阅编号(由赛区组委会评阅前进行编号): 全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):

2012年高教社杯数学建模D题--机器人避障问题论文设计

机器人避障问题 摘要 本文研究了机器人避障最短路径和最短时间路径的问题。主要研究了在一个区域中存在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.0372 O →B 最短路径为:=1OB L 853.8014 O →C 最短路径为:4OC L =1054.0 O →A →B →C →O 最短路径为: 问题二机器人从O (0, 0)出发,到达A 的最短时间路径: 最短时间是94.5649,圆弧的半径是11.5035,路径长4078.472=OA L 关键词 最短路径;避障路径;最优化模型;解析几何;数学工具

(完整word版)智能避障机器人设计开题报告

课题名称智能避障机器人设计 课题来源教师拟定课题类型EX 指导教师XXX 学生姓名XXX 学号XXX 专业XXX 一、调研资料的准备 智能避障机器人设计不仅是对所学理论知识的综合运用,同时也是锻炼了实际操作能力和自学创新能力。本次设计包含了硬件电路设计和软件电路。在硬件电路设计中我首先在图书馆和网络上查阅了一些关于智能避障机器人设计的相关电路图以及原理知识,同时参考了童诗白老先生的模拟电子技术基础,阎石的数字电子技术基础中的存储器部分,徐科军主编的传感器与检测技术中的传感器部分;在软件设计中主要参考了张毅刚的单片机原理及应用;在电路仿真中参考了赵景波所编的Prote199SE应用与实例教程;在整体电路设计中参考了万方数据和中国知网。 二、设计目的 在科学探索和紧急抢险中经常会遇到对与一些危险或人类不能直接到达的地域的探测,这些就需要用机器人来完成。而在机器人在复杂地形中行进时自动避障是一项必不可少也是最基本的功能。因此,自动避障系统的研发就应运而生。我们的自动避障小车就是基于这一系统开发而成的。 随着生产自动化的发展需要,机器人的智能化与集成度越来越高,已经越来越广泛的应用到生产生活中。伴随的科技水平的提高,机器人的能够使用的传感器种类也越来越多,其中红外线传感器已经成为机器人自动行走和驾驶的重要部件。此系统是基于红外传感器的系统,即运用红外传感器实现对前方障碍物的检测。 红外传感器的典型应用领域为自主式智能导航系统,机器人要实现自动避障功能就必须要感知障碍物,对障碍物的感知相当于给机器人一个视觉功能。在现在生活中,例如在一些火宅或者一些自然灾害的现场,经常需要进入到对一些危险或人类不能直接到达的地方进行观察,采集数据,这些就需要用机器人来完成。而在机器人在上述等环境中行进时自动避障是一项必不可少也是最基本的功能。因此,自动避障系统的研发就应运而生。自动避障小车可以作为困难环境检测机器人和紧急抢险机器人的运动系统,让机器人在行进中自动避过障碍物,帮助人们完成相应的任务。

数学建模 机器人避障问题

机器人避障问题 一、摘要 本文讨论了机器人在平面场景中避障行走的问题,已知机器人的行走模式(直线与相切圆弧)以及场景障碍物的分布,计算出到平面各个给定点的最短路径,以及到A 点的最短时间。 文中,首先,考虑到机器人与障碍物之间有10个单位的碰撞距离,故用CAD 软件将平面场景图进行改进,再用CAD 设计可能的最短路径。接着,对每条具体路径进行分解,得到三种基本线圆形模型(点圆模型,双圆异侧模型,双圆同侧模型),对这三种模型进行求解,得到各个模型直线长度以及转弯圆弧圆形角的表达公式。之后,参照具体的行走路径,构造合适的行走矩阵,用以判断每段路径所属的基本模型。路径总的长度可用如下公式表达: 12 ,1,1,2 1 1 N N i i i i i i i s m r θ--+++===+?∑∑ 最后,通过计算设计的集中可能的最短路径,我们得到每段的最短路径的长度分别为: O ——A 路段:471.0372(单位); O ——B 路段: 853.7001(单位); O ——C 路段: 3100915.1?(单位); O ——A ——B ——C ——O 路段: 3 2.677810?(单位)。 对于问题二,我们在问题一的基础上分别利用直线最大速度和转弯最大速度计算出时间的表达式。为了方便计算,我们将转弯圆弧的圆心定在P (80,210)(场景中正方形5的左上角),这样得到时间T 与转弯半径ρ的函数关系式: 2 100.10 (1)(2arccos arccos ) e a b T v ρρ ρ πα-?+?---= 通过MATLAB 编程,画出其图像,求解得出:当半径ρ=11.435时,时间T 最小,其大小为94.5649(秒)。 关键词:最短路径 线圆模型 行走矩阵 MATLAB 二、问题重述 在一个800×800的平面场景图(见附录一),在原点O(0, 0)点处有一个机器人,它只能在该平

机器人避障模型毕业设计论文

毕业论文设计机器人避障模型

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

相关主题
文本预览
相关文档 最新文档