999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種機(jī)器人控制系統(tǒng)軟件框架

2021-07-01 10:56:44許志瑜
科海故事博覽·上旬刊 2021年2期

許志瑜

摘 要 本文主要介紹了一種用于機(jī)器人控制系統(tǒng)中應(yīng)用程序的開發(fā)框架DAREE。應(yīng)用程序中每個(gè)Applet構(gòu)成一個(gè)業(yè)務(wù)控制單元,每個(gè)業(yè)務(wù)單元由組件對象組成,實(shí)現(xiàn)基本的控制業(yè)務(wù)需求。同時(shí)該開發(fā)框架提供了一系列的基本功能模塊,如消息隊(duì)列、定時(shí)器等基礎(chǔ)服務(wù),實(shí)現(xiàn)應(yīng)用程序的快速開發(fā)。

關(guān)鍵詞 DAREE Applet 消息隊(duì)列 定時(shí)器

中圖分類號(hào):TP249 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-0745(2021)02-0011-02

1 前言

近年來,機(jī)器人控制系統(tǒng)要求越來越復(fù)雜,為了簡化應(yīng)用程序開發(fā)過程,提高應(yīng)用程序開發(fā)效率,提出一種應(yīng)用程序開發(fā)框架DAREE,將控制系統(tǒng)中的業(yè)務(wù)進(jìn)行管理和拆分,將系統(tǒng)資源進(jìn)行統(tǒng)一規(guī)劃。

2 DAREE

DAREE(Distributiion Automation Runtime Execute Environment)為Applet的運(yùn)行提供一套基本的運(yùn)行環(huán)境,并向應(yīng)用程序提供一系列服務(wù)類庫[1],該類庫實(shí)現(xiàn)了對操作系統(tǒng)服務(wù)的封裝。同時(shí)該框架實(shí)現(xiàn)了一套設(shè)備抽象層,提高應(yīng)用程序的可移植性(見圖2)。

DAREE建立在Linux操作系統(tǒng)之上,以下是概要性描述:

(1)DAREE基于嵌入式Linux,分成內(nèi)核空間和用戶空間;

(2)最底層是硬件層,控制系統(tǒng)中的一些外圍的器件;

(3)內(nèi)核空間為設(shè)備驅(qū)動(dòng)層;

(4)用戶空間分為三層,PAL、SAL、Applet,基于組件的設(shè)計(jì)思想;

(5)PAL是 Platform Access Layer的縮寫,是移植層,操作系統(tǒng)相關(guān);

(6)SAL是Shared Access Layer 的縮寫,包含一系列的類庫;

(7)應(yīng)用程序?qū)樱煌臉I(yè)務(wù)只需要開發(fā)不同的Applet;

(8)3rd表示是第三方開發(fā)的組件;

(9)用C語言進(jìn)行設(shè)計(jì)[2],增強(qiáng)平臺(tái)兼容性。

2.1 組件對象

組件對象分為靜態(tài)和動(dòng)態(tài)兩種方式,靜態(tài)組件的代碼和框架一起參與編譯,動(dòng)態(tài)組件的代碼獨(dú)立編譯。兩種組件使用上并不區(qū)分,動(dòng)態(tài)組件的存在是為了將組件的開發(fā)和Applet進(jìn)行解耦,提高組件對象的靈活性和功能擴(kuò)展性[3]。

2.2 Applet

Applet是DAREE上開發(fā)應(yīng)用程序的最小單位,是一個(gè)業(yè)務(wù)邏輯的功能集合。Applet有stop、Starting、Run、Closing、Terminating這五種狀態(tài)。見下圖:

(1)一個(gè)Applet開始于StartApplet,將Applet處于Stop狀態(tài),并開始創(chuàng)建Applet;

(2)創(chuàng)建動(dòng)作完成后,Applet處于Starting狀態(tài),并收到EVT_APP_START事件;

(3)Applet處理完EVT_APP_START后,進(jìn)入Run狀態(tài),直到用戶調(diào)用CloseApplet;

(4)Applet進(jìn)入Closing狀態(tài),收到EVT_APP_STOP事件;

(5)最后Applet會(huì)進(jìn)入Terminating狀態(tài),完成Applet和內(nèi)部資源的釋放,結(jié)束Applet。

2.3 消息隊(duì)列

該應(yīng)用程序框架采用基于消息驅(qū)動(dòng)的方式運(yùn)行,Applet通過消息接口類,可以快速實(shí)現(xiàn)消息隊(duì)列功能。用戶只需要通過IHandle接口生產(chǎn)消息,并通過Send函數(shù)將消息發(fā)送出去,系統(tǒng)通過消息中的信息找到該消息的事件處理函數(shù)進(jìn)行處理。

2.4 配置管理

配置管理接口IConfig,用于保存各個(gè)模塊需要保存的配置信息,該框架提供了統(tǒng)一的配置管理接口IConfig, 并通過文件的形式進(jìn)行配置信息的保存,系統(tǒng)為各個(gè)模塊分配了統(tǒng)一的標(biāo)簽,模塊通過標(biāo)簽獲得私有的配置信息。

2.5 定時(shí)器

定時(shí)器在Applet開發(fā)過程中是一種常用功能,提供了延遲服務(wù)和異步處理的功能。Timer的實(shí)現(xiàn)是通過生成Message并帶上時(shí)間參數(shù),加入到IMessageQueue隊(duì)列中,實(shí)現(xiàn)了Timer的延時(shí)處理能力。

2.6 異步事件

異步事件Resume是DAREE提供的另一個(gè)異步事件處理功能,比如用戶需要讀取一個(gè)大數(shù)據(jù)量文件,可以通過Resume功能分步進(jìn)行讀取。本框架將Resume異步事件設(shè)計(jì)在DAREE的主線程空閑時(shí)進(jìn)行操作,避免對主業(yè)務(wù)功能的影響。

2.7 日志管理

日志管理是“查看我關(guān)心的信息”。本系統(tǒng)日志管理通過日志等級和過濾字符完成日志管理,通過LOG_V,LOG_D,LOG_I,LOG_W,LOG_E進(jìn)行日志的等級輸出,并通過過濾字符串進(jìn)行日志過濾來達(dá)到日志控制的目的。

2.8 設(shè)備控制接口

本系統(tǒng)由IPort接口實(shí)現(xiàn)統(tǒng)一的設(shè)備控制,并為數(shù)據(jù)傳輸提供了一套通用的接口函數(shù),如Read、Write、GetLastError 等等。通過IPort接口,可以打開一個(gè)設(shè)備,通過read接口進(jìn)行設(shè)備的讀取,通過write進(jìn)行設(shè)備的寫入操作,實(shí)現(xiàn)對一個(gè)設(shè)備的控制操作。

2.9 內(nèi)存管理

本系統(tǒng)實(shí)現(xiàn)了一套內(nèi)存檢測機(jī)制,當(dāng)Applet退出時(shí),判斷Applet是否有內(nèi)存泄漏現(xiàn)象,如果有則打印出消息,供工程師進(jìn)行檢查。實(shí)現(xiàn)原理是在應(yīng)用程序分配內(nèi)存時(shí),給內(nèi)存打上標(biāo)記,根據(jù)標(biāo)記信息判斷是否有內(nèi)存泄漏。

3 總結(jié)

本文提出了一種用于機(jī)器人控制系統(tǒng)中應(yīng)用程序的開發(fā)框架DAREE,該框架以Applet為單位管理業(yè)務(wù)功能模塊,通過DAREE提供的系統(tǒng)接口,可以快速實(shí)現(xiàn)消息隊(duì)列、定時(shí)器、異步事件處理、日志管理、內(nèi)存管理等基礎(chǔ)功能。

參考文獻(xiàn):

[1] Stanley B. Lippman,Josée Lajoie,Barbara E. Moo著. C++ Primer(中文版 第5版)[M].北京:電子工業(yè)出版社, 2013.

[2] Stanley,B.,Lippman,侯捷譯.深度探索C++對象模型[M].北京:電子工業(yè)出版社,2012.

[3] 埃里克·伽瑪(Erich Gamma).設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)[M].北京:機(jī)械工業(yè)出版社,2019.

(合肥科大智能機(jī)器人技術(shù)有限公司南京分公司,江蘇 南京 210000)

主站蜘蛛池模板: 久久久久免费精品国产| 99热这里只有精品久久免费| 中文字幕在线视频免费| 亚洲欧美日韩精品专区| 欧美在线伊人| 亚洲国产黄色| 狠狠干综合| 日韩在线第三页| 色婷婷色丁香| www.99精品视频在线播放| 亚洲福利视频一区二区| 第一页亚洲| 日韩欧美国产精品| 欧美a级完整在线观看| 亚洲人成色在线观看| 理论片一区| 在线免费观看AV| 国产午夜精品鲁丝片| 六月婷婷综合| 国产精品开放后亚洲| 国产男人的天堂| 国产自在线播放| 日韩第一页在线| 亚洲国产第一区二区香蕉| 亚洲一区精品视频在线| 在线观看欧美精品二区| 国产欧美在线视频免费| 日本国产精品一区久久久| 欧美一级夜夜爽| 久久精品国产精品青草app| 91精品啪在线观看国产60岁| 欧美日本激情| 日韩资源站| 亚洲男人的天堂久久香蕉 | 精品国产一二三区| 国产乱人视频免费观看| 久热中文字幕在线观看| 美女啪啪无遮挡| 中字无码av在线电影| 欧美激情,国产精品| 91无码视频在线观看| 99精品免费在线| 欧美国产日韩在线| 91无码人妻精品一区二区蜜桃| 97青草最新免费精品视频| 欧美国产菊爆免费观看| 亚洲成人播放| 免费在线成人网| 免费观看无遮挡www的小视频| 亚洲人成色在线观看| 九色91在线视频| 高清欧美性猛交XXXX黑人猛交| 亚洲成网777777国产精品| 欧美午夜精品| 免费看黄片一区二区三区| 五月天久久婷婷| 精品国产成人高清在线| 亚洲综合狠狠| 深夜福利视频一区二区| 国产免费羞羞视频| 久久夜色撩人精品国产| 99精品欧美一区| 久久99国产精品成人欧美| 色综合a怡红院怡红院首页| 亚洲欧美天堂网| 国产一级做美女做受视频| 亚洲黄网视频| 国产激爽爽爽大片在线观看| 青青青亚洲精品国产| 538国产视频| 成人夜夜嗨| 日本不卡在线视频| 91精品啪在线观看国产91九色| 亚洲三级电影在线播放| 国产簧片免费在线播放| 又爽又大又黄a级毛片在线视频 | 免费无码在线观看| 91无码国产视频| 成人中文在线| 无码一区二区波多野结衣播放搜索| 国产一级妓女av网站| 亚洲人成网线在线播放va|