1、本文研究报告了机器人避障最短路径和最短时间问题本文研究了机器人避障的最短路径和最短时间问题,主要研究了在一个区域内存在 12个不同形状的障碍物,由出发点到达目标点避开障碍物的最短路径和最短时间两个问题。首先,利用已学的数学知识证明了具有圆形限定区域的最短路径是由线圆结构组成 的,并且机器人转弯时的圆弧是以障碍物的顶点为圆心, 10个单位为半径的圆弧时,路径最短。其次,对于途中需要多次转弯到达目标点的状况,适当扩大拐点处的转弯半径,使得 机器人能够沿直线通过途中的目标点,从而减少转弯次数。再次,我们针对问题一的四种路径给出了每种路径的所有可能的行走方案,然后运用 绘图工具软件几何画板和 matl
2、ab等进行图示和运算,得出最短路径如下距离距离距离距离1 *|1 |1 11 1470.96853.551088.782756.03最后,在最短时间问题中,我们建立了所需时间 关于转弯时圆弧的圆心坐标 一|和半径的一般模型,然后通过前面的猜想,分析出了从 1_的最短时间路径所经过的圆弧的圆心必然在正方形障碍 5的对角线上,并且圆弧通过点 I 然后运用MATLAB件,通过编程计算出了最短时间为 94.2283 。一、问题重述1.1背景材料:在一个800 X 800的平面场景,在原点边长2002圆形圆心坐标(550, 450,半径703平行四边 形(360, 240底边长140,左上顶点坐标(40
3、0, 3304三角形(280, 100上顶点坐标(345, 210,右下顶点坐标(410, 1005正方形(80, 60边长1506三角形(60, 300上顶点坐标(150, 435,右下顶点坐标(235, 3007长方形(0, 470长220,宽608平行四边 形(150, 600底边长90,左上顶点坐标(180, 6809长方形(370, 680长60,宽12010正方形(540, 600边长13011正方形(640, 520边长8012长方形(500, 140长300,宽601.2问题提出:问题一:建立机器人从区域中一点到达另一点的避障最短路径和最短时间路径的数学模型。对场景图中 4个点
4、0(0, 0 A(300, 300 B(100, 700 C(700, 640中计算机器人从0(0, 0 Of a、Of B、O T C 和 Of a t B t Ct O 的最短路径。问题二:机器人从 O(0,0 A的最短时间路径。注:要给出路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标以及机器人行走 的总距离和总时间。二、问题分析1、问题一中要求由定点 0, 0 )按照一定的行走规则绕过障碍物到达单一目标点的最短路径,我们可以先用线段和半径为 10个单位的小圆画出机器人行走的危险区域,这样的话,拐角处就是一个半径为 10的圆弧。在生活中我们有这样的常识,在空间中求两点如,)间的最短
5、路径,我们就可以连接 和 之间的一段绳子,以拐角处的圆弧为支撑,然后拉紧绳子,那么这段绳子的长度便是 到 的一条可能的最短路径,我们如今采用的就是这种办法。同理,我们用软件画出由点 到目标点的每种路程最短的可能路径,然后比较其大小便可得出 O到目标点的最短路径。8002、问题一的第二问中要求由定点 J 0, 0 )经过中间的若干目标点到达最终目标点,这使我们考虑就不仅仅是经过障碍物拐点的问题,也应该考虑经过路径中的目标点处转 弯的问题,这时简单的线圆结构就不能解决这种问题,我们在拐点及途中目标点处都 采用最小转弯半径的形式,也可以适当的变换拐点处的拐弯半径,使机器人能够沿直 线通过途中的目标点
6、,然后建立优化模型对这两种方案分别进行优化,最终求得最短 路径。三模型假设与符号说明3.1模型假设1假设机器人为一个质点。2假设障碍物的数学描述准确无误。3假设机器人的速度不受其他外部因素影响。3.2符号说明符号符号说明L路径的总长度a第段切线的长度0第勺段圆弧的长度0转弯半径Ld第i个特征顶点符号4第i个点x轴坐标第i个点y轴坐标d机器人是否从i顶点到j顶点第i个顶点到第j个顶点的距离四模型的建立与求解4.1猜想证明猜想:具有圆形限定区域的最短路径是由两部分组成的:一部分是平面上的自然最短 路径 即直线段),另一部分是限定区域的部分边界,这两部分是相切的,互相连接的。的切线。两点之间线段最短
7、,很明显图中外环路径比内环路径长,从而易得任意隔着障碍物两 点间最短距离都是和障碍物边界相切时最短。由此可得,亦即路径 AEHB的长度超过路径 AKLB的长度。以上证明足以说明了AKLB是满足条件 到的最短路径。4.2模型一的建立有了 4.1中的定理我们就可以这样认为起点到目标点无论中间障碍物有多少,最短路 径都应该是若干个线圆结构所组成。在本题中存在障碍物的状况且障碍物在拐点处的危险 区域是一个半径为 10的圆弧,所以结合定理我们易知求两点之间的最短路径中的转弯半径 我们应该按照最小的转弯半径来算才能达到最优。线圆结构结构一如上图,设.为起点, I为目标点, .“丨 和一一丨 分别为机器人经
8、过拐点分别于隔离危险线拐角小圆弧的切点,圆心为 I 07: | ,圆的半径为Zl, B的长度为E1,H的长度为El, 3的长度为,角度弋 I K . K 5 J解法如下:如上图可得有以下关系:,J .求匀的长度,设为却.K 1 :在 :a1 K 1a在 d 中:所以一 从而可得时间:T = F:斗占+ -厂斗寿+ F#手 1 +严5(2 )而对于下面的两种情况,我们不能直接采用线圆结构来解决,所以对此我们做了简单 的变换处理。一:两圆内切时51 fw 冈如图所示,假设两原圆心分别为 0 ,)和01 , ),两圆的半径均为 r,则很容易求出 M点的坐标为这样就可以用 M这样就可以用点 M将A到B
9、的路径分为两段便可利用 1中的方法先 求A到M的路径的长度再求 M到B的路径的长度两段之和即为 A到B的路径的长度。同 理如果有更多的转弯同样可以按照此种方法分解。两圆外切时如图所示,依然设两圆圆心分别 0 , )和01 , ),两圆的半径均为r,则很容易得到”-珀-片Koor 那么001直线的方程为:又因为公切线DE与001平行,所以易得公切线 DE的直线方程为:y =斗)+ + c其中,圆0的方程为:J(丈$ 儿卩=10圆01的方程为:则把公切线的方程与圆的方程联立,可以求得切点 D和E的坐标。通过 D和E的坐标可以求出DE中点G的坐标,即用点 G作为分割点可以将上图分割成两个如上图所示的
10、 线圆结构,那么就可以对其进行求解。同理多个类似的转弯时,用同样的方法可以进行分 割。4.3最短时间模型的建立根据已经证明的猜想和模型一,可以想到,从 到 的最短时间路径所经过的的弧的圆心在正方形 5的对角线上。因为:在正方形 5外做圆,必然使路径增的过大,而速度增 大量很小,不足以弥补路径增长所带来的时间的增长,如图:1现在考虑正方形内部的情况:在正方形 5对角线上一点做圆与限定区域相切。正方形内任一不在对角线上的点为圆心,以半径为半径画圆,圆必然与限定区域相交,不符合条件, 如图:2以正方形内任一不在对角线上的点 为圆心,与限定区域相切,径,此时由猜想一可知过故可知,最短时间路径所经过的弧
11、的圆心必在正方形 5的对角线上。4.4最短路径的求解4.4/冋,吕取值由机器人行走路线边界条件,问题分析模块图二已经画出新的障碍物边 界,各特征顶点标号对应坐标表1所示。I x 1各特征顶点标号对应坐标标号X轴丫轴标号X轴Y轴标号X轴Y轴v100v16227463v31633513v27353v17227537v32550530v323753v18247593v33533593v473237v19393337v34507607v527393v20507233v35277687v6237217v21547337v36363673v753293v22550370v37437673v841793v2
12、3497390v38533737v9345220v24247593v39630590v10242293v25100700v40727513v11150445v26247593v41727607v12493132v27173687v42680610v13493207v2829360v43677737v14353233v29510520v44700640v15300300;v306304504.4.2 取值由前面符号说明可知 表示机器人是否从 顶点到 顶点,则引入 I变量,赋值如下:4.4.3两点之间的距离根据题目中的已知条件,场景图内任意相邻障碍物顶点的距离可用下式计我们用MATLABS程参见附
13、录的floyd算法),计算得到任意机器人有可 能行走的特征顶点两点之间的距离如下表 2所示。为后面的搜索算法,规划路径做了很好的准备。特征顶点两点之间的距离表终起点的距离百892291651655280141165126145路线起点(顶点标号ViV1V2V3V4V4V4V5V5路线终点(顶点标号V2V4V3V4V5VV15VV6:V9终起点的距离可104187609217821808093111路线起点(顶点标号V6V4V10V9V9V14V7VnV5V14路线终点(顶点标号V15V10V15V15wV15V11V16V18V19终起点的距离H102156156379674102562041
14、25路线起点(顶点标号V15V14V19V1“8V17V17V17V18V2路线终点(顶点标号V19WoV21V26V16V26V3V30终起点的距离因11573991012038496867689路线起点(顶点标号V26V5V26V?4V18V28V28VJ5V36路线终点(顶点标号V25V7V27V35V24V35V36VV37V34终起点的距离目103213215629530114669743路线起点(顶点标号V24V18V28V32VV34VVV41V41路线终点(顶点标号V26VV34VV54V33V38VV40V444.4.4 O到A距离的求解如图,就是0到目标点 的最短路径问题,
15、首先由 floyd算法,我们知道最短路径只能是图中a,b两条路径之一,我们分别计算出每段路径的长度的和得:方案 a最短路径为471.04,方案b最短路径为498.76。从而我们知道从 到上的最优路径为方案 a。4450到B的距离的求解如图,解决的是 0到目标点凶的最短路径问题,首先由 floyd算法,我们知道最短路径只能是图中a, b,c两条路径之一,方案 a长度为945.99,方案b长度为877.8,方 案c长度为853.9,由此可知从 耳到 的最优路径为c方案。4.4.60到C距离的求解800 1-1- |B 9如图,解决的是 o到目标点耳的最短路径问题 方案a长度为1088.63,方案b长度为 1102.2,由此我们知道从 到 的最优路径为方案 a。4.4.70经过ABC三点再到0距离的求解800L_40012200由于最后又要回到 O点,用floyd算法和前面的假设证明得到的最短路径如图所示,经过计算得到的最短路径长度为 2508.81 /10Ji:24.4.8O到A最短时间的求解
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1