全国大学生数学建模竞赛2012年D题

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

机器人避障问题

摘要

本文主要讨论求解机器人从区域中的一点到达目标点的最短路径以及O→A 的最短时间路径。

题目第一问计算最短路径时,由于两点之间线段最短,所以将区域的一点与目标点相连,之后我们分析起点到目标点的连线与障碍物的关系,凡是直线经过的障碍物都必须要绕过,并且根据障碍物的在平面场景图的重心偏移或者是面积分布来判断绕过的方式。同时在绕过时可能遇到其他障碍物也需要一一分析并绕过。通过分析讨论O→A,我们采用由直线段和圆弧组成的形式绕过,此时最短路径为471.037,总时间为97.972s,且每一段的起点终点坐标分别为(0,0)→(70.51,213.14),(70.51,214.14)→(76.61,219.41),(76.61,219.40)→(300,300)。O→B 间我们需要绕过三个障碍物,之后求得最短路径为853.626,总时间为179.894s。O→C间直线经过5号、1号、2号、10号以及11号障碍物,将相接的1号、2号障碍物和10号、11号障碍物看成一个整体,绕过后,算出最短总距离为1102.51,总时间为235.095s。O→A→B→C→O的计算可根据前几问得出求解方法,对点A、B、C所在的圆进行优化求出圆心,最终得出最短总路径为2744.72,总时间为582.151s。

第二问中我们需要对最短路径和最大速度两个方面分析,通过第一问可知当路径以直线段和圆弧组合的形式绕过障碍物时最短,且路径的函数是关于转弯半径单调递增,所以可以建立一个转弯半径和速度的模型,使用Mathematica软件

ρ时,时间最短为94.5649s。

优化求得,当5035

=

11

.

关键词:优化模型;避障路径;解析几何;最短路径

问题重述

图1是一个800×800的平面场景图,在原点O(0, 0)点处有一个机器人,它只能在该平面场景范围内活动。图中有12个不同形状的区域是机器人不能与之发生碰

标点与障碍物的距离至少超过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 的最短时间路径。 注:要给出路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标以及机器人行走的总距离和总时间。

图1 800×800平面场景图

问题的分析

题目要求机器人从区域中的一点到达另一点的最短路径,由于两点之间线段最短,所以将区域的一点与目标点相连,则它们之间的行走路径最短。但是通过平面场景图我们可以看出,O→A、O→B、O→C和O→A→B→C→O在行走过程中都会遇到障碍物,机器人在行走过程中需要绕过直线经过的障碍物,且行走线路与障碍物间的距离至少超过10个单位。

问题一中,连接OA,我们可以看出机器人在行走过程中会遇到5号障碍物,且5号障碍物右下侧的面积较大,所以机器人由5号障碍物的左上方绕道行走至

点A的路径较短,如图2所示。

图2

连接OB ,OB 间的直线经过了7号障碍物,所以我们必须绕过7号障碍物才能行走至B 。绕过7号障碍物前,必须先绕过6号障碍物,而绕过7号障碍物后,又必须绕过8号障碍物,所以机器人需要绕过3个障碍物才能到达B 。

连接OC ,OC 经过5号、1号、2号、11号以及10号障碍物,因为5号障碍物的重心偏向右下,所以从5号障碍物的左上方绕过。而在绕过1号、2号障碍物前,机器人会与3号障碍物碰撞,所以也必须绕过它。又由于1号、2号障碍物和11号、10号障碍物相接,我们可以考虑从它们面积较小的那一边绕过,最终到达目标点C 。

计算O→A→B→C→O 时,根据O→A 、O→B 、O→C 可以推出当机器人绕过障碍物时,以每个拐角做小圆弧并与直线段相结合的形式较短。在到达每个点A 、B 、C 时由于转弯需要半径不小于10个单位的圆弧,所以我们可以根据现有条件使用软件优化求出圆心,

通过求解O→A 过程可知当路径以直线段和圆弧组合的形式绕过障碍物时最短,且路径的函数是关于转弯半径单调递增,所以可以建立一个转弯半径和速度的模型,然后作图进行分析。

符号说明

:转弯半径

i l :机器人从从起点开始经过的第i 段切线;

i l

:机器人从从起点开始经过的第i 段弧; L :机器人从起点到目标点的总路径。

模型的建立与求解

问题一

O →A 最短路径的求解

在行走过程中,机器人可以以圆弧绕过障碍物,也可以由直线段和圆弧组成的形式绕过。

当机器人以一个圆弧绕过障碍物,由于圆弧要过O 、A 两点,所以圆心必在

A

O

OA 的中垂线300+-=x y 上,如图3所示。为了使机器人以最短路径绕过障碍物,O 、A 所在的圆弧需要趋近于5号障碍物左上顶点半径为10的圆,通过计算可以得知存在点()220,80使得OA 路径最短,但是此时机器人会与5号障碍物碰撞。为了避免碰撞我们考虑将圆弧扩大,同时O →A 路径也不能与6号障碍物碰撞,所以极致情况为,弧OA 经过点)290,235(,建立方程组求绕过障碍物的圆弧大小:

()()

⎩⎨⎧-+-=++-=222

2290235300

y x y x x y 求得圆心为⎪⎭

⎝⎛-22335,226935,半径为315.599。但是圆心到达()220,80的距离为332.662,弧OA 仍会与5号障碍物碰撞,所以可知O →A 不存在一个圆弧直接

绕过障碍物。

图3

对5号正方形、圆弧及切线进行分析,如上图所示。其中直线OQ 、AP 的长

度分别为1l 、2l ,ODQ ∠对应角1θ,ADP ∠对应角2θ,ODM ∠对应角1α,ADN ∠对应角2α,所以圆心角2121o o ----90-360ααθθβ=。由于OQ 与圆相切,

DQ OQ ⊥,所以在三角形ODQ 中,可知:

y

O

相关文档
最新文档