数学建模 机器人避障问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机器人避障问题
一、摘要
本文讨论了机器人在平面场景中避障行走的问题,已知机器人的行走模式(直线与相切圆弧)以及场景障碍物的分布,计算出到平面各个给定点的最短路径,以及到A 点的最短时间。
文中,首先,考虑到机器人与障碍物之间有10个单位的碰撞距离,故用CAD 软件将平面场景图进行改进,再用CAD 设计可能的最短路径。接着,对每条具体路径进行分解,得到三种基本线圆形模型(点圆模型,双圆异侧模型,双圆同侧模型),对这三种模型进行求解,得到各个模型直线长度以及转弯圆弧圆形角的表达公式。之后,参照具体的行走路径,构造合适的行走矩阵,用以判断每段路径所属的基本模型。路径总的长度可用如下公式表达:
12
,1,1,2
1
1
N N i i i i i i i s m r θ--+++===+⨯∑∑
最后,通过计算设计的集中可能的最短路径,我们得到每段的最短路径的长度分别为:
O ——A 路段:471.0372(单位); O ——B 路段: 853.7001(单位); O ——C 路段: 3100915.1⨯(单位);
O ——A ——B ——C ——O 路段: 3
2.677810⨯(单位)。
对于问题二,我们在问题一的基础上分别利用直线最大速度和转弯最大速度计算出时间的表达式。为了方便计算,我们将转弯圆弧的圆心定在P (80,210)(场景中正方形5的左上角),这样得到时间T 与转弯半径ρ的函数关系式:
2
100.10
(1)(2arccos
arccos
)
e
a
b
T v ρρ
ρ
πα-⨯+⨯---=
通过MATLAB 编程,画出其图像,求解得出:当半径ρ=11.435时,时间T 最小,其大小为94.5649(秒)。
关键词:最短路径 线圆模型 行走矩阵 MATLAB
二、问题重述
在一个800×800的平面场景图(见附录一),在原点O(0, 0)点处有一个机器人,它只能在该平
面场景范围内活动。图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物,障碍物的数学描述如下表:
在图中的平面场景中,障碍物外指定一点为机器人要到达的目标点(要求目标点与障碍物的距离至少超过10个单位)。规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若碰撞发生,则机器人无法完成行走。 机器人直线行走的最大速度为 50=v 个单位/秒。机器人转弯时,最大转弯速度为
2
1.0100
e
1)(ρρ-+=
=v v v ,其中 是转弯半径。如果超过该速度,机器人将发生侧翻,无法完成行走。
现需建立机器人从区域中一点到达另一点的避障最短路径和最短时间路径的数学模型。对场景图中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 的最短时间路径。
并要求给出路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标以及机器人行走的总距离和总时间。
三、模型假设
1、假设机器人可看做一个质点,不考虑其实际大小;
2、假设机器人能够准确的按照设计的路线行走行走,在其行走中不发生任何突发事故;
3、机器人以最大速度行驶,在转弯过程中没有发生侧翻,速度发生突变,不考虑加速减速。
四、符号说明
ij
l :圆i O 到圆j O 圆心的距离;
,1,2i i i θ++:机器人经过的第i 个圆弧的圆心角;
,1i i ϕ+:第i 段直线多对应的圆心角
r :圆的半径;
,1i i m +:机器人经过的第i 段直线的长度;
S :行走路径的总的长度; T :机器人行走的总的时间
N :机器人行走经过的总点数(包括起点终点以及转弯圆弧的圆心); A :行走矩阵。
五、模型建立
对于该题建立机器人从区域中一点到达另一点的避障最短路径和最短时间路径的数学模型的研究,主要是用尽可能短的路径和时间避开障碍物到达目标点。根据题目中的要求可知,机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若碰撞发生,则机器人无法完成行走,故可把各障碍物的边界扩大10单位。利用CAD 软件制图可在距每个障碍物的边缘10个单位处添加外边框,形成新的屏障,特别注意的是在障碍物顶点处使用圆弧。机器人就可在新屏障外的范围内随意活动,不用担心发生碰撞,根据原图修改后的图形见下图1。
机器人行驶路线是由直线段和圆弧组成。机器人从O(0, 0)出发,建立数学模型求得O →A 、O →B 、O →C 和O →A →B →C →O 的最短路径。现将各个路段的情况进行综合分析,根据每个路段所遇到的情况,从起始点到目标点的最短距离应该是直线段与圆弧组成,由已知的数学知识,两点之间线段最短,故机器人走的直线越多,路径越短,也就是说当机器人绕过障碍物的时候,半径越小,路径越短,根据题意,转弯半径可按最小半径10来计算,经过分析,可建立如下三个线圆模型。
模型一:(点圆模型)
该模型主要求解1O ——2O 的路径长度,该路径只有一个转弯,由图2易知,
12CO DC D O S ++=,C 、D 均为直线与圆的切点,CD 为圆弧,θ为圆弧对应的圆心角的大小,
根据已积累的知识,圆弧的长度为圆弧对应的圆心角与圆半径的乘积,即r ⋅θ,同时利用余弦定理
ab
c b a C 2cos 222-+=,即可求得总距离为:
B(100, 700)
C(700, 640)
图1
A (300,300)