机器人的避障控制论文VB.docx
- 文档编号:24302988
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:51
- 大小:1.18MB
机器人的避障控制论文VB.docx
《机器人的避障控制论文VB.docx》由会员分享,可在线阅读,更多相关《机器人的避障控制论文VB.docx(51页珍藏版)》请在冰豆网上搜索。
机器人的避障控制论文VB
目录
摘要………………………………………………………………………….3
前言………………………………………………………………………….4
第一章模糊逻辑…………………………………………………………...5
1-1模糊逻辑概念…………………………………………………5
1-2模糊逻辑的特点………………………………………………6
第二章机器人避障控制的原理……………………………………………8
第三章开发工具Vbasic语言介绍………………………………………15
3-1VisualBasic的发展………………………………………….15
3-2什么是VisualBasic………………………………………….15
3-3VisualBasic的特点………………………………………….16
3-4VisualBasic的软硬件配置…………………………………..19
3-5VisualBasic设计平台………………………………………..19
3-5-1事件驱动……………………………………………..21
3-5-2过程驱动……………………………………………..22
3-6循环语句……………………………………………………..22
3-6-1计数循环For...Next………………………………….22
3-6-2While…wend………………………………………….23
3-6-3条件式循环…………………………………………..24
3-6-3-1前测试循环………………………………...24
3-6-3-2后测试循环..…………………..…………...25
3-6-4嵌套循环…………..……………………..…………..27
3-7子程序与函数………………..…………………..………….27
3-7-1子程序…………………………………….…………27
3-7-2过程…………………….…………………..………..28
3-7-2-1子程序………….…………………..……...28
3-7-2-2Function过程…….…………………..….…29
3-7-2-3Call语句…………..………………….……29
3-7-3子程序的调用与参数传递….…………………...….30
3-7-4内置函数………………………………………….30
3-7-4-1数学函数………………………………..30
3-7-4-2整数函数………………………………..30
3-7-4-3处理字符串函数………………………..31
3-7-4-4类型转换函数…………………………..32
3-7-4-5日期和时间函数………………………..32
3-7-4-6随机数函数……………………………..33
3-7-5传值调用与传址调用…………………………….33
3-7-5-1传值调用………………………………..33
3-7-5-2传址调用………………………………..34
3-7-5-3OnError语句……………………………34
3-7-5-3-1OnErrorGoTo……………....34
3-7-5-3-2OnErrorResume……………35
第四章设计过程……..………………………………………………..36
结束语
致谢
参考文献
摘要
本设计是一个关于机器人避障控制程序的设计。
介绍了模糊控制理论中基于行为分类的模糊控制器的设计方法,这是整个控制过程的重要思想。
这种方法成功地解决了机器人在未知复杂环境中的导航能力。
包括三个重要的原则:
避障及弯曲和狭窄道路上减速行为。
边沿跟踪行为。
目标导向行为。
该程序运用Vbasic语言,充分利用了其类的方便性和易用性。
利用Vbasic的图形用户界面设计的功能对整个控制过程进行了仿真。
机器人能够成功地避开各种障碍物并且选择最佳路径到达目的地,达到了预期的目的。
Abstract
Thisdesigndescribesaprogramaboutrobot’savoidingobstaclecontrol.Itintroducesthemeasuresoffuzzycontrollerbasedonbehavior-classificationinfuzzycontroltheory,andthisistheideaofthewholecontrolprocess.Thismeasuresuccessfullysolvesthenavigationabilityofrobotsinunknownenvironmentanditincludesthreeimportantprinciples:
avoidingobstacleanddecelerationonthecrookedandnarrowroad
edgetrackingbehavior
target-orientedbehavior
ThisprogramusesVbasiclanguageandtakesfulladvantageofitsconvenienceandeasilyusing.WeimitatethewholecontrolprocessbyusingthefunctiondesignedforGUIofVbasic.Robotscansuccessfullyavoidallkindsofobstaclesandselectthebestpathtogettothedestination.Thisachievestheanticipatedpurpose.
前言
基于解析模型的控制方法有着较长的发展历史,经过许多学者不懈努力已经建立了一套完善的理论体系,并且非常成功地解决了许多问题。
但是,当人们将这种控制方法应用于具有非线形动力学特征的复杂系统时,受到了严峻的挑战。
特别是,面对无法精确解析建模的物理现象和信息不足的病态过程,基于解析模型的控制理论更是束手无策。
这就迫使人们去寻找新的控制方法和途径去解决这类问题,在这样一个背景下诞生了基于模糊控制逻辑的控制方法,并且今天它已经成长为最活跃和最为有效的一种智能控制技术。
模糊逻辑基于人类的模糊思维这一抽象机理,它描述的是与人类的思维方式相关的宏观过程。
将模糊逻辑与工程控制相结合,而使工程控制得到了人类思维一样的控制过程和特性,所以模糊控制是一种智能控制。
模糊控制是模糊逻辑应用的最多也是最广泛的一个领域。
模糊控制器是一种非线形的控制器,它的控制规则是以条件语句来描述的,符合人类的思维方式,因此很直观,易于理解。
自20世纪60年代模糊数学建立以来,由于生产和科学研究的飞速发展,以及微机控制的日益普及,模糊逻辑控制理论和方法被不断的完善和发展,并日益受到人们的重视,越来越显示出它无限的生命力和广阔的应用前景,它已经渗透到生产,管理,商业,军事,决策等各个领域,各种应用模糊逻辑的商品也出现在市场上,如模糊控制洗衣机,热水器等。
因此,特选取《机器人的避障控制》此课题进行毕业设计,借此学习模糊逻辑控制的设计方法,了解当今模糊控制的最新趋势。
本篇的论文的理论模型设计和编写完成,均得到薄华老师的悉心指导和帮助,遇到困难也在她的指点下得到解决。
在此,特别感谢薄华老师。
由于作者的水平有限,本文难免存在缺点和错误,殷切期望各位老师批评指正。
第一章模糊逻辑
1-1模糊逻辑概念
什么是模糊逻辑呢?
模糊逻辑是一种简单的将一空间的输入映射到另一空间的输出的一种规则。
这种映射关系是模糊逻辑其他应用的基础和起点。
模糊性反映事物的不确定性。
它是以一种严密的数学框架来处理人类那些具有模糊特性的概念,如:
很多,很少,热与冷。
模糊逻辑通常是利用模糊集合论来描述。
什么是模糊集合呢?
在以布尔逻辑(二进制逻辑)为基础的传统集合论中,一个特定的研究对象对于一个给定集合来说只有两种可能,即:
或者属于这个集合或者不属于。
与布尔逻辑相反,在模糊集合论中一个特定的研究对象在一个给定的集合中有一个隶属度,而这个隶属度是介于0(完全不属于这个集合)和1(完全属于这个集合)之间的函数值。
显然,模糊逻辑能以一种更接近自然的方式来处理人类那些具有模糊特征的概念。
例如:
按照布尔逻辑像“张三是高个子”这条语句仅是“对”(TRUE)和“错”(FALSE)这两种结果之一。
相反,模糊逻辑将通过“张三是个高个子”这条语句将给“张三”在高个子人这个集合中赋予一个隶属度,如:
0.7。
在基于模糊逻辑的模糊控制中,一个重要的概念是语言变量。
一个语言变量的重要特征是这种变量的值用一个或多个词或句子来表达而不是用一个数字来表达。
以“温度”语言变量为例,T(水温)={冷,适中,热,稍微热,稍微冷,很热,很冷}。
此处每个语言变量值,如冷,适中,热等都是定义在论域U=[0℃,100℃]。
按照习惯可认为低于15℃为“冷”,36℃左右为“适中”,大于50℃为“热”。
具体的这些模糊逻辑语言变量值的定义是由研究人员自行按照合理的原则来决定的。
上述语言变量的定义中在基本的模糊语言“冷”、“热”前面加上了语言的含义,相应的其隶属度函数将发生变化但有存在一定的联系,这种关系就是语义规则研究的内容。
模糊集合的同义词是隶属度函数。
因为模糊子集中元素的隶属性没有明确的边界。
所以人们也将问题论域中的元素与他们在模糊子集中相应隶属度之间的映射关系称之为隶属度函数,当一个数值是清晰值时,它的隶属度就是模糊子集的隶属度函数在该清晰值的值。
模糊逻辑中常用的另一个重要的概念是产生式规则即“如果-则”规则又称“if-then”规则。
前面介绍的模糊集合等是模糊逻辑的主体,而“如果-则”规则则是包含这些模糊逻辑的条件陈述语句。
一个最简单的规则具有如下的形式:
ifxisAthenyisB(如果x是A,则y是B)
其中A和B分别定义在论域X和Y上的模糊语言变量。
规则的“如果部分”被称作前提部分,“那么部分”被称作结论部分。
在MIMO的模糊逻辑系统中,常常可能会有很多条规则,而且这些规则的前提部分和结论部分也可以是由许多部分组成。
上面所列的“if-then”规则只是最简单的形式,是最基本的模糊系统单元,对于复杂的模糊推理系统,可以用连接词“and”、“or”和“also”连接一系列规则的多个输入和多个输出,“also”用来连接多条不同的模糊规则。
那么在模糊控制中是如何完成这些产生式规则的运算呢?
这将是我们下面要介绍的模糊控制中的另一个重要概念:
模糊逻辑推理。
在建立了模糊集合和输入输出语言变量,并构造完成模糊规则之后,就可以执行模糊推理计算了。
模糊推理方法有很多种,其中较为常用的是Mamdani模糊推理算法和对于输出为精确量的一类特殊模糊逻辑系统—Takagi-Sugeno模糊推理系统,采用了将模糊推理去模糊化结合的运算算法。
本文所建立的模糊系统中的模糊控制器采用的则是建立在第二种系统上的ANFIS系统。
1-2模糊逻辑的特点
模糊逻辑强调的重点是简单和方便,这也是模糊逻辑被广泛应用的原因。
随着社会的进步和科学技术的发展,人们逐渐发现,现有的精确理论在解决一些问题时往往会显得烦琐和束手无策,原因主要有以下三点:
1精确理论一般需要用数学微分方程来描述自然科学的某些基本规律或系统,但实际中有的系统所涉及的因素有很多,而每个因素之间还存在着偶合的关系;同时,系统多处的条件也千变万化,要用微分方程来描述这种系统,要么根本无法实现,要么要设定大量的约束条件,最终无法取得结果。
2有的学科,例如语言学、心理学、文学、生物学和社会科学,过去是极少采用数学方法去解决问题的,往往是采用文字方法进行定性的推理或估计。
现在人们对这些学科的准确性提出了更高的要求,因此,在这些学科中解决问题就需要定量化和数学化,而这些学科中的大多数问题都具有模糊性,比如,语言的“幽默”与“流畅”,心理的“正常”与“不平衡”,文学作品的“通俗”与“严肃”等,都是模糊的概念。
很明显,用传统的精确理论是无法对这些学科进行数学化和定量分析的。
3人的本身就具有精确和模糊两种特性。
对于各种计算,人的思维是具有精确性的,而对于各种事物的识别、归纳、推理、学习、经验就具有模糊性。
控制论的创始人维纳在指出人能超过任何最完善的机器时,明确指明起重要原因是“人具有运用模糊概念的能力”。
实际上,人运用模糊概念的时间占了生活的大部分,对这些具有模糊概念和性质的问题采用精确数学的方法是无法恰当解决的。
上述这些也就是模糊逻辑立足于解决的问题。
相对于精确逻辑,模糊逻辑在工程应用上还具有如下特点:
1模糊逻辑是柔性的。
对于给定的系统,很容易处理以及直接增加新的功能,而不需要从头做起。
2模糊逻辑建立在自然语言的基础上,对数据的精确性要求不高。
模糊逻辑几建立在人类交流的基础上,针对数据的不精确性所提出的一种方法。
系统的数据主要来自语言描述的知识,而不确定性是语言信息的重要特点。
3模糊逻辑能充分利用专家信息。
相比于神经网络,模糊逻辑建立在已经熟悉相关系统的专家基础上,能够充分利用现有的专家知识。
4模糊逻辑易于与传统的控制技术相结合。
模糊系统不需要替代传统的控制方法,在很多情况下,只是在原有的控制方法上作简单的修改。
第二章机器人避障控制的原理
基于行为分类的模糊控制器的设计方法,这里将模糊逻辑和行为控制的思想相结合,为移动机器人在未知环境中导航这一难题提出了新方法。
移动机器人的一个关键的问题是提高它在未知和复杂环境中的导航能力。
为了保证机器人与未知障碍物不相碰撞而达到目标,必须利用传感器来获取现实世界的信息。
显然,利用这类信息很难建立一个精确而完整的环境模型来实时规划机器人的非碰撞路径。
基于生理学的反射行为,“感识-动作”行为控制被用来实现机器人的导航。
例如,机器人的漫游行为可以用如下两个简单的“感识-动作”来描述:
如果障碍物在机器人的左侧,机器人向右拐;如果障碍物在机器人的右侧,机器人向左拐。
因为这一方法不需要建立一个完整的环境模型复杂的推理过程,所以它适宜于机器人在动态环境中导航。
然而在实际应用中,必须补充更多的“感识-动作”行为使机器人完成复杂的操作,所以该方法的关键问题之一是如何有效地协调多个“感识-动作”行为之间的冲突与竞争。
Brooks教授利用定义行为优先级的策略来进行多个行为之间的协调。
但是,当机器人在复杂环境中操作时这一策略不十分有效。
图6.31中的例子说明:
机器人必须根据局部的环境信息来有效地融合如避障、边沿跟踪和目标导向这些多个“感识-动作”行为,以至于它能够达到U型物体内的目标。
实现“感识-动作”行为的一般方法时人工势场法。
人工势场法的重要缺点是:
针对不同的行为,如:
避障、漫游和目标导向,在预编程过程中必须付出极大的代价来实验和调节一些有关势场的预值。
特别是这些预值与环境的状态密切相关。
图6.32利用局部环境信息进行机器人的导航
在这里我们介绍了一种在非结构化环境中基于模糊逻辑的移动机器人“感识-动作”行为控制的新方法。
不同于基于人工试场的行为控制方法,该方法是利用模糊逻辑来融合多个“感识-动作”行为而不是根据优先级来抑制某些行为。
这一方法也不同于一般仅用于避障的模糊控制,因为在我们的方法中利用了“感识-动作”行为的思想;将感识和决策集成在同一模式中,并且直接面向动态环境来改善系统的实时响应和可靠性。
图6.35给出了移动机器人的模糊逻辑控制方案。
为了获取环境的信息,15个超声传感器被安装在THMR-II(TinghuaMobileRobot-ModelII)移动机器人上,这些超声传感器被分为三组分别来测试左方,前方和右方的障碍物,如图6.32所示。
该机器人具有两个主动轮和一个从动轮。
两个主动轮的速度由一个驱动系统来控制。
模糊控制器的输入信号是机器人和障碍物之间的距离以及机器人与目标之间的方位角,分别记为左方障碍距离left-obs,前方障碍距离front-obs,右方障碍距离right-obs和方位角head-ang,当目标位于机器人的左面时方位角定义为正;反之为负,如图6.34所示。
图6.34机器人方位角的定义
根据局部的环境信息,模糊逻辑算法融合所
有的“感识-动作”行为来控制机器人主动轮的速度。
在本文中,left-v和right-v分别代表机器人左右轮的速度。
语言变量fast,med(medium)和slow来模糊化left-obs,front-obs和ght-obs;P(positive),Z(zero)和N(negtive)来模糊化head-ang;far,med和near来模糊化left-v和right-v。
下面我们利用模糊逻辑来描述“感知-动作”行为。
为了使机器人能够在复杂的环境中达到给定的目标,机器人必须具备如下“感知-动作”行为:
(1)避障;
(2)边沿跟踪;(3)目标导向;(4)在弯曲和狭窄道路上减速。
为此,我们建立一个模糊逻辑规则库来描述上述这些行为。
下面列举一些模糊逻辑规则来说明这些行为是如何被实现的:
1.避障及弯曲和狭窄道路上减速行为
当环境信息表明机器人接近障碍物或在弯曲和狭窄道路上行驶时,它的主要行为是减速避障,为了实现这一行为采用如下If-Then规则:
If(left-obsisnearandfront-obsisnearandright-obsisnearandhead-angisany)
Then(left-visfastandright-visslow)
If(left-obsismedandfront-obsisnearandright-obsisnearandhead-angisany)
Then(left-visslowandright-visfast)
If(left-obsisnearandfront-obsisnearandright-obsismedandhead-angisany)
Then(left-visfastandright-visslow)
If(left-obsisnearandfront-obsismedandright-obsisnearandhead-angisany)
Then(left-vismedandright-vismed)
2.边沿跟踪行为
当机器人移向一个位于U型物体内的目标时(见图6.32)或从这样一个物体中逃避出来时,机器人必须表现出边沿跟踪行为。
可利用如下规则来实现这一行为:
If(left-obsisfarandfront-obsisfarandright-obsisnearandhead-angisP)
Then(left-vismedandright-vismed)
If(left-obsisnearandfront-obsisfarandright-obsisfarandhead-angisN)
Then(left-vismedandright-vismed)
If(left-obsisfarandfront-obsismedandright-obsisnearandhead-angisP)
Then(left-vismedandright-vismed)
If(left-obsisnearandfront-obsismedandright-obsisfarandhead-angosN)
Then(left-vismedandright-vismed)
这些规则表明当障碍物和目标点同时在机器人的左侧(或右侧)时,机器人应该沿着障碍物的边沿行走。
3.目标导向行为
当局部信息表明在机器人周围没有障碍物时,它的主要反射行为是目标导向。
可利用如下规则来实现这一行为:
If(left-obsisfarandfront-obsisfarandright-obsisfarandhead-angisZ)
Then(left-visfastandright-visfast)
If(left-obsisfarandfront-obsisfarandright-obsisfarandhead-angisN)
Then(left-visslowandright-visfast)
If(left-obsisfarandfront-obsisfarandright-obsisfarandhead-angisP)
Then(left-visfastandright-visslow)
这些规则表明当机器人周围没有障碍物时机器人主要调节它的方向并且快速地移向目标。
在基于人工势场法“感知-动作”行为控制中,机器人主动轮的速度是通过行为抑制的策略来决定的。
为此,在预编程过程中必须付出极大的努力来实验和调节人工势场法的一些预值。
另外,这些预值随环境的改变而改变。
在基于模糊逻辑的“感知-动作”行为控制中,因为“感知-动作”行为是通过模糊集合来描述,所以“感知-动作”行为的融合可以方便地利用Min-Max推理算法和求质心的清晰化方法来完成。
图6.35机器人在一个混乱环境中的运动
为了说明所提方法的有效性和鲁棒法,下面给出机器人在未知环境中导航的仿真模拟结果。
图6.35模拟了机器人达到一个位于一U型物体内目标的导航过程。
在开始阶段,由于机器人周围有较大的非碰撞空间,所以机器人的目标导向行为强于其它的行为,因此它以高速向目标运动。
当它接近U型物体时,它自动减少目标导向行为的权值和增加避障和边沿行走行为的权值。
当机器人发现U型物体的入口时,它增加避障和目标导向行为的权值,使机器人缓慢地达到目标。
图6.35模拟了机器人在一个混乱环境中的运动。
在这个环境中,我们任意地选取一些目标点。
可以看到:
仅利用超声传感器所获取的局部信息,机器人通过有效地融合所有的“感知-动作”行为却达到所给定的目标。
图6.36给出在未知环境中与一个运动障碍物避免碰撞的例子。
在这个例子中运动障碍物的运动方向正好封锁了机器人的路径,如图6.36(b)所示。
当机器人探测到这个障碍物时急剧右转弯,如图6.36(a)和6.36(b)所示。
当机器人绕过该运动障碍物后,直接达到目标,如图6.36(c)和6.36(d)所示。
图6.36机器人与一个运动障碍的碰撞避免
在这里,我们利用了模糊逻辑来描述“感知-动作”行为。
因为该方法是利用模糊逻辑的近似推理来融合多个“感知-动作”行为而不是根据行为的优先级来激发某一行为,所以它比传统的“感知-动作”行为控制方法更为有效。
仿真模拟实验结果表明,利用该方法可以改善机器人在未知环境中的导航能力。
另外,该方法还适于多传感器的集成与融合。
最后我们来讨论如何利用行为分类的思想来设计模糊-神经控制系统。
众所周知,模糊控制器的设计准则是利用模糊逻辑将知识和经验集成在控制器内,而获取这些知识和经验的过程是被控对象的响应行为而不是分析系统的解析模型。
因此,利用模糊逻辑可以建立一种新的建模方式,即通过定义某些响应“行为”来描述
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器人 控制 论文 VB
![提示](https://static.bdocx.com/images/bang_tan.gif)