• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      MOOS—IvP理論概述及應(yīng)用簡析

      2016-05-30 18:26:08劉倫倫
      科技創(chuàng)新導(dǎo)報 2016年13期
      關(guān)鍵詞:自動化數(shù)據(jù)庫

      劉倫倫

      摘 要:為了幫助讀者對MOOS-IvP進(jìn)行初步學(xué)習(xí),此文從MOOS-IvP的設(shè)計(jì)理念、架構(gòu)模型、主要功能等方面進(jìn)行了介紹。MOOS-IvP是一個新型的、開源的、基于行為的無人航行器的自動化控制程序,介紹內(nèi)容包括:MOOS-IvP的設(shè)計(jì)理論及使用的方法,包括基礎(chǔ)設(shè)計(jì)模型中用到的發(fā)布-訂閱模型、后座駕駛員模型、基于行為的自主性設(shè)計(jì),代碼的重用性,模塊化設(shè)計(jì),信息交流方式;MOOSDB的主要功能、配置屬性及運(yùn)作方式;IvP Helm部分介紹其結(jié)構(gòu)特點(diǎn)、功能屬性及實(shí)現(xiàn)方法。使讀者最終對MOOS-IvP形成一個全面系統(tǒng)的認(rèn)識。

      關(guān)鍵詞:MOOS-IvP 數(shù)據(jù)庫 IvP Helm 無人航行器 自動化

      中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-098X(2016)05(a)-0083-05

      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 main 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 philosophy, 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 concept of MOOS-IvP.

      Key Words:MOOS-IvP;MOOSDB;IvP helm;Unmanned vehicle;Autonomy

      隨著海洋資源探索與開發(fā)的需要,海洋航行器科技的發(fā)展日新月異,對航行器軟件及硬件方面的要求也越來越高。目前為止,Autonomous underwater vehicle(簡稱AUV)的控制系統(tǒng)多以底層硬件控制為主,只能完成簡單的操作命令,軟件控制相對薄弱且控制結(jié)構(gòu)單一,沒有統(tǒng)一的運(yùn)行平臺,對多航行器同時調(diào)配存在短板。MOOS是由Paul Newman于2001年寫成的[1],用于自主性海洋航行器的控制。MOOS-IvP的設(shè)計(jì)初衷是建立一個高性能的自主系統(tǒng),減少短期以及長期的花銷和縮短時間線。使得航行器的智能化和行為復(fù)雜度能大大提高,并能夠同時調(diào)控多航行器協(xié)調(diào)。隨著MOOS-IvP軟件系統(tǒng)的不斷開發(fā)與完善,該軟件已經(jīng)逐步發(fā)展為一個獨(dú)立強(qiáng)大的控制系統(tǒng),在未來海洋探測及多功能自主性AUV的研發(fā)中,將起到重要的作用。

      1 MOOS-IvP的整體設(shè)計(jì)思路

      MOOS是Mission Oriented Operating Suite的縮寫。MOOS是一個開源工具,是自主的發(fā)布-訂閱式中間軟件。MOOS-IvP軟件的設(shè)計(jì)思路主要依據(jù)以下3個建筑哲學(xué)思想。

      (1)后座駕駛員模型(the backseat driver paradigm)[2]。

      (2)發(fā)布-訂閱型自動化中間設(shè)備[3]。

      (3)基于行為的自主性設(shè)計(jì)[4]。

      按照以上思路,該系統(tǒng)將一個整體軟件按照其功能劃分為不同的部分,并作為獨(dú)立的模塊,由中間軟件統(tǒng)一調(diào)配整合。該設(shè)計(jì)理念從某一角度看,與面向?qū)ο蟪绦蛟O(shè)計(jì)中的抽象、封裝、繼承等特點(diǎn)有一定的相似性。MOOS和IvP的核心架構(gòu)思想都是將不同的功能分離出來,做成獨(dú)立的模塊[5]。整合調(diào)用不同的模塊,使其協(xié)調(diào)合作的方法是MOOS和IvP的獨(dú)特之處。MOOS-IvP作為一個開源平臺、算法及軟件基礎(chǔ)模塊、基礎(chǔ)自動化、開發(fā)的新工具,都可以為公眾使用。它的設(shè)計(jì)思想如圖1所示。

      圖1的結(jié)構(gòu)中,MOOS-IvP以扇形的展開方式,使得由內(nèi)及外層層遞進(jìn),每個模塊相互獨(dú)立又協(xié)調(diào)統(tǒng)一,能夠極大地提高工作效率,同時增強(qiáng)了系統(tǒng)的靈活性,對模塊的改動調(diào)整更加方便。用戶可以根據(jù)自身的需要,在原有的核心平臺上搭建自己所需要的新模塊或者新功能。軟件的開源性,意味著軟件擁有很大的包容性和可拓展性,對于應(yīng)用層面而言,沒有一個模塊是一成不變的,人們可以根據(jù)自身的需要,對原有的程序模塊做出修改,或者開發(fā)全新的模塊,高效的代碼重用和保護(hù)用戶的個人隱私權(quán)利,這都是MOOS-IvP的設(shè)計(jì)目標(biāo)之一[6]。

      作為一個開源的系統(tǒng),MOOS-IvP最大的優(yōu)勢之一就是代碼的重用性。代碼重用的優(yōu)點(diǎn):貢獻(xiàn)的多樣性、更低價的成本、更高的表現(xiàn)能力以及更高的可靠性。此優(yōu)勢將幫助系統(tǒng)保持自身的優(yōu)越性,能夠汲取群眾的智慧,每多一位使用者,就多了一份力量,保持不斷的更新與進(jìn)步,這是非常難能可貴的。

      1.1 后座駕駛員理論

      后座駕駛員設(shè)計(jì)思想的關(guān)鍵在于分離航行器的控制與自動化的部分。航行器控制系統(tǒng)和自主系統(tǒng)分別運(yùn)行在不同的獨(dú)立的計(jì)算機(jī)上。結(jié)構(gòu)如圖2所示。

      航行器從主電腦接收航行器位置和航線信息流,從載荷計(jì)算機(jī)獲取方向、深度、速度等數(shù)據(jù)流。自主系統(tǒng)提供前進(jìn)方向、速度及深度等命令給航行器控制系統(tǒng),控制系統(tǒng)執(zhí)行控制并傳遞航行信息給自主系統(tǒng)。在載荷計(jì)算機(jī)上的自主系統(tǒng)由一系列獨(dú)立的程序通過MOOSDB交互而成[7]。其中的一個重要程序是航行器主電腦的接口程序,另一個是IvP Helm中執(zhí)行以行為為基準(zhǔn)的自主系統(tǒng)。此處描述了各系統(tǒng)之間的關(guān)系,以及信息的流向。后駕駛員模型的設(shè)計(jì),確保了控制系統(tǒng)與自主系統(tǒng)的分離,使得運(yùn)算速度得到了保障,對航行器的控制也更加高效。

      1.2 發(fā)布-訂閱型設(shè)計(jì)

      發(fā)布-訂閱型中間軟件的設(shè)計(jì)是指MOOS提供了一個中間軟件的功能,依據(jù)發(fā)布-訂閱的模型和協(xié)議處理數(shù)據(jù)間的傳輸和轉(zhuǎn)換。每一個進(jìn)程之間的交流都是通過一個拓?fù)浣Y(jié)構(gòu)的單一數(shù)據(jù)庫處理方式。一個特殊進(jìn)程的接口取決于該進(jìn)程產(chǎn)生和調(diào)用的信息。每一條信息都是一個簡單的變量值對,例如,MOOS信息條會存儲原始二進(jìn)制數(shù)據(jù)來傳遞照片。一個MOOS社區(qū)是一系列的MOOS應(yīng)用程序,運(yùn)行在一個單獨(dú)的機(jī)器上,每個程序都有唯一的ID。它們之間可以通過網(wǎng)絡(luò)相互傳遞信息。

      1.3 基于行為的自主性設(shè)計(jì)

      基于行為的控制設(shè)計(jì)理論是IvP Helm的核心設(shè)計(jì)思想。IvP Helm的運(yùn)行類似于一個MOOS應(yīng)用程序,它使用行為基礎(chǔ)架構(gòu)來實(shí)現(xiàn)自動化。行為是一種獨(dú)特的軟件模型,它被稱為獨(dú)立的小型專業(yè)系統(tǒng),服務(wù)于整個自動化系統(tǒng)的特殊模塊中。用戶可以為一些特殊的任務(wù)設(shè)置helm,實(shí)現(xiàn)和每個行為之間的接口配置。這些配置通常包含特殊信息,例如一系列確切的坐標(biāo)點(diǎn)、搜索區(qū)域、速度等。它也會包含一些特殊的狀態(tài)空間,用于決定哪些行為在什么樣的位置執(zhí)行,以及如何傳輸?shù)膯栴}。當(dāng)多重行為被執(zhí)行并對航行器的控制產(chǎn)生競爭時,IvP的求解器(IvP solver)會協(xié)調(diào)各行為,并保證命令被正常執(zhí)行[8]。結(jié)構(gòu)如圖3所示。

      函數(shù)的建立和設(shè)置是在helm每次執(zhí)行迭代時完成的,通常是每秒1~4次,只有一些行為子集是依據(jù)航行器的情況隨時執(zhí)行的,并且由用戶提供它們的狀態(tài)空間配置。求解器在運(yùn)行時會通過每個行為定義在航行器上的判定空間詢問目標(biāo)函數(shù)。在IvP Helm中,目標(biāo)函數(shù)是一個明確的類型,定義為線性分布,并成為IvP方法。Solver利用這一構(gòu)想找到最快的辦法來解決最急迫的問題,這些問題是由大量的運(yùn)行中的函數(shù)產(chǎn)生的。

      2 MOOS概述

      MOOS通常被描述為自律性中間設(shè)備,它整合一系列的終端應(yīng)用程序,作為它們的中轉(zhuǎn)站,像膠水一般將它們聯(lián)系在一起,成為一個整體,IvP Helm就是其中的一部分。MOOS不需要任何第三方庫,是跨平臺獨(dú)立的且無依賴性。每一個應(yīng)用程序都會繼承MOOS提供的一個基本接口,此接口提供了一個強(qiáng)大的易于使用的通訊設(shè)備來保持與其他應(yīng)用的交流,同時控制那些應(yīng)用程序執(zhí)行它們主要函數(shù)設(shè)置的相對頻數(shù)。MOOS是一個星型拓?fù)浣Y(jié)構(gòu),應(yīng)用程序內(nèi)的MOOS社區(qū)連接著一個位于軟件核心處的單獨(dú)的MOOS數(shù)據(jù)庫[9]。這個網(wǎng)絡(luò)有以下特點(diǎn):(1)不對等交流;(2)客戶端和服務(wù)端之間的交流起始于客戶端;(3)每個客戶端都有一個唯一的名字;(4)客戶端之間不知曉彼此的存在;(5)客戶端只能通過向MOOSDB發(fā)送數(shù)據(jù)來達(dá)到彼此的溝通;(6)星型網(wǎng)絡(luò)能夠連通任意數(shù)量的機(jī)器,運(yùn)行在任意可支持的操作系統(tǒng)群組上;(7)數(shù)據(jù)能夠用很小的字節(jié)包或者是任意的大型二進(jìn)制包來傳輸。MOOS的應(yīng)用程序接口允許客戶端與MOOSDB之間進(jìn)行數(shù)據(jù)傳輸,這意味著數(shù)據(jù)依賴于客戶端的類型,數(shù)據(jù)類型不受MOOS限制。傳輸?shù)臄?shù)據(jù)包通常包含數(shù)據(jù)名稱、字符串值、浮點(diǎn)值、來源(客戶端名稱)、補(bǔ)充信息、數(shù)據(jù)發(fā)布時間、數(shù)據(jù)類型、發(fā)送格式、社區(qū)來源等信息。

      每一個MOOS應(yīng)用程序都是一個客戶端,都連接在MOOSDB上。這個連接是由客戶端建立的,客戶端通過一個螺紋機(jī)械建立與MOOSDB的交流。這樣就完全隱去了交流中的復(fù)雜、艱深部分,同時提供了一個小巧簡易的方法來處理數(shù)據(jù)傳輸??蛻舳四軌虬l(fā)布信息(帶有名字的數(shù)據(jù))、注冊信息、閱讀信息(收集帶名數(shù)據(jù)信息)。通知的發(fā)布是成對的(變量和值),這構(gòu)成了一個MOOS信息的核心部分。通知是實(shí)時更新的,當(dāng)信息傳遞給MOOSDB后,將被傳輸給其他有需求的客戶端。

      MOOS提供了一個基類,叫作CMOOSApp,在CMOOSApp類中有一個循環(huán),通常稱為迭代方法Iterate(),默認(rèn)是不執(zhí)行的[10]。一個新的MOOS應(yīng)用程序的工作之一就是構(gòu)建迭代方法,讓應(yīng)用程序完成人們想要的工作。除此之外,CMOOSApp中所有的循環(huán)也會檢查新數(shù)據(jù)是否傳送給應(yīng)用程序。如果有新數(shù)據(jù)被傳過來,另外一個方法——OnNewMail()會被調(diào)用,該方法會處理新接收的數(shù)據(jù)。3個虛擬函數(shù)的結(jié)構(gòu)與調(diào)用順序如圖4所示。

      在一個新的派生類中通過重寫CMOOSApp中的Iterate()方法,作者創(chuàng)建了一個函數(shù)用來管理應(yīng)用程序要執(zhí)行的任務(wù)。

      在Iterate()被調(diào)用之前,CMOOSApp的基類決定新郵件是否發(fā)送。如果新郵件在等待,CMOOSApp的基類調(diào)用OnNewMail()虛函數(shù)。傳輸過來的郵件是以CMOOSMsg對象列表的形式送達(dá)的。這個結(jié)構(gòu)允許在一個客戶端傳遞數(shù)據(jù)和所有需要數(shù)據(jù)的群體接收處理信息之間用非常短的響應(yīng)時間。OnStartUp()函數(shù)僅僅在應(yīng)用程序進(jìn)入自身的循環(huán)描述之前被調(diào)用[11]。該方法幫助應(yīng)用程序在此處完成代碼的初始化,另一個重要功能是讀取一個文件中的配置參數(shù)。MOOS的各項(xiàng)配置參數(shù)都存儲在一個后綴名為moos的配置文件中。

      3 IvP helm

      IvP是interval programming的縮寫,這是一種用于描述和解決多目標(biāo)最優(yōu)化問題的技術(shù),能夠很好地解決多航行器的合作與競爭問題。IvP helm作為MOOS的一個模塊被執(zhí)行,稱為pHelmIvP。Helm可以看作是MOOS的一個應(yīng)用程序,表面上看來它與MOOS的其他應(yīng)用程序一樣,作為一個單獨(dú)的程序連接著一個運(yùn)行的MOOSDB進(jìn)程,接口只有一個發(fā)布-訂閱接口,結(jié)構(gòu)如圖5所示。

      Helm首先發(fā)布一段固定的信息流來啟動平臺,特別是包含所需的方向、速度、深度的信息,也可能發(fā)布信息來傳輸自主性方面的內(nèi)容,這對監(jiān)視、糾錯、觸發(fā)不論運(yùn)行在Helm還是其他MOOS進(jìn)程中的算法很有幫助[12]。Helm能夠用于在幾乎任何用戶定義的決策空間上生成決策。它有兩個配置文件—— mission文件和behavior文件。傳入Helm的信息流包括傳感器信息、命令和控制輸入的信息。Helm則發(fā)出命令操控航行器。

      Helm接收傳感器信息或者其他信息時都需要做出判定。這些信息包括關(guān)于平臺近期的位置和航行軌跡的航行信息,以及關(guān)于航行器的位置、狀態(tài)或環(huán)境的信息,接收的信息是由行為本身來描述的,配置在后綴為bhv的文件中。除了接收傳感器信息之外,還接收一些級別的命令和控制信息。Helm有一對高級別、高信息量的狀態(tài)描述稱為Helm state和all-stop status。為方便理解,此處將Helm與汽車的駕駛情況做出類比,如圖6所示。

      Helm中最高等級的接口體現(xiàn)在Helm state中。在上文中提到的Helm state在drive模型中有兩個值park和drive。在park模式下,Helm處于等待狀態(tài),然后等待一個契機(jī)回到drive狀態(tài)。在學(xué)習(xí)MOOS-IvP時,你會詳細(xì)學(xué)習(xí)整個狀態(tài)的轉(zhuǎn)換機(jī)制、初始化方式等內(nèi)容,從而能夠?qū)elm state有更全面的了解。

      Helm中的all-stop事件是指由于某些情況引起的航行器完全停止運(yùn)作的狀態(tài),包括速度停止為零和深度為零的狀態(tài)[13]。All-stop的狀態(tài)僅用一小段字符串來描述航行器停止運(yùn)行的原因。All-stop狀態(tài)的消息能用來分辨航行器是處于哪種的情況之下。Helm能夠通過命令行直接運(yùn)行,或者通過Antler運(yùn)行。如果在.moss文件中沒有指定behavior文件,那么behavior文件必須在命令行中指明。

      IvP Helm就像其他MOOS進(jìn)程一樣,可以根據(jù)與MOOSDB的接口來指定某些行為,例如輸出哪些變量,接收哪些變量。在這里,當(dāng)Helm是由行為組成并且包含任意數(shù)量的第三方行為時,想提供一個完全的規(guī)范是不可能的。每個行為都可以傳輸一個變量值對,在循環(huán)的最后通過Helm代表behavior發(fā)送給MOOSDB。同樣的,每一個behavior都可以向Helm聲明任意數(shù)量的MOOS變量,根據(jù)behavior自身的需要由Helm注冊給它。

      4 結(jié)語

      MOOS-IvP作為一個高自動化、全新的、開源的水上航行器操控系統(tǒng),在發(fā)展空間以及創(chuàng)新領(lǐng)域上擁有無法忽視的潛能。目前,該系統(tǒng)已經(jīng)投入實(shí)踐中,并取得了很好的實(shí)驗(yàn)成果,未來將為海上無人航行器以及水下滑翔機(jī)探索海洋資源,科考活動提供了強(qiáng)有力的支撐。MOOS-IvP自身模塊化和分布式的設(shè)計(jì)理念,顛覆了傳統(tǒng)的整體冗雜的設(shè)計(jì)思想,合理分配各個功能模塊,行為合作更加便捷,實(shí)現(xiàn)了更高程度的自動化以及多航行器的協(xié)調(diào)配合。隨著MOOS-IvP的發(fā)展,在未來的航行器領(lǐng)域,將為科研提供巨大的助力。

      參考文獻(xiàn)

      [1]Mike Benjamin,Henrik Schmidt,John J. Leonard.MOOS-IvPDocumention[EB/OL].http://www.moos-ivp.org.

      [2]Michael R.Benjamin,Paul M.Newman, HenrikSchmidt,et al.An Overview of MOOS-IvP and a Brief Users Guide to the IvP Helm Autonomy Software[J].Computer Science and Artificial Intelligence Laboratory,2009(28):39-64.

      [3]Paul M.Newman.MOOS-A Mission Oriented Operating Suite[J].MIT Department of Ocean Engineering,2003(7):15-41.

      [4]Michael R.Benjamin.The Interval Programming Model for Multi-Objective Decision Making[J].Computer Science and Artificial Intelligence Laboratory,2004(21):35-50.

      [5]Michael R.Benjamin,Paul M.Newman,Henrik Schmidt,et al.Leonard.A Tour of MOOS-IvP Autonomy Software Modules[J].Computer Science and Artificial Intelligence Laboratory,2009(6):18-30.

      [6]Michael R.Benjamin.MOOS-IvP Autonomy Tools Users Manual[J].MIT Computer Science and Artificial Intelligence Lab.,2008(65):2-11.

      [7]Andrew A.Bennet,John J.Leonard.A Behavior-Based Approach to Adaptive Feature Detectionand Following with Autonomous Underwater Vehicles[J].IEEE Journal of Oceanic Engineering,2000,25(2):213-226.

      [8]Marc Carreras,J Batlle,Pere Ridao.Reactive Control of an AUV Using Motor Schemas[J].InInternational Conference on Quality Control,Automation and Robotics,ClujNapoca, Rumania,2000(5):5-21.

      [9]Stefan B.Williams,Paul Newman, GaminiDissanayake,et al.A decoupled, distributed AUV control architecture[C]//In Proceedings of 31st International Symposium onRobotics.2000:246-251.

      [10]Michael R.Benjamin,Paul Newman,Henrik Schmidt,et al.An Overview of MOOS-IvP and a UsersGuide to the IvP Helm Autonomy Software[J].Computer Science and Artificial Intelligence Laboratory,2010(4):123-189.

      [11]Michael R.Benjamin,Paul M.Newman, Henrik Schmidt,et al.A Tour of MOOS-IvP AutonomySoftware Modules[J].MIT Computer Science and Artificial Intelligence Lab,2009(6):1-23.

      [12]Michael R.Benjamin,Paul M.Newman, Henrik Schmidt,et al.Extending MOOS-IvP andUsers Guide to the IvPBuild Toolbox[J].MIT Computer Science andArtificial Intelligence Lab.,2009(37):14-35.

      [13]JukkaRiekki.Reactive Task Execution of a Mobile Robot[D].Oulu University,1999.

      猜你喜歡
      自動化數(shù)據(jù)庫
      數(shù)據(jù)庫
      財經(jīng)(2017年15期)2017-07-03 22:40:49
      數(shù)據(jù)庫
      財經(jīng)(2017年2期)2017-03-10 14:35:35
      供電企業(yè)電力自動化主站系統(tǒng)研究
      錦界煤礦連采膠帶機(jī)集控系統(tǒng)的介紹
      供熱站自動控制系統(tǒng)中PLC的應(yīng)用
      AGV小車在白酒行業(yè)自動化立體倉庫中的應(yīng)用
      中國市場(2016年36期)2016-10-19 03:40:15
      配電室無人職守集控站在京博石化的運(yùn)用
      科技視界(2016年20期)2016-09-29 14:13:02
      配電線路運(yùn)行資料管理自動化的探討
      科技視界(2016年20期)2016-09-29 13:45:10
      數(shù)據(jù)庫
      財經(jīng)(2016年15期)2016-06-03 07:38:02
      數(shù)據(jù)庫
      財經(jīng)(2016年3期)2016-03-07 07:44:46
      三原县| 弋阳县| 赫章县| 万安县| 临汾市| 定安县| 金湖县| 青海省| 贞丰县| 汕尾市| 巧家县| 清水河县| 宁乡县| 县级市| 本溪市| 古丈县| 荥阳市| 遂昌县| 岳阳市| 泌阳县| 扎兰屯市| 嘉黎县| 内江市| 云林县| 南充市| 喀喇沁旗| 隆德县| 遂川县| 上虞市| 慈溪市| 乳源| 宣汉县| 玉环县| 开阳县| 大宁县| 新津县| 泸水县| 开原市| 望都县| 永嘉县| 临沧市|