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

行走机器人避障问题

机器人行走问题摘要本文研究了机器人避障最短路径的问题。

主要研究了在一个区域中存在四个障碍物,由出发点到达目标点以及由出发点经过途中的若干目标点到达最终目标点的两种情形。

我们通过证明具有圆形限定区域的最短路径是由两部分组成的:一部分是平面上的自然最短路径(即直线段),另一部分是限定区域的部分边界,这两部分是相切的,互相连接的。

依据这个结果,我们可以认为最短路径一定是由线和圆弧做组成,因此我们建立了线圆结构,这样无论路径多么复杂,我们都可以将路径划分为若干个这种线圆结构来求解。

对于途中经过节点的再到达目标点的状况,我们采用了两种方案,一种是在拐点和节点都采用最小转弯半径的形式,另一种是适当扩大拐点处的转弯半径,使得机器人能够沿直线通过途中的目标点。

然后建立了最优化模型对两种方案分别进行求解。

问题一,我们很容易分解成线圆结构来求解,然后把可能路径的最短路径采用穷举法列举出来,最终得出最短路径:R→A 最短路径为:70.5076R→B 最短路径为:107.9587R→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的最短路线。

二、问题分析1、问题一中要求求定点R(0, 0)按照一定的行走规则绕过障碍物到达目标点的最短路径,我们先可以包络线画出机器人行走的危险区域,这样的话,拐角处就是一个半径为1的四分之一圆弧,那么然后采用拉绳子的方法寻找可能的最短路径(比如求R和A之间的最短路径,我们就可以连接R和A之间的一段绳子,以拐角处的圆弧为支撑拉紧,那么这段绳子的长度便是R到A 的一条可能的最短路径),然后采用穷举法列出R到每个目标点的可能路径的最短路径,然后比较其大小便可得出R到目标点的最短路径。

2、问题二中要求求定点R(0, 0)经过中间的若干点按照一定的规则绕过障碍物到达目标点,这使我们考虑就不仅仅是经过障碍物拐点的问题,也应该考虑经过路径中的目标点处转弯的问题,这时简单的线圆结构就不能解决这种问题,我们在拐点及途中目标点处都采用最小转弯半径的形式,也可以适当的变换拐点处的拐弯半径,使机器人能够沿直线通过途中的目标点,然后建立优化模型对这两种方案分别进行优化,最终求得最短路径。

三、模型假设1、假设障碍物全是矩形。

2、假设机器人能够抽象成点来处理。

四、符号说明五、模型的建立5.1先来证明一个猜想:猜想一:具有圆形限定区域的最短路径是由两部分组成的:一部分是平面上的自然最短路径(即直线段),另一部分是限定区域的部分边界,这两部分是相切的,互相连接的。

(即问题分析中的拉绳子拉到最紧时的状况)证明:假设在平面中有A (a ,0)和B (-a ,0)两点,中间有一个半圆形的障碍物,证明从A 到B 的最路径为AB 。

平面上连接两点最短的路径是通过这两点的直线段,但是连接两点的线段于障碍物相交,所以设法尝试折线路径。

在y 轴上取一点C (0,y ),若y 适当大,则折线ACB 与障碍物不相交,折线ACB 的长度为:||ACB =显然||ACB 随着y 的减小而减小,减小y 得y →1y ,即1C C →,使得1AC 与1C B 与障碍物相切,切点分别为E 和F,显然1AC B 是这种折线路径中最短的。

由于满足0<<2π的角满足<,所以易知弧度EF 小于1EC F 的长, 即<E ,从而AE ++FB<1AC B ,记线段AE 、弧度EF 、线段FB 为AEFB,那么AEFB 比任何折线路径都短。

下面在考察一条不穿过障碍物的任何一条路径,设其分别于OE 和OF 的延长线交与P 、Q 两点,记A 和P 之间的路径长度为,显然>|AP|,又由AE ⊥EO,所以|AP|>AE,从而>AE,同理可得>BF 。

再来比较PQ 之间路径长度和圆弧EF 的长度的大小。

若PQ 之间的路径可有极坐标方程,则有,可得:=≥-3π-亦即路径APQB 的长度超过路径AEFB 的长度。

以上证明足以说明了AEFB 是满足条件A 到B 的最短路径。

5.2 模型准备一有了4.1中的定理,我们就可以这样认为,起点到目标点无论中间障碍物有多少,最短路径都应该是若干个线圆结构所组成。

在本题中存在障碍物的状况,且障碍物在拐点处的危险区域是一个半径为1的圆弧,所以结合定理一,我们易知,求两点之间的最短路径中的转弯半径我们应该按照最小的转弯半径来算才能达到最优。

线圆结构5.211)如上图,设A (为起点,B (为目标点,C (和D (分别为机器人经过拐点分别于隔离危险线拐角小圆弧的切点,圆心为O (,圆的半径为r ,AB 的长度为a ,AO 的长度为b ,BO 的长度为c ,角度AOB ∠=, AOC ∠=, BOD ∠=,COD θ∠=.求AB 的长度,设为L.解法如下:如上图可得有以下关系:a b c ⎧=⎪⎪=⎨⎪=⎪⎩AOB ∆在中:在Rt AOC ∆: =arccos r b β在Rt AOC ∆中:arccos rc γ=所以:2θπαβγ=---从而可得:L r θ=2)而对于下图两种情况我们不能直接采用线圆的结构来解决,需要做简单的变换。

情况一:222arccos()2b c a bcα+-=线圆结构5.22我们假设两圆心坐标分别为11(,)O x y 和22(,)O x y ',半径均为r ,M 点坐标为33(,)x y ,那么我们很容易可以求得:12312322x x x y y y +⎧=⎪⎪⎨+⎪=⎪⎩ 这样我们就可以利用1)中的方法,先求A 到M ,再求M 到B ,这样分两段就可以求解。

同理如果有更多的转弯,我们同样可以按照此种方法分解。

情况二:线圆结构5.23这里我们依然设圆心坐标分别为11(,)O x y 和22(,)O x y ',半径均为r ,这样我们可以得到:2121OO y y K x x '-=- 那么OO '直线方程为:11()OO y K x x y '=-+因为公切线DE 与OO '平行,那么DE 的直线方程可以表示为:11()OO y K x x y C '=-++其中:C =那么把公切线的方程于圆的方程联立,渴可以求得切点D 和E 的坐标。

这样用D 和E 任意一点作为分割点都可以将上图分割成两个4.21所示的线圆结构,这样就可以对其进行求解。

同理多个这样的转弯时,用同样的方法可以进行分割。

5.3 模型准备二一、对于从起点经过若干点然后再到达目标点的状况,因为不能走折线路径,我们就必须考虑在经过路径中的一个目标点时转弯的状况。

为了研究这个问题的方便,我们先来证明一个猜想:猜想二:如果一个圆环可以绕着环上一个定点转动,那么过圆环外两定点连接一根绳子,并以该圆环为支撑拉紧绳子,达到平衡状态时,圆心与该顶点以及两条切线的延长线的交点共线。

图5.31证明猜想:如图4.31所示,E 点就是圆环上的一个顶点,A B 就是拉紧的绳子,2O 就是切线AC 和BD 的延长线的交点,证明1O 、E 、2O 三点共线。

我们可以用力学的知识进行证明,因为是拉紧的绳子,所以两边的绳子拉力相等,设为F ,它们的合力设为0F ,定点对圆环的作用力设为1F 。

那么由几何学的知识我们可以知道0F 一定与12O O 共线,而又由力的平衡条件可知:0F =-1F即12O O 与2EO 共线。

综上所述1O 、E 和2O 三点一定共线。

二、有了以上这个定理我们可以建立以下模型:如图4.32,要求求出机器人从A 绕过障碍物经过M 点到达目标点B 的最短路径,我们采用以下方法:用一根钉子使一个圆环定在M 点,使这个圆环能够绕M 点转动。

然后连接A 和B 的绳子并以这些转弯处的圆弧为支撑(这里转弯处圆弧的半径均按照最小转弯半径来计算),拉紧绳子,那么绳子的长度就是A 到B 的最短距离。

我们可以把路径图抽象为以下的几何图形。

下面我们对这段路径求解:图5.32如图,A 11(,)x y 是起点,B 22(,)x y 是终点,1O 33(,)x y 和3O 44(,)x y 是两个固定的圆,2O 是一个可以绕M(p ,q)点转动的圆环,三个圆的半径均为r ,C 、D 、E 、F 、G 、H 均为切点。

a 、b 、c 、e ,f 分别是A 1O 、1O 2O 、A 2O 、A 3O 、23O O 的长度。

A 、B 、1O 、3O 均是已知点,2O 是未知点。

那么最短路径就可以表示为: L=|AC|++|DE|++|FG|++|HB|因为2O 点的坐标未知,所以我们就不能用模型一中的线圆结构对其进行求解。

故得先求出2O 点的坐标。

设2O 坐标为(m ,n ),1A O C ∠、12AO O ∠、21AO O ∠、23AO O ∠、32O O F ∠分别为i α(i =1、2、3、4、5),1C O D ∠、2EO F ∠、2EO M ∠分别为1θ、2θ、θ。

相关主题