搜档网
当前位置:搜档网 › “机器人避障问题”论文

“机器人避障问题”论文

“机器人避障问题”论文
“机器人避障问题”论文

机器人避障问题

摘要

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

本文针对移动机器人的避障问题,建立了最短路径及最短时间路径的数学模型。并应用于解决本题给定的路径规划问题,获得了满足问题需求的全部最优路径。

对于最短路径问题,本文分析了障碍物对移动机器人运行的影响,给出了最优移动规则;建立了简化的路径网格模型,将其抽象为由节点及边构成的两维图,并确定了其各项参数,再使用经典的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秒。

结论2:机器人完成O→A的最短时间路径总距离是:472.41单位长度;总时间是 94.56秒,此时最优转弯半径为11.50个单位长度。

关键词:移动机器人,避障,路径规划,Dijkstra算法,有约束优化

移动机器人必须在如图1所示的800×800的平面场景范围内活动,从指定的起点向终点运行,且需满足最短路径或最短时间的优化要求。场景中有12个不同形状的障碍物,机器人移动时必须与障碍物至少相隔10个单位;机器人的行走路径须由直线段和圆弧组成,其转弯路径由与直线路径相切的一段或多段互切的圆弧路径组成,每个圆弧的半径也不能小于10个单位。

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

2

1.0100

1)(ρρ-+=

e

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:800×800的平面场景图

由图1所示,机器人在从起点走向终点时,需避开众多的障碍物,且只能通过圆弧及直线轨迹,考察如图2所示的机器人转弯速度曲线,由于机器人直线移动速度为5单位/秒,可见机器人直线移动速度一般高于转弯速度。再依据两点间以直线距离最近的常识,故机器人在无障碍物时尽量采用直线移动是减少移动距离及时间的基本原则。

图2 机器人转弯速度曲线

考虑下图3,此时,由于障碍物所限,上游点B 与下游点A 之间无法直接通达,依据上述原则,显然过角点P 按两段拆线AP ,PB 进行直线移动是最合理的选择。然而,依据题中要求,机器人必须通过与直线相切的圆弧连接,且与障碍物之距离不能少于一个最小距离,考虑到所有障碍物均为凸多边形(除圆形以外),故以该多边形顶点为圆心,一定半径的圆弧是最合理的选择,即理想路径应是以如下两段直线2AP 、B P

2及一段圆弧21P P 构成的。

图3 机器人最优避障处理

考虑到机器人与障碍物之间的距离不能少于10个单位,即此时图3中圆弧

21P P 的最小半径也为10个单位,则显然问题所要求的最短路径路线即为满足此最小距离约束时的移动路径。

由图2可见,当半径为10个单位时,机器人运行速度是比较慢的,即只有2.5单位/秒,而当圆弧半径增加时,其速度将逐渐升高至5单位/秒,故虽移动距离相应上升,但总的移动时间却有可能反而下降,此为最短时间路径求解提供了可能。

综上所述,可知:

1、最优路径必然使直线段最长,即尽量走直线;

2、经过障碍物时必须满足最小距离约束,可考虑采取10单位长度以上半径

的圆弧;

3、当过渡圆弧半径为10时,即为最短路径;

4、当过渡圆弧半径增大时,路径虽然增加,但由于运行速度同时增加,有

可能获得是短时间路径。

三.模型假设

1、机器人运行期间,具备对周围障碍物及全局路径的全面感知能力,能够

完全自主选径,并准确定位,不会有故障等意外情况发生;

2、机器人移动范围内,不考虑地形变化等对行走速度的影响;

3、机器人移动平稳,不会出现晃动、打滑等现象;

4、机器人在进行路径规划及探测过程中,不会对移动造成影响。

四.定义与符号说明

设机器人M在区域800*800的区域A中移动,O、A、B、C为可能的起点与终点。共有障碍物N=12个,分别以}

B

表示。各障碍物的具体描述

i

,N

2,1{

,...,

i

如下表1所示.

已知机器人直线行走速度50=v 个单位,转弯时的速度为2

1.0100

1ρρ-+=e

v v ,

其中ρ为转弯半径。为使机器人正常行走,要求10>ρ个单位。

按定义,有K=4条路径},...2,1{,K j R j ∈,分别代表O →A ,O →B ,O →C 及O →A →B →C →O 。

按题意,已知行走速度ρv v ,0,机器人M 必须在满足转弯半径10>ρ的约束条件下,避开},...,2,1{,N i B i ∈个障碍物,以直线或圆弧相切的方式通过区域A ,实现对},...2,1{,K i R i ∈的最短路径寻优及对1R 的最短时间路径寻优。

所需计算的结果包括:直线路径段m L 的起、终点坐标2,1),,(∈=n y x LP n n m n ,直线距离m S 及所需时间m T ;圆弧q C 的圆心坐标),(000q q q y x C =,弧长q S 及所需时间q T ,以及机器人行走的总距离∑∑+=m

q

q m S S S 和总时间∑∑+=m

q

q m T T T 。

五. 模型的建立与求解

如前所述,本题目的问题要求包括最短路径寻优与最短时间寻优两种不同的目标。以下分别进行分析及讨论。

5.1 最短路径寻优

正如第二节问题分析所述,由于无障碍时,两点间以直线最近;当遇到障碍物时,要求机器人与障碍物之间保持一定的距离,并且需要通过直线与圆弧相切的过渡方式进行转弯。

如图4所示,机器人从O 走到A ,需要绕过障碍物才能到达终点。为了实现最短路径这个目标,并满足机器人行走线路与障碍物间的最近距离为10个单位。如果圆弧半径越小,其与一固定点O (或A )连接的直线段长度也相应越短。依题意,10≥ρ,故仅当转弯半径10=ρ时所得到的圆弧及整条路径会出现最小值。 可见,最短路径寻优可分为如下步骤:

● 找到角部位置,即可能的转弯点; ● 过角部端点作半径为10的圆弧;

● 计算圆弧与路径上下游点构成的切线,即为可能的最短路径。 后两个步骤显然使寻优计算过程趋于复杂,难于计算。本文给出一种简化算法,先对区域及障碍物进行建模,搜索可能的障碍物角部作为可行的路径。在找到可行解后,再对其进行精算,确定具体的路径细节。由于上述简化过程可能会造成实际的路径与简化路径并不一致,故还需设法查找多条备用路径,并在精算后进行鉴别。显然,这种方法大大简化了整个计算过程。

图4 最短路径寻优

5.1.1 基于Dijkstra算法的最短路径寻优

Dijkstra算法是由荷兰计算机科学家Edsger Wybe Dijkstra发明的,是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。

这个算法是通过为每个顶点 v 保留目前为止所找到的从s到v的最短路径来工作的。初始时,原点 s 的路径长度值被赋为 0 (d[s] = 0),若存在能直接到达的边(s,m),则把d[m]设为w(s,m),同时把所有其他(s不能直接到达的)顶点的路径长度设为无穷大,即表示我们不知道任何通向这些顶点的路径(对于 V 中所有顶点 v 除 s 和上述 m 外 d[v] = ∞)。当算法退出时,d[v] 中存储的便是从 s 到 v 的最短路径,或者如果路径不存在的话是无穷大。 Dijkstra 算法的基础操作是边的拓展:如果存在一条从 u 到 v 的边,那么从 s 到 v 的最短路径可以通过将边(u, v)添加到尾部来拓展一条从 s 到 u 的路径。这条路径的长度是 d[u] + w(u, v)。如果这个值比目前已知的 d[v] 的值要小,我们可以用新值来替代当前 d[v] 中的值。拓展边的操作一直运行到所有的 d[v] 都代表从 s 到 v 最短路径的花费。这个算法经过组织因而当 d[u] 达到它最终的值的时候每条边(u, v)都只被拓展一次。

如图5所示的区域中,要找到点O,A,B及C之间的路径存在多种可能性,若完全按穷举方法进行,其计算量非常大,且不便于自动处理。本文引入Dijkstra算法进行路径寻优,很好的解决了路径角点的搜索问题。

图5:800×800的平面场景图

处理步骤:

● 首先将区域A 中的各障碍物i B 顶点进行排序,以左下角为起点,逆时钟方向顶点号依次增加。

注意,这里B2是个圆形,由于其形状的特殊性,并不参加排序;同时将运行的目标点O ,A ,B 及C 也加入表内,如下表2所示:

● 其次建立连接关系,即用46*46个元素构成一个连接表

46,...2,1,),1,0(∈∈j i a j i 。

该表中表项若为1=j i a ,则表示上述i,j 各顶点不受障碍物阻挡,直接可达。反之,则表示这两个顶点间存在障碍物,无法直接到达,如下表3所示:

●接下来,程序将自动计算具有直接连接的顶点的距离参数。即对于

a的表项,将在下表中填入i,j两顶点之间的直线距离;而对于=

1

j i

=

a类无连接关系的表项,则自动填入无穷大inf,如下表4所示:0

j i

●随后,即可调用专用的MATLAB工具箱完成顶点搜索。

例如:输入源节点号43(代表起点为O),目标节点号44(代表终点为A),运行程序可得如图6所示的最优路径:

图6:O→A的候选最优路径

同理,指定不同的源、目标节点号,可得到如图7的各项最优路径。

图7:O→B的候选最优路径

图8:O→C的候选最优路径

图9:A→B的候选最优路径

图10:B→C的候选最优路径

注意:由于本法处理时,进行了问题的适当简化,并没考虑到机器人需远离

障碍物一定距离,这样虽可得到一条候选的最优路径,避免了盲目搜索,且可自

动实现优化计算,具有良好的推广价值,但最终仍需围绕该路径进行精算。

由于本题中路径有限,可直接参考所得的最优路径,观察是否有相近的路径,同时进行精算及比对,确保所得结果的正确性。

5.1.2 直线与圆弧、圆弧与圆弧内外公切线的计算 在上节获得可行的路径后,还需按题意进行精算,即考虑机器人不能接近障碍物,并且直线路径与圆弧路径之间需通过切线连接。

以下分析、推导相关的理论公式。 5.1.2.1 过已知点作已知圆的切线

图6中由O 点向5B 障碍物左上顶点的路径即涉及此项计算。

图11:过已知点作已知圆的切线

如图11所示,设过已知点),(n m p 向圆),,(r b a 作切线L ,可以得到直线方程:

)(m x k n y -=-

(1)

整理可得:

0=-+-km n y kx

(2)

因圆心),(b a 到直线L 的距离为r ,由点到直线距离公式,可得:

r k km

n b ka =+-+-1

2

(3)

整理后得: ]

)[(2)()(4))((2224

2222r m a r r n b r m a n b m a k ----+-±--=

(4)

已知某一切点在直线L :11b x k y +=上,并且也在222)()(r b y a x =-+-之上,故联立二者得到:

22112)()(r b b x k a x =-++- (5)

由此式解出:

)

1(2)

8444()88()44()(222

112

12211212211k bb b b r k ab ab k a r b b k a x ++--++--±-+=

(6)

再由11b x k y +=,得到:

1

2

112

122112

122112

11)

1(2)

8444()88()44()(22b k bb b b r k ab ab k a r k b b k ak y +++--++--±-+=

(7)

从而,可得到切线方程及切点的闭式解,通过MATLAB 编程解决各点的计算问题,大大提高了计算效率。

5.1.2.2 过两已知圆弧作切线

图7中由6B 障碍物左下与左上顶点的路径即涉及此项计算。

(a )两圆弧的外公切线

(b )两圆弧的内公切线 图12:过两已知圆弧作切线

如图12所示,过已知圆弧可能产生的包括外公切线及内公切线各两条。 设切线L 方程为:

01=++Bb Aa (8) 圆心),(i i b a 到直线切线L 的距离为半径r ,则可列出方程:

???

???

?=+++=+++2

2222

1221111

r B A Bb Aa r B A Bb Aa (9)

由于上式中去除绝对值后的符号不同,可得到两种不同的结果,分别对应外

公切线与内公切线两种情况。

外公切线:

直接脱去绝对值,再将两式相除,整理得:

0)1()()(2

122112211=-+-+-

r r

B b r r b A a r r a (10) 改写得:

2

2

1

12

1221122111b r r b r r

A b r r b a r r a

B ---

+--

= (11) 上式也可以表示成:b kA B += (12)

对(9)式两边平方得:

)(2221222

11111212212B A r Bb Aa AB b a b B a A +=+++++ (13) )(2221222

22222222222B A r Bb Aa AB b a b B a A +=+++++ (14) 然后将(11)式带入到(13)式中,可得:

)

2(22222122222211111121122222

12b bkA A k A r b b kA b A a bA b a kA b a b bkA A k a A +++=+++++++++(15)

整理得:

12)22222()2(22

1122

12

111112

1222

12

11122

12

1=-+++-++++--++b r b b b b A bk r k b a b b a k bb A k r r k b a k b a

(16)

为了使整理后的方程的解更加直观,可令:

c k r r k b a k b a =--++)2(22

1211122121 d bk r k b a b b a k bb =-+++)22222(2

111112

1 f b r b b b b =-++22

1122

112 此时方程可简写为:

02=++f dA cA (17) 从而有:

c cf

d A A 22,21±-=

(18)

再由b kA B +=,得到b c

cf

d k

B B +±-=22,21 (19)

由A ,B 获得切线方程后,依照上节的讨论,可同样获得切点的闭式解。

内公切线:

将式(9)中脱去绝对值并作反号处理,即得此种情况。

01

12

22111=+++++r Bb Aa r Bb Aa (20)

整理后得:

01121122121=+++++r B r b A r a r B r b A r a (21)

改写得:

1

2212112211221r b r b r

r A r b r b r a r a B ++++--=

(22)

利用上节同样的方式进行处理,不难得到切线方程及切点的特征参数A ,B

及x,y 的闭式解,再借助MATLAB 编程解决各点的计算问题,同样可大大提高了计算效率。

由5.1.1-5.1.2所给出的公式,即可求出上述通过Dijkstra 得到的候补最优路径中,各直线端及圆弧段的起终点坐标,圆弧的圆心坐标,从而可以分别计算各段的距离,再利用已知速度计算所需时间,最后可得到全部路径中机器人行走的总距离及总时间。

5.1.3 过中继点的处理

本问题出现在路径4R ,即当机器人作O →A →B →C →O 移动时。由于按题意要求,机器人不能按折线转弯,只能作圆弧转向,故当其如图6所示完成自5B 左上角→A 移动后,本应按图完成自A →7B 右上角移动,但因无法直接折线转向,故必须计算一个转弯用的圆弧。此问题同样会出现在路径4R 中经过B 、C 点的时候。

为满足最短路径条件,尽量使机器人移动距离最小,本问题采用以下方法处理:

计算一个代表机器人转弯的圆弧,其半径仍为r=10,该圆弧经过点A (或B 、C ),且同时使该圆弧圆心与上下游圆弧圆心之距离之和为最小。

图12:中继点的有约束优化

设两个已知圆的圆心分别为P (1x ,1y )及Q(2x ,2y ),待求中继圆的圆心为R (3x ,3y ),且三个圆的半径均为r=10。因已知点M (0x ,0y )位于中断圆上,则满足如下约束条件:

2

230230)()(r y y x x Ceq =-+-=

(23)

按照最小路径原则,希望待求的R 圆与已知圆P 、Q 圆心之间距离最小,则有:

232232231231)()()()(min(y y x x y y x x J -+-+-+-=

(24)

以上两式中,除(3x ,3y )外,其余均为已知值,故形成一个以式(23)为约束条件的非线性最小化问题,可通过MATLAB 采用fmincon 有约束最优工具箱求解。

注:准确的说,应使新生成的圆R 与圆P 、Q 构成的内外切线长度及圆弧长度最小,但这个计算非常复杂,故本文采用一种以各圆圆心距离为指标的简化方法。

5.1.4 最短路径的优化结果

如前所述,将5.1.1节所介绍的Dijkstra 用于搜索候选的最佳路径,再使用5.1.2-5.1.3进行精算,获得真实路径中各直线段及圆弧段的位置参数,如对于路径4R (O →A →B →C →O ),还需通过5.1.3算法计算中断的转弯过渡圆,最后即可求出所有待求路径及距离、时间参数,其结果分别如下所述。

5.1.4.1 路径R1:O →A 最短路径

其路径示意图如图13所示,对应的各数据项如表5所示。

图13:路径

R:O→A最短路径示意图

1

进一步可确定A

O→路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标以及机器人行走的总距离和总时间(详见表5)。

表5 路径

R:O→A最短路径计算数据表

1

5.1.4.2 路径

R:O→B最短路径

2

其路径示意图如图14所示,对应的各数据项如表6所示。

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

图14:路径

2

进一步可确定B

O→路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆

心坐标以及机器人行走的总距离和总时间(详见表5)。

5.1.4.3 路径3R :O →C 最短路径

其路径示意图如图15所示,对应的各数据项如表7所示。

注意,这里实际计算了两条路径,一条由Dijkstra 算法搜索并发现,标注为曲线2m ,另一条为曲线1m ,为观察发现。实际精算表明,路径2m 的总长度与时间分别为1110.9单位与242.02秒,而路径1m 的总长度及时间分别为1050.50单位及235.19秒,优于方案2m ,可见由于5.1.1中对问题作了一定简化,确实会造成计算的差错。

进一步分析表明,造成这种现象的根本原因是Dijkstra 算法无法正确处理本文所面对的圆形物体,仅将它视作一种简单的障碍物。而实际的圆形物体则可通过外切的边缘为机器人提供一个非常灵活、快捷的移动通道。

图15:路径

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

3

进一步可确定C

O→路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标以及机器人行走的总距离和总时间(详见表7)。

表7 路径

R:O→C最短路径计算数据表

3

R:O→A→B→C→O最短路径

5.1.4.4 路径

4

其路径示意图如图16所示,对应的各数据项如表8所示。

图16:路径

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

4

进一步可确定O→A→B→C→O路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标以及机器人行走的总距离和总时间(详见表8)。

表8 路径

R:O→A→B→C→O最短路径计算数据表

4

5.2 最短时间路径寻优

前面讨论了最短路径问题,此时必须使机器人转弯圆弧的半径最小,即为10个单位长度。但由于此时机器人的转弯移动速度仅为2.5单位/秒,且随着转弯半径的增大,其速度将升高至最大5单位/秒(如图2所示)。故不排除在某些特定的情况下,机器人虽然有更大的移动距离,但实际移动时间更短,即构成最短时间路径。以下即对这种情况进行分析讨论。

以题目中所给定的情况入手,机器人需要从点O移动至点A,如图17所示。

图17 最短时间路径计算示意图

图17中,D为障碍物5左上角的位置,它与O、A两点均为已知量,故而OD、AD及OA均为已知。为考察半径对机器人移动距离及时间的影响,设此时半径为r。

因M,N分别是直线OM与直线AN与圆弧的切点,故在直角三角形ODM及AND 中,有:

2r

2

=(25)

OM-

OD

2r

2

=(26)

AD

AN-

且有:

OD r

arccos

1=θ (27) AD

r

arccos 2=θ (28)

再根据余弦定理,可得:

OD

AD AO OD AD ??--=2)

(arccos 2223θ (29)

则弧MN 对应的圆心角:

OD

AD AO OD AD AD r OD r ??-----=---=2)

(arccos

arccos arccos 22222321πθθθπθ (30)

则可求出机器人移动的距离及时间分别为:

MN AN OM S total ++= (31)

)()

1()()(0

1.010002

r f v e r v AN OM v MN v AN OM T r r total

=+??++=++=-θ

(32) 画出}20,10{),(∈=r r f T total 的图像,如图18所示。

图18 机器人移动时间与转弯半径关系图

由图中可见,机器人移动时间在10=r ~20之间确实存在最小值,即可以获得最短时间路径。但由上式同时可知,此时机器人的移动总时间是半径r 的非线性函数,属超越方程,无法得到闭式解,故可使用MATLAB 中提供的非线性优化工具箱fminsearch ,方便地得到所需的结果。即当转弯半径为r=11.5035个单位时,可得到最短时间路径。此时所需要的移动时间为94.5649秒。

其路径示意图如图19所示,对应的各数据项如表9所示。

图19:路径4R :O →A 最短时间路径示意图

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

避障机器人设计报告

开放性实验报告 ——避障机器人设计 系别:智能科学与技术 姓名:唐继鹏 姚武浩 姜飞鹏 郑光旭 指导老师:袁立行、王曙光、亢红波时间:2011.9.16——2012.4.28

目录 1 系统功能介绍 (1) 2 设计任务与要求 (1) 3 系统硬件设计 (1) 3.1系统总体设计框图 (1) 3.2寻线模块(ST188) (2) 3.3电机控制模块 (3) 3.4单片机最小模块 (4) 3.5数码管显示模块 (6) 4 系统软件实现 (7) 4.1 设计思路 (7) 4.2 软件程序流程图 (8) 4.3程序代码见附录Ⅰ (8) 5 调试结果 (8) 6 实验总结 (9) 附录Ι (10) 附录Ⅱ (18) 附录Ⅲ (19)

1 系统功能介绍 本设计以单片机作为控制核心,电路分为最小系统模块,黑线检测模块,电机驱动模块,数码管显示模块。黑线检测模块采用反射式关电传感器st188,并且接相应的三级管来规划传感器的输出,当输出高电平为正常情况。电机为伺服电机,给定脉宽为1.5ms的信号电机保持不动,给定脉宽为1.7ms的信号电机正向转到给定脉宽为1.3ms的信号电机逆向转到。数码管动态显示机器人行进过程所用的时间。 2 设计任务与要求 ◆熟悉51系列单片机的原理及应用。 ◆掌握ST188设计电路和传感器的使用。 ◆掌握直流电机的驱动方法。 ◆掌握动态数码管显示的方法。 ◆设计机器人的硬件电路及软件程序。 ◆制作机器人的硬件电路,并调试软件,最后实现机器人的自动测量黑线。 3 系统硬件设计 3.1系统总体设计框图 该系统中51单片机作为主微控芯片,其外多个I/O口作为通用I/O口接受传感器的信号并输出相应的控制信号。 系统硬件总体设计框图如下图3.1-1所示。

高教社杯数学建模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。

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

机器人避障问题的最短路径分析 摘要 本论文研究了机器人避障最短路径和最短时间路径的问题。主要讨论了在一个区域中存在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)

小车自动避障与路径规划

第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得到。

机器人避障问题论文

机器人避障问题 【摘要】 本文主要是对机器人在一个平面区域内通过不同障碍物到指定目标点进行研究,通过建立机器人与障碍物的最小安全距离的禁区模型,进而建立从区域一点到另一点的最短距离、最短时间的数学模型。在最优转弯顶点为障碍物,最优转弯半径为安全距离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的最短路线。

智能避障机器人设计外文翻译

INTELLIGENT VEHICLE Our society is awash in “machine intelligence” of various kinds.Over the last century, we have witnessed more and more of the “drudgery” of daily living being replaced by devices such as washing machines. One remaining area of both drudgery and danger, however, is the daily act ofdriving automobiles 1.2 million people were killed in traffic crashes in 2002, which was 2.1% of all globaldeaths and the 11th ranked cause of death . If this trend continues, an estimated 8.5 million people will be dying every year in road crashes by 2020. In fact, the U.S. Department of Transportation has estimated the overall societal cost of road crashes annually in the United States at greater than $230 billion. When hundreds or thousands of vehicles are sharing the same roads at the same time, leading to the all too familiar experience of congested traffic. Traffic congestion undermines our quality of life in the same way air pollution undermines public health.Around 1990, road transportation professionals began to apply them to traffic and road management. Thus was born the intelligent transportation system(ITS). Starting in the late 1990s, ITS systems were developed and deployed. In developed countries, travelers today have access to signifi-cant amounts of information about travel conditions, whether they are driving their own vehicle or riding on public transit systems. As the world energy crisis, and the war and the energy consumption of oil -- and are full of energy, in one day, someday it will disappear without a trace. Oil is not in resources. So in oil consumption must be clean before finding a replacement. With the development of science and technology the progress of the society, people invented the electric car. Electric cars will become the most ideal of transportation. In the development of world each aspect is fruitful, especially with the automobile electronic technology and computer and rapid development of the information age. The electronic control technology in the car on a wide range of

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

基于弹性绳索拉伸的机器人避障问题 摘要 本文研究了机器人避障的相关问题。在一个已知区域中存在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 关键词 最短路径;避障路径;最优化模型;解析几何;数学工具

可避障机器人设计报告

可避障机器人设计报告 姓名*** 班级机械设计制造及其自动化1班学号3011201*** 任课教师洪鹰 2014年12 月16 日

目录 一、概述??????????????????????????????????????????????3 二、方案设计?????????????????????????????????????????4 1、硬件设计?????????????????????????????????????4 1.1避障基本方法?????????????????????????????4 1.2主控芯片选择?????????????????????????????4 1.3电源设计??????????????????????????????????5 1.4电机选择?????????????????????????????????5 2、主程序设计??????????????????????????????????5 三、总结??????????????????????????????????????????????7

一、概述 机器人是一类能够自动完成某项功能的机械系统,机器人通过传感器和执行机构与外界进行信息物理和交互,处理器负责处理传感器采集来的信息并将相应的控制命令送给执行机构执行。机器人因其对环境的强适应性,使得他在很多领域取代了人的劳动,将人从繁重、危险的环境中解放出来。机器人广泛应用于工业生产、科学研究、危险品处理乃至国防领域。而我这次设计的应该是最基础的一种机器人——自动避障机器人,它能通过传感器感知外部环境,实现避障。

相关主题