2012D题全国大学生数学建模竞赛全国一等奖
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
图2 直线与圆的相切
1 所在直线的方程: y k1 x k1 x y 0 ;圆心 1 到直线 1 的距离等于半径:
k1 x1 y1 12 k12
y y1 k1' 1 , 可解得 k1 ; 则过 1 的法线斜率: k ;联立方程组: x x1 , k1 yk x 0 1
; k 0, k 0 以此类似. 1
设 k0 k1 0 , k0' k2 0 , 显 然 k1 k2 , 为 夹 角 ; 如 图 6 所 示 . 1 2 ,
tan tan 1 2
tan 1 tan 2 k k 1 2 ; 的计算公式与 k1 k2 0 相同. 1 tan 1 tan 2 1 k1k2
' 1
可解得 1 的坐标. 2 所在直线的方程: y 300 k2 x 300 ; 圆心 1 到直线 2 的距离等于半径:
y y1 k2 x x1 12 k2 2 , 可解得 k2 ; 则 过 2 的法线斜率: k2 '
1 ; 联立方程组: k2
y y0 k2 ' , 可解得 2 的坐标. x x0 yk x 0 2
情形2: 设两个圆心坐标分别为 2 x2 , y2 , 3 x3 , y3 , D 和 E 分别为机器人经过 拐点分别于隔离危险线拐角小圆弧的切点, DE 所在直线的中点 M x0 , y0 ,设 DE 所在 直线的斜率为 k3 , 转弯半径为 . 如图3所示.
E、F两
图 1
最小半径转向最优
l =AE+GE , 因为把他们想象成两条无弹性细线 , 圆 和切线 易知 l1 C+CG> 2 1
AE 为一个刚体组合, 通过在 点处拉伸, 使之变成 l2 的形状, 即可知 l1 l2 .
故求两点之间的最短路径中的转弯半径我们应该按照最小的半径转弯,而机器人行 走路线与障碍物间的最近距离为10个单位. 所以, 以障碍物的顶点为圆心, 转弯半径
4.1.3 机器人转弯时,最大转弯速度为 v v( ) 4.2 问题一,
1 e
0 10 0.1 2
v
, 其中 是转弯半径.
要求从定点 (0, 0) 按照一定的行走规则绕过障碍物到达目标点以及经
过途中若干个目标点到达最终目标点的最短路径.首先, 我们可以框出机器人行走的危 险区域, 而障碍物在拐点处的危险区域是一个半径为10个单位的圆弧. 其次,我们知道 机器人行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。 根据证明,在求 两点之间的最短路径中的转弯半径我们应该按照最小的转弯半径来算. 最后, 在根据 题中的已知条件和存在的几何关系, 建立数学模型, 解出 O 点到每个目标点的可能路 径的最短路径, 采用比较其大小就可以得出 O 到目标的点最短路径. 其中, 从定点 (0, 0) 经过中间的若干目标点按照一定的规则绕过障碍物到达最终 目标点,由于机器人在经过路径中的目标点后不能折线转弯,所以要考虑机器人在到达 途径目标点之前的提前转弯. 这使我们考虑就不仅仅是经过障碍物拐点的问题, 也应 该考虑经过路径中的目标点处的转弯的问题,而在中途目标点处提前转弯上,通过存在 的几何关系,建立数学模型,先确立提前转弯的圆心,然后求出拐点.
设 k0 k1 0 , k0 k2 0 , k1 k2 , 为夹角; 如图 5 所示.
图 5 锐角所对应圆弧
1 2 ; tan 1 2
tan 1 tan 2 k k k k 1 2 ; arctan 1 2 arctan 1 2 1 k1k2 1 tan 1 tan 2 1 k1k2
10 .
5.1.2 直线与圆相切的几种情形 根据题中的已知条件和存在的几何关系, 解中,出现以下集中情况的模型:
建立模型, 求得所需的最短路径. 在求
情形1:设原点坐标 0, 0 , 300,300 , 1 和 2 分别为机器人经过拐点分别于 隔离危险线拐角小圆弧的切点, 圆心为 1 x1 , y1 . 设 1 所在直线的斜率为 k1 , 2 所在直接的斜率为 k2 , 转弯半径为 . 如图2所示.
可得解 E 点的坐标. 情形3: 设两个圆心坐标分别为 2 x2 , y2 , 3 x3 , y3 , D 和 E 分别为机器人经过 拐点分别于隔离危险线拐角小圆弧的切点 ,设 DE 所在直线的斜率为 k3 , 转弯半径为
. 如图4所示.
图4 两圆外切
6
我 们 可 以 得 到 : DE 所 在 直 线 的 斜 率 : k3
粗略估计分析圆心在点 80, 210 的右下方, 半径介于10到20之间.
3
五、 模型的建立与求解
5.1 模型准备 5.1.1 最小半径转向最优
、 分别为起点和终点, C 、 D 两点分别为圆 2 与 lC 和 lD 的切点,
点分别为圆 1 与 l 和 lF 的切点, G 点为两圆的内切点. 如图1所示.
机器人避障问题
摘要
本文研究机器人从给定区域中一点到达另一点的避障最短路径和最短时间路径问 题的数学模型. 对问题一, 即最短路径问题. 首先, 确定两点之间的最短路径由切线和最小转弯半 径(半径为 10 个单位)的圆弧组成, 并建立直线与圆相切, 及其交点、弧长等相关问题 的一般模型. 比较可能为最短路径长度的长短, 得出 的最短路径为 471.0373 个单 位 , 时间为 96.0177 秒 , 的最短路径为 853.7007 个单位 , 时间为 179.0801 秒 , O C 最短路径为 1088.1960 个单位, 时间为 222.0138 秒. 其次对 O A B C O 的路径, 设计经过 点的圆弧的圆心处在与圆弧两边相切直线的 角平分线上, 则 点近似处于经过它的一段圆弧的中点, 达到优化效果, 得到最短路径 为 2731.27 个单位, 时间为 569.2218 秒. 对问题二, 即最短时间路径问题. 考虑转弯半径与转弯速度的关系, 建立最短时间 与圆心坐标和半径关系的模型 . 转化为一个三元非线性有约束的极值问题 . 通过 matlab 软件, 求解得到圆心在 (82.1410,207.9153) 处, 半径为 12.9882 个单位, 所需最短 时间为 =94.2283 秒. 最短时间路程为 L 471.1289 个单位.
5
图3
两圆内切
x x x0 2 3 2 ; DE 所在直线的方程: y y k ( x x ) ; 圆心 得出中点 M x0 , y0 : 0 3 0 y y2 y3 0 2 2 到 直 线 DE 的距离等于半径:
y y0 k3 x x0 12 k32 , 可解得 k3 ; 联立方程组:
4.3 问题二, 要求机器人从 (0, 0) 出发,到达 的最短时间路径。已知,机器人直线
行走的最大速ห้องสมุดไป่ตู้为 v0 5 个单位/秒。机器人转弯时,最大转弯速度为
v v( )
1 e
0 10 0.1 2
v
, 其中 是转弯半径. v 为 的增函数,
v 10 2.5 v v0 5 单位/秒.这道题的关键是在于如何找到转弯的圆心和半径. 经
7
图 6 钝角所对应圆弧
5.1.4 两个半径不同的圆的切线问题
设三个圆心坐标分别为 4 x4 , y4 , 5 x5 , y5 , 6 x6 , y6 , 半径分别为 1 、 2 、
2
li : 表示路线中的各段的长度;
L : 表示各路径的路程; T :表示行走各路径所花费的时间.
四、问题分析
4.1 这是机器人从区域中一点到达另一点的避障最短路径和最短时间路径的数学规划 模型. 根据题目, 机器人需要满足以下约束条件: 4.1.1 机器人不能折线转弯, 转弯路径由与直线路径相切的一段圆弧组成, 或是由两 个或多个相切的圆弧路径组成, 但每个圆弧的半径最小为 10 个单位. 4.1.2 机器人行走线路与障碍物间的不得小于 10 个单位.
v v( )
0 10 0.1 2
v
1 e
, 其中 是转弯半径.
需解决的问题: 建立机器人从区域中一点到达另一点的避障最短路径和最短时间路径的数学模型. 对场景图中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的最短时间路径. 注: 要给出路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标以及机器 人行走的总距离和总时间.
y y0 k3 ( x x0 ) y y0 k3 ( x x0 ) , 可得解 D 点的坐标; 联立方程组: , 2 2 2 2 2 2 x x y y x x y y 2 2 3 3
y3 y2 ; 则过 D 的法线斜率: x3 x2
y y2 k3 ' x3 x2 1 x x2 ; 联立方程组: , 可得解 D 点的坐标 k3 k3 y3 y2 2 2 2 x x2 y y2
'
y y3 k3 ' x x 联立方程组: , 可得解 E 点的坐标. 3 x x 2 y y 2 2 3 3 5.1.3 求圆弧的长度
二、模型假设
2.1 假设不考虑机器人的具体形状, 把机器人的运动看成质点的运动; 2.2 假设在指定区域内, 除已给出的障碍物外无其它任何事能影响机器人的行走速度; 2.3 假设机器人能按指定的路线行走, 不考虑机器人直线行走与曲线行走变换瞬间的加 速度对路线的影响.
三、符号说明
i : 表示 O A 最短路径中出现的拐点 i=1,2 ; i : 表示 O 最短路径中出现的拐点 i=1,215 ; Ci : 表示 O C 最短路径中出现的拐点 i=1,217 ; Di : 表示 O A B C O 最短路径中出现的拐点 i=1,2 32 ; E i : 表示 O A 最短时间路径中出现的拐点 i=1,2 ;
关键词: 最短路径
最短时间路径
非线性有约束
避障问题
一、 问题重述
0) 点处有一个机器人, 机器人只 本题给出一个 800 800 的平面场景图, 在原点 (0,
能在 800 800 的范围活动, 有 12 个不同形状的区域是机器人不能与之发生碰撞的障碍 物. 规定机器人的行走路径由直线段和圆弧组成, 其中圆弧是机器人转弯路径. 机器 人不能折线转弯, 转弯路径由与直线路径相切的一段圆弧组成, 也可以由两个或多个 相切的圆弧路径组成, 但每个圆弧的半径最小为 10 个单位.同时要求机器人行走线路与 障碍物间的最近距离为 10 个单位. 机器人直线行走的最大速度为 v0 5 个单位/秒. 机器人转弯时, 最大转弯速度为