资源描述:
《数学建模 机器人避障问题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、机器人避障问题机器人避障问题一、摘要本文讨论了机器人在平面场景中避障行走的问题,已知机器人的行走模式(直线与相切圆弧)以及场景障碍物的分布,计算出到平面各个给定点的最短路径,以及到A点的最短时间。文中,首先,考虑到机器人与障碍物之间有10个单位的碰撞距离,故用CAD软件将平面场景图进行改进,再用CAD设计可能的最短路径。接着,对每条具体路径进行分解,得到三种基本线圆形模型(点圆模型,双圆异侧模型,双圆同侧模型),对这三种模型进行求解,得到各个模型直线长度以及转弯圆弧圆形角的表达公式。之后,参照具体的行走路径,构造合适的行走矩阵,用以判断每
2、段路径所属的基本模型。路径总的长度可用如下公式表达:最后,通过计算设计的集中可能的最短路径,我们得到每段的最短路径的长度分别为:O——A路段:471.0372(单位);O——B路段:853.7001(单位);O——C路段:(单位);O——A——B——C——O路段:(单位)。对于问题二,我们在问题一的基础上分别利用直线最大速度和转弯最大速度计算出时间的表达式。为了方便计算,我们将转弯圆弧的圆心定在P(80,210)(场景中正方形5的左上角),这样得到时间T与转弯半径的函数关系式:通过MATLAB编程,画出其图像,求解得出:当半径=11.43
3、5时,时间T最小,其大小为94.5649(秒)。关键词:最短路径线圆模型行走矩阵MATLAB二、问题重述机器人避障问题在一个800×800的平面场景图(见附录一),在原点O(0,0)点处有一个机器人,它只能在该平面场景范围内活动。图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物,障碍物的数学描述如下表:编号障碍物名称左下顶点坐标其它特性描述1正方形(300,400)边长2002圆形圆心坐标(550,450),半径703平行四边形(360,240)底边长140,左上顶点坐标(400,330)4三角形(280,100)上顶点坐标(3
4、45,210),右下顶点坐标(410,100)5正方形(80,60)边长1506三角形(60,300)上顶点坐标(150,435),右下顶点坐标(235,300)7长方形(0,470)长220,宽608平行四边形(150,600)底边长90,左上顶点坐标(180,680)9长方形(370,680)长60,宽12010正方形(540,600)边长13011正方形(640,520)边长8012长方形(500,140)长300,宽60在图中的平面场景中,障碍物外指定一点为机器人要到达的目标点(要求目标点与障碍物的距离至少超过10个单位)。规定机
5、器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若碰撞发生,则机器人无法完成行走。机器人直线行走的最大速度为个单位/秒。机器人转弯时,最大转弯速度为,其中是转弯半径。如果超过该速度,机器人将发生侧翻,无法完成行走。现需建立机器人从区域中一点到达另一点的避障最短路径和最短时间路径的数学模型。对场景图中4个
6、点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、假设机器人可看做一个质点,不考虑其实际大小;2、假设机器人能够准确的按照设计的路线行走行走,在其行走中不发生任何突发事故;3、机器人以最大速度行驶,在转弯过程中没有发生侧翻,速度发生突变
7、,不考虑加速减速。四、符号说明:圆到圆圆心的距离;:机器人经过的第i个圆弧的圆心角;:第i段直线多对应的圆心角:圆的半径;:机器人经过的第i段直线的长度;S:行走路径的总的长度;T:机器人行走的总的时间N:机器人行走经过的总点数(包括起点终点以及转弯圆弧的圆心);A:行走矩阵。五、模型建立对于该题建立机器人从区域中一点到达另一点的避障最短路径和最短时间路径的数学模型的研究,主要是用尽可能短的路径和时间避开障碍物到达目标点。根据题目中的要求可知,机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若碰撞发生,则机器人无法完成行走
8、,故可把各障碍物的边界扩大10单位。利用CAD软件制图可在距每个障碍物的边缘10个单位处添加外边框,形成新的屏障,特别注意的是在障碍物顶点处使用圆弧。机器人就可在新屏障外的范围内随意活动,不用