行走机器人避障题数学建模
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
显然| ACB | 随着 y 的减小而减小,减小 y 得 y y1 ,即 C C1 ,使得 AC1 与 C1B 与
障碍物相切,切点分别为 E 和 F,显然 AC1B 是这种折线路径中最短的。由于满足
0< < 的角满足 < 2
,所以易知弧度 EF 小于 EC1F 的长, 即 <E ,从而
再来比较 PQ 之间路径长度 和圆弧 EF 的长度的大小。若 PQ 之间的路径可
6
有极坐标方程
,则有 ,可得:
=
- -
3
亦即路径 APQB 的长度超过路径 AEFB 的长度。以上证明足以说明了 AEFB 是满足条件 A 到 B 的最短路径。
5.2 模型准备一
有了 4.1 中的定理,我们就可以这样认为,起点到目标点无论中间障碍物有 多少,最短路径都应该是若干个线圆结构所组成。在本题中存在障碍物的状况, 且障碍物在拐点处的危险区域是一个半径为 1 的圆弧,所以结合定理一,我们易 知,求两点之间的最短路径中的转弯半径我们应该按照最小的转弯半径来算才能 达到最优。
9
就可以对其进行求解。同理多个这样的转弯时,用同样的方法可以进行分割。
5.3 模型准备二
一、对于从起点经过若干点然后再到达目标点的状况,因为不能走折线路 径,我们就必须考虑在经过路径中的一个目标点时转弯的状况。为了研究这个问 题的方便,我们先来证明一个猜想:
猜想二:如果一个圆环可以绕着环上一个定点转动,那么过圆环外两定点连 接一根绳子,并以该圆环为支撑拉紧绳子,达到平衡状态时,圆心与该顶点以 及两条切线的延长线的交点共线。
那么 OO 直线方程为:
KOO
y2 x2
y1 x1
y KOO (x x1) y1 因为公切线 DE 与 OO 平行,那么 DE 的直线方程可以表示为:
其中:
y KOO (x x1) y1 C
Cr
1
K2 OO
那么把公切线的方程于圆的方程联立,渴可以求得切点 D 和 E 的坐标。这样用 D 和 E 任意一点作为分割点都可以将上图分割成两个 4.21 所示的线圆结构,这样
关键词 最短路径 最优化模型 避障路径 解析几何
3
一 、问题重述
下图是一个 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 个单位的矩形,其它三个障碍物的描述完全类 似。
行走机器人避障题数学建模
———————————————————————————————— 作者: ———————————————————————————————— 日期:
2
机器人行走问题
摘要
本文研究了机器人避障最短路径的问题。主要研究了在一个区域中存在四个 障碍物,由出发点到达目标点以及由出发点经过途中的若干目标点到达最终目标 点的两种情形。我们通过证明具有圆形限定区域的最短路径是由两部分组成的: 一部分是平面上的自然最短路径(即直线段),另一部分是限定区域的部分边界, 这两部分是相切的,互相连接的。依据这个结果,我们可以认为最短路径一定是 由线和圆弧做组成,因此我们建立了线圆结构,这样无论路径多么复杂,我们都 可以将路径划分为若干个这种线圆结构来求解。对于途中经过节点的再到达目标 点的状况,我们采用了两种方案,一种是在拐点和节点都采用最小转弯半径的形 式,另一种是适当扩大拐点处的转弯半径,使得机器人能够沿直线通过途中的目 标点。然后建立了最优化模型对两种方案分别进行求解。
B 的长度,设为 L.
7
在AOB中: 在 RtAOC :
a b c
(x2 x1)2 ( y2 y1)2 (x5 x1)2 ( y5 y1)2 (x5 x2 )2 ( y5 y2 )2
arc cos(b2 c2 a2 ) 2bc
在 RtAOC 中: 所以:
= arccos r b
1
arccos
r a
在 AO1O2 中:
2
arccos
a2
b2 2ab
c2
3
arccos
图 5.32 如图,A (x1, y1) 是起点,B (x2 , y2 ) 是终点,O1 (x3, y3 ) 和 O3 (x4 , y4 ) 是两个固定 的圆, O2 是一个可以绕 M(p,q)点转动的圆环,三个圆的半径均为 r,C、D、E、 F、G、H 均为切点。a、b、c、e,f 分别是 A O1 、 O1 O2 、A O2 、A O3 、 O2O3 的长 度。A、B、 O1 、 O3 均是已知点, O2 是未知点。那么最短路径就可以表示为:
在平面场景中、障碍物外指定一点为机器人要到达的目标点(要求目标点与 障碍物的距离至少超过 1 个单位),为此,须要确定机器人的最优行走路线—— 由直线段和圆弧线段组成的光滑曲线,其中圆弧线段是机器人转弯路线,机器人 不能折线转弯,转弯路径是与直线相切的一圆形曲线段,也可以是两个或多个相 切的圆弧曲线段组成,但每个圆形路线的半径都必须大于某个最小转弯半径,假 设为 1 个单位。另外,为了不与障碍物发生碰撞,要求机器人行走线路与障碍物 间的最短距离为 1 个单位,越远越安全,否则将发生碰撞,若碰撞发生,则机器 人无法到达目标点,行走失败。请回答如下问题: 1. 场景图中有三个目标点 A(50,40)、B(75,60)、C(95,20),请用数学建
x3
x1
2
x2
y3
y1
2
y2
这样我们就可以利用 1)中的方法,先求 A 到 M,再求 M 到 B,这样分两段就可 以求解。同理如果有更多的转弯,我们同样可以按照此种方法分解。
情况二:
线圆结构 5.23 这里我们依然设圆心坐标分别为 O(x1, y1) 和 O(x2, y2 ) ,半径均为 r,这样我 们可以得到:
2、问题二中要求求定点 R(0, 0)经过中间的若干点按照一定的规则绕过障碍 物到达目标点,这使我们考虑就不仅仅是经过障碍物拐点的问题,也应该考 虑经过路径中的目标点处转弯的问题,这时简单的线圆结构就不能解决这种 问题,我们在拐点及途中目标点处都采用最小转弯半径的形式,也可以适当 的变换拐点处的拐弯半径,使机器人能够沿直线通过途中的目标点,然后建 立优化模型对这两种方案分别进行优化,最终求得最短路径。
arccos r c
2
从而可得:
L b2 r2 c2 r2 r
2)而对于下图两种情况我们不能直接采用线圆的结构来解决,需要做简单的变 换。
情况一:
线圆结构 5.22
8
我们假设两圆心坐标分别为 O(x1, y1) 和 O(x2, y2 ) ,半径均为 r,M 点坐标为 (x3, y3 ) ,那么我们很容易可以求得:
三、 模型假设
1、假设障碍物全是矩形。 2、假设机器人能够抽象成点来处理。
四、符号说明
符号
符号说明
L
路径的总长度
di
第 i 段切线的长度
lj
第 j 段圆弧的间的最短距离
五、模型的建立
5.1 先来证明一个猜想:
猜想一:具有圆形限定区域的最短路径是由两部分组成的:一部分是平面 上的自然最短路径(即直线段),另一部分是限定区域的部分边界,这两部分是 相切的,互相连接的。(即问题分析中的拉绳子拉到最紧时的状况)
件可知: F0 =- F1
即 O1O2 与 EO2 共线。 综上所述 O1 、 E 和 O2 三点一定共线。
10
二、有了以上这个定理我们可以建立以下模型: 如图 4.32,要求求出机器人从 A 绕过障碍物经过 M 点到达目标点 B 的最短 路径,我们采用以下方法: 用一根钉子使一个圆环定在 M 点,使这个圆环能够绕 M 点转动。然后连接 A 和 B 的绳子并以这些转弯处的圆弧为支撑(这里转弯处圆弧的半径均按照最小转 弯半径来计算),拉紧绳子,那么绳子的长度就是 A 到 B 的最短距离。我们可以 把路径图抽象为以下的几何图形。下面我们对这段路径求解:
分别为1 、2 、 。这样便有以下关系:
在 RtAO1C 中:
a
(x1 x3 )2 ( y1 y3 )2
b (x3 m)2 ( y3 n)2 c (x1 m)2 ( y1 n)2
e (x1 x4 )2 ( y1 y4 )2
f (x4 m)2 ( y4 n)2
L=|AC|+ +|DE|+ +|FG|+ +|HB| 因为 O2 点的坐标未知,所以我们就不能用模型一中的线圆结构对其进行求解。 故得先求出 O2 点的坐标。设 O2 坐标为(m,n), AO1C 、 AO1O2 、 AO2O1 、
11
AO2O3、O3O2F 分别为 i ( i =1、2、3、4、5),CO1D 、EO2F 、EO2M
线圆结构 5.21
1)如上图,设 A(
为起点,B(
为目标点,C(
和D
(
分别为机器人经过拐点分别于隔离危险线拐角小圆弧的切点,圆心为
O(
,圆的半径为 r,AB 的长度为 a,AO 的长度为 b,BO 的长度为 c,
角度 AOB = , AOC = , BOD = , COD .求 A
解法如下: 如上图可得有以下关系:
模的方法给出机器人从 R(0,0)出发安全到达每个目标点的最短路线。 2. 求机器人从 R(0,0)出发,依次安全通过 A、B 到达 C 的最短路线。
4
二、 问题分析
1、问题一中要求求定点 R(0, 0)按照一定的行走规则绕过障碍物到达目标点 的最短路径,我们先可以包络线画出机器人行走的危险区域,这样的话,拐 角处就是一个半径为 1 的四分之一圆弧,通过那么然后采用拉绳子的方法寻 找可能的最短路径(比如求 R 和 A 之间的最短路径,我们就可以连接 R 和 A 之间的一段绳子,以拐角处的圆弧为支撑拉紧,那么这段绳子的长度便是 R 到 A 的一条可能的最短路径),然后采用穷举法列出 R 到每个目标点的可能路 径的最短路径,然后比较其大小便可得出 R 到目标点的最短路径。