基于弹性绳索拉伸的机器人避障问题

合集下载

机器人避障问题的解题分析(建模集训)

机器人避障问题的解题分析(建模集训)

v1.0 可编辑可修改机器人避障问题的解题分析摘要:本文对2012年全国大学生数学建模竞赛D题机器人避障问题进行了全面分析,对最短路的设计进行了理论分析和证明,建立了机器人避障最短路径的几何模型,对最短时间路径问题通过建立非线性规划模型,有效地解决了转弯半径、圆弧圆心位置和行走时间等问题。

关键词:机器人避障;最短路径;Dijkstra算法;几何模型;非线性规划模型1 引言随着科学技术的进步和计算机技术的发展,机器人的应用越来越广泛,在机器人的应用中如何使机器人在其工作范围内为完成一项特定的任务寻找一条安全高效的行走路径,是人工智能领域的一个重要问题。

本文主要针对在一个场景中的各种静态障碍物,研究机器人绕过障碍物到达指定目的地的最短路径问题和最短时间问题。

本文以2012年“高教社”杯全国大学生数学建模竞赛D题“机器人避障问题”为例进行研究。

假设机器人的工作范围为800×800的平面正方形区域(如图1),其中有12个不同形状的静态障碍物,障碍物的数学描述(如表1):图1 800×800平面场景图表1在原点O(0, 0)点处有一个机器人,它只能在该平面场景范围内活动,机器人不能与障碍物发生碰撞,障碍物外指定一点为机器人要到达的目标点。

规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。

机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。

为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若碰撞发生,则机器人无法完成行走。

机器人直线行走的最大速度为50=v 个单位/秒。

机器人转弯时,最大转弯速度为21.0100e1)(ρρ-+==v v v (ρ是转弯半径)。

如果超过该速度,机器人将发生侧翻,无法完成行走。

场景图中有4个目标点O(0, 0),A(300, 300),B(100, 700),C(700, 640),下面我们将研究机器人从O(0, 0)出发,求O→A、O→B、O→C和O→A→B→C→O的最短路径,以及机器人从O(0, 0)出发,到达A的最短时间路径问题。

机器人学中的避障算法及其应用

机器人学中的避障算法及其应用

机器人学中的避障算法及其应用随着科技的进步,机器人已经广泛应用于各行个业中。

在工业生产、医疗护理、军事侦察等领域,机器人的应用已经成为现实。

然而,机器人的移动过程中,往往会遇到各种障碍物,如何让机器人清晰地认识环境,避开障碍物,是机器人设计的重要问题之一。

本文将讨论机器人学中的避障算法及其应用。

一、避障算法的基础避障算法是机器人学中的一种基础算法,它的目的是让机器人在移动的过程中,能够避免障碍物,以避免机器人碰撞或损坏。

在很多情况下,机器人需要根据周围环境的信息,来动态规划路径,以便更好地完成工作。

很多避障算法都有一个相同的基本算法流程:1. 获取环境信息:通过传感器、摄像头等设备获取环境信息,包括环境的结构以及存在的障碍物;2. 判断障碍物:将环境信息进行处理,判断存在的障碍物以及其大小、形状等属性;3. 规划路径:根据障碍物的位置和形状信息,通过可行性分析、最优化算法等方法,规划机器人最优路径;4. 控制机器人移动:将规划好的路径发送给机器人,控制其移动,可以使用轮式机器人、足式机器人等机器人。

二、常见的避障算法1. 基于激光扫描的避障算法该算法通过使用激光扫描仪,对周围环境进行三维扫描,创建一个三维点云地图。

该地图中的每个点对应一个真实的物理位置,并提供与该位置相关的信息,如距离、反射率等。

机器人根据这些信息来对周围环境进行感知,并规划路径,避开障碍物。

2. 基于视觉的避障算法该算法使用摄像头、传感器等设备获取周围环境的视觉信息,通过图像处理算法识别障碍物,规划路径,避开障碍物。

该算法与人类的视觉系统类似,可以准确地识别不同的物体,但对光线、视觉角度等因素比较敏感。

3. 基于声波的避障算法该算法通过使用声纳传感器,发射高频声波,并根据反射波的时间差来计算障碍物的位置和距离。

因为声波在空气中的传输速度比光速慢得多,因此其距离计算相对较慢,但是它对环境的依赖性较低,在水下环境中的应用比较广泛。

机器人避障问题的最短路径分析

机器人避障问题的最短路径分析

机器⼈避障问题的最短路径分析机器⼈避障问题的最短路径分析摘要本论⽂研究了机器⼈避障最短路径和最短时间路径的问题。

主要讨论了在⼀个区域中存在12个障碍物,由出发点到达⽬标点以及由出发点经过若⼲⽬标点最终到达出发点的两种情况。

采⽤传统的避障⽅法——切线图法。

建⽴了线圆结构,这样任何路径,我们都可以将路径划分为若⼲个这种线圆结构来求解。

对于途中经过节点再到达⽬标点的状况,我们采⽤在转弯点和节点都采⽤最⼩转弯半径,以节点为切点的形式。

然后建⽴了最优化模型,利⽤MATLAB软件对⽅案进⾏求解。

问题⼀:把路径分解成若⼲个线圆结构来求解,然后把可能的最短路径采⽤穷举法列举出来,最终得出最短路径:AO→最短路径为:471.0O→最短路径为:869.5BO→最短路径为:1093.3C对于O→→→我们将A、B、C看作切点,同样采⽤线圆结构CBAO→计算。

O→→→→最短路径为:2827.1AOCB问题⼆:考虑避障路径和转弯速度,我们建⽴时间与路径之间的模型,⽤MATLAB软件求出最优解。

当转弯半径为11.5的时候,可以得出最短时间为:T=94.3关键词最优化模型避障路径线圆结构切线图法⼀、问题重述本⽂是求⼀个机器⼈在800×800的平⾯场景图中避开障碍物,建⽴从原点O(0, 0)点处出发达到终点的最短路径和最短时间路径的模型。

即求:1、O→A 、O→B 、O→C 和O→A→B→C→O 的最短路径。

2、O →A 的最短时间路径。

机器⼈在⾏⾛时的要求是:1、它只能在该平⾯场景范围内活动2、图中有12个不同形状的区域是机器⼈不能与之发⽣碰撞的障碍物(障碍物的分布如图1)3、障碍物外指定⼀点为机器⼈要到达的⽬标点(要求⽬标点与障碍物的距离⾄少超过10个单位)。

4、规定机器⼈的⾏⾛路径由直线段和圆弧组成,其中圆弧是机器⼈转弯路径。

机器⼈不能折线转弯,转弯路径由与直线路径相切的⼀段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最⼩为10个单位。

机器人避障问题论文

机器人避障问题论文

D题机器人避障问题摘要本文综合运用分析法、图论方法、非线性规划方法,讨论了机器人避障最短路径和最短时间路径求解问题。

针对问题一,首先,通过分析,建立了靠近障碍物顶点处转弯得到的路径最短、转弯时圆弧的半径最小时和转弯圆弧的圆心为障碍物的顶点时路径最短、转弯在中间目标点附近时,中间目标点位于弧段中点有最短路径的三个原理,基于三个原理,其次对模型进行变换,对障碍物进行加工,扩充为符合条件的新的区域并在转弯处圆角化构成障碍图,并通过扩充的跨立实验,得到切线和圆弧是否在可避障区的算法,第三,计算起点、中间目标点和最终目标点和各圆弧及圆弧之间的所有可避障切线和圆弧路径,最后给这些定点赋一个等于切线长度或弧度的权值构成一个网络图,然后利用Dijkstra算法求出了O-A、O-B,O-C的最短路径为O-A:471.0372个单位,O-B:853.7001个单位,O-C:1086.0677个单位;对于需要经中间目标点的路径,可运用启发规则分别以相邻的目标点作为起点和终点计算,确定路径的大致情况,在进一步调整可得到O-A-B-C-O的最短路径为2748.699个单位。

针对问题二,主要研究的是由出发点到达目标点A点的最短时间路径,我们在第一问的基础上考虑路径尽可能短且圆弧转弯时的圆弧尽量靠近障碍物的顶点,即确定了圆弧半径最小时的圆弧内切于要确定的圆弧时存在最小时间路径,建立以总时间最短为目标函数,采用非线性规划模型通过Matlab编程求解出最短时间路径为最短时间路程为472.4822个单位,其中圆弧的圆心坐标为(81.430,209.41),最短时间为94.3332秒。

圆弧两切点的坐标分别为(70.88,212.92)、(77.66,219.87)。

关键字:Dijkstra算法跨立实验分析法非线性规划模型一.问题的重述图是一个800×800的平面场景图,在原点O(0, 0)点处有一个机器人,它只能在该平面场景范围内活动。

TEB_算法中机器人平稳避障策略研究

TEB_算法中机器人平稳避障策略研究

doi:10.3969/j.issn.1003-3106.2024.01.029引用格式:赵晓东,曹梦颖,宿景芳.TEB算法中机器人平稳避障策略研究[J].无线电工程,2024,54(1):223-229.[ZHAOXiaodong,CAOMengying,SUJingfang.ResearchontheStabilityofObstacleAvoidanceforMobileRobotsinTEBAlgorithm[J].RadioEngineering,2024,54(1):223-229.]TEB算法中机器人平稳避障策略研究赵晓东,曹梦颖,宿景芳(河北科技大学信息科学与工程学院,河北石家庄050018)摘 要:时间弹性带(TimeElasticBand,TEB)算法由于其具有运动学约束、最快路径约束的特点被广泛用于实时局部路径规划和避障,但是在非结构化的动态社会环境进行导航的情况下,强转弯时存在速度输出不稳定的问题,这对于移动机器人的整个前进过程是非常不利的。

为了解决这一问题,将轨迹曲率作为一种新的约束引入TEB算法,提出了基于曲率速度控制的时间弹性带(CurveSpeedControlTEB,CSC TEB)算法。

在CSC TEB算法中,移动机器人在实时避障时的最大瞬时速率能够根据其与行进路径的航向变化程度做出一定调整。

实验结果表明,应用CSC TEB算法能够使移动机器人在躲避障碍物时具有更加平稳的速度,同时输出较平滑的轨迹曲线,避免了原始TEB算法中的速度抖动现象。

在静态和动态场景中,移动机器人躲避障碍物时具有更加稳定的速度曲线,保证机器人在安全避障的前提下路径总耗时降低了15.02%,从整体上提升了路径规划效率。

关键词:时间弹性带算法;移动机器人;路径规划;轨迹曲率;避障中图分类号:TP242文献标志码:A开放科学(资源服务)标识码(OSID):文章编号:1003-3106(2024)01-0223-07ResearchontheStabilityofObstacleAvoidanceforMobileRobotsinTEBAlgorithmZHAOXiaodong,CAOMengying,SUJingfang(SchoolofInformationScienceandEngineering,HebeiUniversityofScienceandTechnology,Shijiazhuang050018,China)Abstract:TheTimeElasticBand(TEB)algorithmiswidelyusedforreal timelocalpathplanningandobstacleavoidancebecauseofitskinematicsconstraintsandfastestpathconstraints.However,inthecaseofnavigationinunstructuredanddynamicsocialenvironment,thespeedoutputisunstableduringstrongturns,whichisveryunfavorabletothemobilerobotinthewholeforwardprocess.Tosolvethisproblem,thetrajectorycurvatureisintroducedasanewconstraintintotheTEBalgorithm,andtheCurveSpeedControlTimeElasticBand(CSC TEB)algorithmisproposed.IntheCSC TEBalgorithm,themaximuminstantaneousspeedofthemobilerobotcanbeadjustedtosomeextentaccordingtothedegreeofcoursechangeofthemobilerobot stravelingpathduringtherealtimeobstacleavoidanceprocess.ExperimentalresultsshowthatCSC TEBalgorithmcanmakethemobilerobothaveamorestablespeedwhenavoidingobstacles,andoutputasmoothertrajectorycurve,avoidingthespeedjitterphenomenonintheoriginalTEBalgorithm.Instaticanddynamicobstaclescenarios,themobilerobothasamorestablespeedcurvewhenpassingthroughobstacles,andthetotalpathtimeisreducedby15.02%onthepremiseofensuringtherobot'ssafety,thusimprovingthepathplanningefficiencyonthewhole.Keywords:TEBalgorithm;mobilerobot;pathplanning;trajectorycurvature;obstacleavoidance收稿日期:2023-04-17基金项目:河北省高等学校科学技术重点研究项目(ZD2020318);河北省教育厅青年基金(QN2023185)FoundationItem:ScienceandTechnologyResearchProjectofCollegesandUniversitiesofHebeiProvince(ZD2020318);YouthFundofHebeiEducationDepartment(QN2023185)0 引言近年来,服务型移动机器人在自动化、计算机和人工智能等领域已经成为研究热点[1],在各类服务行业中的需求也比较迫切。

机器人避障问题

机器人避障问题

机器人避障问题摘 要本文讨论的是机器人避障问题,运用改良的橡皮筋算法思想,对最优路径逐步探索,并进行了大胆猜想.通过分析,利用几何关系证明了猜想的正确性,以此得到判断最短路径的三个原则:一、所走路线应尽可能接近两目标点与目的地连线;二、目标点转弯半径越小越好;三、找不到两圆间的公切线时,机器人应尽可能沿障碍物边界运动. 对于问题一,依据路径最优原则,确定转弯半径为10个单位,建立了机器人从区域中一点到达另一点的避障最短路径的优化模型.利用MATLAB 求解得到结果如下:A O →:总时间为:96.00826秒,总路程为471.0372个单位;B O →:总时间为179.09982秒,总长度为853.7113单位;C O →:总时间为239.72602秒,总路程为1100.19单位;O C B A O →→→→:总路程:2794.512单位 ,最终总时间为598.5477秒.对于问题二,要使机器人行走时间最短,需在尽可能保证最短路径的基础上适当增加转弯半径.利用几何知识推导出机器人行走时间与转弯半径的关系,时间对半径求导,并令导数为零,得出最短时间所对应的半径5055.11=r ,进而建立最短时间路径的优化模型.利用MATLAB 软件求解得,当机器人从)0,0(O 出发到达A 时,所用最短时间为2130.94秒,总距离为470.8301个单位.关键词:导数;橡皮筋算法;优化模型一、问题的重述图1是一个800⨯800的平面场景图,在原点)0,0(O 点处有一个机器人,它只能在该平面场景范围活动.图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物,障碍物单位数学描述如下表:表1.12个不同形状区域的特性障碍物的距离至少超过10个单位).规定机器人的行走路线有直线段和圆弧组成,其中圆弧是机器人的转弯路径.机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位.为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若发生碰撞,则机器人无法完成行走.机器人直线行走的最大速度为50=v 个单位/秒.机器人转弯时,最大转弯速度为21.01001)(ρρ-+==e v v v ,其中ρ是转弯半径.如果超过该速度,机器人将发生侧翻,无法完成行走.请建立机器人从区域中一点到达另一点的避障最短路径和最短时间路径的数学模型.对场景图中4个点)0,0(O ,)300,300(A ,)700,100(B ,)640,700(C ,具体计算:(1)机器人从)0,0(O 出发,A O →、B O →、C O →和O C B A O →→→→的最短路径.(2)机器人从)0,0(O 出发,到达A 的最短时间路径.注:要给出路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标以及机器人行走的总距离和总时间 .图1 800⨯800平面场景图二、问题分析对题目条件进行分析:要求目标点与障碍物的距离至少超过10个单位,又知O 点坐标为(0,0),即边界不视为障碍物,但目标点不能超出界限.规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径,转弯路径只能由一段圆弧组成也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位,因为半径趋于0的时候,圆弧长度趋于0,圆弧趋于折线.机器人行走路径与障碍物之间的最近距离为10个单位,否则发生碰撞,即可将障碍物区域向外扩充10个单位,余下部分为目标点可行走范围,对条件中所给最大转弯速度21.01001)(ρρ-+==e v v v 进行分析,当半径∞→ρ时,即可视为直线运动,50==v v 个单位/秒;当半径10→ρ时,最小速度5.220min ==v v 个单位/秒;半径ρ越大,机器人转弯速度越大. 对问题一分析:机器人从)0,0(O 出发,A O →、B O →、C O →和O C B A O →→→→的最短路径问题.首先分析A O →,在没有障碍物的情况下,A O →两点间线段最短,但在两点之间有正方形障碍物5阻碍,必须绕开障碍物5到达A ,要使A O →路径最短,则实际路径越逼近OA 线段越短.根据目标点的位置,可以猜想出机器人的几种避障路径.同理分析B O →、C O →路段.当分析O C B A O →→→→路径时,采用分段处理的方法,将其分为A O →、B A →、C B →、O C →;使各分段路径最短,最后将分段路径综合起来也是最短.对问题二分析:机器人从)0,0(O 出发,到达A 的最短时间路径.在前文条件分析中,半径ρ越大,机器人转弯速度越大,速度v 越大.在问题一最短路径基础上,在转弯路段进行优化处理,适当增大转弯半径ρ,速度增大,与此同时转弯路段圆弧长度必然增加,综合使得到达目的地总时间最短.最后将给出路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标以及机器人行走的总距离和总时间 .三、模型假设1.假设机器人在行进过程中为质点;2.假设机器人直线路段以速度50=v 个单位/秒行进;3.假设机器人在各转弯路段匀速行进;4.假设机器人从直线段至圆弧段,速度由直线行进速度瞬间降至转弯速度,速度不存在过度阶段;5.假设平面范围边界不是障碍物,不要求目标点与边界的距离至少超过十个单位,机器人目标点不出界即可.四、符号说明i l 表示机器人每段路径,2,1=i ;r 表示转弯半径;i t 表示机器人所用时间,2,1=i ;i ω表示 第i 段圆弧对应的圆心角;⎩⎨⎧=,0,1其它个切点与目标点相连个障碍物第第j i m ij ; ),(ij ij ωτ表示切点坐标.五、模型的建立与求解问题一模型的建立模型准备:根据对问题的分析及两点之间直线最短的原理,为使机器人能以最短的路径避过障碍达到目标点,应使所走的路线尽可能的接近两目标点的连线,对此,可以猜想出几种机器人行走的路径并对其进行探索.首先对机器人所能行走的区域进行分析,根据题意,需要将区域向外扩展10个单位,区域边界角也应扩展10个单位,即机器人能运动范围是由4/1圆弧和相应的线段围成的,具体结果如下图1所示:200400600800Y图1:机器人行走范围图假设机器人可以看成是一个支点,则机器人可以在边界线上运动而不会发生碰撞.为使得机器人能以最短路径避过障碍物,首先进行局部分析,考虑A O →段路径,由图可知:(1)若无障碍物,A O →最短路径为OA 线段;(2)A O →路段被障碍物5阻隔最短路径探索.探索最短路径原则:实际路径越逼近OA 线段越优.①先不考虑弧长问题,探索大致路径.图3(a ).路径一 图3(b )路径二路径一是机器人在保证尽量沿边界线运动的情况下得到的.要从O 点到达A 点,机器人必须绕过边界角,根据两点之间直线最短的原理,可以得到图3(b )的路径二.通过比较,可以得出:在尽可能沿OA 路径行走的前提下,不需要转弯就能到达的路径尽量选用直线路径,减少圆弧路径阶段,使路径得到优化.②转弯圆弧半径相等时,目标点在不同地点转弯,探索较优路径.2B如图所示,三段弧33B A 、22B A 、11B A 对应圆半径相等且依次远离障碍物,离AB 线段的距离越来越远.以A 为圆心,3AA 为半径画弧,分别交1A 、2A ;同理以B 为圆心,3BB 为半径画弧; 即3AA =2AA =1AA ,3BB =2BB =1BB ;显然11B A →的距离最大,22B A →距离次之,33B A →距离最小;所以由B A →最段路径选择B B A A →→→33.由此可得出结论:在确定转弯圆弧半径的情况下,机器人转弯越靠近障碍物,行走路线越接近两目标点之间的连线,总路程越小.③在距障碍物最近的前提下,考虑圆弧半径的影响,确定最短路径.自定义:边界圆弧中点称为节点.通过②中结论可知:在确定转弯圆弧长度的情况下,机器人转弯越靠近障碍物,行走路线越接近两目标点之间的连线,总路程越小.由机器人所能行走的区域范围及转弯半径至少为10的约束可知,画出的4/1圆弧边界是机器人行走最短路径的边界,若需增大转弯半径,只能在节点处进行变化,否则将超出机器人行走范围.节点是边界圆弧的中点.现判断在节点处,转弯半径对最优路径选择的影响.各图形顶角所对应的外围10个单位区域为边界圆弧,该圆弧为转弯最小圆弧.过最小圆弧节点做与节点相切的半径大于10个单位的圆及相应的路径,如下图3(c )中的2号路径.图3.(c )路径三可做如下猜想:圆弧的半径越小,机器人从第一个目标点到达目的地总路程越小.下面对猜想进行证明:A图4:证明猜想示意图如图4所示,以O 为圆心,半径为r 画圆,BD 与圆O 相切,切点为D ,AC 与与圆O 相切,切点为C ;角ωγβα,,,位置如图所示.设A 点坐标为),(11b a ,B 点坐标为),(22b a ,圆心O 点坐标为),(y x .AC =1l ,CD 弧长=2l ,BD =3l ,由几何知识可得: 2121)()(a x b y a -+-=,2222)()(a x b y b -+-=,212212)()(b b a a c -+-=,在C Rt AO ∆和BOD Rt ∆中,可得:a r=αcos ,b r=γcos ,由余弦定理得: ab c b a 2cos 222-+=β,B A →总路程为=L 1l +2l +3l ,221r a AC l -==,223r b BD l -==,=L 22r a -+22r b -+r ⋅ω,γβαπω---=2,∴总长度L 与转弯半径r 的关系式为:=L 22r a -+22r b -+r ⋅---)2(γβαπ,为寻求总长度L 与转弯半径r 的具体关系,将L 对半径r 求导,即:)arccos arccos 2(2222b r a r rb r r a r dr dL ---+--+--=βπ )1111(2222b r b a rar -+-+ 化简得:br a r dr dL arccos arccos 2---=βπ, πβ<,当且仅当O B A ,,三点共线时,πβ=,此种情况下不存在两个切点. 角γα,均在直角三角形内,非直角,∴πγα<+. 综上所述:0arccos arccos 2>---=br a r dr dL βπ. 即:总路程L 关于半径r 的函数单调递增,机器人从一个目标点到另一个目的点行走的总路程随着转弯圆弧半径增大而增加.故,猜想:圆弧的半径越小,机器人从第一个目标点到达目的地总路程越小,是正确的.由于机器人转弯半径至少为10个单位,要使行走路径最短,转弯半径10=R .经过上述对机器人避障路线的探究,可得为使机器人行走最短路径,需遵循以下几个原则:1.所走路线应尽可能接近两目标点的连线;2.转弯半径越小越好;3.找不到两圆间的公切线时,机器人应尽可能的沿障碍物边界运动.模型的建立:根据以上原则,可以建立机器人从一个目标点到达另一个目标点的最短路径优化模型.设切点坐标为),(ij ij ωτ,表示第i 个障碍物第j 个切点.通过对路径的探索,可知机器人的路径是由直线和一条或多条圆弧组成的.在此模型中,假设机器人的路径是分阶段的,每一阶段的路径由一条线段和一段圆弧组成,包括了一条线段和多条圆弧的情况.如第1段路径中,线段和圆弧相连,在第2段路径中,线段与第1段路径中的圆弧相连,当此线段长度为0时,机器人从第1段起点到第2段末点的路径就是由一条线段和两段圆弧组成的.线段的长度1l 可由两点间的距离公式解得:2122121)()(y y x x l -+-=.圆弧的角度为ω,半径为r ,则圆弧弧长2l :ω⋅=R l 2.已知切点时,圆弧角度ω为:R y y x x 2)()(arcsin 2212212-+-⨯=ω.机器人从第一个目标点(11,n m )到第二个目标点(22,n m )过程中,⎩⎨⎧= ,0,1其它个切点与目标点相连个障碍物第第j i m ij , 此时要避过i 个障碍点,设从第一个目标点出发到达另一处时,0=i ,则线段部分长度 :22)2)(2(22)2)(1()1()1(2)1()1(2010221102210121011)()()()()()()()(n m n m l j i j i j i j i j i j i -+-+-+-+-+-+-+-=++++++++ωτττωωττωωωτ,同理,此时对应的圆弧长度:∑=-+-⋅⨯=12122122122)()(arcsin2i i i i i R R l ωωττ.为使机器人行走路径最短,即:21min l l +.综上,可以建立最优规划模型:21min l l +∑∑==-+-⋅=2112221)()(j i k ij k ij ij n m m l ωτ ∑∑==++++-+-+120212)1()1(2)1()1()()(i j j i j i j i j i ττωω 2,1=k∑=-+-⋅=12022122122)()(arcsin2i i i i i R R l ωωττ.10=R问题二的模型建立要使机器人从一个目标点到达另一个目标点所用的时间最短,需考虑行走总路程与速度的影响.对条件中所给最大转弯速度21.01001)(ρρ-+==ev v v 进行分析可知,当半径∞→ρ时,即可视为直线运动,此时50==v v 个单位/秒;当半径10→ρ时, 最小速度5.22min ==v v 个单位/秒,即机器人的速度范围为2.5到5.且半径ρ越大,机器人转弯速度越大.所以为追求最小时间,应在模型一的基础上适当增大转弯半径.同样要保证总路程尽可能的短,机器人转弯时要接近障碍物,即所走路线应尽可能接近两目标点的连线.故可以在最小圆弧基础上增大转弯半径,以下讨论速度与半径之间的关系.如上述图4所示,总路程由线段长度和圆弧长度组成.a r =αcos ,b r =γcos ,abc b a 2cos 222-+=β,221r a AC l -==,223r b BD l -==,=L 22r a -+22r b -+r ⋅ω,γβαπω---=2,=L 22r a -+22r b -+r ⋅---)2(γβαπ,则总时间 21t t t +=,22221v r b r a t -+-=, v r t ⋅=ω2即总时间t 为:2222v r b r a v rt -+-+⋅=ω21.01001)(r ev r v v -+==t 对半径r 求导:)arccos arccos 2((122220b ra r rb r r a r v dr dt ---+--+--⨯=βπ ))2.0()arccos arccos 2(21.010r e b r r r a r r r r -⋅⋅⋅-⋅-⋅-+⋅-βπ)1())1111(21.0102222r e br b a r a r ⋅-+⨯-+-+化简得:)2.01()arccos arccos 2(221.0101.010r r e e br a r dr dt ⋅-⋅-⨯-+⋅---=βπ, 令导数 0=drdt, 由模型一可知:bra r arccos arccos 2---βπ0>,解得当5055.11=r 时,0=drdt.且函数在 )5055.11,10(∈x 区间内是单调递减的,在5055.11>x 时是逐渐增大的,故要使时间最短,满足5055.11=r .模型的建立:模型二是在模型一的基础上增大转弯半径得到的,是追求最短时间和最短路径的双目标规划问题.建立模型如下:21 t min t +21min l l +..t s ∑=-+-⋅=1222122122)()(arcsin2i i i i i RR l ωωττ∑∑==-+-⋅=2112221)()(j i k ij k ij ij n m m l ωτ∑∑==++++-+-+120212)1()1(2)1()1()()(i j j i j i j i j i ττωω,2,1=k11v l t =, v l t 22=,.5055.11=r问题一、问题二模型的求解:根据建立的模型可利用橡皮筋算法]1[探索最短路径.机器人行走时,如果不知道确定路线时,可以先假设机器人会朝着目的地的方向走,如图3(a)中的A O →;如果中途碰到障碍物,就试图绕过障碍物,再重新朝向目的地的方向行走,如图所示A c b a O →→→→,其中绿色的圆点S 表示出发点,红圆点T 表示目的地.实际上,如果视觉上没有障碍,运动者会选择较近的直切障碍物边沿的行走路线,如图3(b)所示A c b O →→→.这种形状,就像在出发点和目的地之间拉了根橡皮筋,由于障碍物的存在,橡皮筋不能横穿过去,所以沿障碍物边沿拉伸,而正是因为橡皮筋具有的弹性,使得路径趋于最短.根据这种思路,提出了自动漫游路径生成的橡皮筋算法.根据制定的三条原则:1.所走路线应尽可能接近两目标点的连线;2.转弯半径越小越好;3.找不到两圆间的公切线时,机器人应尽可能的沿障碍物边界运动.可以得到机器人从)300,300()0,0(A O →的几条最优路线,如图5所示:200400600200400图5:A O →最短路径示意图从图中可以看出,从)300,300()0,0(A O →有两条路线需要比较计算,利用MATLAB 软件求解得到结果如下(长度单位为单位):A O →最优路径为:A b a O →→→00.总路程分为2条线段和1段圆弧.其中,各起终点坐标、圆弧圆心坐标及相应的弧长、线段长度分别是: 线段OC :O (0,0)→C (70.4825,213.0686) 长度224.4237弧CD : C (70.4825,213.0686) →D (76.4914,219.3643)圆心(80,210)长度9.0041 线段DA : D (76.4914,219.3643)→A (300,300) 长度237.6094 总时间:96.00826秒 总路程471.0372单位同理可以根据原则得到从O 到B 的几条路线,如图6所示:可编辑200400600800200400600800XY图6:B O →最短路径示意图利用MATLAB 软件求解得到结果如下: 从)700,100()0,0(B O →的最优路径为:B L K J I h f e d c b O →→→→→→→→→→→其中,各起终点坐标、圆弧圆心坐标及相应的弧长、线段长度分别是:线段: Oa )6396.301,1353.50()0,0(a O → , 长度:305.7777 弧ac : )圆心(300,60, )5474.305()6396.301,1353.50(c a →, 弧长:4.3214 线段cd : )40.5474141.6798,4( )5474.305(d c → 长度:162.1731 弧de : )435,150, )44.7901147.9621,4()40.5474141.6798,4(圆心(e d → 弧长:7.7751线段ef : )60.2099222.0379,4()44.7901147.9621,4(f e → 长度: 75.6637 弧fh : )470,220 (230,470),)60.2099222.0379,4(圆心(h f → 弧长:13.6556 线段hI : )530,230((230,470)I h → 长度:60 弧IJ :)530,220 , )3534.538,4967.225()530,230(圆心(J I → 弧长: 9.8883 线段JK : ,6462915 503314435345384967225). ,.K() .,.J(→ 长度:96.9537 弧KL : )600,150 ,)96.3458140.6916,5()91.6462144.5033,5(圆心(L K → 弧长:6.1474线段LB :,)700,100()96.3458140.6916,5(B L → 长度:111.3553 总路程为853.7113 个单位 总时间: 811.9235秒同理可以根据原则得到从O 到C 的几条路线,如图7所示200400600800Y图7:C O →最短路径示意图机器人C O →段路径有4条,利用MATLAB 求解得出结果如下:最优路径为:C k J I H f e d c b a O →→→→→→→→→→→1111111111其中,各起终点坐标、圆弧圆心坐标及相应的弧长、线段长度分别是:线段1Oa :)0.2262232.1149,5()0,0(1a O → 长度: 237.4868 弧11b a :)圆心(60,230 , )5.2128238.7797,5()0.2262232.1149,5(11b a → 弧长:8.5850线段11c b :)34.7872391.2203,3(c )5.2128238.7797,5(11→b 长度:318.4336 弧11c d : )330,400( , )39.8254398.1397,3()34.7872391.2203,3(c 11圆心d → 弧长:8.8448线段11e d :371.3965)(564.8828,)39.8254398.1397,3(11e d → 长度:169.7056 弧11f e : )450,550( 400.4069),(612.7736,f 371.3965)(564.8828,11圆心→e 弧长:57.2031线段11h f :510.0731)(718.7935,h 400.4069)(612.7736,f 11→ 长度:152.5349 弧11I h : )520,720( (730,520),I 510.0731)(718.7935,h 11圆心→ 弧长:16.9174 线段11J I :(730,600)J (730,520)I 11→ 长度:80弧11k J : )600,720(, 606.3589)(727.7178,k (730,600)J 11圆心→ 弧长6.8916 线段C k 1: C(700,640) 606.3589)(727.7178,k 1→ 长度:43.5890 总路程:1001.7499+98.4401=1100.19单位 总时间:200.34998+39.37604=239.72602秒同理,找出O C B A O →→→→的最优路径,如图8所示:200400600800Y图8:O C B A O →→→→最短路径示意图利用MATLAB 求解得出各起终点坐标、圆弧圆心坐标及相应的弧长、线段长度分别是:弧22d c :2c (292.7141, 280.3754) →2d (299.3452, 293.5596)圆心(300,300) 长度:16.5989线段22e d :d2(299.3452, 293.5596) →2e (229.7932,532.02307)长度 248.3995 弧22f e :2e (229.7932,532.02307)→2f (225.4967,538.3538)圆心:(220,530)长度7.8147线段22i f :2f (225.4967,538.3538)→2i (140.4000,597.200) 长度103.4617 弧22i h : 2h (144.5033,591.6462)→2i (140.4000,597.200)圆心(150,600) 长度7.0503线段22j i :2i (140.4000,597.200)→2j (92.000,694.000) 长度108.2257 弧22k j : 2j (92.000,694.000) →2k (102.3208,709.7270) 圆心(100,700) 长度24.4852线段22l k :2k (102.3208,709.7270)→2l (270,690) 长度168.8356 弧22m l :2l (270,690)→2m (272,689.7980)圆心(180,770), 长度2.0136线段22n m : 2m (272,689.7980)→2n (368,670.2020) 长度97.9796 弧22o n :2n (368,670.2020)→2o (370,670)圆心(370,680) 长度2.0136 线段22p o : 2o (370,670)→2p (430,670) 长度60 弧22q p : 2p (430,670)→2q (435.5878,671.7068)圆心(430,680)长度5.9291 线段22r q : 2q (435.5878,671.7068)→2r (534.4122,738.2932) 长度119.1638 弧22s r : 2r (534.4122,738.2932) →2s (540,740)圆心(670,600) 长度5.9291 线段22t s :2s (540,740)→2t (670,740) 长度130 弧22u t : 2t (670,740)→2u (679.7725,732.1211)圆心(670,730)长度13.5707 线段22v u : 2u (679.7725,732.1211)→2v (700.2275,637.8789) 长度96.4365 弧22w v :2v (700.2275,637.8789)→2w (702.6928,633.1732)圆心(700,640) 长度5.3769最终总路程:2794.512 单位; 最终总时间:598.5477秒 问题二的求解问题二是在建立最短时间优化模型的基础上求解出从O 到A 的最短时间.根据建立的模型,可知当转弯半径5055.11=r 时,时间有最小值.因为 21.01001r ev v ⨯-+=,此时转弯时机器人的速度: 81115.4=v . 利用问题一的方法解得各起终点的坐标、圆弧圆心坐标如下: 线段Oa :)210,70(00a O →),(; 弧ab :)3992.219,0916.78()210,70(b a →, 圆心为(81.5055,210))300,300()3992.219,0916.78(A b →;总时间2130.94=t 秒, 总距离470.8301单位.模型检验对于问题一的模型检验,由于软件CAD 在处理图形、获取坐标方面较方便快捷,利用CAD 可以自动读取坐标、线段长度、弧长的优点,粗略的估计从A O →、B O →、C O →和O C B A O →→→→的可能较短路线,由CAD 软件可求得得粗略解.将在Autocad 中得到的结果与计算值相比较得表如下:短路线中的最短路径,因此本模型在解决机器人避开障碍物探索最短路径是相对较客观合理的.模型的评价与推广优点:(1):本模型借鉴“橡皮筋算法”的精华的思想基础,并改良其不足,利用改良后的“橡皮筋算法”使解决机器人机器人避开障碍物探索最短路径的问题变得生动形象,化抽象为具体,使本模型在其它类似问题方面的迁移性较强.(2):本模型充分体现数形结合思想,在处理机器人行走路线由直线到曲线、由曲线到直线等问题时,巧妙利用解析几何中,圆的切线、两圆公切线处理,同时,采用CAD 软件进行图像上的检验,使本模型在几何关系、数学关系上得出的结果都是客观合理的.缺点:由于行走路线的限制,且路线的连续性以及机器人只能利用圆弧拐弯,因此求出的拐点(直路线线和圆弧切的点)基本上是小数,而且本模型中只精确到0.0001,可能会给具体的机器人实践行走时带来误差.模型的推广:本模型可用于推广解决机器人快速灭火,迷宫路径探索等相似路径的探索问题,也可推广至交警疏通堵车问题中路径规划问题.参考文献[1] 陈勇,王栋,陈戈,一种三维虚拟场景自动漫游的快速路径规划算法,系统仿真学报,第19卷,第11期:2508-2510页,2007.[2] 杨文茂,李全英,空间解析几何,武汉大学出版社,2006.[3] 胡良剑,孙晓君,MATLAB数学实验,高等教育出版社,2006.附录附录1:%两圆公切线,两圆大小相等.求切点%保存为函数wfunction wa1=80+1.5055;b1=210;a2=720;b2=600;%两圆圆心坐标[x,f,h]=fsolve(@li,[a1,b1])endfunction f=li(x)a1=80+1.5055;b1=210;a2=720;b2=600;%zx=(a1+a2)/2;zy=(b1+b2)/2;%两圆相切zx=300;zy=300;%zx=0;zy=0;%直线与圆相切时f(1)=(x(1)-a1)^2+(x(2)-b1)^2-10^2;%在某圆上f(2)=(x(1)-zx)^2+(x(2)-zy)^2+10^2-((zx-a1)^2+(zy-b1)^2);%与两圆圆心连线的中点构成勾股定理end附录2:%求弧长公式要每个点迭代clear;clc;R=11.5055;x1=78.0916;y1=219.3992;%第一点坐标x2=70;y2=210;%第二点坐标f=R*2*asin(sqrt((x2-x1)^2+(y2-y1)^2)/2/R) %弧长附录3:%两圆公切线,两圆大小不等function oformat short[x,f,h]=fsolve(@laz,[580 450])endfunction f=laz(x)f(1)=sqrt((550-x(1))^2+(450-x(2))^2)/(sqrt((720-x(1))^2+(520-x(2))^2))-8;f(2)=7/17*x(1)+3800/17-x(2);end附录4:%算线段长度,要迭代clear;clc;R=10;x1=0;y1=0;%第一点坐标x2=50.1353;y2=301.6396;%第二点坐标f=sqrt((x2-x1)^2+(y2-y1)^2) %线段长度.。

机器人运动控制中的避障算法研究

机器人运动控制中的避障算法研究

机器人运动控制中的避障算法研究随着科技的发展和人工智能技术的不断提升,机器人技术已经成为了一个极具前景的领域。

机器人的出现为我们的生产和生活带来了极大的便利和改变。

而机器人的运动控制则是机器人的重要组成部分,直接关系到机器人的行动。

然而,随着机器人变得更加智能化和复杂化,其科技难度也在不断加大。

其中,机器人运动控制中的避障算法一直是一个热门话题。

本文将对机器人运动控制中的避障算法进行一定的研究和探讨。

一、机器人避障算法探究机器人避障算法是机器人技术中的重要算法之一,主要用于在机器人行动过程中避免障碍物的影响,确保机器人在行进过程中的安全和稳定。

目前,机器人避障算法主要有以下几种:1. 简单避障算法简单避障算法是机器人避障算法中最基础的算法。

该算法通过简单的程序设计和传感器的使用实现机器人在行进过程中避障。

其主要原理是根据机器人的传感器检测到的障碍物距离,通过简单的逻辑判断避免横穿机器人行进方向的障碍物。

2. 光滑化算法光滑化算法在机器人避障算法中比较成熟,学术界已经对其进行了广泛的研究和探究。

该算法主要利用传感器检测到的障碍物距离进行数据处理和计算,根据机器人的速度和角度来决定机器人如何避开障碍物。

其主要特点是避免机器人在遇到复杂障碍物时出现振荡或者卡死等问题。

3. 利用神经网络的避障算法利用神经网络的避障算法是机器人避障算法的前沿研究之一。

该算法通过训练神经网络来实现机器人在遇到不同障碍物时的不同反应,从而提高机器人的自主性和智能化。

但是,该算法在实际应用中还存在一些问题,如需要大量的数据和计算资源等。

二、机器人避障算法的应用机器人避障算法在现实中的应用场景非常广泛,其主要应用于以下几个方面。

1. 自动驾驶汽车领域目前,自动驾驶汽车是机器人技术在交通领域中的重要应用之一。

而机器人避障算法在自动驾驶汽车领域中则是至关重要的。

只有通过机器人避障算法能够确保车辆在行驶过程中不会碰到障碍物,从而保障行车安全。

机器人避障问题 (2)

机器人避障问题 (2)

机器人避障问题1. 简介机器人避障(obstacle avoidance)是指机器人通过使用各种传感器和算法来识别和避免障碍物的能力。

在自动驾驶、无人机和工业自动化等领域,机器人避障问题是一个非常重要的研究热点。

2. 避障传感器为了实现机器人的避障功能,需要配备各种传感器来获取环境信息。

常用的避障传感器包括:2.1 超声波传感器超声波传感器利用超声波的回波时间来测量机器人与障碍物之间的距离。

通过安装多个超声波传感器,可以实现对机器人周围环境的全方位感知。

2.2 激光雷达激光雷达是一种高精度的避障传感器,通过发射激光束并测量其回波时间来获取周围环境的三维信息。

激光雷达可以提供非常精确的障碍物位置和距离数据,因此被广泛应用于无人驾驶和导航系统中。

2.3 摄像头摄像头可以通过图像处理算法来识别和检测障碍物。

常用的算法包括边缘检测、目标跟踪和物体识别等。

利用摄像头可以获取丰富的视觉信息,对于机器人的避障任务具有重要意义。

3. 避障算法为了使机器人能够根据传感器获取的数据进行避障决策,需要设计和实现相应的避障算法。

常用的避障算法包括:3.1 基于障碍物距离的避障基于障碍物距离的避障算法利用传感器测量的障碍物距离信息来进行避障决策。

例如,当障碍物靠近时,机器人可以选择停下或改变方向来避免碰撞。

3.2 基于虚拟势场的避障基于虚拟势场的避障算法利用虚拟势场模型来描述机器人周围的环境。

机器人被视为一个负电荷,障碍物被视为正电荷,通过计算势能梯度来确定机器人应该前进的方向。

3.3 机器学习算法机器学习算法可以通过训练数据来学习和优化避障策略。

常用的机器学习算法包括神经网络、决策树和支持向量机等。

这些算法可以根据输入的传感器数据预测机器人的动作,从而实现避障功能。

4. 实际应用机器人避障技术已经被广泛应用于各个领域,包括但不限于以下几个方面:•自动驾驶车辆:通过避障技术,自动驾驶车辆能够在复杂的交通环境中安全地行驶。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于弹性绳索拉伸的机器人避障问题摘要本文研究了机器人避障的相关问题。

在一个已知区域中存在12个障碍物,使用基于弹性绳索拉伸的方法,求解了由出发点到目标点的最短路径和最短时间路径。

我们在禁区顶点以最小转弯半径转向为最优的前提下,对障碍物进行了加工,即将限定区域向外扩展并将顶点圆角化。

那么最短路径就由两部分组成:一部分是平面上的直线段,另一部分是限定区域上部分弧构成。

由于最短路径一定是由直线线段和圆弧做组成,而弹性绳索紧贴障碍物时,弹性绳索与直线线段和圆弧重合,并且弹性绳索有自然缩短的趋势,弹性绳处于紧绷状态,此时弹性绳长就是最短路径。

问题一,将绳索系与起点和终点,使用拉伸弹性绳索的方法,找到所有符合要求的绳索连结成的路径并计算路径长度,最终最短的绳长即为所求。

由于符合要求的路径可能比较多,我们又使用了尺规作图进行简化了以及一般情况下的Dijkstra求解最短路径的方法。

最终求得:O→A最短路径长度为471.037O→B最短路径长度为 853.13O→C最短路径长度为1092.82O→A→B→C→O最短路径长度为2714.31问题二,由于机器人转弯时所行走的速度和转弯半径有关。

而当转弯半径最小时相应的速度也最小。

就必须平衡转弯半径和转弯时速度的这一对矛盾。

本文通过极限状态的求解,计算出可能的最短时间路径。

关键字:最短路径切线长弧长一、问题的重述图1是一个800×800的平面场景图,在原点O(0, 0)点处有一个机器人,它只能在该平面场景范围内活动。

图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物,障碍物的数学描述如下表:编号障碍物名称 左下顶点坐标 其它特性描述1正方形 (300, 400) 边长200 2圆形 圆心坐标(550, 450),半径70 3平行四边形 (360, 240) 底边长140,左上顶点坐标(400, 330) 4三角形 (280, 100) 上顶点坐标(345, 210),右下顶点坐标(410, 100) 5正方形 (80, 60) 边长150 6三角形 (60, 300) 上顶点坐标(150, 435),右下顶点坐标(235, 300) 7长方形 (0, 470) 长220,宽60 8平行四边形 (150, 600) 底边长90,左上顶点坐标(180, 680) 9长方形 (370, 680) 长60,宽120 10正方形 (540, 600) 边长130 11正方形 (640, 520) 边长80 12 长方形 (500, 140) 长300,宽60 在图1的平面场景中,障碍物外指定一点为机器人要到达的目标点(要求目标点与障碍物的距离至少超过10个单位)。

规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。

机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。

为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若碰撞发生,则机器人无法完成行走。

机器人直线行走的最大速度为50=v 个单位/秒。

机器人转弯时,最大转弯速度为21.0100e1)(ρρ-+==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 800×800平面场景图二、模型假设1、机器人可以抽象成为点;2、未到达终点前机器人行走过程不会意外停止;3、忽略影响机器人行走的外界因素,机器人可以准确转弯。

4、假设路径是一条带有弹性的橡皮绳,有自动缩短的趋势三、符号说明符号符号说明S 起点G 终点D机器人离障碍物的最小距离转弯半径P i 切点四、问题分析问题一:根据题中的限定条件,机器人的行走路线一定为直线和与直线相切的圆弧,我们对障碍物进行改造,使得障碍物也为直线和圆弧构成。

求出所有符合条件的切线和直线段的长度,并寻求最短的路径即为我们需要的最短路径。

另外这条路径还可以看做是栓在起点的一条弹性绳索,经由各个障碍物,并以障碍物的拐角处的圆弧为支撑拉紧最终到达终点的路径,此时这段绳子的长度便是一条可能的最短路径。

具体在搜索路径时,我们知道两点确定的直线段最短。

那么就将起点和终点用弹性绳索连结,分别向上方和下方拉伸绳索,让绳索绕过障碍物。

由于绳索带有弹性,将自动贴紧改造后的障碍物。

此时的绳长就是需要的自然直线段和弧长的总和。

问题二:由于机器人转弯时所行走的速度和转弯半径有关。

转弯速度v 是转弯半径ρ的增函数,当转弯半径最小时相应的速度也最小。

就必须平衡转弯半径和转弯时速度的这一对矛盾。

通过考虑各种极限状态,求解最短时间路径。

五、模型的建立5.1相关定理证明1.禁区顶点转弯最优,以最小转弯半径转向最优[1]如图所示:假设在平面中有A(a ,0)和B(-a ,0)两点,中间有一个半圆形的障碍物,证明从A 到B 的最优路径为A 错误!未找到引用源。

B 。

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

在y 轴上取一点C(0,y),若y 适当大,则折线ACB 与障碍物不相交,折线ACB 的长度为:22||2a +y 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 的长度超过路径A 错误!未找到引用源。

B 的长度。

以上证明足以说明了A 错误!未找到引用源。

B 是满足条件A 到B 的最短路径。

2.在中间目标点附近转向,且中间目标点位于圆弧中点处最优[1]如图所示:E 点就是圆环上的一个顶点,A 错误!未找到引用源。

B 就是拉紧的绳子,2O 就是切线AC 和BD 的延长线的交点,证明1O 、E 、2O 三点共线。

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

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

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

5.2 障碍区域扩展题中要求机器人与障碍物距离d 个单位,转弯半径最小为ρ个单位,那么我们将障碍物区域向外扩展形成新的禁区。

如下图:5.3 弹性绳索拉伸构造路径两点确定的直线段最短。

将起点和终点用弹性绳索连结,分别向上方和下方拉伸绳索,让绳索绕过障碍物。

由于绳索带有弹性,将自动贴紧改造后的障碍物。

下图为示意图:5.4 禁区类型分析由于禁区顶点转弯最优,以最小转弯半径转向最优。

我们将弹性绳索绕过圆角矩形的障碍区域,绳索与圆角矩形的顶点关系有3种。

分别计算这三种情况的直线段与弧长。

计算过程中涉及到的解析几何的公式见文献[3]情况一:起点和终点之间只有一个障碍区域,此情况可以抽象为下图所示:起点到终点的路径长度为:12S PP G。

通过几何的方法我们可以计算出切点、路径长度,具体计算见附录中算法LengthA 。

情况二:起点和终点之间经过两个障碍区域,并且这两个障碍区域在弹性绳索的两dρ侧,此种情况如下图所示:通过几何方法分析,可以得出两圆心连线的中点为公切线的中点。

那么就可以转化为两个情况一的组合,分别按照情况一计算并求和即可。

起点到终点的路径长度为:1223SPP F F P PG +,其中F 为23P P 的中点。

这种情况下的中点坐标F(x ,y)计算较简单121222x x x y y y +⎧=⎪⎪⎨+⎪=⎪⎩。

路径长度见算法LengthC 。

情况三:起点和终点之间两个障碍区域,并且这两个障碍区域在弹性绳索的同侧,此种情况如下图所示:此种情况中2312//P P O O ,可以计算出23P P 的直线方程,该直线方程联立圆的方程即可算出切点23P P 、。

再由中点坐标公式计算出23P P 的中点P 。

P 做为左侧图形的终点,右侧图形的起点,此时该情况就转化成了两个情况一。

分别计算并求和即可。

起点到终点的路径长度为:1223SPP P PP PG +,其中P 为23P P 的中点。

中点坐标计算方法见附录中算法M 。

路径长度见算法LengthB 。

5.5 中间结点的弧化处理机器人由O 点出发经由A 、B 、C 到达O 点时,因为机器人不能折现转弯,因此机器人在到达中间结点时就应该提前转向,即中间结点的弧化处理。

我们可以想象,在中间节点A 上,套上半径为R 的圆环。

弹性绳索经过节点A 的最P佳拉法即为最优解。

直观的看绳索绷紧后,A 点与目标点的连线在两条切线的角平分线上时,目标点的位置最优。

设中间目标点(a,b),最小转弯半径为ρ。

圆的中心位于轨迹22020)()(ρ=-+-b y a x 上。

圆的方程为22020)()(ρ=-+-y y x x 。

那么最优路径中的机器人中间目标点位于圆弧的中点,圆心与中间目标点的连线为圆环的两条切线的角平分线上。

相关文档
最新文档