MOOS―IvP理论概述及应用简析.doc

上传人:吴起龙 文档编号:1580034 上传时间:2018-12-25 格式:DOC 页数:8 大小:18.33KB
返回 下载 相关 举报
MOOS―IvP理论概述及应用简析.doc_第1页
第1页 / 共8页
MOOS―IvP理论概述及应用简析.doc_第2页
第2页 / 共8页
MOOS―IvP理论概述及应用简析.doc_第3页
第3页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《MOOS―IvP理论概述及应用简析.doc》由会员分享,可在线阅读,更多相关《MOOS―IvP理论概述及应用简析.doc(8页珍藏版)》请在三一文库上搜索。

1、MOOSIvP理论概述及应用简析Abstract:MOOS-IvP is a new,open source,behavior based automation control program for an unmanned vehicle. This passage introduced some aspects of MOOS-IvP from design concept, architecture model,mainly functions and so on, for helping users to understand the software and use it.The m

2、ain description of the passage contained the MOOS-IvP design-modules,the MOOSDB and the IvP helm.MOOS-IvP design-modules includesthe publish-subscribe middleware design philosophy,the backseat driver design philosophy, thebehavior-based control design philosophy, the code re-use,modules design philo

3、sophy, the methods of message transmit.The MOOSDB comprisedthe main functions,the configuration properties and the operation mode. TheIvP Helm introduced the structure characteristics, the functional properties andtherealization method.Which will help users to build a comprehensive and systematic co

4、ncept of MOOS-IvP. Key Words:MOOS-IvP;MOOSDB;IvP helm;Unmanned vehicle;Autonomy 随着海洋资源探索与开发的需要,海洋航行器科技的发展日新月异,对航行器软件及硬件方面的要求也越来越高。目前为止,Autonomous underwater vehicle(简称AUV)的控制系统多以底层硬件控制为主,只能完成简单的操作命令,软件控制相对薄弱且控制结构单一,没有统一的运行平台,对多航行器同时调配存在短板。MOOS是由Paul Newman于2001年写成的1,用于自主性海洋航行器的控制。MOOS-IvP的设计初衷是建立一个高

5、性能的自主系统,减少短期以及长期的花销和缩短时间线。使得航行器的智能化和行为复杂度能大大提高,并能够同时调控多航行器协调。随着MOOS-IvP软件系统的不断开发与完善,该软件已经逐步发展为一个独立强大的控制系统,在未来海洋探测及多功能自主性AUV的研发中,将起到重要的作用。 1 MOOS-IvP的整体设计思路 MOOS是Mission Oriented Operating Suite的缩写。MOOS是一个开源工具,是自主的发布-订阅式中间软件。MOOS-IvP软件的设计思路主要依据以下3个建筑哲学思想。 (1)后座驾驶员模型(the backseat driver paradigm)2。 (2

6、)发布-订阅型自动化中间设备3。 (3)基于行为的自主性设计4。 按照以上思路,该系统将一个整体软件按照其功能划分为不同的部分,并作为独立的模块,由中间软件统一调配整合。该设计理念从某一角度看,与面向对象程序设计中的抽象、封装、继承等特点有一定的相似性。MOOS和IvP的核心架构思想都是将不同的功能分离出来,做成独立的模块5。整合调用不同的模块,使其协调合作的方法是MOOS和IvP的独特之处。MOOS-IvP作为一个开源平台、算法及软件基础模块、基础自动化、开发的新工具,都可以为公众使用。它的设计思想如图1所示。 图1的结构中,MOOS-IvP以扇形的展开方式,使得由内及外层层递进,每个模块相

7、互独立又协调统一,能够极大地提高工作效率,同时增强了系统的灵活性,对模块的改动调整更加方便。用户可以根据自身的需要,在原有的核心平台上搭建自己所需要的新模块或者新功能。软件的开源性,意味着软件拥有很大的包容性和可拓展性,对于应用层面而言,没有一个模块是一成不变的,人们可以根据自身的需要,对原有的程序模块做出修改,或者开发全新的模块,高效的代码重用和保护用户的个人隐私权利,这都是MOOS-IvP的设计目标之一6。 作为一个开源的系统,MOOS-IvP最大的优势之一就是代码的重用性。代码重用的优点:贡献的多样性、更低价的成本、更高的表现能力以及更高的可靠性。此优势将帮助系统保持自身的优越性,能够汲

8、取群众的智慧,每多一位使用者,就多了一份力量,保持不断的更新与进步,这是非常难能可贵的。 1.1 后座驾驶员理论 后座驾驶员设计思想的关键在于分离航行器的控制与自动化的部分。航行器控制系统和自主系统分别运行在不同的独立的计算机上。结构如图2所示。 航行器从主电脑接收航行器位置和航线信息流,从载荷计算机获取方向、深度、速度等数据流。自主系统提供前进方向、速度及深度等命令给航行器控制系统,控制系统执行控制并传递航行信息给自主系统。在载荷计算机上的自主系统由一系列独立的程序通过MOOSDB交互而成7。其中的一个重要程序是航行器主电脑的接口程序,另一个是IvP Helm中执行以行为为基准的自主系统。此

9、处描述了各系统之间的关系,以及信息的流向。后驾驶员模型的设计,确保了控制系统与自主系统的分离,使得运算速度得到了保障,对航行器的控制也更加高效。 1.2 发布-订阅型设计 发布-订阅型中间软件的设计是指MOOS提供了一个中间软件的功能,依据发布-订阅的模型和协议处理数据间的传输和转换。每一个进程之间的交流都是通过一个拓扑结构的单一数据库处理方式。一个特殊进程的接口取决于该进程产生和调用的信息。每一条信息都是一个简单的变量值对,例如,MOOS信息条会存储原始二进制数据来传递照片。一个MOOS社区是一系列的MOOS应用程序,运行在一个单独的机器上,每个程序都有唯一的ID。它们之间可以通过网络相互传

10、递信息。 1.3 基于行为的自主性设计 基于行为的控制设计理论是IvP Helm的核心设计思想。IvP Helm的运行类似于一个MOOS应用程序,它使用行为基础架构来实现自动化。行为是一种独特的软件模型,它被称为独立的小型专业系统,服务于整个自动化系统的特殊模块中。用户可以为一些特殊的任务设置helm,实现和每个行为之间的接口配置。这些配置通常包含特殊信息,例如一系列确切的坐标点、搜索区域、速度等。它也会包含一些特殊的状态空间,用于决定哪些行为在什么样的位置执行,以及如何传输的问题。当多重行为被执行并对航行器的控制产生竞争时,IvP的求解器(IvP solver)会协调各行为,并保证命令被正常

11、执行8。结构如图3所示。 函数的建立和设置是在helm每次执行迭代时完成的,通常是每秒14次,只有一些行为子集是依据航行器的情况随时执行的,并且由用户提供它们的状态空间配置。求解器在运行时会通过每个行为定义在航行器上的判定空间询问目标函数。在IvP Helm中,目标函数是一个明确的类型,定义为线性分布,并成为IvP方法。Solver利用这一构想找到最快的办法来解决最急迫的问题,这些问题是由大量的运行中的函数产生的。 2 MOOS概述 MOOS通常被描述为自律性中间设备,它整合一系列的终端应用程序,作为它们的中转站,像胶水一般将它们联系在一起,成为一个整体,IvP Helm就是其中的一部分。MO

12、OS不需要任何第三方库,是跨平台独立的且无依赖性。每一个应用程序都会继承MOOS提供的一个基本接口,此接口提供了一个强大的易于使用的通讯设备来保持与其他应用的交流,同时控制那些应用程序执行它们主要函数设置的相对频数。MOOS是一个星型拓扑结构,应用程序内的MOOS社区连接着一个位于软件核心处的单独的MOOS数据库9。这个网络有以下特点:(1)不对等交流;(2)客户端和服务端之间的交流起始于客户端;(3)每个客户端都有一个唯一的名字;(4)客户端之间不知晓彼此的存在;(5)客户端只能通过向MOOSDB发送数据来达到彼此的沟通;(6)星型网络能够连通任意数量的机器,运行在任意可支持的操作系统群组上

13、;(7)数据能够用很小的字节包或者是任意的大型二进制包来传输。MOOS的应用程序接口允许客户端与MOOSDB之间进行数据传输,这意味着数据依赖于客户端的类型,数据类型不受MOOS限制。传输的数据包通常包含数据名称、字符串值、浮点值、来源(客户端名称)、补充信息、数据发布时间、数据类型、发送格式、社区来源等信息。 每一个MOOS应用程序都是一个客户端,都连接在MOOSDB上。这个连接是由客户端建立的,客户端通过一个螺纹机械建立与MOOSDB的交流。这样就完全隐去了交流中的复杂、艰深部分,同时提供了一个小巧简易的方法来处理数据传输。客户端能够发布信息(带有名字的数据)、注册信息、阅读信息(收集带名

14、数据信息)。通知的发布是成对的(变量和值),这构成了一个MOOS信息的核心部分。通知是实时更新的,当信息传递给MOOSDB后,将被传输给其他有需求的客户端。 MOOS提供了一个基类,叫作CMOOSApp,在CMOOSApp类中有一个循环,通常称为迭代方法Iterate(),默认是不执行的10。一个新的MOOS应用程序的工作之一就是构建迭代方法,让应用程序完成人们想要的工作。除此之外,CMOOSApp中所有的循环也会检查新数据是否传送给应用程序。如果有新数据被传过来,另外一个方法OnNewMail()会被调用,该方法会处理新接收的数据。3个虚拟函数的结构与调用顺序如图4所示。 在一个新的派生类中

15、通过重写CMOOSApp中的Iterate()方法,作者创建了一个函数用来管理应用程序要执行的任务。 在Iterate()被调用之前,CMOOSApp的基类决定新邮件是否发送。如果新邮件在等待,CMOOSApp的基类调用OnNewMail()虚函数。传输过来的邮件是以CMOOSMsg对象列表的形式送达的。这个结构允许在一个客户端传递数据和所有需要数据的群体接收处理信息之间用非常短的响应时间。OnStartUp()函数仅仅在应用程序进入自身的循环描述之前被调用11。该方法帮助应用程序在此处完成代码的初始化,另一个重要功能是读取一个文件中的配置参数。MOOS的各项配置参数都存储在一个后缀名为moos的配置文件中。 3 IvP helm

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1