一種用于海洋機(jī)器人的兼容半物理/全數(shù)字的仿真方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種用于自主海洋機(jī)器人的兼容半物理/全數(shù)字仿真模式的仿真系統(tǒng)設(shè)計(jì)方法,具體的說(shuō)是采用面向?qū)ο蟮哪K化軟件設(shè)計(jì)開(kāi)發(fā)技術(shù),結(jié)合虛擬機(jī)技術(shù)并通過(guò)局部硬件替換,構(gòu)建兼容半物理和全數(shù)字兩種模式的虛擬運(yùn)行環(huán)境并使自主海洋機(jī)器人的智能控制軟件在這個(gè)虛擬環(huán)境中執(zhí)行,進(jìn)而使自主海洋機(jī)器人的智能控制軟件在進(jìn)行實(shí)航試驗(yàn)前得到充分驗(yàn)證的仿真方法。
【背景技術(shù)】
[0002]以往的自主海洋機(jī)器人通常采用半物理的方式構(gòu)建仿真系統(tǒng),并通過(guò)半物理仿真的手段來(lái)驗(yàn)證其智能控制軟件的正確性和有效性,雖然這種仿真具有驗(yàn)證全面、有效的優(yōu)點(diǎn),但整個(gè)仿真系統(tǒng)體積較大,信號(hào)連接線路復(fù)雜,隨著研制階段的進(jìn)展,仿真驗(yàn)證工作重點(diǎn)的轉(zhuǎn)移,其使用不便的缺點(diǎn)逐漸顯露。針對(duì)半物理仿真的不足,出現(xiàn)了使用全數(shù)字方式構(gòu)建仿真系統(tǒng)的技術(shù),從而大幅度減小了仿真系統(tǒng)的體積并提高了使用便利性,但這種全數(shù)字仿真模式下所驗(yàn)證的海洋機(jī)器人智能控制軟件和所使用的仿真工控機(jī)軟件都是經(jīng)過(guò)裁剪的軟件,它們的整體結(jié)構(gòu)和功能與實(shí)際使用及半物理仿真使用的軟件差異較大,只能用于驗(yàn)證特定的功能或方法,與半物理方式相比其仿真驗(yàn)證的全面性及有效性大大降低。為了結(jié)合半物理仿真和全數(shù)字仿真的優(yōu)點(diǎn),避免它們的不足,需要形成一種新的仿真系統(tǒng)設(shè)計(jì)方法,以便根據(jù)實(shí)際需要或研制階段的不同靈活方便的使用不同的仿真技術(shù),并使它們具有極大的等效性。
[0003]專利內(nèi)容
[0004]為了克服目前自主海洋機(jī)器人仿真方法的不足,本專利提供了一種用于自主海洋機(jī)器人的兼容半物理/全數(shù)字仿真模式的仿真系統(tǒng)設(shè)計(jì)方法。
[0005]本專利采用的技術(shù)方案是:一種用于海洋機(jī)器人的兼容半物理/全數(shù)字的仿真方法,包括以下步驟:
[0006]一種用于海洋機(jī)器人的兼容半物理/全數(shù)字的仿真方法,包括以下步驟:
[0007]在仿真工控機(jī)的仿真軟件中建立多個(gè)軟件層,使其能夠在連接便攜計(jì)算機(jī)以及、通過(guò)電氣信號(hào)轉(zhuǎn)接盒連接機(jī)器人控制系統(tǒng)計(jì)算機(jī)的兩種仿真模式之間進(jìn)行切換,實(shí)現(xiàn)全數(shù)字或半物理仿真。
[0008]所述建立多個(gè)軟件層具體為依次建立虛擬設(shè)備層、通信層、虛擬電氣信號(hào)轉(zhuǎn)接盒;
[0009]建立虛擬設(shè)備層具體為建立多個(gè)虛擬設(shè)備對(duì)象,模擬實(shí)際機(jī)器人所安裝的設(shè)備和傳感器功能;所述虛擬設(shè)備層通過(guò)通信層接收便攜計(jì)算機(jī)或海洋機(jī)器人控制系統(tǒng)計(jì)算機(jī)發(fā)來(lái)的控制信息,并發(fā)送至動(dòng)力及運(yùn)動(dòng)學(xué)模型;還接收由動(dòng)力及運(yùn)動(dòng)學(xué)模型得到的傳感器信息,并發(fā)送至通信層;
[0010]建立通信層具體為建立多個(gè)信道對(duì)象,實(shí)現(xiàn)虛擬設(shè)備對(duì)象與便攜計(jì)算機(jī)或機(jī)器人控制系統(tǒng)計(jì)算機(jī)之間的通信;所述通信層接收便攜計(jì)算機(jī)或機(jī)器人控制系統(tǒng)計(jì)算機(jī)發(fā)來(lái)的控制信息,并發(fā)送至多個(gè)虛擬設(shè)備對(duì)象;所述通信層還接收多個(gè)虛擬設(shè)備對(duì)象的反饋信息,并發(fā)送至便攜計(jì)算機(jī)或機(jī)器人控制系統(tǒng)計(jì)算機(jī);
[0011]建立虛擬電氣信號(hào)轉(zhuǎn)接盒具體為建立其內(nèi)部包含兩組網(wǎng)絡(luò)信道對(duì)象的虛擬設(shè)備,一組網(wǎng)絡(luò)信道對(duì)象與通信層中的多個(gè)信道對(duì)象通信,另一組與便攜計(jì)算機(jī)通信;所述虛擬電氣信號(hào)轉(zhuǎn)接盒進(jìn)行模擬實(shí)際電氣信號(hào)轉(zhuǎn)接盒的信號(hào)轉(zhuǎn)接以及數(shù)據(jù)格式轉(zhuǎn)換的功能。
[0012]所述通信層接收便攜計(jì)算機(jī)或機(jī)器人控制系統(tǒng)計(jì)算機(jī)發(fā)來(lái)的控制信息中,接收便攜計(jì)算機(jī)發(fā)來(lái)的控制信息具體為:所述通信層通過(guò)虛擬電氣信號(hào)轉(zhuǎn)接盒將便攜計(jì)算機(jī)發(fā)來(lái)的控制信息轉(zhuǎn)發(fā)至與半物理仿真時(shí)相應(yīng)的虛擬設(shè)備對(duì)象。
[0013]所述通信層還接收多個(gè)虛擬設(shè)備對(duì)象的反饋信息,并發(fā)送至便攜計(jì)算機(jī)具體為:接收多個(gè)虛擬設(shè)備對(duì)象的反饋信息,并經(jīng)虛擬電氣信號(hào)轉(zhuǎn)接盒發(fā)送至便攜計(jì)算機(jī)。
[0014]所述便攜計(jì)算機(jī)和機(jī)器人控制系統(tǒng)計(jì)算機(jī)的控制軟件中驅(qū)動(dòng)層內(nèi)均包括兩組接口函數(shù),其中一組接口函數(shù)用于半物理仿真時(shí)與仿真工控機(jī)中的通信層進(jìn)行通信,另一組接口函數(shù)用于全數(shù)字仿真時(shí),通過(guò)仿真工控機(jī)中的虛擬電氣信號(hào)轉(zhuǎn)接盒與通信層進(jìn)行通?目。
[0015]本方法具有以下有益效果及優(yōu)點(diǎn):
[0016]1.本方法采用的仿真系統(tǒng)設(shè)計(jì)方法可以實(shí)現(xiàn)半物理和全數(shù)字兩種仿真模式下仿真工控機(jī)軟件和智能控制軟件的同步設(shè)計(jì)、開(kāi)發(fā)和實(shí)現(xiàn),實(shí)現(xiàn)兩種仿真模式下仿真工控機(jī)軟件和智能控制軟件中絕大部分軟件模塊(仿真工控機(jī)軟件中的信道對(duì)象及智能控制軟件驅(qū)動(dòng)層中的數(shù)據(jù)輸入輸出接口函數(shù)不能復(fù)用)的復(fù)用。
[0017]2.在全數(shù)字仿真模式下,除設(shè)備/傳感器數(shù)據(jù)輸入輸出方法方面外,通過(guò)仿真對(duì)智能控制軟件驗(yàn)證的全面性及有效性完全等同于半物理仿真。
[0018]3.本方法簡(jiǎn)單可行,工作可靠,在僅局部替換計(jì)算機(jī)及小范圍替換軟件模塊(僅智能控制軟件驅(qū)動(dòng)層中的數(shù)據(jù)輸入輸出方法和仿真工控機(jī)軟件中的信道對(duì)象需隨著仿真模式不同進(jìn)行相應(yīng)的替換,除此之外的軟件模塊不需要進(jìn)行任何更改)的前提下兼容了半物理和全數(shù)字兩種不同的仿真模式。
[0019]4.本方法可在保證仿真工控機(jī)軟件及海洋機(jī)器人智能控制軟件整體架構(gòu)穩(wěn)定的條件下,通過(guò)硬件替換實(shí)現(xiàn)兼容半物理/全數(shù)字仿真的功能,并使全數(shù)字仿真與半物理仿真具有極大的等效性,為保障自主海洋機(jī)器人智能控制軟件的正確性和有效性提供有效驗(yàn)證手段。
【附圖說(shuō)明】
[0020]圖1是本發(fā)明采用面向?qū)ο蠓椒ㄔO(shè)計(jì)的仿真工控機(jī)軟件結(jié)構(gòu)圖;
[0021]圖2是仿真工控機(jī)軟件中虛擬設(shè)備對(duì)象的派生關(guān)系圖;
[0022]圖3是仿真工控機(jī)軟件中信道對(duì)象的派生關(guān)系圖;
[0023]圖4是仿真工控機(jī)軟件中虛擬設(shè)備對(duì)象和信道對(duì)象關(guān)系的示意圖;
[0024]圖5是仿真工控機(jī)軟件中虛擬電氣信號(hào)轉(zhuǎn)接盒的示意圖;
[0025]圖6是海洋機(jī)器人智能控制軟件的總體結(jié)構(gòu)圖;
[0026]圖7是半物理仿真模式的系統(tǒng)結(jié)構(gòu)圖;
[0027]圖8是全數(shù)字仿真模式的系統(tǒng)結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0028]下面結(jié)合附圖對(duì)本專利做進(jìn)一步的詳細(xì)說(shuō)明。
[0029]使用面向?qū)ο蠓椒ㄔO(shè)計(jì)仿真工控機(jī)軟件,使仿真工控機(jī)軟件包括虛擬設(shè)備層、通信層和虛擬電氣信號(hào)轉(zhuǎn)接盒等軟件層次;使用分層結(jié)構(gòu)設(shè)計(jì)海洋機(jī)器人智能控制軟件;將海洋機(jī)器人控制系統(tǒng)計(jì)算機(jī)連接實(shí)際設(shè)備/傳感器的硬件接口通過(guò)電氣信號(hào)轉(zhuǎn)接盒連接到仿真工控機(jī)的硬件接口板卡上,將仿真工控機(jī)和視景顯示計(jì)算機(jī)連接到一個(gè)以太網(wǎng)上,構(gòu)建半物理仿真系統(tǒng);將海洋機(jī)器人控制系統(tǒng)計(jì)算機(jī)替換為普通便攜計(jì)算機(jī),使用虛擬機(jī)軟件在普通便攜計(jì)算機(jī)內(nèi)創(chuàng)建一臺(tái)虛擬計(jì)算機(jī),設(shè)置其與實(shí)際海洋機(jī)器人控制系統(tǒng)計(jì)算機(jī)具有相同的硬件配置,并在其中安裝實(shí)際海洋機(jī)器人控制系統(tǒng)計(jì)算機(jī)內(nèi)使用的嵌入式實(shí)時(shí)操作系統(tǒng);在此操作系統(tǒng)內(nèi)運(yùn)行海洋機(jī)器人的智能控制軟件,將上述便攜計(jì)算機(jī)連接至仿真工控機(jī)和視景顯示計(jì)算機(jī)所在的以太網(wǎng)中,去除電氣信號(hào)轉(zhuǎn)接盒,通過(guò)硬件替換構(gòu)建全數(shù)字仿真系統(tǒng)。
[0030]虛擬設(shè)備層:包括多個(gè)虛擬設(shè)備對(duì)象,用于模擬實(shí)際機(jī)器人所安裝的設(shè)備和傳感器功能;通過(guò)通信層接收便攜計(jì)算機(jī)或海洋機(jī)器人控制系統(tǒng)計(jì)算機(jī)發(fā)來(lái)的控制信息,并發(fā)送至動(dòng)力及運(yùn)動(dòng)學(xué)模型;還接收由動(dòng)力及運(yùn)動(dòng)學(xué)模型得到的傳感器信息,并發(fā)送至通信層;本層通過(guò)創(chuàng)建各具體虛擬設(shè)備類的對(duì)象實(shí)例的方法建立;
[0031]通信層:包括多個(gè)信道對(duì)象,用于虛擬設(shè)備模塊與,便攜計(jì)算機(jī)或機(jī)器人控制系統(tǒng)計(jì)算機(jī)之間的通信;接收便攜計(jì)算機(jī)或機(jī)器人控制系統(tǒng)計(jì)算機(jī)發(fā)來(lái)的控制信息,并發(fā)送至多個(gè)虛擬設(shè)備對(duì)象;還接收多個(gè)虛擬設(shè)備對(duì)象的虛擬反饋信息,并發(fā)送至便攜計(jì)算機(jī)或機(jī)器人控制系統(tǒng)計(jì)算機(jī);在半物理仿真時(shí),本層通過(guò)創(chuàng)建各具體信道類的對(duì)象實(shí)例的方法創(chuàng)建,在全數(shù)字仿真時(shí),本層通過(guò)創(chuàng)建網(wǎng)絡(luò)信道類的對(duì)象實(shí)例(個(gè)數(shù)等同于半物理仿真時(shí)的對(duì)象實(shí)例個(gè)數(shù))的方法創(chuàng)建;創(chuàng)建信道對(duì)象后,將虛擬設(shè)備層中的虛擬設(shè)備對(duì)象按照對(duì)應(yīng)關(guān)系分別關(guān)聯(lián)到各信道對(duì)象,之后啟動(dòng)各信道對(duì)象讓其進(jìn)入工作狀態(tài);
[0032]虛擬電氣信號(hào)轉(zhuǎn)接盒:從虛擬設(shè)備基類派生的特殊虛擬設(shè)備,其內(nèi)部包括兩組網(wǎng)絡(luò)信道對(duì)象,一組用于與通信層中的多個(gè)信道對(duì)象通信,另一組用于與便攜計(jì)算機(jī)通信;進(jìn)行模擬實(shí)際電氣信號(hào)轉(zhuǎn)接盒的信號(hào)轉(zhuǎn)接以及數(shù)據(jù)格式轉(zhuǎn)換的功能;本層通過(guò)創(chuàng)建虛擬電氣信號(hào)轉(zhuǎn)接盒類的對(duì)象實(shí)例的方法建立,對(duì)象建立之后,調(diào)用其啟動(dòng)方法讓其進(jìn)行工作狀態(tài),啟動(dòng)方法內(nèi)部將虛擬電氣信號(hào)轉(zhuǎn)接盒對(duì)象自身分別關(guān)聯(lián)到兩組網(wǎng)絡(luò)信道對(duì)象中的每一個(gè),然后讓各網(wǎng)絡(luò)信道對(duì)象進(jìn)入工作狀態(tài),在半物理仿真時(shí),虛擬電氣信號(hào)轉(zhuǎn)接盒沒(méi)有實(shí)際作用。
[0033]1.使用面向?qū)ο蠓椒ㄔO(shè)計(jì)仿真工控機(jī)軟件
[0034]設(shè)計(jì)結(jié)果如圖1所示,具體包括以下4個(gè)關(guān)鍵步驟:
[0035]如圖2所示,抽取海洋機(jī)器人所安裝各種設(shè)備/傳感器的共性定義一個(gè)虛擬設(shè)備基類(CVirtualDevice),由它定義一個(gè)抽象界面,各具體虛擬設(shè)備用這個(gè)抽象基類的派生類來(lái)表示,以實(shí)現(xiàn)特定